Add an EXFUN for `Fchar_feature'.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Vnext_defined_char_id): New variable.
4         (Fput_char_attribute): Accept characters in `->unified'.
5         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
6         new characters which are not related with builtin char-id ranges.
7         (vars_of_chartab): Add new variable `next-defined-char-id'.
8
9 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
10
11         * chartab.c (Q_unified): New variable.
12         (Q_unified_from): New variable.
13         (Fput_char_attribute): Add code for `->unified'.
14         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
15         XEmacs CHISE.
16
17 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
18
19         * mule-charset.c (decode_ccs_conversion): New function.
20         (decode_defined_char): Use `decode_ccs_conversion'.
21         (decode_builtin_char): Likewise.
22
23 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
24
25         * char-ucs.h: Change some charset-ids of private coded-charsets.
26
27 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
28
29         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
30         (char_encode_as_entity_reference): Likewise.
31         (decode_coding_big5): Modify for `decode_defined_char' and
32         `DECODE_CHAR'.
33         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
34         avoid compiler warning.
35         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
36
37         * mule-charset.c (decode_defined_char): Add new argument
38         `without_inheritance'.
39         (Fdecode_char): Add new optional argument `without_inheritance'.
40         (Fdecode_builtin_char): Modify for `Fdecode_char'.
41
42         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
43         (simplify_char_spec): Likewise.
44
45         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
46         setting.
47
48         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
49         (map_char_table): Likewise.
50         (Fdefine_char): Use `Fdecode_char' without inheritance.
51         (Ffind_char): Modify for `Fdecode_char'.
52
53         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
54
55         * char-ucs.h (decode_defined_char): Add new argument
56         `without_inheritance'.
57         (DECODE_CHAR): Likewise.
58         (MAKE_CHAR): Modify for `DECODE_CHAR'.
59
60 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
61
62         * chartab.c (Vchise_system_db_directory): New variable.
63         (vars_of_chartab): Add new variable `chise-system-db-directory'.
64
65 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
66
67         * chartab.c: EXFUN `Fmount_char_attribute_table'.
68         (print_chartab_range): Don't define when `UTF2000' is defined.
69         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
70         `CHISE_DS_open'.
71
72 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
73
74         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
75         and optional argument `rehash' is specified, call
76         `open_chise_data_source_maybe' before
77         `chise_ds_foreach_char_feature_name' is called.
78
79 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
80
81         * chartab.c (char_attribute_list_reset_map_func): New function
82         when HAVE_LIBCHISE is defined.
83         (Fchar_attribute_list): Add new optional argument `rehash' when
84         HAVE_LIBCHISE is defined.
85         (open_chise_data_source_maybe): Use "chise-db" instead of
86         "char-db".
87         (char_attribute_system_db_file): Likewise.
88         (Fload_char_attribute_table): Use
89         `chise_feature_foreach_char_with_value' instead of
90         `chise_char_feature_value_iterate'.
91
92 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
93
94         * chartab.c (Vchise_db_directory): New variable.
95         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
96
97 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
100         instead of HAVE_CHISE to specify using with libchise.
101
102         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
103
104         * chartab.h: Don't use HAVE_CHISE_CLIENT.
105
106         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
107         defined or HAVE_LIBCHISE_LIBCHISE is defined.
108         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
109         is defined.
110         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
111         HAVE_CHISE to specify using with libchise.
112         (syms_of_chartab): Don't define symbol `system-char-id' when
113         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
114
115 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
118         specify CHISE DB support.
119         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
120         of `char_attribute_system_db_file' to check feature DB file.
121
122         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
123         HAVE_CHISE_CLIENT to specify CHISE DB support.
124
125         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
126         specify CHISE DB support.
127         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
128         not defined.
129         (Freset_char_attribute_table): Use `chise_feature_setup_db'
130         instead of `char_attribute_system_db_file' to check feature DB
131         file.
132
133 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
134
135         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
136         `HAVE_CHISE_CLIENT'.
137
138 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
139
140         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
141         (Fsave_charset_mapping_table): Don't use
142         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
143
144         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
145         (HAVE_LIBCHISE): New macro.
146
147         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
148
149         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
150         (Fsave_char_attribute_table): Don't use
151         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
152
153 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
154
155         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
156         defined.
157         (save_uint16_byte_table): Likewise.
158         (save_byte_table): Likewise.
159         (char_table_get_db): Use `chise_ds_load_char_feature_value'
160         instead of `chise_char_load_feature_value'.
161         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
162
163 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * chartab.h (struct Lisp_Char_Table): Delete member
166         `feature_table' if CHISE is defined.
167
168         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
169         (Fcopy_char_table): Likewise.
170         (char_table_open_db_maybe): Likewise.
171         (char_table_close_db_maybe): Likewise.
172         (char_table_get_db): Likewise.
173         (Fmount_char_attribute_table): Likewise.
174         (Fload_char_attribute_table): Likewise.
175
176 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
177
178         * mule-charset.c (load_char_decoding_entry_maybe): Use
179         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
180         `chise_ccs_decode'.
181
182 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
183
184         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
185         instead of `chise_open_data_source'.
186         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
187         `chise_ds_close'.
188
189 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
192         instead of `chise_ds_open_feature_table'.
193         (char_table_close_db_maybe): Don't use `chise_ft_close'.
194
195 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * mule-charset.c (Fsave_charset_mapping_table): Use
198         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
199         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
200         `chise_ccs_sync' instead of `chise_ccst_close'.
201         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
202
203         * chartab.c (open_chise_data_source_maybe): Modify for
204         `chise_open_data_source'.
205         (char_table_open_db_maybe): Modify for
206         `chise_ds_open_feature_table'.
207
208 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
209
210         * mule-charset.c (load_char_decoding_entry_maybe): Use
211         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
212         `chise_ccst_close'.
213
214 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
215
216         * mule-charset.c (Fsave_charset_mapping_table): Use
217         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
218         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
219         `chise_dt_put_char' and `chise_dt_close'.
220         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
221         `chise_ccs_decode' and `chise_ccst_close' instead of
222         `chise_ds_open_decoding_table', `chise_dt_get_char' and
223         `chise_dt_close'.
224
225         * chartab.c (char_table_get_db): Use
226         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
227         (load_char_attribute_table_map_func): Modify for
228         `chise_char_feature_value_iterate'.
229         (Fload_char_attribute_table): Use
230         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
231
232 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
233
234         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
235
236 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
237
238         * chartab.c (put_char_table): Modify for inherited coded-charsets
239         in XEmacs CHISE.
240
241 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
242
243         * chartab.c (Fput_char_table_map_function): Fixed.
244         (word_boundary_p): Don't check charset in XEmacs CHISE.
245
246 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
247
248         * mule-charset.c (Fsave_charset_mapping_table): Use
249         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
250         instead of `chise_open_decoding_table'; refer
251         `default_chise_data_source'; use `chise_dt_close' instead of
252         `chise_close_decoding_table'.
253         (load_char_decoding_entry_maybe): Likewise.
254
255         * chartab.c (default_chise_data_source): New variable when `CHISE'
256         is defined.
257         (Fcopy_char_table): `ct->ds' is deleted.
258         (open_chise_data_source_maybe): New function.
259         (Fclose_char_data_source): New function.
260         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
261         use `chise_ds_open_feature_table' instead of
262         `chise_open_feature_table'.
263         (char_table_close_db_maybe): Use `chise_ft_close' instead of
264         `chise_close_feature_table'; `cit->ds' is deleted.
265         (syms_of_chartab): Add new builtin function
266         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
267
268         * chartab.h (default_chise_data_source): New extern variable.
269         (open_chise_data_source_maybe): New prototype.
270         (struct Lisp_Char_Table): Delete `ds'.
271
272 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
273
274         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
275         `CHISE' is defined.
276
277 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
278
279         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
280         not defined; add code for non-libchise setting.
281         (char_table_close_db_maybe): Likewise.
282         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
283         defined.
284         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
285         even if `CHISE' is not defined.
286         (Freset_char_attribute_table): Likewise.
287         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
288         `char_table_close_db_maybe' even if `CHISE' is not defined; use
289         `char_table_get_db'.
290         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
291         `char_table_close_db_maybe' even if `CHISE' is not defined.
292
293 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
294
295         * chartab.c (char_table_open_db_maybe): New function.
296         (char_table_close_db_maybe): New function.
297         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
298         (Freset_char_attribute_table): Likewise.
299         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
300         `char_table_close_db_maybe'.
301         (Fload_char_attribute_table): Likewise.
302
303 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
304
305         * chartab.c: Don't include <chise.h> because it is included in
306         chartab.h.
307         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
308         defined.
309         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
310         `CHISE' is defined.
311         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
312         `CHISE' is defined.
313         (Fclose_char_attribute_table): Close `ct->feature_table' and
314         `ct->ds' when `CHISE' is defined.
315         (Freset_char_attribute_table): Likewise.
316         (load_char_attribute_maybe): Use `cit->ds' and
317         `cit->feature_table' when `CHISE' is defined.
318         (Fload_char_attribute_table): Likewise.
319
320         * chartab.h: Include <chise.h> when `CHISE' is defined.
321         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
322         when `CHISE' is defined.
323
324 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
325
326         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
327         is defined.
328         (char_table_description): Likewise.
329         (Fmake_char_table): Likewise.
330         (Fcopy_char_table): Likewise.
331         (Fmount_char_attribute_table): Likewise.
332         (Fclose_char_attribute_table): Likewise.
333         (Freset_char_attribute_table): Likewise.
334         (load_char_attribute_maybe): Likewise.
335         (Fload_char_attribute_table): Likewise.
336
337         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
338         defined.
339
340 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
341
342         * chartab.c (load_char_attribute_table_map_func): New function
343         when CHISE is defined.
344         (Qload_char_attribute_table_map_function): Don't define when CHISE
345         is defined.
346         (Fload_char_attribute_table_map_function): Likewise.
347         (Fload_char_attribute_table): Use libchise when `CHISE' is
348         defined.
349         (syms_of_chartab): Don't define
350         `load-char-attribute-table-map-function' when CHISE is defined.
351
352 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
353
354         * chartab.c: Include <chise.h> when `CHISE' is defined.
355         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
356
357 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * mule-charset.c (charset_code_point): Fix problem when searching
360         in mother CCS fails with `defined_only' mode.
361
362 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
363
364         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
365         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
366         (put_char_composition): Likewise.
367         (Fput_char_attribute): Likewise.
368         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
369
370 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
371
372         * chartab.c (Q_ucs): Deleted.
373         (Fput_char_attribute): Don't refer `->ucs'.
374         (Fdefine_char): Likewise.
375         (Ffind_char): Likewise.
376         (syms_of_chartab): Delete `->ucs'.
377
378 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
379
380         * mule-charset.c (Qmap_cns11643_2): Renamed from
381         `Qchinese_cns11643_2'.
382         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
383         `chinese-cns11643-2'.
384         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
385         `=cns11643-2'.
386
387 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
388
389         * mule-charset.c (Qmap_cns11643_1): Renamed from
390         `Qchinese_cns11643_1'.
391         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
392         `chinese-cns11643-1'.
393         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
394         `=cns11643-1'.
395
396 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
397
398         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
399         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
400         `chinese-gb12345'.
401         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
402         `=gb12345'.
403
404 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
405
406         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
407         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
408         `chinese-gb2312'.
409         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
410         `=gb2312'.
411
412 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
413
414         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
415         (syms_of_mule_charset): Add new symbol `=big5' instead of
416         `chinese-big5'.
417         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
418
419 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
420
421         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
422         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
423         `korean-ksc5601'.
424         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
425         `=ks-x1001'.
426
427 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
428
429         * mule-charset.c (Qmap_jis_x0212): Renamed from
430         `Qjapanese_jisx0212'.
431         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
432         `japanese-jisx0212'.
433         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
434         `=jis-x0212'.
435
436 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
437
438         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
439         `Qjapanese_jisx0208'.
440         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
441         of `japanese-jisx0208'.
442         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
443         `=jis-x0208-1983'.
444
445 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
446
447         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
448         `Qjapanese_jisx0208_1978'.
449         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
450         of `japanese-jisx0208-1978'.
451         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
452         `=jis-x0208-1978'.
453
454 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
455
456         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
457         only for XEmacs CHISE.
458
459 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
460
461         * char-ucs.h: Compact non-ISO-IR charset-ids.
462         (LEADING_BYTE_UCS): Changed to -177.
463         (LEADING_BYTE_CONTROL_1): Changed to -77.
464         (LEADING_BYTE_UCS_BMP): Changed to -176.
465         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
466
467 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
468
469         * mule-charset.c (Qiso_ir): New variable.
470         (Fmake_charset): Recognise new property `iso-ir'.
471         (syms_of_mule_charset): Add new symbol `iso-ir'.
472
473 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
474
475         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
476         n to -n; charset-id of non ISO-IR sets are changed to positive
477         numbers.
478
479 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
480
481         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
482         for &MCS-XXXXXXXX; values.
483
484 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
485
486         * mule.c (Vxemacs_chise_version): Renamed from
487         `Vutf_2000_version'.
488         (vars_of_mule): Add new variable `xemacs-chise-version'; define
489         `utf-2000-version' as an alias for `xemacs-chise-version'.
490
491 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
492
493         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
494         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
495         defined.
496
497         * config.h.in (CHISE): New macro.
498
499 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
500
501         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
502         of `ucs'.
503         (Qmap_ucs): New variable.
504         (syms_of_mule_charset): Add new symbol `=ucs'.
505         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
506
507         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
508         (simplify_char_spec): Likewise.
509
510         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
511
512         * char-ucs.h (Qmap_ucs): New extern variable.
513
514 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
515
516         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
517         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
518         don't define it when UTF2000 is not defined.
519         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
520         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
521         when UTF2000 is not defined.
522         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
523         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
524
525 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
526
527         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
528
529         * mule-charset.c (Vcharset_ucs_gb): Deleted.
530         (Qucs_gb): Deleted.
531         (syms_of_mule_charset): Delete `ucs-gb'.
532         (complex_vars_of_mule_charset): Likewise.
533
534 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
535
536         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
537
538         * mule-charset.c (Vcharset_ucs_cns): Deleted.
539         (Qucs_cns): Deleted.
540         (syms_of_mule_charset): Delete `ucs-cns'.
541         (complex_vars_of_mule_charset): Likewise.
542
543 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
544
545         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
546
547         * mule-charset.c (Vcharset_ucs_jis): Deleted.
548         (Qucs_jis): Deleted.
549         (syms_of_mule_charset): Delete `ucs-jis'.
550         (complex_vars_of_mule_charset): Likewise.
551
552 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
553
554         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
555
556         * mule-charset.c (Vcharset_ucs_ks): Deleted.
557         (Qucs_ks): Deleted.
558         (syms_of_mule_charset): Delete `ucs-ks'.
559         (complex_vars_of_mule_charset): Likewise.
560
561 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
562
563         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
564         (Qideograph_daikanwa_2): Deleted.
565         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
566         (complex_vars_of_mule_charset): Likewise.
567
568         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
569         (LEADING_BYTE_DAIKANWA_1): Deleted.
570         (LEADING_BYTE_DAIKANWA_2): Deleted.
571         (MIN_CHAR_DAIKANWA): Deleted.
572         (MAX_CHAR_DAIKANWA): Deleted.
573
574 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
575
576         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
577         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
578         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
579
580         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
581         (Vcharset_ideograph_daikanwa): Deleted.
582         (Qideograph_hanziku_{1..12}): Deleted.
583         (Qideograph_daikanwa): Deleted.
584         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
585         Vcharset_ideograph_daikanwa.
586         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
587         `ideograph-hanziku-{1..12}'.
588         (complex_vars_of_mule_charset): Likewise.
589
590 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
591
592         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
593
594         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
595         (Qideograph_gt_pj_{1..11}): Deleted.
596         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
597         (complex_vars_of_mule_charset): Likewise.
598
599 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
600
601         * mule-charset.c (Vcharset_ucs_big5): Deleted.
602         (Vcharset_ideograph_gt): Deleted.
603         (Qucs_big5): Deleted.
604         (Qideograph_gt): Deleted.
605         (syms_of_mule_charset): Delete symbol `ucs-big5' and
606         `ideograph-gt'.
607         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
608         and `ideograph-gt'.
609
610         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
611         (LEADING_BYTE_GT): Deleted.
612         (MIN_CHAR_GT): Deleted.
613         (MAX_CHAR_GT): Deleted.
614
615 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
616
617         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
618
619 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
620
621         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
622         (save_uint16_byte_table): Likewise.
623         (save_byte_table): Likewise; convert values by it.
624         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
625         for `ideographic-structure'.
626         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
627         as the filter for `ideographic-structure'.
628
629 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
630
631         * chartab.c (put_char_composition): New function.
632         (Fput_char_attribute): Use `put_char_composition'; use
633         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
634
635         * fns.c (simplify_char_spec): New function.
636         (char_ref_simplify_spec): New function.
637         (Fchar_refs_simplify_char_specs): New function.
638         (syms_of_fns): Add new builtin function
639         `char-refs-simplify-char-specs'.
640
641 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
642
643         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
644         (Qideograph_cbeta): Deleted.
645         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
646         (complex_vars_of_mule_charset): Likewise.
647
648         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
649         (MIN_CHAR_CBETA): Comment out.
650         (MAX_CHAR_CBETA): Likewise.
651
652 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
653
654         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
655         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
656         CHISE client feature.
657
658 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
659
660         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
661
662 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
663
664         * mule-charset.c (charset_lookup_description_1): Use
665         `NUM_LEADING_BYTES' in UTF-2000.
666
667 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
668
669         * char-ucs.h (GC_CHARSETP): Deleted.
670
671 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * char-ucs.h (MAX_CHAR_GT): Updated.
674
675 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
676
677         * text-coding.c: Sync with XEmacs 21.4.10.
678
679 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
680
681         * mule-charset.c (Vcharset_china3_jef): Deleted.
682         (Qchina3_jef): Deleted.
683         (syms_of_mule_charset): Don't define `china3-jef'.
684         (complex_vars_of_mule_charset): Likewise.
685
686         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
687         (MIN_CHAR_CHINA3_JEF): Comment out.
688         (MAX_CHAR_CHINA3_JEF): Comment out.
689
690 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
691
692         * mule-charset.c (Vcharset_ucs_gb): New variable.
693         (Qucs_gb): New variable.
694         (syms_of_mule_charset): Add new symbol `ucs-gb'.
695         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
696
697         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
698
699 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * mule-charset.c (charset_code_point): if a coded-charset has a
702         final-byte, don't inherit the builtin range of the mother CCS.
703
704 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
705
706         * mule-charset.c (charset_code_point): Fix problem about
707         inheritance.
708
709 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
710
711         * mule-charset.c (decode_builtin_char): Reorganized.
712
713 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * text-coding.c (char_encode_as_entity_reference): Modify for
716         `charset_code_point'.
717         (char_encode_shift_jis): Likewise.
718         (char_encode_big5): Likewise.
719         (char_encode_utf8): Likewise.
720         (char_encode_iso2022): Likewise.
721
722         * mule-charset.c (charset_code_point): Add new argument
723         `defined_only'.
724         (Fencode_char): Add new optional argument `defined_only'.
725
726         * chartab.c (put_char_table): Modify for `charset_code_point'.
727
728         * char-ucs.h (charset_code_point): Add new argument
729         `defined_only'.
730         (encode_char_1): Modify for `charset_code_point'.
731
732 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
735         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
736
737 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
738
739         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
740         (Qjis_x0208): Likewise.
741         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
742         XCHARSET_FINAL(charset).
743         (charset_code_point): Modify condition for final-byte based
744         builtin-chars.
745         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
746         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
747         in UTF-2000; specify `=jis-x0208' as the mother of
748         `japanese-jisx0208-1978', `japanese-jisx0208' and
749         `japanese-jisx0208-1990' in UTF-2000.
750
751 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
752
753         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
754
755 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * text-coding.c (decode_coding_utf16): Support UTF-16.
758         (char_encode_utf16): Fixed.
759
760 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
761
762         * text-coding.c (Qutf16): New variable in MULE.
763         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
764         (Fcoding_system_type): Add `utf-16' in MULE.
765         (struct detection_state): Add a structure for utf16 in MULE.
766         (detect_coding_type): Setup st->utf16.mask in MULE.
767         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
768         MULE.
769         (reset_encoding_stream): Use `char_encode_utf16' and
770         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
771         (detect_coding_utf16): New function [incomplete].
772         (decode_coding_utf16): New function [support only UCS-2].
773         (char_encode_utf16): New function.
774         (char_finish_utf16): New function.
775         (syms_of_file_coding): Add new symbol `utf-16'; setup
776         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
777
778         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
779         UTF-2000.
780         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
781         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
782
783 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
784
785         * chartab.c (put_char_table): When a charset is specified as a
786         range in UTF-2000, don't support builtin characters.
787
788 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
789
790         * mule-charset.c (decode_defined_char): Don't refer external
791         database if Qunbound or Qnil are found.
792         (Fsave_charset_mapping_table): Don't define it if
793         HAVE_CHISE_CLIENT is not defined.
794         (Freset_charset_mapping_table): New function.
795         (load_char_decoding_entry_maybe): Store Qnil if a character is not
796         found in external database.
797         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
798         if HAVE_CHISE_CLIENT is not defined; add new builtin function
799         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
800
801 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
802
803         * text-coding.c (decode_coding_utf8): Check CCS is specified or
804         not.
805
806 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
807
808         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
809         Q_lowercase, Q_uppercase in UTF-2000.
810
811         * chartab.c (get_char_table): Add special code for the standard
812         case table to use character attribute `->downcase' and
813         `->uppercase' for case operations in UTF-2000.
814
815         * casetab.c (Qflippedcase): New variable in UTF-2000.
816         (Q_lowercase): Likewise.
817         (Q_uppercase): Likewise.
818         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
819         and `->uppercase' in UTF-2000.
820         (complex_vars_of_casetab): Assign attribute name `downcase' to
821         downcase and CANON table of Vstandard_case_table in UTF-2000;
822         assign attribute name `flippedcase' to upcase and EQV table of
823         Vstandard_case_table in UTF-2000.
824
825 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
826
827         * text-coding.c (decode_add_er_char): Support isolated-chars.
828         (char_encode_as_entity_reference): Likewise.
829
830 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
831
832         * emacs.c (Vutf_2000_lisp_directory): New variable.
833         (Vconfigure_utf_2000_lisp_directory): Likewise.
834         (complex_vars_of_emacs): Add new variable
835         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
836
837 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
838
839         * char-ucs.h (DECODE_CHAR): Delete special code for
840         `chinese-big5-1' and `chinese-big5-2'.
841
842         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
843         (Qbig5_2): Likewise.
844         (decode_defined_char): Support CONVERSION_BIG5_1 and
845         CONVERSION_BIG5_2.
846         (decode_builtin_char): Likewise.
847         (charset_code_point): Likewise.
848         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
849         'conversion in UTF-2000.
850         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
851         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
852         `chinese-big5-2' as children of `chinese-big5'.
853
854         * char-ucs.h (CONVERSION_BIG5_1): New macro.
855         (CONVERSION_BIG5_2): New macro.
856
857 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
858
859         * text-coding.c (char_encode_big5): Support entity-reference.
860
861 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
862
863         * text-coding.c (char_encode_as_entity_reference): New function.
864         (char_encode_utf8): Use `char_encode_as_entity_reference'.
865
866 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
867
868         * text-coding.c (decode_coding_big5): Support entity-reference
869         decoding feature.
870
871 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
872
873         * text-coding.c (allocate_coding_system): Initialize initial
874         charsets for CODESYS_UTF8.
875         (Fmake_coding_system): Accept charset-g0, charset-g1 and
876         charset-g2 for CODESYS_UTF8.
877         (decode_coding_utf8): Use charset-g0.
878         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
879         to force variants to map to UCS.
880
881 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
882
883         * text-coding.c (Qutf_8_mcs): New variable.
884         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
885         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
886         instead of `utf-8' in UTF-2000.
887
888 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
889
890         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
891         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
892         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
893         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
894         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
895         CONVERSION_96x96x96x96 are introduced.
896         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
897         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
898         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
899
900         * char-ucs.h (CONVERSION_94): New macro.
901         (CONVERSION_96): New macro.
902         (CONVERSION_94x94): New macro.
903         (CONVERSION_96x96): New macro.
904         (CONVERSION_94x94x94): New macro.
905         (CONVERSION_96x96x96): New macro.
906         (CONVERSION_94x94x94x60): New macro.
907         (CONVERSION_94x94x94x94): New macro.
908         (CONVERSION_96x96x96x96): New macro.
909
910 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
911
912         * chartab.c (Vcharacter_variant_table): Deleted.
913         (Fchar_variants): Use character-attribute `->ucs-variants' instead
914         of `Vcharacter_variant_table'.
915         (Fput_char_attribute): Likewise.
916         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
917         (complex_vars_of_chartab): Likewise.
918
919 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
920
921         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
922
923         * fns.c (Qideographic_structure): New variable.
924         (Qkeyword_char): New variable.
925         (ids_format_unit): New function.
926         (Fideographic_structure_to_ids): New function.
927         (syms_of_fns): Add new symbols `ideographic-structure' and
928         `:char'; add new builtin function `ideographic-structure-to-ids'.
929
930         * data.c (Fchar_ref_p): New function.
931         (syms_of_data): Add new builtin function `char-ref-p'.
932
933         * chartab.h: Add an EXFUN for `Ffind_char'.
934
935 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
936
937         * text-coding.c (Vcharacter_composition_table): Deleted.
938         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
939         in every UTF-2000.
940
941         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
942         UTF-2000.
943         (Vcharacter_composition_table): Deleted.
944         (Fget_composite_char): Use the implementation for external-DB
945         support in every UTF-2000.
946         (Fput_char_attribute): Likewise.
947         (char_attribute_system_db_file): Don't define if external-DB
948         feature is not available.
949         (Fsave_char_attribute_table): Likewise.
950         (Fmount_char_attribute_table): Likewise.
951         (Fclose_char_attribute_table): Likewise.
952         (Freset_char_attribute_table): Likewise.
953         (Fload_char_attribute_table): Likewise.
954         (syms_of_chartab): Don't define `save-char-attribute-table',
955         `mount-char-attribute-table', `reset-char-attribute-table',
956         `close-char-attribute-table' and `load-char-attribute-table' if
957         external-DB feature is not available.
958         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
959
960 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
961
962         * text-coding.c (Qcomposition): Add extern if external-DB feature
963         is supported.
964         (Vcharacter_composition_table): Don't add extern if external-DB
965         feature is supported.
966         (COMPOSE_ADD_CHAR): Modify for new data-representation of
967         character composition rule if external-DB feature is supported.
968
969         * chartab.c (Vcharacter_composition_table): Don't define if
970         external-DB feature is supported.
971         (Qcomposition): New variable.
972         (Fget_composite_char): New implementation for external-DB support.
973         (Fput_char_attribute): Use `composition' property of each
974         character instead of `Vcharacter_composition_table' to store
975         character-composition rules if external-DB feature is supported.
976         (syms_of_chartab): Add new symbol `composition'.
977         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
978         external-DB feature is supported.
979
980 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
981
982         * chartab.c (Vchar_db_stingy_mode): New variable.
983         (load_char_attribute_maybe): Close database if
984         Vchar_db_stingy_mode is not NIL.
985         (Fload_char_attribute_table_map_function): Use
986         `get_char_id_table_0' instead of `get_char_id_table'.
987         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
988
989         * chartab.h (get_char_id_table_0): New inline function.
990         (get_char_id_table): Use `get_char_id_table_0'.
991
992 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
993
994         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
995         and `COMPOSE_ADD_CHAR'.
996         (decode_coding_iso2022): Use `decode_flush_er_chars'.
997
998 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
999
1000         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1001         instead of `DECODE_ADD_UCS_CHAR'.
1002         (COMPOSE_ADD_CHAR): Likewise.
1003
1004 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1005
1006         * text-coding.c (decode_flush_er_chars): New inline function.
1007         (decode_add_er_char): New function.
1008         (decode_coding_utf8): Use `decode_flush_er_chars' and
1009         `decode_add_er_char'.
1010
1011 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1012
1013         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1014         done before `decode_output_utf8_partial_char'.
1015
1016         * mule-charset.c (complex_vars_of_mule_charset): Specify
1017         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1018         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1019
1020 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1021
1022         * mule-charset.c (decode_defined_char): New function; search
1023         mother.
1024         (decode_builtin_char): Don't search mother if
1025         XCHARSET_MAX_CODE(charset) == 0.
1026         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1027         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1028         (Fdecode_char): Use `decode_defined_char' instead of
1029         `DECODE_DEFINED_CHAR'.
1030         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1031         mother of `Vcharset_ucs_jis'.
1032
1033         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1034         instead of `DECODE_DEFINED_CHAR'.
1035
1036         * char-ucs.h (decode_defined_char): Renamed from
1037         `DECODE_DEFINED_CHAR'; changed to normal function.
1038         (DECODE_CHAR): Use `decode_defined_char' instead of
1039         `DECODE_DEFINED_CHAR'.
1040
1041         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1042
1043 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1044
1045         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1046
1047         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1048         variable.
1049         (Quse_entity_reference): New variable.
1050         (Qd): New variable.
1051         (Qx): New variable.
1052         (QX): New variable.
1053         (coding_system_description): Add description for
1054         `ccs_priority_list'.
1055         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1056         (allocate_coding_system): Initialize `ccs_priority_list' in
1057         UTF-2000.
1058         (Fmake_coding_system): Add description about
1059         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1060         (codesys).
1061         (Fcoding_system_property): Accept `disable-composition' and
1062         `use-entity-reference' in UTF-2000.
1063         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1064         in UTF-2000.
1065         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1066         (decode_coding_utf8): Decode entity-reference if
1067         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1068         (char_encode_utf8): Encode non-Unicode characters as
1069         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1070         (str->codesys).
1071         (syms_of_file_coding): Add new symbols `use-entity-reference',
1072         `d', `x', `X'.
1073         (vars_of_file_coding): Add new variable
1074         `coded-charset-entity-reference-alist'.
1075         (complex_vars_of_file_coding): Declare `disable-composition' and
1076         `use-entity-reference' to be coding-system-properties in UTF-2000.
1077
1078         * file-coding.h (struct Lisp_Coding_System): Add new member
1079         `use_entity_reference' and `ccs_priority_list'.
1080         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1081         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1082         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1083
1084 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1085
1086         * chartab.c (save_uint8_byte_table): Don't clear the table.
1087         (save_uint16_byte_table): Likewise.
1088         (save_byte_table): Likewise.
1089         (Fmount_char_attribute_table): New function.
1090         (syms_of_chartab): Add new builtin function
1091         `mount-char-attribute-table'.
1092
1093 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1094
1095         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1096         "w+" mode.
1097         (load_char_decoding_entry_maybe): Open database as read-only mode.
1098
1099         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1100         open database as "w+" mode.
1101         (load_char_attribute_maybe): Open database as read-only mode.
1102         (Fload_char_attribute_table): Likewise.
1103
1104 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1105
1106         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1107         (char_table_description): Delete member `db_file'.
1108         (Fmake_char_table): Don't refer `ct->db_file'.
1109         (Fcopy_char_table): Likewise.
1110         (Fsave_char_attribute_table): Likewise.
1111         (Fclose_char_attribute_table): Likewise.
1112         (Freset_char_attribute_table): Likewise.
1113         (load_char_attribute_maybe): Likewise.
1114         (Fload_char_attribute_table): Likewise.
1115
1116         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1117
1118 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1119
1120         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1121         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1122         `ct->db' is living.
1123         (load_char_attribute_maybe): Likewise.
1124         (Fload_char_attribute_table): Likewise.
1125
1126 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1127
1128         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1129         `ct->db_file' unconditionally.
1130
1131 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1132
1133         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1134         UTF-2000.
1135         (char_table_description): Add description for `db_file' and `db'
1136         in UTF-2000.
1137         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1138         UTF-2000.
1139         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1140         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1141         (Fclose_char_attribute_table): New function.
1142         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1143         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1144         and `cit->db'.
1145         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1146         (syms_of_chartab): Add new builtin function
1147         `Fclose_char_attribute_table'.
1148
1149 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1150
1151         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1152         `db' in UTF-2000.
1153         (load_char_attribute_maybe): Change interface.
1154         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1155
1156 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1157
1158         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1159
1160 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1161
1162         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1163         instead of `DECODE_CHAR' for mother; don't use special code for
1164         chinese-big5 to use code space of chinese-big5-1 and
1165         chinese-big5-2.
1166         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1167         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1168
1169         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1170         (MAX_CHAR_BIG5_CDP): Revival.
1171
1172 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1173
1174         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1175         the XLFD registry-encoding name of `chinese-big5'.
1176
1177 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1178
1179         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1180         (Qchinese_big5_cdp): Deleted.
1181         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1182         (complex_vars_of_mule_charset): Delete coded-charset
1183         `chinese-big5-cdp'.
1184
1185         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1186         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1187         `CHARSET_ID_OFFSET - n' for private CCS.
1188         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1189         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1190         of `MIN_LEADING_BYTE'.
1191         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1192         `(CHARSET_ID_OFFSET - 97)'.
1193         (MIN_CHAR_BIG5_CDP): Deleted.
1194         (MAX_CHAR_BIG5_CDP): Deleted.
1195
1196 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1197
1198         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1199
1200 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1201
1202         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1203         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1204         chartab.c].
1205
1206         * chartab.c (Vutf_2000_version): Moved to mule.c.
1207         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1208
1209 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1210
1211         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1212         when HAVE_CHISE_CLIENT is not defined.
1213
1214         * mule.c (vars_of_mule): Provide feature `chise' when
1215         HAVE_CHISE_CLIENT is defined.
1216
1217 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1218
1219         * config.h.in (UTF2000): Add comment.
1220         (HAVE_CHISE_CLIENT): New macro.
1221
1222 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1223
1224         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1225         CONSP.
1226         (Fput_char_attribute): Likewise.
1227         (char_attribute_system_db_file): Encode file-name of attribute.
1228         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1229         the initial value.
1230
1231 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1232
1233         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1234         (Fsave_charset_mapping_table): Use
1235         `char_attribute_system_db_file'.
1236         (load_char_decoding_entry_maybe): Likewise.
1237
1238         * chartab.h (Qsystem_char_id): New external variable.
1239         (char_attribute_system_db_file): New prototype.
1240
1241         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1242         (char_attribute_system_db_file): New function.
1243         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1244         (Freset_char_attribute_table): Likewise.
1245         (load_char_attribute_maybe): Likewise.
1246         (Fload_char_attribute_table): Likewise.
1247         (syms_of_chartab): Add new symbol `system-char-id'.
1248
1249 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1250
1251         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1252         `XCHARSET_GRAPHIC(ccs)'.
1253
1254 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1255
1256         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1257
1258 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1259
1260         * chartab.c (Q_ucs_variants): New variable.
1261         (syms_of_chartab): Add new symbol `->ucs-variants'.
1262         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1263         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1264         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1265
1266         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1267
1268         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1269         `HAVE_DATABASE' is defined.
1270         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1271         `HAVE_DATABASE' is defined.
1272
1273 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1274
1275         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1276         attribute-table.
1277         (Freset_char_attribute_table): New function.
1278         (syms_of_chartab): Add new builtin function
1279         `reset-char-attribute-table'.
1280
1281 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1282
1283         * chartab.c (load_char_attribute_maybe): Don't make directories.
1284
1285 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1286
1287         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1288
1289         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1290         for decoding-table.
1291
1292 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1293
1294         * mule-charset.c (Fsave_charset_mapping_table): Use
1295         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1296
1297         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1298         instead of `XCHARSET_CHARS'.
1299
1300 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1301
1302         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1303         (XCHARSET_BYTE_SIZE): Likewise.
1304
1305         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1306         mule-charset.c].
1307         (XCHARSET_BYTE_SIZE): Likewise.
1308
1309 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1310
1311         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1312         data-directory to store database.
1313         (Fsave_char_attribute_table): Likewise.
1314         (load_char_attribute_maybe): Likewise.
1315         (Fload_char_attribute_table): Likewise.
1316
1317 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1318
1319         * mule-charset.c (Fsave_charset_mapping_table): New function.
1320         (syms_of_mule_charset): Add new builtin function
1321         `save-charset-mapping-table'.
1322
1323 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1324
1325         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1326         (get_ccs_octet_table): New inline function.
1327         (put_ccs_octet_table): Likewise.
1328         (decoding_table_put_char): Use `get_ccs_octet_table' and
1329         `put_ccs_octet_table'.
1330         (decoding_table_remove_char): Use `decoding_table_put_char'.
1331         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1332
1333         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1334         into encoding_table.
1335         (make_charset): Use Qunbound instead Qnil as initial value of
1336         decoding_table.
1337
1338 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1339
1340         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1341         element is Qunloaded.
1342         (map_over_uint16_byte_table): Likewise.
1343         (map_over_byte_table): Likewise.
1344         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1345         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1346         database support, load encoding-table of the specified
1347         coded-charset if it is not loaded yet.
1348         (save_uint8_byte_table): New function of UTF-2000 with external
1349         database support.
1350         (save_uint16_byte_table): Likewise.
1351         (save_byte_table): Likewise.
1352         (Fput_char_attribute): Don't store value into external database
1353         even if the external database feature is supported in UTF-2000;
1354         set `attribute' as name of char-table if the external database
1355         feature is supported.
1356         (Fsave_char_attribute_table): New function in UTF-2000.
1357         (syms_of_chartab): Add new builtin function
1358         `save-char-attribute-table' in UTF-2000.
1359
1360 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1361
1362         * chartab.c (char_attribute_table_to_put): New variable in
1363         UTF-2000.
1364         (Qput_char_table_map_function): Likewise.
1365         (value_to_put): Likewise.
1366         (Fput_char_table_map_function): New function in UTF-2000.
1367         (put_char_table): Use `Fmap_char_attribute' for
1368         CHARTAB_RANGE_CHARSET in UTF-2000.
1369         (Fput_char_attribute): Store symbol instead of string in
1370         `XCHAR_TABLE_NAME (table)'.
1371         (load_char_attribute_maybe): Likewise.
1372         (syms_of_chartab): Add new symbol/function
1373         `put-char-table-map-function'.
1374
1375 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1376
1377         * database.h: Add new EXFUN for `Fmap_database'.
1378
1379         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1380         (syms_of_database): Likewise.
1381
1382         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1383         UTF-2000.
1384         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1385         (XCHAR_TABLE_UNLOADED): Likewise.
1386
1387         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1388         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1389         HAVE_DATABASE is defined.
1390         (char_attribute_table_to_load): New variable of UTF-2000 with
1391         external database support.
1392         (Qload_char_attribute_table_map_function): Likewise.
1393         (Fload_char_attribute_table_map_function): New function of
1394         UTF-2000 with external database support.
1395         (Fload_char_attribute_table): New function of UTF-2000.
1396         (Fmap_char_attribute): Call Fload_char_attribute_table if
1397         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1398         (syms_of_chartab): Add new symbol and function
1399         `load-char-attribute-table-map-function' in UTF-2000 with external
1400         database support; add new function `load-char-attribute-table' in
1401         UTF-2000.
1402
1403 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1404
1405         * chartab.h (load_char_attribute_maybe): New prototype for
1406         UTF-2000 with DATABASE support.
1407         (get_char_id_table): Use `load_char_attribute_maybe' if
1408         HAVE_DATABASE is defined.
1409
1410         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1411         with DATABASE support.
1412
1413 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1414
1415         * chartab.c (Fput_char_attribute): Use S-expression as key of
1416         external database.
1417
1418         * chartab.h (get_char_id_table): Use S-expression as key of
1419         external database.
1420
1421 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1422
1423         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1424         if an element is not loaded, load the corresponding attributes
1425         from an external database.
1426         (map_over_uint16_byte_table): Likewise.
1427         (map_over_byte_table): Likewise.
1428         (map_char_table): Modify for `map_over_uint8_byte_table',
1429         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1430         element is not loaded, load the corresponding attributes from an
1431         external database.
1432         (Fput_char_attribute): Change initial values to Qunloaded.
1433
1434         * chartab.h (get_char_id_table): If a character attribute is not
1435         loaded and the attribute value is not found in an external
1436         database, store Qunbound as the attribute value.
1437
1438 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1439
1440         * chartab.c (BT_UINT8_unloaded): New macro.
1441         (UINT8_VALUE_P): Accept Qunloaded.
1442         (UINT8_ENCODE): Likewise.
1443         (UINT8_DECODE): Likewise.
1444         (BT_UINT16_unloaded): New macro.
1445         (UINT16_VALUE_P): Accept Qunloaded.
1446         (UINT16_ENCODE): Likewise.
1447         (UINT16_DECODE): Likewise.
1448         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1449         BT_UINT16_unloaded.
1450         (mark_char_table): Mark `ct->name' in UTF-2000.
1451         (char_table_description): Add `name' in UTF-2000.
1452         (Fmake_char_table): Initialize `ct->name'.
1453         (Fcopy_char_table): Copy `ct->name'.
1454         (Fput_char_attribute): Store value into an external database if
1455         HAVE_DATABASE is defined.
1456
1457         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1458         UTF-2000.
1459         (CHAR_TABLE_NAME): New macro in UTF-2000.
1460         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1461         (get_char_id_table): Try to read an external database if Qunloaded
1462         is stored in a table.
1463
1464         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1465         Qunloaded.
1466
1467 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1468
1469         * database.h: Add EXFUN definitions for Fopen_database,
1470         Fput_database, Fget_database and Fclose_database.
1471
1472         * data.c (Qunloaded): New variable in UTF-2000.
1473
1474         * lisp.h (Qunloaded): New variable in UTF-2000.
1475
1476 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1477
1478         * mule-charset.c (put_char_ccs_code_point): Modify for
1479         `decoding_table_remove_char' and `decoding_table_put_char'.
1480         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1481
1482         * char-ucs.h (decoding_table_remove_char): Change arguments to
1483         hide decoding_table vector.
1484         (decoding_table_put_char): Likewise.
1485
1486 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1487
1488         * mule-charset.c (decoding_table_remove_char): Moved to
1489         char-ucs.h.
1490         (decoding_table_put_char): Likewise.
1491
1492         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1493         from mule-charset.c].
1494         (decoding_table_remove_char): New inline function [moved from
1495         mule-charset.c].
1496         (decoding_table_put_char): Likewise.
1497
1498 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1499
1500         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1501         extension.
1502
1503 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1504
1505         * mule-charset.c (decode_builtin_char): Support mother charsets.
1506
1507 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1508
1509         * mule-charset.c (Q94x94x60): New variable.
1510         (charset_code_point): Support conversion `94x94x60'.
1511         (Fmake_charset): Likewise.
1512         (syms_of_mule_charset): Add new symbol `94x94x60'.
1513
1514         * char-ucs.h (CONVERSION_94x94x60): New macro.
1515
1516 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1517
1518         * mule-charset.c (charset_code_point): Unify code about
1519         `code-offset'.
1520
1521 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1522
1523         * mule-charset.c (charset_code_point): Merge code about builtin
1524         characters into code about mother charsets; don't use
1525         `range_charset_code_point'.
1526         (range_charset_code_point): Deleted.
1527
1528 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1529
1530         * mule-charset.c (Qcode_offset): New variable.
1531         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1532         `max-code'; accept new property `code-offset'.
1533         (syms_of_mule_charset): Add new symbol `code-offset'.
1534
1535 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1536
1537         * mule-charset.c (range_charset_code_point): Fixed.
1538
1539 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1540
1541         * mule-charset.c (decode_builtin_char): Change semantics of
1542         code-offset of coded-charset.
1543         (charset_code_point): Likewise.
1544         (range_charset_code_point): Likewise.
1545         (complex_vars_of_mule_charset): Modify for the change.
1546
1547 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * mule-charset.c (Fencode_char): Reverse arguments.
1550
1551         * mule-charset.c (charset_code_point): Fixed.
1552
1553 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1554
1555         * mule-charset.c (Vcharset_mojikyo): Deleted.
1556         (Vcharset_mojikyo_2022_1): Deleted.
1557         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1558         (Qmin_code): New variable in UTF-2000.
1559         (Qmax_code): Likewise.
1560         (Qmother): Likewise.
1561         (Qconversion): Likewise.
1562         (Q94x60): Likewise.
1563         (Qmojikyo): Deleted.
1564         (Qmojikyo_2022_1): Deleted.
1565         (Qmojikyo_pj_{1..22}): Deleted.
1566         (mark_charset): Mark `cs->mother'.
1567         (charset_description): Add description for `mother'.
1568         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1569         new arguments `mother' and `conversion'; use
1570         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1571         (charset_code_point): Moved from char-ucs.h; support `mother'
1572         charset feature.
1573         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1574         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1575         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1576         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1577         allow 2 as the value of `graphic' in UTF-2000; add new properties
1578         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1579         require `final' in UTF-2000; modify for `make_charset'.
1580         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1581         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1582         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1583         (Fencode_char): New function.
1584         (syms_of_mule_charset): Add new builtin function `encode-char' in
1585         UTF-2000; add new symbols `min-code', `max-code', `mother',
1586         `conversion' and `94x60'; delete symbols `mojikyo',
1587         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1588         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1589         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1590         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1591
1592         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1593         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1594
1595         * char-ucs.h (Vcharset_mojikyo): Deleted.
1596         (Vcharset_mojikyo_2022_1): Deleted.
1597         (LEADING_BYTE_MOJIKYO): Deleted.
1598         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1599         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1600         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1601         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1602         add new member `mother'; add new member `conversion'.
1603         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1604         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1605         (CHARSET_MOTHER): New macro.
1606         (CHARSET_CONVERSION): New macro.
1607         (CONVERSION_IDENTICAL): New macro.
1608         (CONVERSION_94x60): New macro.
1609         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1610         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1611         (XCHARSET_MOTHER): New macro.
1612         (XCHARSET_CONVERSION): New macro.
1613         (MIN_CHAR_MOJIKYO): Deleted.
1614         (MAX_CHAR_MOJIKYO): Deleted.
1615         (DECODE_MOJIKYO_2022): Deleted.
1616         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1617         (charset_code_point): Changed to non-inline function.
1618         (encode_char_1): Use `charset_code_point'.
1619         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1620
1621 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1622
1623         * lread.c (read_compiled_function): Fix prototype.
1624         (read_vector): Likewise.
1625
1626 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1627
1628         * lrecord.h (struct lrecord_header): Delete `older'.
1629         (set_lheader_implementation): Delete code for `older'.
1630         (set_lheader_older_implementation): Deleted.
1631         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1632         (OLDER_RECORD_P): Deleted.
1633         (OLDER_RECORD_HEADER_P): Deleted.
1634         (alloc_older_lcrecord): Deleted.
1635         (alloc_older_lcrecord_type): Deleted.
1636
1637         * alloc.c (all_older_lcrecords): Deleted.
1638         (alloc_older_lcrecord): Deleted.
1639         (disksave_object_finalization_1): Delete code for older objects.
1640         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1641         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1642
1643 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1644
1645         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1646         instead of `make_older_vector'.
1647         (put_char_ccs_code_point): Likewise.
1648         (mark_charset): Mark `cs->decoding_table'.
1649         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1650
1651         * lisp.h (make_older_vector): Deleted.
1652         (make_vector_newer): Deleted.
1653
1654         * config.h.in (HAVE_GGC): Deleted.
1655
1656         * alloc.c (make_older_vector): Deleted.
1657         (make_vector_newer_1): Deleted.
1658         (make_vector_newer): Deleted.
1659
1660 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1661
1662         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1663         (Qideograph_daikanwa_2): New variable.
1664         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1665         (complex_vars_of_mule_charset): Add new coded-charset
1666         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1667         `LEADING_BYTE_DAIKANWA'.
1668
1669         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1670         (LEADING_BYTE_DAIKANWA_1): New macro.
1671         (LEADING_BYTE_DAIKANWA_2): New macro.
1672         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1673
1674 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1675
1676         * mule-charset.c (complex_vars_of_mule_charset): Change
1677         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1678         the second revised version.
1679
1680 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1681
1682         * mule-charset.c (Vcharset_ucs_smp): New variable.
1683         (Vcharset_ucs_sip): New variable.
1684         (Qucs_smp): New variable.
1685         (Qucs_sip): New variable.
1686         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1687         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1688         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1689         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1690         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1691         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1692
1693         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1694         (LEADING_BYTE_UCS_SIP): New macro.
1695         (MIN_CHAR_SMP): New macro.
1696         (MAX_CHAR_SMP): New macro.
1697         (MIN_CHAR_SIP): New macro.
1698         (MAX_CHAR_SIP): New macro.
1699
1700 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1701
1702         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1703         utf-2000.
1704
1705 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1706
1707         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1708         value; don't store value into `encoding_table' of `Lisp_Charset'.
1709         (mark_charset): `encoding_table' was deleted.
1710         (charset_description): Likewise.
1711         (make_charset): Likewise.
1712         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1713         `put_char_ccs_code_point'.
1714
1715         * chartab.h (Fput_char_attribute): New EXFUN.
1716
1717         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1718         is unified with normal symbol space.
1719         (Fget_char_attribute): Likewise.
1720         (Fput_char_attribute): Likewise; behavior of
1721         `put_char_ccs_code_point' is changed.
1722
1723         * char-ucs.h: Include "elhash.h".
1724         (Vchar_attribute_hash_table): New external variable.
1725         (struct Lisp_Charset): Delete `encoding_table'.
1726         (CHARSET_ENCODING_TABLE): New implementation; refer
1727         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1728         `Lisp_Charset'.
1729
1730 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1733         (cs) == 0.
1734
1735 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1736
1737         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1738         `chinese-big5'.
1739
1740 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1741
1742         * chartab.c (uint8_byte_table_description): New constant.
1743         (uint8-byte-table): Use `uint8_byte_table_description'.
1744         (uint16_byte_table_description): New constant.
1745         (uint16-byte-table): Use `uint16_byte_table_description'.
1746
1747 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1748
1749         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1750         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1751
1752 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1753
1754         * mule-charset.c (Vcharset_ucs_ks): New variable.
1755         (Qucs_ks): New variable.
1756         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1757         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1758
1759         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1760
1761 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1762
1763         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1764         (Fdecode_char): Likewise.
1765
1766         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1767         chartab.h.
1768         (Fdefine_char): Modify for Fdecode_char.
1769         (Ffind_char): Likewise.
1770
1771         * mule-charset.c (Fdecode_char): Add new optional argument
1772         `defined-only'.
1773         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1774
1775 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1776
1777         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1778         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1779         (allocate_coding_system): Initialize initial-charsets of
1780         CODESYS_BIG5 in XEmacs UTF-2000.
1781         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1782         CODESYS_BIG5 in XEmacs UTF-2000.
1783         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1784         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1785
1786         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1787         variables.
1788         (Qideograph_hanziku_{1 .. 12}): Likewise.
1789         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1790         .. 12}'.
1791         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1792         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1793         `ideograph-hanziku-{1 .. 12}'.
1794
1795         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1796         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1797         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1798         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1799         (DECODE_DEFINED_CHAR): New inline function.
1800         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1801
1802 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * mule-charset.c (Vcharset_china3_jef): Renamed from
1805         `Vcharset_japanese_jef_china3'.
1806         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1807         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1808         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1809         (syms_of_mule_charset): Rename `china3-jef' from
1810         `japanese-jef-china3'.
1811         (complex_vars_of_mule_charset): Likewise; rename
1812         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1813
1814         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1815         `LEADING_BYTE_JEF_CHINA3'.
1816         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1817         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1818
1819 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1820
1821         * mule-charset.c (encode_builtin_char_1): Comment out special code
1822         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1823
1824         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1825         (MAX_CHAR_MOJIKYO_0): Comment out.
1826         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1827         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1828         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1829         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1830
1831 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1832
1833         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1834         (Qideograph_cbeta): New variable.
1835         (encode_builtin_char_1): Comment out special code for
1836         coded-charset `mojikyo' and `japanese-jef-china3'.
1837         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1838         (complex_vars_of_mule_charset): Add new coded-charset
1839         `ideograph-cbeta'.
1840
1841         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1842         (MIN_CHAR_CBETA): New macro.
1843         (MAX_CHAR_CBETA): New macro.
1844
1845 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1846
1847         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1848         (LEADING_BYTE_JEF_CHINA3): New macro.
1849         (MIN_CHAR_JEF_CHINA3): New macro.
1850         (MAX_CHAR_JEF_CHINA3): Likewise.
1851         (DECODE_CHAR): Fixed.
1852
1853 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1854
1855         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1856         (Qjapanese_jef_china3): New variable.
1857         (encode_builtin_char_1): Support `japanese-jef-china3'.
1858         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1859         (complex_vars_of_mule_charset): Add new coded-charset
1860         `japanese-jef-china3'.
1861
1862 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1863
1864         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1865         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1866         94^4, 96^3, 96^4, 128^n and 256^n set.
1867         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1868         (map_char_table): Likewise.
1869
1870 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1871
1872         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1873         UTF-2000.
1874
1875 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1876
1877         * chartab.h (get_char_id_table): New inline function.
1878
1879         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1880         function.
1881
1882 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1883
1884         * chartab.h (decode_char_table_range): New prototype in XEmacs
1885         UTF-2000.
1886         (put_char_id_table): New inline function in XEmacs UTF-2000.
1887
1888         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1889         function.
1890         (decode_char_table_range): Delete static declaration in XEmacs
1891         UTF-2000.
1892
1893 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1894
1895         * chartab.c (put_char_id_table): Use `put_char_table'.
1896
1897 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1898
1899         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1900         (map_over_uint16_byte_table): Likewise.
1901         (map_over_byte_table): Likewise.
1902         (map_char_table): Modify for `map_over_uint8_byte_table',
1903         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1904         UTF-2000.
1905
1906 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1907
1908         * chartab.c (struct map_char_table_for_charset_arg): New
1909         structure.
1910         (map_char_table_for_charset_fun): New function.
1911         (map_char_table): Use `map_char_table' for encoding_table of
1912         `range->charset'.
1913
1914 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1915
1916         * chartab.c (map_char_table): Check a character is found in
1917         range->charset instead of non default value is defined in
1918         char-table when range is CHARTAB_RANGE_ROW.
1919
1920 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1921
1922         * chartab.c (map_char_id_table): Deleted.
1923         (Fmap_char_attribute): Use `map_char_table' instead of
1924         `map_char_id_table'.
1925
1926 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1929         UTF-2000.
1930         (update_syntax_table): Deleted in XEmacs UTF-2000.
1931
1932         * syntax.c (find_defun_start): Use `syntax_table' instead of
1933         `mirror_syntax_table' in XEmacs UTF-2000.
1934         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1935         UTF-2000.
1936         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1937         XEmacs UTF-2000.
1938         (Fmatching_paren): Likewise.
1939         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1940         in XEmacs UTF-2000.
1941         (find_start_of_comment): Likewise.
1942         (find_end_of_comment): Likewise.
1943         (Fforward_comment): Likewise.
1944         (scan_lists): Likewise.
1945         (char_quoted): Likewise.
1946         (Fbackward_prefix_chars): Likewise.
1947         (scan_sexps_forward): Likewise.
1948         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1949         (update_syntax_table): Likewise.
1950
1951         * search.c (skip_chars): Use `syntax_table' instead of
1952         `mirror_syntax_table' in XEmacs UTF-2000.
1953         (wordify): Likewise.
1954         (Freplace_match): Likewise.
1955
1956         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1957         `mirror_syntax_table' in XEmacs UTF-2000.
1958         (WORDCHAR_P_UNSAFE): Likewise.
1959         (re_match_2_internal): Likewise.
1960
1961         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1962         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1963
1964         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1965         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1966
1967         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1968         XEmacs UTF-2000.
1969
1970         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1971         UTF-2000.
1972         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1973         (char_table_description): Delete `mirror_table' in XEmacs
1974         UTF-2000.
1975         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1976         UTF-2000.
1977         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1978         (Fcopy_char_table): Likewise.
1979         (put_char_table): Don't call `update_syntax_table' in XEmacs
1980         UTF-2000.
1981
1982         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1983         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1984         (casify_region_internal): Likewise.
1985
1986         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1987
1988         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1989         `mirror_syntax_table' in XEmacs UTF-2000.
1990
1991         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1992         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1993         (Fexpand_abbrev): Likewise.
1994
1995 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1996
1997         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1998
1999 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2000
2001         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2002         (map_over_uint16_byte_table): Likewise.
2003         (map_over_byte_table): Likewise.
2004         (get_char_id_table): Refer `cit->default_value'.
2005         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2006         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2007         of character-id ranges.
2008         (mark_char_table): Mark `ct->default_value'.
2009         (char_table_description): Add `default_value'.
2010         (fill_char_table): Use `default_value'.
2011         (decode_char_table_range): Decode `nil' as
2012         `CHARTAB_RANGE_DEFAULT'.
2013         (get_char_id_table): Refer `cit->default_value'.
2014         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2015         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2016         temporary hack; check value of char-table is bound or not.
2017         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2018
2019         * chartab.h (struct Lisp_Char_Table): Add new member
2020         `default_value' in XEmacs UTF-2000.
2021         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2022         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2023         UTF-2000.
2024
2025 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * chartab.h (Lisp_Char_ID_Table): Deleted.
2028
2029         * chartab.c (char_table_description): Fix typo.
2030         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2031         `Lisp_Char_ID_Table'.
2032
2033 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2034
2035         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2036         `CHAR_ID_TABLE_P'.
2037
2038         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2039         `CHAR_ID_TABLE_P'.
2040
2041         * chartab.h (XCHAR_ID_TABLE): Deleted.
2042         (XSETCHAR_ID_TABLE): Deleted.
2043         (CHAR_ID_TABLE_P): Deleted.
2044
2045         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2046         `CHAR_ID_TABLE_P'.
2047         (Fget_composite_char): Likewise.
2048         (put_char_table): Likewise.
2049         (add_char_attribute_alist_mapper): Fixed.
2050         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2051         `CHAR_ID_TABLE_P'.
2052         (Fget_char_attribute): Likewise.
2053         (Fget_char_attribute): Likewise.
2054         (Fmap_char_attribute): Likewise.
2055
2056         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2057         `CHAR_ID_TABLE_P'.
2058         (encode_char_1): Likewise.
2059
2060 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2061
2062         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2063         `XCHAR_ID_TABLE'.
2064
2065         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2066         instead of `XCHAR_ID_TABLE'.
2067         (remove_char_ccs): Likewise.
2068
2069         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2070         `XCHAR_ID_TABLE'.
2071         (Fget_composite_char): Likewise.
2072         (Fchar_variants): Likewise.
2073         (put_char_table): Likewise.
2074         (add_char_attribute_alist_mapper): Likewise.
2075         (Fchar_attribute_alist): Likewise.
2076         (Fget_char_attribute): Likewise.
2077         (Fput_char_attribute): Likewise.
2078         (Fmap_char_attribute): Likewise.
2079         (Fmap_char_attribute): Likewise.
2080
2081         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2082         `XCHAR_ID_TABLE'.
2083         (encode_char_1): Likewise.
2084
2085 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2086
2087         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2088         `Lisp_Char_ID_Table'.
2089         (mark_char_id_table): Deleted.
2090         (print_char_id_table): Likewise.
2091         (char_id_table_equal): Likewise.
2092         (char_id_table_hash): Likewise.
2093         (char_id_table_description): Likewise.
2094         (char_id_table): Likewise.
2095         (make_char_id_table): Use `Fmake_char_table' and
2096         `fill_char_table'.
2097         (get_char_id_table): Use `Lisp_Char_Table' instead of
2098         `Lisp_Char_ID_Table'.
2099         (put_char_id_table): Likewise.
2100         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2101         `XCHAR_ID_TABLE'.
2102         (Fremove_char_attribute): Likewise.
2103         (syms_of_chartab): Don't define type `char-id-table'.
2104
2105         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2106         (char_id_table): Likewise.
2107         (GC_CHAR_ID_TABLE_P): Likewise.
2108         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2109         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2110         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2111         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2112         (get_char_id_table): Use `Lisp_Char_Table' instead of
2113         `Lisp_Char_ID_Table'.
2114         (put_char_id_table_0): Likewise.
2115         (put_char_id_table): Likewise.
2116
2117 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2118
2119         * chartab.h: Lisp_Byte_Table related codes are moved from
2120         chartab.h.
2121
2122         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2123
2124 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2125
2126         * chartab.h: Don't include "chartab.h".
2127         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2128         (Lisp_Char_ID_Table): Likewise.
2129         (char_id_table): Likewise.
2130         (XCHAR_ID_TABLE): Likewise.
2131         (XSETCHAR_ID_TABLE): Likewise.
2132         (CHAR_ID_TABLE_P): Likewise.
2133         (GC_CHAR_ID_TABLE_P): Likewise.
2134         (get_char_id_table): Likewise.
2135
2136         * char-ucs.h: Include "chartab.h".
2137         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2138         (Lisp_Char_ID_Table): Likewise.
2139         (char_id_table): Likewise.
2140         (XCHAR_ID_TABLE): Likewise.
2141         (XSETCHAR_ID_TABLE): Likewise.
2142         (CHAR_ID_TABLE_P): Likewise.
2143         (GC_CHAR_ID_TABLE_P): Likewise.
2144         (get_char_id_table): Likewise.
2145
2146 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2147
2148         * chartab.c (copy_uint8_byte_table): New function.
2149         (copy_uint16_byte_table): New function.
2150         (copy_byte_table): New function.
2151         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2152         characters to call.
2153         (map_over_uint16_byte_table): Likewise.
2154         (map_over_byte_table): Likewise.
2155         (get_byte_table): Move prototype to chartab.h.
2156         (put_byte_table): Likewise.
2157         (put_char_id_table_0): Moved to chartab.h.
2158         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2159         (char_table_entry_equal): Likewise.
2160         (char_table_entry_hash): Likewise.
2161         (char_table_entry_description): Likewise.
2162         (char_table_entry): Likewise.
2163         (make_char_table_entry): Likewise.
2164         (copy_char_table_entry): Likewise.
2165         (get_non_ascii_char_table_value): Likewise.
2166         (map_over_charset_ascii): Likewise.
2167         (map_over_charset_control_1): Likewise.
2168         (map_over_charset_row): Likewise.
2169         (map_over_other_charset): Likewise.
2170         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2171         (print_char_table): Likewise.
2172         (char_table_equal): Likewise.
2173         (char_table_hash): Likewise.
2174         (char_table_description): Likewise.
2175         (fill_char_table): Likewise.
2176         (Fcopy_char_table): Likewise.
2177         (get_char_table): Likewise.
2178         (Fget_range_char_table): Likewise.
2179         (put_char_table): Likewise.
2180         (map_char_table): Likewise.
2181         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2182         UTF-2000.
2183
2184 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2185
2186         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2187         `Vauto_fill_chars' in XEmacs UTF-2000.
2188
2189         * chartab.h (get_byte_table): New prototype [moved from
2190         chartab.c].
2191         (put_byte_table): Likewise [moved from chartab.c].
2192         (put_char_id_table_0): New inline function [moved from chartab.c].
2193         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2194         (Lisp_Char_Table_Entry): Likewise.
2195         (char_table_entry): Likewise.
2196         (XCHAR_TABLE_ENTRY): Likewise.
2197         (XSETCHAR_TABLE_ENTRY): Likewise.
2198         (CHAR_TABLE_ENTRYP): Likewise.
2199         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2200         (NUM_ASCII_CHARS): Likewise.
2201         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2202         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2203
2204 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2205
2206         * chartab.c (get_char_id_table): Change interface.
2207         (put_char_id_table_0): New function.
2208         (put_char_id_table): Change interface; new implementation.
2209         (Fget_composite_char): Modify for interface change of
2210         `get_char_id_table'.
2211         (Fchar_variants): Likewise.
2212         (add_char_attribute_alist_mapper): Likewise.
2213         (Fchar_attribute_alist): Likewise.
2214         (Fget_char_attribute): Likewise.
2215         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2216         as same as character as the first argument like `put-char-table';
2217         modify for interface change of `put_char_id_table'.
2218         (Fremove_char_attribute): Modify for interface change of
2219         `put_char_id_table'.
2220
2221 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2222
2223         * text-coding.c: Sync up with XEmacs 21.2.41.
2224         (COMPOSE_ADD_CHAR): Modify for interface change of
2225         `get_char_id_table'.
2226
2227         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2228         change of `put_char_id_table'.
2229         (remove_char_ccs): Likewise.
2230
2231         * chartab.h (put_char_id_table): Change interface.
2232
2233         * char-ucs.h (get_char_id_table): Change interface.
2234         (charset_code_point): Modify for interface change of
2235         `get_char_id_table'.
2236         (encode_char_1): Likewise.
2237
2238 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2239
2240         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2241         argument `ccs'.
2242         (map_over_uint16_byte_table): Likewise.
2243         (map_over_byte_table): Likewise.
2244         (map_char_id_table): Add new argument `range' like
2245         `map_char_table'.
2246         (Fmap_char_attribute): Add new argument `range' like
2247         `Fmap_char_table'.
2248
2249 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2250
2251         * chartab.c (map_over_uint8_byte_table): Change interface of
2252         mapping function to use struct chartab_range instead of Emchar.
2253         (map_over_uint16_byte_table): Likewise.
2254         (map_over_byte_table): Likewise.
2255         (map_char_id_table): Likewise.
2256         (struct slow_map_char_id_table_arg): Deleted.
2257         (slow_map_char_id_table_fun): Deleted.
2258         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2259         function `slow_map_char_table_fun' instead of struct
2260         `slow_map_char_id_table_arg' and function
2261         `slow_map_char_id_table_fun'.
2262
2263 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2264
2265         * mule-charset.c: Move char-it-table related codes to chartab.c.
2266         (Vutf_2000_version): Moved to chartab.c.
2267         (Fdefine_char): Likewise.
2268         (Ffind_char): Likewise.
2269         (syms_of_mule_charset): Move types `uint8-byte-table',
2270         `uint16-byte-table', `byte-table' and `char-id-table' to
2271         chartab.c; move functions `char_attribute_list,
2272         `find_char_attribute_table, `char_attribute_alist,
2273         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2274         `map_char_attribute, `define_char, `find_char, `char_variants and
2275         `get_composite_char to chartab.c; move symbols `=>ucs',
2276         `->decomposition', `compat', `isolated', `initial', `medial',
2277         `final', `vertical', `noBreak', `fraction', `super', `sub',
2278         `circle', `square', `wide', `narrow', `small' and `font' to
2279         chartab.c.
2280         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2281         setting codes for `Vcharacter_composition_table' and
2282         `Vcharacter_variant_table' to chartab.c.
2283         (complex_vars_of_mule_charset): Move setting code for
2284         `Vchar_attribute_hash_table' to chartab.c.
2285
2286         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2287         (make_char_id_table): New prototype.
2288         (put_char_id_table): Likewise.
2289         (Fget_char_attribute): Likewise.
2290
2291         * chartab.c: Move char-id-table related code from mule-charset.c.
2292         (Vutf_2000_version): Moved from mule-charset.c.
2293
2294         * char-ucs.h (Qucs): New external variable.
2295         (put_char_ccs_code_point): New prototype.
2296         (remove_char_ccs): Likewise.
2297
2298 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2299
2300         * mule-charset.c (Vcharset_ucs_jis): New variable.
2301         (Qucs_jis): Likewise.
2302         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2303         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2304
2305         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2306
2307 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2308
2309         * mule-charset.c (map_over_uint8_byte_table): New function.
2310         (map_over_uint16_byte_table): Likewise.
2311         (map_over_byte_table): Likewise.
2312         (map_char_id_table): Likewise.
2313         (slow_map_char_id_table_fun): Likewise.
2314         (Fmap_char_attribute): Likewise.
2315         (syms_of_mule_charset): Add new function `map-char-attribute'.
2316
2317 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2318
2319         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2320         (syms_of_mule_charset): Add new function `find-char'.
2321
2322 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2323
2324         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2325         XEmacs UTF-2000.
2326         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2327         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2328         XEmacs UTF-2000.
2329         (complex_vars_of_mule_charset): Add new coded-charset
2330         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2331         `ideograph-gt-pj-*'.
2332
2333         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2334
2335 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2336
2337         * mule-charset.c (encode_builtin_char_1): Purge codes about
2338         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2339         {MIN|MAX}_CHAR_HEBREW.
2340         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2341         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2342
2343         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2344         (MAX_CHAR_GREEK): Purged.
2345         (MIN_CHAR_CYRILLIC): Purged.
2346         (MAX_CHAR_CYRILLIC): Purged.
2347         (MIN_CHAR_HEBREW): Commented out.
2348         (MAX_CHAR_HEBREW): Likewise.
2349
2350 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2351
2352         * mule-charset.c (Qto_ucs): New variable.
2353         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2354         (Fdefine_char): Likewise.
2355         (syms_of_mule_charset): Add new symbol `=>ucs'.
2356
2357 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2358
2359         * mule-charset.c (Fdecode_char): Fixed.
2360
2361 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2362
2363         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2364         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2365         "tcvn5712-1".
2366
2367 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2368
2369         * mule-charset.c (Vcharset_ucs_big5): New variable.
2370         (Qucs_big5): Likewise.
2371         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2372         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2373
2374         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2375
2376 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2377
2378         * mule-charset.c (decode_builtin_char): Check Big5 code range
2379         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2380
2381 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2382
2383         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2384         (Qchinese_gb12345): Likewise.
2385         (Fdecode_builtin_char): Fixed.
2386         (syms_of_mule_charset): Add `chinese-gb12345'.
2387         (complex_vars_of_mule_charset): Add coded-charset
2388         `chinese-gb12345'.
2389
2390         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2391         (LEADING_BYTE_CHINESE_GB12345): New macro.
2392
2393 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2394
2395         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2396         and `latin-viscii-upper' for `latin-viscii'.
2397
2398 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2399
2400         * mule-charset.c (Fdecode_builtin_char): Comment out
2401         regularization code for ISO-IR GR representation.
2402
2403 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2404
2405         * mule-charset.c (decode_builtin_char): New function; renamed from
2406         `make_builtin_char'; return -1 instead of signal.
2407         (Fdecode_builtin_char): Use `decode_builtin_char'.
2408
2409         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2410         `make_builtin_char'.
2411         (DECODE_CHAR): Use `decode_builtin_char' instead of
2412         `make_builtin_char'; use mapping table of `chinese-big5' for
2413         `chinese-big5-{1,2}'.
2414
2415 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2416
2417         * text-coding.c (char_encode_big5): New function.
2418         (char_finish_big5): Likewise.
2419         (reset_encoding_stream): Use `char_encode_big5' and
2420         `char_finish_big5' for CODESYS_BIG5.
2421         (mule_encode): Don't use `encode_coding_big5'.
2422         (encode_coding_big5): Deleted.
2423
2424 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2425
2426         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2427         0x81- in XEmacs UTF-2000.
2428         (detect_coding_big5): Likewise.
2429
2430 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2431
2432         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2433         generate character-id if the CCS property does not have
2434         corresponding predefined character.
2435         (make_builtin_char): Return -1 if corresponding predefined
2436         character is not found.
2437         (Fdecode_char): Return nil if corresponding character is not
2438         found.
2439         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2440         don't map to builtin ucs space.
2441
2442 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2443
2444         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2445         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2446
2447 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2448
2449         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2450         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2451         (Qideograph_gt): Likewise.
2452         (Qideograph_gt_pj_{1..11}): Likewise.
2453         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2454         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2455         `ideograph-gt-pj-11'.
2456         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2457         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2458         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2459
2460         * char-ucs.h (LEADING_BYTE_GT): New macro.
2461         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2462         (MIN_CHAR_GT): Likewise.
2463         (MAX_CHAR_GT): Likewise.
2464
2465 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2466
2467         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2468         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2469
2470         * doprnt.c (unsigned_int_converters): Add `c'.
2471         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2472
2473         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2474         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2475         `MIN_CHAR_MOJIKYO'.
2476         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2477         (MAX_CHAR_MOJIKYO_0): New macro.
2478         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2479
2480 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2481
2482         * mule-charset.c (Fdefine_char): Delete cemented out code.
2483         (encode_builtin_char_1): Modify for new allocation of builtin
2484         Mojikyo characters.
2485
2486         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2487
2488 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2489
2490         * mule-charset.c (Vcharset_ucs_cns): New variable.
2491         (Qucs_cns): New variable.
2492         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2493         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2494
2495 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2496
2497         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2498
2499 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2500
2501         * search.c (search_buffer): Make `charset_base_code' as
2502         character-id >> 6 to eliminate the corresponding last byte in
2503         UTF-8 representation [I'm not sure it is right thing].
2504         (boyer_moore): Likewise.
2505
2506 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2507
2508         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2509         representation in MULE.
2510
2511 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2512
2513         * text-coding.c (Fmake_coding_system): Use
2514         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2515         `EXTERNAL_PROPERTY_LIST_LOOP'.
2516
2517 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2518
2519         * text-coding.c (decode_output_utf8_partial_char): New function.
2520         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2521
2522 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2523
2524         * text-coding.c (decode_coding_utf8): Output original byte
2525         sequence if it is broken; change order of conditions.
2526
2527         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2528         of conditions.
2529
2530         * mb-multibyte.h (BYTE_ASCII_P):
2531         Use bit ops for char-signedness safety.
2532         (BYTE_C0_P): Use bit ops for char-signedness safety.
2533         (BYTE_C1_P): Use bit ops for char-signedness safety.
2534
2535         * character.h: (XCHAR_OR_CHAR_INT):
2536         Always use inline function.
2537         Remove redundant type checking assert() - XINT will abort quite
2538         nicely.
2539
2540 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2541
2542         * text-coding.c: (Fencode_shift_jis_char):
2543         (Fencode_big5_char):
2544         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2545         Replace 0 with '\0' when working with bytes.
2546         Replace initial "(" with "\(" in docstrings.
2547
2548         (Fmake_coding_system):
2549         When type is ccl and value is vector, register it with a proper
2550         symbol.  And checks whether the given ccl program is valid.
2551         (mule_decode): When calling ccl_driver, if src indicates
2552         NULL pointer, set an empty string instead.
2553         (mule_encode): Likewise.
2554
2555         (detect_eol_type):
2556         (detect_coding_sjis):
2557         (decode_coding_sjis):
2558         (detect_coding_big5):
2559         (decode_coding_big5):
2560         (detect_coding_ucs4):
2561         (decode_coding_ucs4):
2562         (detect_coding_utf8):
2563         (decode_coding_utf8):
2564         (detect_coding_iso2022):
2565         (decode_coding_iso2022):
2566         (decode_coding_no_conversion):
2567         (mule_decode):
2568         Make all detecting and decoding functions take an Extbyte * arg.
2569         (text_encode_generic):
2570         (encode_coding_big5):
2571         (encode_coding_no_conversion):
2572         (mule_encode):
2573         Make all encoding functions take a Bufbyte * arg.
2574         Use size_t instead of unsigned int for memory sizes.
2575         Only cast to unsigned char whenever dereferencing Extbyte *.
2576
2577         (struct lrecord_description fcd_description_1): Use countof.
2578         (complex_vars_of_file_coding):
2579         Use countof instead of sizeof.
2580         Use CHECK_NATNUM instead of CHECK_INT.
2581
2582 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2583
2584         * mule-charset.c (Fget_char_attribute): Add new optional argument
2585         `default-value'.
2586         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2587         (remove_char_ccs): Likewise.
2588
2589 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2590
2591         * text-coding.c (char_encode_shift_jis): New implementation in
2592         UTF-2000.
2593         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2594         ...)'.
2595
2596         * mule-charset.c (Vcharset_chinese_big5): New variable in
2597         UTF-2000.
2598         (Qchinese_big5): New variable in UTF-2000.
2599         (BIG5_SAME_ROW): New macro in UTF-2000.
2600         (make_builtin_char): Use builtin characters of
2601         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2602         characters of `Vcharset_chinese_big5'.
2603         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2604         (complex_vars_of_mule_charset): Add new coded-charset
2605         `chinese-big5' in UTF-2000.
2606
2607         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2608         (Vcharset_chinese_big5): New external variable declaration.
2609         (Vcharset_japanese_jisx0208_1990): Likewise.
2610
2611 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2612
2613         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2614         function.
2615         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2616
2617 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2618
2619         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2620         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2621         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2622         `mojikyo-pj-*'.
2623
2624 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2625
2626         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2627
2628 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2629
2630         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2631         to 0.17.
2632
2633 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2634
2635         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2636         for `CHARSET_BY_ATTRIBUTES'.
2637         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2638         `CHARSET_BY_ATTRIBUTES'.
2639
2640         * text-coding.c (struct decoding_stream): Rename member `CH' to
2641         `CPOS'.
2642         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2643         (decode_coding_sjis): Likewise.
2644         (decode_coding_big5): Likewise.
2645         (decode_coding_ucs4): Likewise.
2646         (decode_coding_utf8): Likewise.
2647         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2648         `CHARSET_BY_ATTRIBUTES'.
2649         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2650         `str->counter'; decode 3, 4 bytes sets.
2651         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2652         sets.
2653         (decode_coding_no_conversion): Use `str->cpos' instead of
2654         `str->ch'.
2655
2656         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2657         (Qmojikyo_2022_1): New variable.
2658         (make_charset): Don't use `CHARSET_TYPE_*'.
2659         (range_charset_code_point): Support coded-charset
2660         `mojikyo-2022-1'.
2661         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2662         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2663         `CHARSET_BY_ATTRIBUTES'.
2664         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2665         `CHARSET_BY_ATTRIBUTES'.
2666         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2667         (complex_vars_of_mule_charset): Add new coded-charset
2668         `mojikyo-2022-1'.
2669
2670         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2671         interface; changed to inline function.
2672
2673         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2674         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2675         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2676         (CHARSET_TYPE_94): Deleted.
2677         (CHARSET_TYPE_94X94): Deleted.
2678         (CHARSET_TYPE_96): Deleted.
2679         (CHARSET_TYPE_96X96): Deleted.
2680         (CHARSET_TYPE_128): Deleted.
2681         (CHARSET_TYPE_128X128): Deleted.
2682         (CHARSET_TYPE_256): Deleted.
2683         (CHARSET_TYPE_256X256): Deleted.
2684         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2685         to inline function.
2686         (DECODE_MOJIKYO_2022): New inline function.
2687         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2688         `Vcharset_mojikyo_2022_1'.
2689
2690 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2691
2692         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2693         instead of `EQ'.
2694         (put_byte_table): Likewise.
2695         (char_id_table_equal): Use `get_byte_table' [new implementation].
2696
2697 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2698
2699         * mule-charset.c: Include <limits.h> in UTF-2000.
2700         (BT_UINT8_MIN): New macro in UTF-2000.
2701         (BT_UINT8_MAX): New macro in UTF-2000.
2702         (BT_UINT8_t): New macro in UTF-2000.
2703         (BT_UINT8_nil): New macro in UTF-2000.
2704         (BT_UINT8_unbound): New macro in UTF-2000.
2705         (INT_UINT8_P): New inline function in UTF-2000.
2706         (UINT8_VALUE_P): New inline function in UTF-2000.
2707         (UINT8_ENCODE): New inline function in UTF-2000.
2708         (UINT8_DECODE): New inline function in UTF-2000.
2709         (mark_uint8_byte_table): New function in UTF-2000.
2710         (print_uint8_byte_table): New function in UTF-2000.
2711         (uint8_byte_table_equal): New function in UTF-2000.
2712         (uint8_byte_table_hash): New function in UTF-2000.
2713         (make_uint8_byte_table): New function in UTF-2000.
2714         (uint8_byte_table_same_value_p): New function in UTF-2000.
2715         (BT_UINT16_MIN): New macro in UTF-2000.
2716         (BT_UINT16_MAX): New macro in UTF-2000.
2717         (BT_UINT16_t): New macro in UTF-2000.
2718         (BT_UINT16_nil): New macro in UTF-2000.
2719         (BT_UINT16_unbound): New macro in UTF-2000.
2720         (INT_UINT16_P): New inline function in UTF-2000.
2721         (UINT16_VALUE_P): New inline function in UTF-2000.
2722         (UINT16_ENCODE): New inline function in UTF-2000.
2723         (UINT16_DECODE): New inline function in UTF-2000.
2724         (UINT8_TO_UINT16): New inline function in UTF-2000.
2725         (mark_uint16_byte_table): New function in UTF-2000.
2726         (print_uint16_byte_table): New function in UTF-2000.
2727         (uint16_byte_table_equal): New function in UTF-2000.
2728         (uint16_byte_table_hash): New function in UTF-2000.
2729         (make_uint16_byte_table): New function in UTF-2000.
2730         (uint16_byte_table_same_value_p): New function in UTF-2000.
2731         (print_byte_table): New function in UTF-2000.
2732         (byte-table): Use `print_byte_table' as printer.
2733         (make_byte_table): Delete second argument `older'.
2734         (byte_table_same_value_p): New function in UTF-2000.
2735         (copy_byte_table): Deleted.
2736         (get_byte_table): New function in UTF-2000.
2737         (put_byte_table): New function in UTF-2000.
2738         (print_char_id_table): New function in UTF-2000.
2739         (char-id-table): Use `print_char_id_table' as printer.
2740         (make_char_id_table): Delete second argument `older'.
2741         (get_char_id_table): Use `get_byte_table [new implementation].
2742         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2743         implementation].
2744         (Ffind_char_attribute_table): New function in UTF-2000.
2745         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2746         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2747         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2748         (syms_of_mule_charset): Add new function
2749         `find-char-attribute-table' in UTF-2000.
2750
2751         * lrecord.h (enum lrecord_type): Add
2752         `lrecord_type_uint16_byte_table' and
2753         `lrecord_type_uint8_byte_table'.
2754
2755         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2756         (Lisp_Uint8_Byte_Table): New type.
2757         (XUINT8_BYTE_TABLE): New macro.
2758         (XSETUINT8_BYTE_TABLE): New macro.
2759         (UINT8_BYTE_TABLE_P): New macro.
2760         (GC_UINT8_BYTE_TABLE_P): New macro.
2761         (struct Lisp_Uint16_Byte_Table): New structure.
2762         (Lisp_Uint16_Byte_Table): New type.
2763         (XUINT16_BYTE_TABLE): New macro.
2764         (XSETUINT16_BYTE_TABLE): New macro.
2765         (UINT16_BYTE_TABLE_P): New macro.
2766         (GC_UINT16_BYTE_TABLE_P): New macro.
2767
2768 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2769
2770         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2771         (Vcharacter_ideographic_strokes_table): Deleted.
2772         (Vcharacter_total_strokes_table): Deleted.
2773         (Vcharacter_morohashi_daikanwa_table): Deleted.
2774         (Vcharacter_decomposition_table): Deleted.
2775         (Qname): Deleted because it is duplicated.
2776         (Qideographic_radical): Deleted.
2777         (Qideographic_strokes): Deleted.
2778         (Qtotal_strokes): Deleted.
2779         (Qmorohashi_daikanwa): Deleted.
2780         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2781         `ideographic-radical', `ideographic-strokes', `total-strokes',
2782         `morohashi-daikanwa' and `->decomposition'.
2783         (Fget_char_attribute): Likewise.
2784         (Fput_char_attribute): Likewise; use `make-vector' instead of
2785         `make_older_vector' for `->decomposition' value.
2786         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2787         `ideograph-daikanwa'.
2788         (syms_of_mule_charset): Delete builtin symbols `name',
2789         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2790         `morohashi-daikanwa'.
2791         (vars_of_mule_charset): Don't setup
2792         `Vcharacter_ideographic_radical_table',
2793         `Vcharacter_ideographic_strokes_table',
2794         `Vcharacter_total_strokes_table',
2795         `Vcharacter_morohashi_daikanwa_table' and
2796         `Vcharacter_decomposition_table'.
2797
2798 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2799
2800         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2801         `make_older_vector', `make_vector_newer_1' and
2802         `make_vector_newer'.
2803
2804         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2805         `make_older_vector' and `make_vector_newer'.
2806
2807         * config.h.in (HAVE_GGC): New macro.
2808
2809 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2810
2811         * mule-charset.c (struct char_attribute_list_closure): New
2812         structure in UTF-2000.
2813         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2814         (Fchar_attribute_list): Likewise.
2815         (Fset_charset_mapping_table): Use `make_vector_newer'.
2816         (Fdecode_builtin_char): New function in UTF-2000.
2817         (syms_of_mule_charset): Add new function `char-attribute-list' and
2818         `decode-builtin-char' in UTF-2000.
2819
2820         * lisp.h (make_vector_newer): New prototype.
2821
2822         * alloc.c (make_vector_newer_1): New function.
2823         (make_vector_newer): New function.
2824
2825 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2826
2827         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2828         50100)'.
2829
2830 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2831
2832         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2833         (Vcharacter_attribute_table): Deleted.
2834         (Vcharacter_name_table): Deleted.
2835         (put_char_attribute): Deleted.
2836         (remove_char_attribute): Deleted.
2837         (struct char_attribute_alist_closure): New structure.
2838         (add_char_attribute_alist_mapper): New function.
2839         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2840         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2841         (Fget_char_attribute): Likewise.
2842         (Fput_char_attribute): Likewise.
2843         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2844         of `remove_char_attribute'.
2845         (Fdefine_char): Return character.
2846         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2847         and `Vcharacter_name_table'.
2848         (complex_vars_of_mule_charset): Likewise
2849         `Vchar_attribute_hash_table'.
2850
2851 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2852
2853         * character.h (CHARC_CHARSET): New macro.
2854         (CHARC_CHARSET_ID): New macro.
2855         (CHARC_CODE_POINT): New macro.
2856         (CHARC_COLUMNS): New macro.
2857         (CHARC_TO_CHAR): New inline function.
2858         (CHARC_EQ): New inline function.
2859         (CHARC_ASCII_EQ): New inline function.
2860         (CHARC_IS_SPACE): New inline function.
2861         (ASCII_TO_CHARC): New inline function.
2862
2863         * char-ucs.h (encode_char_2): Deleted.
2864         (ENCODE_CHAR): Use `encode_char_1' again.
2865         (breakup_char_1): Likewise.
2866         (CHAR_TO_CHARC): New inline function.
2867
2868         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2869
2870 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2871
2872         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2873         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2874         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2875         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2876         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2877         `CHARC_IS_SPACE'.
2878         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2879
2880         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2881         `CHARC_CODE_POINT'.
2882         (x_output_display_block): Use `CHARC_CHARSET' and
2883         `CHARC_ASCII_EQ'.
2884
2885         * redisplay-tty.c (tty_output_display_block): Use
2886         `CHARC_ASCII_EQ'.
2887         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2888
2889         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2890
2891         * insdel.c (find_charsets_in_charc_string): Use
2892         `CHARC_CHARSET_ID'.
2893         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2894         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2895         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2896         (convert_charc_string_into_malloced_string): Likewise.
2897
2898 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2899
2900         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2901         instead of <Emchar_dynarr *> for buf; use
2902         `convert_bufbyte_string_into_charc_dynarr' instead of
2903         `convert_bufbyte_string_into_emchar_dynarr'; use
2904         `find_charsets_in_charc_string' instead of
2905         `find_charsets_in_emchar_string'.
2906
2907         * redisplay.h:
2908         - Include "character.h".
2909         (struct rune): New member `cglyph'; delete member `chr'.
2910
2911         * redisplay.c (redisplay_text_width_charc_string): New function;
2912         delete `redisplay_text_width_emchar_string'.
2913         (rtw_charc_dynarr): New variable; renamed from
2914         `rtw_emchar_dynarr'.
2915         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2916         `rtw_emchar_dynarr'; use
2917         `convert_bufbyte_string_into_charc_dynarr' instead of
2918         `convert_bufbyte_string_into_emchar_dynarr'; use
2919         `redisplay_text_width_charc_string' instead of
2920         `redisplay_text_width_emchar_string'.
2921         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2922         instead of `rtw_emchar_dynarr'; use
2923         `convert_bufbyte_string_into_charc_dynarr' instead of
2924         `convert_bufbyte_string_into_emchar_dynarr'.
2925         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2926         `redisplay_text_width_charc_string' instead of
2927         `redisplay_text_width_emchar_string'.
2928         (create_text_block): Modify for <struct rune> change.
2929         (generate_formatted_string_db): Likewise.
2930         (create_string_text_block): Likewise.
2931         (pixel_to_glyph_translation): Likewise.
2932
2933         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2934         instead of <const Emchar *>.
2935         (x_text_width): Likewise.
2936         (x_output_display_block): Use <Charc_dynarr *> instead
2937         <Emchar_dynarr *>; modify for <structure rune> change.
2938         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2939         *>.
2940
2941         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2942         <const Emchar *>; use `charc_string_displayed_columns' instead of
2943         `emchar_string_displayed_columns'.
2944         (tty_output_display_block): Use <Charc_dynarr *> instead of
2945         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2946         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2947         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2948         `tty_output_emchar_dynarr_dynarr'.
2949         (tty_output_charc_dynarr): New function; delete
2950         `tty_output_charc_dynarr'.
2951
2952         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2953         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2954         <Emchar_dynarr *> for buf; use
2955         `convert_bufbyte_string_into_charc_dynarr' instead of
2956         `convert_bufbyte_string_into_emchar_dynarr'.
2957
2958         * frame.c (title_string_charc_dynarr): New variable; renamed from
2959         `title_string_emchar_dynarr'.
2960         (generate_title_string): Use `title_string_charc_dynarr' instead
2961         of `title_string_emchar_dynarr'; use
2962         `convert_charc_string_into_malloced_string' instead of
2963         `convert_emchar_string_into_malloced_string'.
2964         (init_frame): Use `title_string_charc_dynarr' instead of
2965         `title_string_emchar_dynarr'.
2966
2967         * console.h:
2968         - Include "character.h".
2969         (struct console_methods): Use <const Charc *> instead of <const
2970         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2971         <Emchar_dynarr *> in output_string_method.
2972
2973         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2974         <Emchar_dynarr *>.
2975
2976         * console-stream.c (stream_text_width): Use <const Charc *>
2977         instead of <const Emchar *>.
2978
2979         * character.h (Charc_dynarr): New type.
2980
2981         * char-ucs.h (structure Charc): New structure; define new type
2982         `Charc'.
2983
2984         * char-lb.h (DECODE_CHAR): New inline function.
2985         (encode_char_1): New inline function.
2986         (ENCODE_CHAR): New macro.
2987         (structure Charc): New structure; define new type `Charc'.
2988
2989         * char-1byte.h (Vcharset_control_1): New macro.
2990         (Vcharset_latin_iso8859_1): New macro.
2991         (DECODE_CHAR): New inline function.
2992         (encode_char_1): New inline function.
2993         (ENCODE_CHAR): New macro.
2994         (structure Charc): New structure; define new type `Charc'.
2995
2996         * insdel.c (find_charsets_in_charc_string): New function; delete
2997         `find_charsets_in_emchar_string'.
2998         (charc_string_displayed_columns): New function; delete
2999         `emchar_string_displayed_columns'.
3000         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3001         `convert_bufbyte_string_into_emchar_dynarr'.
3002         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3003         `convert_charc_string_into_bufbyte_dynarr'.
3004         (convert_charc_string_into_malloced_string): New function; delete
3005         `convert_charc_string_into_malloced_string'.
3006
3007         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3008         `find_charsets_in_emchar_string'.
3009         (charc_string_displayed_columns): New prototype; delete
3010         `emchar_string_displayed_columns'.
3011         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3012         `convert_charc_string_into_bufbyte_dynarr'.
3013         (convert_charc_string_into_malloced_string): New prototype; delete
3014         `convert_charc_string_into_malloced_string'.
3015
3016 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3017
3018         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3019
3020 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3021
3022         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3023
3024         * char-ucs.h: Use <short> for <Charset_ID>.
3025
3026         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3027         <Charset_ID>.
3028
3029 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3030
3031         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3032         to 0.16.
3033
3034 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3035
3036         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3037         variable.
3038         (Qmorohashi_daikanwa): New variable.
3039         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3040         for `morohashi-daikanwa' attribute.
3041         (Fget_char_attribute): Likewise.
3042         (Fput_char_attribute): Likewise.
3043         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3044         has the same value of `ideograph-daikanwa'.
3045         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3046         (vars_of_mule_charset): Setup
3047         `Vcharacter_morohashi_daikanwa_table'.
3048
3049 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3050
3051         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3052         attributes.
3053         (add_charset_to_list_mapper): Add `key' instead of
3054         `XCHARSET_NAME (value)' to return aliases.
3055
3056 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3057
3058         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3059         variable.
3060         (Vcharacter_ideographic_strokes_table): New variable.
3061         (Qideographic_radical): New variable.
3062         (Qideographic_strokes): New variable.
3063         (Fchar_attribute_alist): Use
3064         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3065         attribute; use `Vcharacter_ideographic_strokes_table' for
3066         `ideographic-strokes' attribute.
3067         (Fget_char_attribute): Likewise.
3068         (Fput_char_attribute): Likewise.
3069         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3070         `ideographic-strokes'.
3071         (vars_of_mule_charset): Setup
3072         `Vcharacter_ideographic_radical_table' and
3073         `Vcharacter_ideographic_strokes_table'.
3074
3075 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3076
3077         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3078         (Qtotal_strokes): New variable.
3079         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3080         `total-strokes' attribute.
3081         (Fget_char_attribute): Likewise.
3082         (Fput_char_attribute): Likewise.
3083         (syms_of_mule_charset): Add new symbol `total-strokes'.
3084         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3085
3086 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3087
3088         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3089         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3090         are found.
3091         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3092         `->decomposition' attribute.
3093         (Fput_char_attribute): Likewise.
3094         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3095
3096 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3097
3098         * mule-charset.c (decoding_table_check_elements): New function.
3099         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3100
3101 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3102
3103         * mule-charset.c (Fset_charset_mapping_table): Use
3104         `put_char_ccs_code_point'.
3105
3106 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3107
3108         * mule-charset.c (decoding_table_put_char): New inline function.
3109         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3110
3111 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3112
3113         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3114         (XCHARSET_BYTE_SIZE): New macro.
3115         (decoding_table_remove_char): New inline function.
3116         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3117         `decoding_table_remove_char'.
3118         (remove_char_ccs): Use `decoding_table_remove_char'.
3119         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3120
3121 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3122
3123         * mule-charset.c (Vcharacter_name_table): New variable.
3124         (Qname): New variable.
3125         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3126         attribute.
3127         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3128         `Vcharacter_name_table' for `name' attribute.
3129         (Fremove_char_attribute): Use function `remove_char_ccs'.
3130         (put_char_ccs_code_point): New function.
3131         (remove_char_ccs): New function.
3132         (syms_of_mule_charset): Add new symbol `name'.
3133         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3134
3135 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3136
3137         * mule-charset.c (make_byte_table): Add new argument `older'.
3138         (make_char_id_table): Likewise.
3139         (copy_char_id_table): Comment out because it is not used.
3140         (put_char_id_table): Modify for `make_byte_table'.
3141         (Fput_char_attribute): Make encoding_table as older object;
3142         inherit older bit of `Vcharacter_composition_table'.
3143         (mark_charset): Don't mark `cs->encoding_table'.
3144         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3145         normal object; make `Vcharacter_composition_table' as an older
3146         object; delete staticpro for `Vcharacter_composition_table'; make
3147         `Vcharacter_variant_table' as a normal object.
3148
3149         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3150         (mark_object): Don't check older object in UTF-2000.
3151
3152         * lrecord.h (struct lrecord_header): Add new member `older' in
3153         UTF-2000.
3154         (set_lheader_implementation): Setup `SLI_header->older' in
3155         UTF-2000.
3156         (set_lheader_older_implementation): New macro in UTF-2000.
3157         (OLDER_RECORD_P): New macro in UTF-2000.
3158         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3159         (alloc_older_lcrecord): New prototype in UTF-2000.
3160         (alloc_older_lcrecord_type): New macro in UTF-2000.
3161
3162 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3163
3164         * mule-charset.c (byte_table_description): Use
3165         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3166         (char_id_table_description): Delete bogus `, 1'.
3167         (Fget_char_attribute): Refer encoding_table of each coded-charset
3168         to get value of coded-charset attribute of a character.
3169         (Fput_char_attribute): Use `make_older_vector' instead of
3170         `make_vector'; use encoding_table of each coded-charset to store
3171         value of coded-charset attribute of a character.
3172         (Fremove_char_attribute): Use encoding_table of each coded-charset
3173         to store value of coded-charset attribute of a character.
3174         (mark_charset): Mark `cs->encoding_table'; don't mark
3175         `cs->decoding_table'.
3176         (charset_description): Add description of new member
3177         `encoding_table'.
3178         (make_charset): Initialize `encoding_table'.
3179
3180         * char-ucs.h (struct Lisp_Charset): Add new member
3181         `encoding_table'.
3182         (CHARSET_ENCODING_TABLE): New macro.
3183         (XCHARSET_ENCODING_TABLE): New macro.
3184         (charset_code_point): New implementation.
3185         (encode_char_1): Likewise.
3186
3187         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3188         (disksave_object_finalization_1): Call finalizers of
3189         `all_older_lcrecords' in UTF-2000.
3190         (make_older_vector): New function in UTF-2000.
3191         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3192         UTF-2000.
3193
3194         * lisp.h (make_older_vector): New prototype in UTF-2000.
3195
3196 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3197
3198         * lrecord.h (enum lrecord_type): Rename
3199         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3200
3201         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3202         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3203         `get_char_code_table'.
3204
3205         * mule-charset.c (mark_char_id_table): Renamed from
3206         `mark_char_code_table'.
3207         (char_id_table_equal): Renamed from `char_code_table_equal'.
3208         (char_id_table_hash): Renamed from `char_code_table_hash'.
3209         (make_char_id_table): Renamed from `make_char_code_table'.
3210         (copy_char_id_table): Renamed from `copy_char_code_table'.
3211         (get_char_id_table): Renamed from `get_char_code_table'.
3212         (put_char_id_table): Renamed from `put_char_code_table'.
3213         (to_char_id): Renamed from `to_char_code'.
3214
3215         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3216         `Lisp_Char_Code_Table'.
3217         (char_id_table): Renamed from `char_code_table'.
3218         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3219         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3220         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3221         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3222         (get_char_id_table): Renamed from `get_char_code_table'.
3223
3224 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3225
3226         * lrecord.h (enum lrecord_type): Rename
3227         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3228
3229         * mule-charset.c (mark_byte_table): Renamed from
3230         `mark_char_byte_table'.
3231         (byte_table_equal): Renamed from `char_byte_table_equal'.
3232         (byte_table_hash): Renamed from `byte_table_hash'.
3233         (make_byte_table): Renamed from `make_byte_table'.
3234         (copy_byte_table): Renamed from `copy_char_byte_table'.
3235
3236         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3237         `Lisp_Char_Byte_Table'.
3238         (byte_table): Renamed from `char_byte_table'.
3239         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3240         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3241         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3242         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3243
3244 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3245
3246         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3247         (dfc_convert_to_internal_format): Likewise.
3248         
3249         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3250         * text-coding.c (Fcoding_system_alias_p): New function.
3251         * text-coding.c (Fcoding_system_aliasee): New function.
3252         * text-coding.c (append_suffix_to_symbol): New function.
3253         * text-coding.c (dangling_coding_system_alias_p): New function.
3254         * text-coding.c (Ffind_coding_system):
3255         * text-coding.c (Fcopy_coding_system):
3256         * text-coding.c (encode_coding_no_conversion):
3257         * text-coding.c (syms_of_file_coding):
3258         * text-coding.c (vars_of_file_coding):
3259         Rewrite coding system alias code.
3260         Allow nested aliases, like symbolic links.
3261         Allow redefinition of coding system aliases.
3262         Prevent existence of dangling coding system aliases.
3263         Eliminate convert_to_external_format.
3264         Eliminate convert_to_internal_format.
3265         
3266         * text-coding.c: Change enum eol_type to eol_type_t.
3267
3268 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3269
3270         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3271         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3272
3273         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3274         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3275
3276 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3277
3278         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3279         `ideograph-daikanwa'.
3280
3281         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3282         (Vcharset_ucs_bmp): Likewise.
3283         (Vcharset_mojikyo): Add new extern variable definition.
3284         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3285         (Vcharset_latin_iso8859_3): Likewise.
3286         (Vcharset_latin_iso8859_4): Likewise.
3287         (Vcharset_latin_iso8859_9): Likewise.
3288         (Vcharset_latin_viscii_lower): Likewise.
3289         (Vcharset_latin_viscii_upper): Likewise.
3290         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3291         `mojikyo' code-point is used to decode.
3292         (encode_char_2): New function [to convert `mojikyo' code-point to
3293         Mojikyo font encoding].
3294         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3295         (breakup_char_1): Likewise.
3296         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3297
3298 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3299
3300         * text-coding.c (Fmake_coding_system): Add document about
3301         `disable-composition' property.
3302
3303 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3304
3305         * text-coding.c (Qdisable_composition): New variable; delete
3306         `Qcomposite'.
3307         (Fmake_coding_system): Add new property `disable-composite';
3308         delete property `composite'.
3309         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3310         instead of `!CODING_SYSTEM_COMPOSITE'.
3311         (syms_of_file_coding): Add new symbol `disable-composition';
3312         delete symbol `composite'.
3313
3314         * file-coding.h (struct Lisp_Coding_System): Add
3315         `disable_composition'; delete `enable_composition'.
3316         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3317         `CODING_SYSTEM_COMPOSITE'.
3318         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3319         `XCODING_SYSTEM_COMPOSITE'.
3320
3321 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3322
3323         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3324         to 0.15.
3325
3326 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3327
3328         * text-coding.c (Qcomposite): New variable.
3329         (Fmake_coding_system): Add new property `composite'.
3330         (struct decoding_stream): Add `combined_char_count',
3331         `combined_chars' and `combining_table' in UTF-2000.
3332         (COMPOSE_FLUSH_CHARS): New macro.
3333         (COMPOSE_ADD_CHAR): New macro.
3334         (reset_decoding_stream): Reset `str->combined_char_count' and
3335         `str->combining_table' in UTF-2000.
3336         (decode_coding_iso2022): Modify for character-decomposition.
3337         (syms_of_file_coding): Add new symbol `composite'.
3338
3339 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3340
3341         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3342         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3343         of `Vcharacter_composition_table' if `->decomposition' property
3344         has only 1 element.
3345         (Qlatin_tcvn5712): New variable.
3346         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3347         (complex_vars_of_mule_charset): Add new coded-charset
3348         `latin-tcvn5712'.
3349
3350         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3351
3352 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3353
3354         * file-coding.h (struct Lisp_Coding_System): Add
3355         `enable_composition'.
3356         (CODING_SYSTEM_COMPOSITE): New macro.
3357         (XCODING_SYSTEM_COMPOSITE): New macro.
3358
3359 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3360
3361         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3362
3363 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3364
3365         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3366         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3367
3368 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3369
3370         * mule-charset.c (Vcharset_mojikyo): New variable.
3371         (Fdefine_char): Don't use coded-charset which does not have
3372         non-builtin character range to allocate character-id.
3373         (Qmojikyo): New variable.
3374         (syms_of_mule_charset): Add new symbol `mojikyo'.
3375         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3376
3377         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3378         (LEADING_BYTE_MOJIKYO): New macro.
3379         (MIN_CHAR_MOJIKYO): New macro.
3380         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3381         (MAX_CHAR_MOJIKYO): New macro.
3382
3383 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3384
3385         * mule-charset.c (remove_char_attribute): Fixed.
3386
3387 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3388
3389         * mule-charset.c (remove_char_attribute): New function.
3390         (Fremove_char_attribute): New function.
3391         (encode_builtin_char_1): Comment out builtin-support for
3392         greek-iso8859-7 and cyrillic-iso8859-5.
3393         (Fdecode_char): Check `code' is an integer.
3394         (syms_of_mule_charset): Add `remove-char-attribute'.
3395         (MIN_CHAR_GREEK): Deleted.
3396         (MAX_CHAR_GREEK): Likewise.
3397         (MIN_CHAR_CYRILLIC): Likewise.
3398         (MAX_CHAR_CYRILLIC): Likewise.
3399         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3400         MAX_CHAR_GREEK for `greek-iso8859-7'.
3401
3402         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3403         (MAX_CHAR_GREEK): Likewise.
3404         (MIN_CHAR_CYRILLIC): Likewise.
3405         (MAX_CHAR_CYRILLIC): Likewise.
3406
3407 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3408
3409         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3410         format is used without `ucs' property.
3411         (Fdecode_char): Fix problem with GR representation.
3412         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3413         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3414
3415 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3416
3417         * mule-charset.c (make_builtin_char): New function.
3418         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3419         (Fset_charset_mapping_table): Modify for new representation of
3420         code-point.
3421         (Fdecode_char): New function.
3422         (syms_of_mule_charset): Add new builtin function `decode-char' in
3423         UTF-2000.
3424
3425         * char-ucs.h (make_builtin_char): New prototype.
3426         (DECODE_CHAR): New inline function.
3427         (MAKE_CHAR): Use `DECODE_CHAR'.
3428
3429 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3430
3431         * text-coding.c (parse_charset_conversion_specs): Use
3432         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3433         `XCHARSET_TYPE'.
3434         (iso2022_designate): Likewise.
3435
3436         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3437         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3438
3439         * mule-charset.c (Vcharset_ucs): New variable.
3440         (print_charset): Change design; use `CHARSET_CHARS' and
3441         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3442         (make_charset): Change signature to specify `chars' and
3443         `dimension' instead of `type'.
3444         (range_charset_code_point): Modify for 256^n-set.
3445         (encode_builtin_char_1): Encode as `ucs' in default.
3446         (Fmake_charset): Modify for `make_charset'.
3447         (Fmake_reverse_direction_charset): Likewise.
3448         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3449         UTF-2000.
3450         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3451         for `make_charset'.
3452
3453         * char-ucs.h (Vcharset_ucs): New variable.
3454         (LEADING_BYTE_UCS): New macro.
3455         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3456         and `chars' to `unsigned short' from `unsigned int'.
3457         (CHARSET_TYPE): Deleted.
3458         (XCHARSET_TYPE): Deleted.
3459
3460 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3461
3462         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3463
3464         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3465         (ENCODE_CHAR): New macro.
3466
3467 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3468
3469         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3470         to 0.14 (Kawachi-Katakami).
3471
3472 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3473
3474         * text-coding.c (char_encode_shift_jis): Modify for
3475         `charset_code_point'.
3476         (char_encode_iso2022): Likewise.
3477
3478         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3479         (integer) instead of list of <Lisp_Object>s (integers) as the
3480         format of code-point of a coded-charset.
3481         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3482         (encode_builtin_char_1): New function; delete
3483         `split_builtin_char'.
3484         (charset_code_point): Return <int> instead of <Lisp_Object>.
3485         (Fsplit_char): Don't use `SPLIT_CHAR'.
3486
3487         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3488         prototype for `split_builtin_char'.
3489         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3490         (charset_code_point): Likewise.
3491         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3492         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3493
3494 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3495
3496         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3497         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3498
3499 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3500
3501         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3502
3503         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3504         (MAX_CHAR_OBS_94x94): Deleted.
3505
3506 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3507
3508         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3509
3510         * char-ucs.h (MAX_CHAR_BMP): New macro.
3511
3512 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3513
3514         * text-coding.c: Sync with r21-2-24.
3515
3516 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3517
3518         * file-coding.c: Modify for UTF-2000.
3519
3520 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3521
3522         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3523         to 0.13 (Takaida).
3524
3525 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3526
3527         * mule-charset.c (split_builtin_char): Delete builtin support for
3528         `katakana-jisx0201'.
3529         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3530         BMP area in builtin representation.
3531
3532         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3533         `Vcharset_katakana_jisx0201'.
3534
3535 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3536
3537         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3538         (Qisolated): New variable.
3539         (Qinitial): New variable.
3540         (Qmedial): New variable.
3541         (Qfinal): New variable.
3542         (Qvertical): New variable.
3543         (Qsmall): New variable.
3544         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3545         `Qvertical' and `Qsmall'.
3546         (Qmojikyo_pj_[1 .. 21]): New variable.
3547         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3548         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3549         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3550         .. 21]'.
3551
3552 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3553
3554         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3555         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3556         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3557
3558 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3559
3560         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3561         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3562         BMP.
3563         (Qjapanese_jisx0208_1990): New variable.
3564         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3565         (complex_vars_of_mule_charset): Add new coded-charset
3566         `japanese-jisx0208-1990'.
3567
3568         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3569         (MIN_CHAR_JIS_X0208_1990): New macro.
3570         (MAX_CHAR_JIS_X0208_1990): New macro.
3571
3572 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3573
3574         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3575         coded-charset is not found.
3576
3577 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3578
3579         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3580         (Fdefine_char): Use `Fmake_char'.
3581
3582 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3583
3584         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3585         (Vcharset_hiragana_jisx0208): Deleted.
3586         (Vcharset_katakana_jisx0208): Deleted.
3587         (Qideograph_daikanwa): New variable.
3588         (Qhiragana_jisx0208): Deleted.
3589         (Qkatakana_jisx0208): Deleted.
3590         (split_builtin_char): Split `ideograph-daikanwa'.
3591         (Fsplit_char): New implementation for UTF-2000.
3592         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3593         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3594         (complex_vars_of_mule_charset): Add new coded-charset
3595         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3596         `katakana-jisx0208'.
3597
3598         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3599         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3600         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3601         (MIN_CHAR_DAIKANWA): New macro.
3602         (MAX_CHAR_DAIKANWA): New macro.
3603
3604 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3605
3606         * data.c (Fstring_to_number): Don't recognize floating point if
3607         base is not 10.
3608
3609 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3610
3611         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3612
3613 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3614
3615         * mule-charset.c (Qsquare): New variable.
3616         (to_char_code): Add `Qsquare'.
3617         (syms_of_mule_charset): Add new symbol `square'.
3618
3619 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3620
3621         * mule-charset.c (Qcircle): New variable.
3622         (to_char_code): Add `Qcircle'.
3623         (syms_of_mule_charset): Add new symbol `circle'.
3624
3625 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3626
3627         * mule-charset.c (Qfont): New variable.
3628         (to_char_code): Add `Qfont'.
3629         (syms_of_mule_charset): Add new symbol `font'.
3630
3631 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3632
3633         * mule-charset.c (Qsub): New variable.
3634         (to_char_code): Add `Qsub'.
3635         (syms_of_mule_charset): Add new symbol `sub'.
3636
3637 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3638
3639         * mule-charset.c (Fput_char_attribute): Convert each element of
3640         VALUE to GL position if ATTRIBUTE is a GR-set,
3641
3642 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3643
3644         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3645         coded-charset is a GR-set.
3646
3647 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3648
3649         * mule-charset.c (Fput_char_attribute): Check each element of
3650         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3651
3652 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3653
3654         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3655         UTF-2000.
3656         (Qethiopic_ucs): New variable in UTF-2000.
3657         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3658         (complex_vars_of_mule_charset): Add new coded-charset
3659         `ethiopic-ucs' in UTF-2000.
3660
3661         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3662         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3663         9)'.
3664         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3665         10)'.
3666         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3667
3668 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3669
3670         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3671         `ascii'.
3672
3673 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3674
3675         * mule-charset.c (Vcharacter_variant_table): New variable.
3676         (Q_ucs): New variable.
3677         (Fchar_variants): New function.
3678         (Fput_char_attribute): Register `->ucs' value to
3679         `Vcharacter_variant_table'.
3680         (syms_of_mule_charset): Add new function `char-variants' and new
3681         symbol `->ucs'.
3682         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3683
3684 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3685
3686         * mule-charset.c (get_char_code_table): Allow negative character
3687         code.
3688         (put_char_code_table): Likewise.
3689         (Vcharacter_composition_table): New variable.
3690         (Q_decomposition): New variable.
3691         (Qwide): New variable.
3692         (Qnarrow): New variable.
3693         (Qcompat): New variable.
3694         (QnoBreak): New variable.
3695         (Qsuper): New variable.
3696         (Qfraction): New variable.
3697         (to_char_code): New function.
3698         (Fget_composite_char): New function.
3699         (Fput_char_attribute): Register `->decomposition' value to
3700         `Vcharacter_composition_table'.
3701         (syms_of_mule_charset): Add new function `get-composite-char', new
3702         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3703         `super' and `fraction'.
3704         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3705
3706 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3707
3708         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3709         character; copy the return value.
3710
3711 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3712
3713         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3714
3715         * mule-charset.c (range_charset_code_point): Must use make_int.
3716         (split_builtin_char): New function.
3717
3718 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3719
3720         * mule-charset.c (char_byte_table): Change name from
3721         "char-code-table" to "char-byte-table".
3722         (mark_char_code_table): New function.
3723         (char_code_table_equal): New function.
3724         (char_code_table_hash): New function.
3725         (char_code_table_description): New constant.
3726         (char_code_table): New type.
3727         (make_char_code_table): New function.
3728         (copy_char_code_table): New function.
3729         (get_char_code_table): Modify for `char_code_table' type.
3730         (put_char_code_table): Likewise.
3731         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3732         (Kashiwara).
3733
3734         * char-ucs.h (char_code_table): New type.
3735         (XCHAR_CODE_TABLE): New macro.
3736         (XSETCHAR_CODE_TABLE): New macro.
3737         (CHAR_CODE_TABLE_P): New macro.
3738         (GC_CHAR_CODE_TABLE_P): New macro.
3739         (struct Lisp_Char_Code_Table): New structure.
3740
3741 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3742
3743         * mule-charset.c (Fmake_charset): Setup byte_offset for
3744         {94|96}^n-set.
3745
3746 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3747
3748         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3749         character.
3750
3751 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3752
3753         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3754         is found.
3755
3756 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3757
3758         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3759         charset, it is regarded as a charset.
3760         (put_char_attribute): New function in UTF-2000.
3761         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3762         charset, mapping-table of the charset is modified.
3763         (Fdefine_char): New function in UTF-2000.
3764         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3765         `Fput_char_attribute'.
3766         (syms_of_mule_charset): Add new function `define-char' and new
3767         symbol `ucs' in UTF-2000.
3768         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3769
3770 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3771
3772         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3773         non-UTF-2000 configuration.
3774
3775 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3776
3777         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3778         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3779
3780         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3781         deleted.
3782         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3783         (Fset_charset_mapping_table): Likewise.
3784
3785         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3786         (CHARSET_ENCODING_TABLE): Delete.
3787         (XCHARSET_ENCODING_TABLE): Delete.
3788         (charset_code_point): New interface.
3789
3790 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3791
3792         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3793         instead of `charset_get_byte1' and `charset_get_byte2'.
3794
3795         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3796         (charset_get_byte2): Deleted.
3797
3798 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3799
3800         * char-ucs.h (SPLIT_CHAR): New inline function.
3801         (breakup_char_1): Use `SPLIT_CHAR'.
3802
3803         * mule-charset.c (range_charset_code_point): New function.
3804         (charset_code_point): New function.
3805
3806         * char-ucs.h (range_charset_code_point): New interface.
3807         (breakup_char_1): Use `range_charset_code_point'.
3808
3809 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3810
3811         * mule-charset.c (Fmake_charset): Delete unused local variable
3812         `code_offset'.
3813
3814         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3815         (breakup_char_1): Find a charset and code-point in
3816         `Vcharacter_attribute_table'.
3817
3818 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3819
3820         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3821         to 0.10 (Yao).
3822
3823 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3824
3825         * mule-charset.c (Vcharacter_attribute_table): New variable.
3826         (Fchar_attribute_alist): New function.
3827         (Fget_char_attribute): New function.
3828         (Fput_char_attribute): New function.
3829         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3830         too.
3831         (syms_of_mule_charset): Add new function `char-attribute-alist',
3832         `get-char-attribute' and `put-char-attribute'.
3833         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3834
3835 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3836
3837         * mule-charset.c (Fmake_charset): Just use
3838         `get_unallocated_leading_byte'.
3839
3840         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3841         sets; don't use final-byte based number for private sets.
3842
3843 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3844
3845         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3846         integer.
3847
3848 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3849
3850         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3851         to 0.9.
3852
3853 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3854
3855         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3856         of `CHAR_LEADING_BYTE' in UTF-2000.
3857
3858         * insdel.c (find_charsets_in_bufbyte_string): Use
3859         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3860         (find_charsets_in_emchar_string): Likewise.
3861
3862         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3863         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3864
3865         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3866         (CHAR_CHARSET_ID): New macro.
3867
3868 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3869
3870         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3871         charset-id - MIN_LEADING_BYTE.
3872         (put_char_table): Likewise.
3873
3874 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3875
3876         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3877         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3878         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3879         (CHARSET_ID_OFFSET): New macro.
3880         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3881         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3882         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3883         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3884         4).
3885         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3886         5).
3887         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3888         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3889         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3890         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3891         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3892
3893 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3894
3895         * mule-charset.c (next_allocated_leading_byte): New variable in
3896         UTF-2000.
3897         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3898         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3899         (get_unallocated_leading_byte): Simply use
3900         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3901         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3902         UTF-2000.
3903
3904         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3905         (MAX_LEADING_BYTE_PRIVATE): New macro.
3906         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3907         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3908
3909 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3910
3911         * mule-charset.c (Fmake_charset): Allocate final-byte based
3912         charset-id for 94-set, 96-set and 94x94-set.
3913
3914 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3915
3916         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3917         ambiguous `else'.
3918         (Fmake_charset): Likewise.
3919         (complex_vars_of_mule_charset): Modify the font registry of
3920         `ucs-bmp' not to match `Ethiopic-Unicode'.
3921
3922 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3923
3924         * mule-charset.c (complex_vars_of_mule_charset): Add font
3925         registory of `ucs-bmp'.
3926
3927 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3928
3929         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3930         coded-charsets in `default-coded-charset-priority-list' when
3931         breaking up a character.
3932
3933         * mule-charset.c (Vcharset_latin_viscii): New variable.
3934         (Qlatin_viscii): New variable.
3935         (make_charset): Don't use `decoding_table'.
3936         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3937         byte_offset.
3938         (Fset_charset_mapping_table): New implementation.
3939         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3940         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3941         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3942         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3943         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3944         charset `latin_viscii'.
3945
3946         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3947         (CHARSET_TYPE_94X94): Change to 1 from 2.
3948         (CHARSET_TYPE_96): Change to 2 from 1.
3949         (CHARSET_TYPE_128): New macro.
3950         (CHARSET_TYPE_128X128): Change to 5 from 4.
3951         (CHARSET_TYPE_256): New macro.
3952         (CHARSET_TYPE_256X256): Change to 7 from 5.
3953         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3954
3955 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3956
3957         * text-coding.c (char_encode_shift_jis): Refer
3958         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3959         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3960
3961         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3962         (char_byte_table_equal): New function in UTF-2000.
3963         (char_byte_table_hash): New function in UTF-2000.
3964         (char_byte_table_description): New constant in UTF-2000.
3965         (char_byte_table): New type in UTF-2000.
3966         (make_char_byte_table): New function in UTF-2000.
3967         (copy_char_byte_table): New function in UTF-2000.
3968         (make_char_code_table): New macro in UTF-2000.
3969         (get_char_code_table): New function in UTF-2000.
3970         (put_char_code_table): New function in UTF-2000.
3971         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3972         (charset_description): Add setting in UTF-2000.
3973         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3974         `CHARSET_TO_BYTE1_TABLE(cs)'.
3975         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3976         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3977         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3978         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3979         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3980         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3981         `CHARSET_TO_BYTE2_TABLE(cs)'.
3982
3983         * char-ucs.h (char_byte_table): New type.
3984         (XCHAR_BYTE_TABLE): New macro.
3985         (XSETCHAR_BYTE_TABLE): New macro.
3986         (CHAR_BYTE_TABLE_P): New macro.
3987         (GC_CHAR_BYTE_TABLE_P): New macro.
3988         (struct Lisp_Char_Byte_Table): New structure.
3989         (get_char_code_table): New interface.
3990         (Emchar_to_byte_table): Deleted.
3991         (get_byte_from_character_table): Deleted.
3992         (struct Lisp_Charset): Add `encoding_table'; delete
3993         `to_byte1_table' and `to_byte2_table'.
3994         (CHARSET_ENCODING_TABLE): New macro.
3995         (CHARSET_TO_BYTE1_TABLE): Deleted.
3996         (CHARSET_TO_BYTE2_TABLE): Deleted.
3997         (XCHARSET_ENCODING_TABLE): New macro.
3998         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3999         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4000
4001 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4002
4003         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4004         `vietnamese-viscii-*'.
4005
4006 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4007
4008         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4009         (Qvietnamese_viscii_upper): New variable.
4010         (Fdefine_charset_alias): New function.
4011         (syms_of_mule_charset): Add new function `define-charset-alias'.
4012         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4013         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4014         `latin-viscii-*'.
4015
4016 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4017
4018         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4019         (MAX_CHAR_OBS_94x94): New macro.
4020         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4021         for 94x94 sets.
4022
4023         * mule-charset.c (put_byte_from_character_table): Change unit size
4024         from 128 to 256.
4025         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4026         not defined.
4027         (Fmake_reverse_direction_charset): Modify dummy argument of
4028         `make_charset' for non-UTF-2000 environment.
4029
4030 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4031
4032         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4033
4034         * mule-charset.c (destroy_byte_from_character_table): New macro.
4035         (latin_jisx0201_to_ucs): Deleted.
4036         (latin_iso8859_2_to_ucs): Deleted.
4037         (latin_iso8859_3_to_ucs): Deleted.
4038         (latin_iso8859_4_to_ucs): Deleted.
4039         (latin_iso8859_9_to_ucs): Deleted.
4040         (latin_viscii_lower_to_ucs): Deleted.
4041         (latin_viscii_upper_to_ucs): Deleted.
4042         (mark_charset): Mark `cs->decoding_table'.
4043         (Fcharset_mapping_table): Fix DOC-string.
4044         (Fset_charset_mapping_table): New function.
4045         (syms_of_mule_charset): Add nwe function
4046         `set-charset-mapping-table'.
4047         (complex_vars_of_mule_charset): Don't setup and use
4048         `latin_*_to_ucs'.
4049
4050 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4051
4052         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4053         charset.
4054
4055 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4056
4057         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4058         (Vcharset_katakana_jisx0208): New variable.
4059         (Qhiragana_jisx0208): New variable.
4060         (Qkatakana_jisx0208): New variable.
4061         (make_charset): Add new argument `byte_offset'.
4062         (charset_get_byte1): Modify for new coded-charset definition; use
4063         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4064         `XCHARSET_BYTE_OFFSET'.
4065         (Fmake_charset): Modify for `make_charset'.
4066         (Fmake_reverse_direction_charset): Likewise.
4067         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4068         `katakana-jisx0208'.
4069         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4070         `.'  in font registry of charset `katakana-jisx0201',
4071         `latin-jisx0201', `vietnamese-viscii-lower' and
4072         `vietnamese-viscii-upper'; modify DOC-string of charset
4073         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4074         registry of charset `japanese-jisx0208' not to use font for JIS
4075         X0208:1990; add new charset `hiragana-jisx0208' and
4076         `katakana-jisx0208'.
4077
4078         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4079         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4080         (struct Lisp_Charset): Add `byte_offset'.
4081         (CHARSET_BYTE_OFFSET): New macro.
4082         (XCHARSET_UCS_MIN): New macro.
4083         (XCHARSET_UCS_MAX): New macro.
4084         (XCHARSET_CODE_OFFSET): New macro.
4085         (XCHARSET_BYTE_OFFSET): New macro.
4086         (MIN_CHAR_HIRAGANA): New macro.
4087         (MAX_CHAR_HIRAGANA): New macro.
4088         (MIN_CHAR_KATAKANA): New macro.
4089         (MAX_CHAR_KATAKANA): New macro.
4090         (MAKE_CHAR): Modify for new coded-charset definition; use
4091         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4092         `XCHARSET_BYTE_OFFSET'.
4093
4094 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4095
4096         * mule-charset.c (CHAR96): Deleted.
4097         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4098         <Lisp_Object>.
4099         (latin_iso8859_2_to_ucs): Likewise.
4100         (latin_iso8859_3_to_ucs): Likewise.
4101         (latin_iso8859_4_to_ucs): Likewise.
4102         (latin_iso8859_9_to_ucs): Likewise.
4103         (latin_viscii_lower_to_ucs): Likewise.
4104         (latin_viscii_upper_to_ucs): Likewise.
4105         (latin_tcvn5712_to_ucs): Commented out.
4106         (make_charset): Change type of argument `decoding_table' from
4107         <Emchar*> to <Lisp_Object> [vector of characters].
4108         (Fmake_charset): Modify for `make_charset'.
4109         (Fmake_reverse_direction_charset): Likewise.
4110         (Fcharset_mapping_table): New function in UTF-2000.
4111         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4112         UTF-2000.
4113         (complex_vars_of_mule_charset): Modify for type change of
4114         `*_to_ucs'; modify for `make_charset'.
4115
4116         * char-ucs.h (struct Lisp_Charset): Change type of
4117         `decoding_table' from <Emchar*> to <Lisp_Object>.
4118         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4119
4120 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4121
4122         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4123         error with non-UTF-2000-Mule.
4124
4125 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4126
4127         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4128         in lisp again].
4129         (Vcharset_chinese_cns11643_4): Likewise.
4130         (Vcharset_chinese_cns11643_5): Likewise.
4131         (Vcharset_chinese_cns11643_6): Likewise.
4132         (Vcharset_chinese_cns11643_7): Likewise.
4133         (Qchinese_cns11643_3): Likewise.
4134         (Qchinese_cns11643_4): Likewise.
4135         (Qchinese_cns11643_5): Likewise.
4136         (Qchinese_cns11643_6): Likewise.
4137         (Qchinese_cns11643_7): Likewise.
4138         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4139         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4140         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4141         (complex_vars_of_mule_charset): Likewise.
4142
4143 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4144
4145         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4146         96-set.
4147         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4148         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4149
4150 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4151
4152         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4153         0xFF60.
4154         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4155         (breakup_char_1): Likewise.
4156
4157         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4158         one of them includes the specified character.
4159
4160 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4161
4162         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4163
4164 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4165
4166         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4167
4168 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4169
4170         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4171         definition for non-UTF-2000 Mule.
4172         (latin_iso8859_3_to_ucs): Likewise.
4173         (latin_iso8859_4_to_ucs): Likewise.
4174         (latin_iso8859_9_to_ucs): Likewise.
4175         (latin_jisx0201_to_ucs): Likewise.
4176         (MIN_CHAR_THAI): Likewise.
4177         (MAX_CHAR_THAI): Likewise.
4178         (MIN_CHAR_GREEK): Likewise.
4179         (MAX_CHAR_GREEK): Likewise.
4180         (MIN_CHAR_HEBREW): Likewise.
4181         (MAX_CHAR_HEBREW): Likewise.
4182         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4183         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4184         (MIN_CHAR_CYRILLIC): Likewise.
4185         (MAX_CHAR_CYRILLIC): Likewise.
4186
4187 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4188
4189         * char-ucs.h (breakup_char_1): Use
4190         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4191         thai-tis620 and katakana-jisx0201 area.
4192
4193 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4194
4195         * char-ucs.h (breakup_char_1): Use
4196         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4197         area.
4198
4199         * text-coding.c (reset_encoding_stream): Fixed.
4200         (char_encode_ucs4): Delete `& 255'.
4201
4202         * char-ucs.h (breakup_char_1): Use
4203         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4204
4205 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4206
4207         * file-coding.c (Fmake_coding_system): Don't set up
4208         `codesys->fixed.size'.
4209         (encode_coding_no_conversion): Don't refer
4210         `str->codesys->fixed.size'.
4211
4212 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4213
4214         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4215         (latin_a_char_to_byte1): Deleted.
4216         (latin_a_char_to_byte2): Deleted.
4217
4218 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4219
4220         * mule-charset.c (make_charset): Add new argument `ucs_min',
4221         `ucs_max' and `code_offset'.
4222         (charset_get_byte1): New implementation [delete specific charset
4223         depended implementations].
4224         (Fmake_charset): Modify for `make_charset'.
4225         (Fmake_reverse_direction_charset): Likewise.
4226         (complex_vars_of_mule_charset): Likewise.
4227
4228         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4229         `code_offset'.
4230         (CHARSET_UCS_MIN): New macro.
4231         (CHARSET_UCS_MAX): New macro.
4232         (CHARSET_CODE_OFFSET): New macro.
4233         (MAKE_CHAR): Delete charset depended definitions [except
4234         katakana-jisx0201].
4235
4236 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4237
4238         * char-ucs.h (breakup_char_1): Use
4239         `Vdefault_coded_charset_priority_list' for C0-Controls,
4240         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4241
4242 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4243
4244         * char-ucs.h (charset_get_byte1): New function.
4245         (XCHARSET_GET_BYTE1): Deleted.
4246         (charset_get_byte2): New function.
4247         (XCHARSET_GET_BYTE2): Deleted.
4248         (Vdefault_coded_charset_priority_list): New external variable.
4249         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4250         `Vdefault_preferred_coded_charset_list'.
4251
4252         * mule-charset.c (charset_get_byte1): New function.
4253         (charset_get_byte2): New function.
4254         (Vdefault_coded_charset_priority_list): New variable.
4255         (vars_of_mule_charset): Add new variable
4256         `default-coded-charset-priority-list'.
4257
4258 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4259
4260         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4261         (XCHARSET_GET_BYTE2): New inline function.
4262         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4263         `XCHARSET_GET_BYTE2'.
4264
4265 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4266
4267         * mule-charset.c (make_charset): Initialize
4268         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4269         NULL if table is not defined.
4270
4271 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4272
4273         * text-coding.c (char_encode_shift_jis): Use
4274         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4275         `ucs_to_latin_jisx0201'.
4276
4277         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4278         (ucs_to_latin_iso8859_2): Deleted.
4279         (ucs_to_latin_iso8859_3): Deleted.
4280         (ucs_to_latin_iso8859_4): Deleted.
4281         (ucs_to_latin_iso8859_9): Deleted.
4282         (ucs_to_latin_viscii_lower): Deleted.
4283         (ucs_to_latin_viscii_upper): Deleted.
4284         (ucs_to_latin_tcvn5712): Deleted.
4285         (make_charset): Add new argument `decoding_table'; set up
4286         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4287         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4288         `decoding_table' is defined in UTF-2000.
4289         (Fmake_charset): Modify for `make_charset'.
4290         (Fmake_reverse_direction_charset): Likewise.
4291         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4292         and `GENERATE_96_SET'.
4293
4294         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4295         (ucs_to_latin_jisx0201): Deleted.
4296         (latin_iso8859_2_to_ucs): Deleted.
4297         (ucs_to_latin_iso8859_2): Deleted.
4298         (latin_iso8859_3_to_ucs): Deleted.
4299         (ucs_to_latin_iso8859_3): Deleted.
4300         (latin_iso8859_4_to_ucs): Deleted.
4301         (ucs_to_latin_iso8859_4): Deleted.
4302         (latin_iso8859_9_to_ucs): Deleted.
4303         (ucs_to_latin_iso8859_9): Deleted.
4304         (latin_viscii_lower_to_ucs): Deleted.
4305         (ucs_to_latin_viscii_lower): Deleted.
4306         (latin_viscii_upper_to_ucs): Deleted.
4307         (ucs_to_latin_viscii_upper): Deleted.
4308         (struct Lisp_Charset): Renamed `encoding_table' to
4309         `to_byte1_table'; add `to_byte2_table'.
4310         (CHARSET_DECODING_TABLE): New macro.
4311         (CHARSET_TO_BYTE1_TABLE): New macro.
4312         (CHARSET_TO_BYTE2_TABLE): New macro.
4313         (XCHARSET_DECODING_TABLE): New macro.
4314         (XCHARSET_TO_BYTE1_TABLE): New macro.
4315         (XCHARSET_TO_BYTE2_TABLE): New macro.
4316         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4317         tables.
4318         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4319         don't use `ucs_to_*' tables.
4320
4321 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4322
4323         * text-coding.c (Fmake_coding_system): Don't set up
4324         `codesys->fixed.size'.
4325         (encode_coding_no_conversion): Use `if' instead of `switch'.
4326
4327         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4328
4329 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4330
4331         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4332         (Fmake_charset): Modify for `make_charset'.
4333         (Fmake_reverse_direction_charset): Likewise.
4334         (complex_vars_of_mule_charset): Likewise.
4335
4336 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4337
4338         * text-coding.c (char_encode_shift_jis): Use table
4339         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4340
4341 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4342
4343         * text-coding.c (text_encode_generic): Use `if' instead of
4344         `switch'.
4345         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4346         decode JIS-Latin.
4347
4348 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4349
4350         * text-coding.c (encode_coding_sjis): Deleted.
4351         (char_encode_shift_jis): New function.
4352         (char_finish_shift_jis): New function.
4353         (reset_encoding_stream): Set up `encode_char' and `finish' for
4354         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4355         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4356         (char_encode_utf8): Treat `eol_type'.
4357
4358 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4359
4360         * file-coding.c (decode_coding_iso2022): Use
4361         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4362
4363 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4364
4365         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4366         to 0.7 (Hirano).
4367
4368 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4369
4370         * char-lb.h (CHAR_COLUMNS): New macro.
4371
4372 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4373
4374         * text-coding.c (char_encode_ucs4): New function.
4375         (char_finish_ucs4): New function.
4376         (encode_coding_ucs4): Deleted.
4377         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4378         (text_encode_generic): Delete local variable `charset' and `half'.
4379         (ucs_to_mule_table): Deleted.
4380         (mule_to_ucs_table): Deleted.
4381         (Fset_ucs_char): Deleted.
4382         (ucs_to_char): Deleted.
4383         (Fucs_char): Deleted.
4384         (Fset_char_ucs): Deleted.
4385         (Fchar_ucs): Deleted.
4386         (decode_ucs4): Deleted.
4387         (mule_char_to_ucs4): Deleted.
4388         (encode_ucs4): Deleted.
4389         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4390         (decode_coding_utf8): Likewise.
4391         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4392         (char_encode_iso2022): Fixed.
4393         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4394         `Fset_char_ucs' and `Fchar_ucs'.
4395         (complex_vars_of_file_coding): Don't initialize
4396         `ucs_to_mule_table'.
4397
4398         * objects-tty.c (tty_initialize_font_instance): Don't use
4399         `XCHARSET_COLUMNS'.
4400
4401         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4402         UTF-2000.
4403
4404         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4405         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4406
4407         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4408         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4409         (emchar_string_displayed_columns): Likewise.
4410
4411         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4412         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4413         (string_column_at_point): Likewise.
4414         (Fmove_to_column): Likewise.
4415
4416         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4417         `encoding_table' and `decoding_table'.
4418         (CHARSET_REP_BYTES): Deleted.
4419         (XCHARSET_REP_BYTES): Deleted.
4420         (XCHARSET_COLUMNS): Deleted.
4421         (CHAR_COLUMNS): New macro.
4422         (lookup_composite_char): Deleted unconditionally.
4423         (composite_char_string): Likewise.
4424
4425 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4426
4427         * char-ucs.h (Emchar_to_byte_table): New type.
4428         (get_byte_from_character_table): New function interface.
4429         (Vcharset_latin_jisx0201): New variable.
4430         (latin_jisx0201_to_ucs): New variable.
4431         (ucs_to_latin_jisx0201): New variable.
4432         (Vcharset_latin_iso8859_2): New variable.
4433         (latin_iso8859_2_to_ucs): New variable.
4434         (ucs_to_latin_iso8859_2): New variable.
4435         (Vcharset_latin_iso8859_3): New variable.
4436         (latin_iso8859_3_to_ucs): New variable.
4437         (ucs_to_latin_iso8859_3): New variable.
4438         (Vcharset_latin_iso8859_4): New variable.
4439         (latin_iso8859_4_to_ucs): New variable.
4440         (ucs_to_latin_iso8859_4): New variable.
4441         (Vcharset_latin_iso8859_9): New variable.
4442         (latin_iso8859_9_to_ucs): New variable.
4443         (ucs_to_latin_iso8859_9): New variable.
4444         (Vcharset_latin_viscii_lower): New variable.
4445         (latin_viscii_lower_to_ucs): New variable.
4446         (ucs_to_latin_viscii_lower): New variable.
4447         (Vcharset_latin_viscii_upper): New variable.
4448         (latin_viscii_upper_to_ucs): New variable.
4449         (ucs_to_latin_viscii_upper): New variable.
4450         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4451         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4452         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4453         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4454         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4455         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4456         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4457         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4458         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4459         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4460
4461         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4462         (Vcharset_latin_viscii_upper): New variable.
4463         (make_byte_from_character_table): New function.
4464         (put_byte_from_character_table): New function.
4465         (get_byte_from_character_table): New function.
4466         (CHAR96): New macro.
4467         (ucs_to_latin_jisx0201): New variable.
4468         (latin_jisx0201_to_ucs): New variable.
4469         (ucs_to_latin_iso8859_2): New variable.
4470         (latin_iso8859_2_to_ucs): New variable.
4471         (ucs_to_latin_iso8859_3): New variable.
4472         (latin_iso8859_3_to_ucs): New variable.
4473         (ucs_to_latin_iso8859_4): New variable.
4474         (latin_iso8859_4_to_ucs): New variable.
4475         (ucs_to_latin_iso8859_9): New variable.
4476         (latin_iso8859_9_to_ucs): New variable.
4477         (ucs_to_latin_viscii_lower): New variable.
4478         (latin_viscii_lower_to_ucs): New variable.
4479         (ucs_to_latin_viscii_upper): New variable.
4480         (latin_viscii_upper_to_ucs): New variable.
4481         (ucs_to_latin_tcvn5712): New variable.
4482         (latin_tcvn5712_to_ucs): New variable.
4483         (Qlatin_viscii_lower): New variable.
4484         (Qlatin_viscii_upper): New variable.
4485         (syms_of_mule_charset): Set up new symbol
4486         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4487         (complex_vars_of_mule_charset): Set up new charset
4488         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4489         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4490         `ucs_to_<CHARSET>' tables.
4491
4492 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4493
4494         * text-coding.c: New file.
4495
4496 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4497
4498         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4499
4500         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4501         (MAKE_CHAR): Modify for `ucs-bmp'.
4502         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4503         non-MULE characters of BMP.
4504
4505 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4506
4507         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4508         to 0.6.
4509
4510 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4511
4512         * lstream.h:
4513         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4514         - Include character.h for `CHAR_ASCII_P'.
4515
4516         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4517
4518         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4519         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4520
4521         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4522         (BYTE_C0_P): Likewise.
4523         (BYTE_C1_P): Likewise.
4524         (Lstream_get_emchar_1): Likewise.
4525         (Lstream_fput_emchar): Likewise.
4526         (Lstream_funget_emchar): Likewise.
4527         (copy_internal_to_external): Likewise.
4528         (copy_external_to_internal): Likewise.
4529
4530         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4531         (BYTE_C0_P): Likewise.
4532         (BYTE_C1_P): Likewise.
4533         (Lstream_get_emchar_1): Likewise.
4534         (Lstream_fput_emchar): Likewise.
4535         (Lstream_funget_emchar): Likewise.
4536         (copy_internal_to_external): Likewise.
4537         (copy_external_to_internal): Likewise.
4538
4539         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4540         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4541
4542         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4543         (BYTE_ASCII_P): Moved to mb-1byte.h.
4544
4545 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4546
4547         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4548
4549         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4550         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4551         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4552         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4553         (VALIDATE_CHARPTR_FORWARD): Likewise.
4554         (simple_charptr_emchar): Moved to mb-multibyte.h.
4555         (simple_set_charptr_emchar): Likewise.
4556         (simple_charptr_copy_char): Likewise.
4557         (non_ascii_charptr_emchar): Likewise.
4558         (non_ascii_set_charptr_emchar): Likewise.
4559         (non_ascii_charptr_copy_char): Likewise.
4560         (charptr_emchar): Moved to mb-*byte.h.
4561         (set_charptr_emchar): Likewise.
4562         (charptr_copy_char): Likewise.
4563
4564         * mb-1byte.h, mb-multibyte.h: New files.
4565
4566 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4567
4568         * mb-utf-8.h (MULTIBYTE): New macro.
4569         (MAX_EMCHAR_LEN): Moved from buffer.h.
4570         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4571
4572         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4573
4574         * mb-lb.h, multibyte.h: New files.
4575
4576         * char-1byte.h (Charset_ID): Moved from buffer.h.
4577         (MIN_LEADING_BYTE): Likewise.
4578         (LEADING_BYTE_ASCII): Likewise.
4579         (NUM_LEADING_BYTES): Likewise.
4580         (CHARSETP): Likewise.
4581         (CHARSET_BY_LEADING_BYTE): Likewise.
4582         (XCHARSET_LEADING_BYTE): Likewise.
4583         (XCHARSET_GRAPHIC): Likewise.
4584         (XCHARSET_COLUMNS): Likewise.
4585         (XCHARSET_DIMENSION): Likewise.
4586         (CHAR_CHARSET): Likewise.
4587         (CHAR_LEADING_BYTE): Likewise.
4588         (BREAKUP_CHAR): Likewise.
4589         (Vcharset_ascii): Likewise.
4590
4591         * buffer.h: Include multibyte.h unconditionally.
4592         (VALID_CHARPTR_P): Moved to multibyte.h.
4593         (ASSERT_VALID_CHARPTR): Likewise.
4594         (REAL_INC_CHARPTR): Likewise.
4595         (REAL_INC_CHARBYTIND): Likewise.
4596         (REAL_DEC_CHARPTR): Likewise.
4597         (INC_CHARPTR): Likewise.
4598         (INC_CHARBYTIND): Likewise.
4599         (DEC_CHARPTR): Likewise.
4600         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4601         (VALIDATE_CHARPTR_FORWARD): Likewise.
4602         (charptr_n_addr): Likewise.
4603         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4604         (simple_charptr_emchar): Moved to multibyte.h.
4605         (simple_set_charptr_emchar): Likewise.
4606         (simple_charptr_copy_char): Likewise.
4607         (non_ascii_charptr_emchar): Likewise.
4608         (non_ascii_set_charptr_emchar): Likewise.
4609         (non_ascii_charptr_copy_char): Likewise.
4610         (charptr_emchar): Likewise.
4611         (set_charptr_emchar): Likewise.
4612         (charptr_copy_char): Likewise.
4613         (charptr_emchar_n): Likewise.
4614         (Charset_ID): Moved to char-1byte.h.
4615         (Vcharset_ascii): Likewise.
4616         (CHAR_CHARSET): Likewise.
4617         (CHAR_LEADING_BYTE): Likewise.
4618         (LEADING_BYTE_ASCII): Likewise.
4619         (NUM_LEADING_BYTES): Likewise.
4620         (MIN_LEADING_BYTE): Likewise.
4621         (CHARSETP): Likewise.
4622         (CHARSET_BY_LEADING_BYTE): Likewise.
4623         (XCHARSET_LEADING_BYTE): Likewise.
4624         (XCHARSET_GRAPHIC): Likewise.
4625         (XCHARSET_COLUMNS): Likewise.
4626         (XCHARSET_DIMENSION): Likewise.
4627         (BREAKUP_CHAR): Likewise.
4628
4629 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4630
4631         * character.h: Add document about interface for characters.
4632
4633         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4634         (MAKE_CHAR): Delete comment about
4635         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4636         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4637         (BREAKUP_CHAR): Modify name of arguments.
4638         (CHAR_CHARSET): Modify name of argument.
4639
4640         * buffer.h: Delete document about Emchar accessors.
4641
4642 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4643
4644         * character.h (CHAR_INTP): Moved from buffer.h
4645         (CHAR_OR_CHAR_INTP): Likewise.
4646         (XCHAR_OR_CHAR_INT): Likewise.
4647         (CHECK_CHAR_COERCE_INT): Likewise.
4648
4649         * buffer.h (CHAR_INTP): Moved to character.h
4650         (CHAR_OR_CHAR_INTP): Likewise.
4651         (XCHAR_OR_CHAR_INT): Likewise.
4652         (CHECK_CHAR_COERCE_INT): Likewise.
4653
4654 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4655
4656         * character.h:
4657         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4658         - Include char-1byte.h, char-lb.h or char-ucs.h.
4659
4660         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4661
4662         * buffer.h: Include character unconditionally.
4663         (valid_char_p): Moved to char-*.h.
4664         (non_ascii_valid_char_p): Moved to char-lb.h.
4665
4666         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4667
4668 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4669
4670         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4671         in UTF-2000 because it is not ported yet and not to use
4672         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4673         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4674         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4675
4676         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4677         (CHAR_ASCII_P): Moved from character.h.
4678
4679         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4680         (CHAR_ASCII_P): Likewise.
4681         (CHAR_FIELD1_MASK): Deleted.
4682         (CHAR_FIELD2_MASK): Deleted.
4683         (CHAR_FIELD3_MASK): Deleted.
4684         (MAX_CHAR_BASIC_LATIN): New macro.
4685         (CHAR_FIELD1): Deleted.
4686         (CHAR_FIELD2_INTERNAL): Deleted.
4687         (CHAR_FIELD3_INTERNAL): Deleted.
4688         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4689         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4690         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4691         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4692         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4693         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4694         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4695         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4696         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4697         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4698         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4699         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4700         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4701         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4702         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4703         (MIN_CHAR_COMPOSITION): Deleted.
4704         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4705         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4706
4707 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4708
4709         * buffer.h: Include mb-utf-8.h in UTF-2000.
4710
4711         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4712
4713         * mb-utf-8.h: New file.
4714
4715 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4716
4717         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4718         instead of `int'.
4719
4720         * mule-charset.h, buffer.h (Charset_ID): New type.
4721
4722 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4723
4724         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4725         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4726         instead of `MULE_CHAR_PRIVATE_OFFSET',
4727         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4728         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4729         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4730
4731         * character.h (Vcharset_japanese_jisx0212): New variable
4732         definition.
4733
4734 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4735
4736         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4737         (charset_by_attributes): Delete array about direction.
4738         (latin_a_char_to_charset): New variable in UTF-2000.
4739         (latin_a_char_to_byte1): New variable in UTF-2000.
4740         (latin_a_char_to_byte2): New variable in UTF-2000.
4741         (Qucs_bmp): New variable.
4742         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4743         `Bufbyte'.
4744         (next_allocated_2_byte_leading_byte): Likewise.
4745         (non_ascii_set_charptr_emchar): Likewise.
4746         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4747         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4748         `charset_by_attributes'.
4749         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4750         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4751         and `CHARSET_BY_LEADING_BYTE'.
4752         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4753         `utf-2000-version' to `vars_of_mule_charset'.
4754         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4755         define `leading-code-private-11' in UTF-2000; move setting of
4756         `utf-2000-version' from `syms_of_mule_charset'.
4757         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4758         UTF-2000.
4759
4760         * character.h (Charset_ID): New type.
4761         (LEADING_BYTE_UCS_BMP): New macro.
4762         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4763         (CHARSET_ID_OFFSET_94): New macro.
4764         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4765         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4766         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4767         final-byte.
4768         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4769         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4770         (CHARSET_ID_OFFSET_96): New macro.
4771         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4772         CHARSET_ID_OFFSET_96 and final-byte.
4773         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4774         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4775         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4776         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4777         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4778         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4779         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4780         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4781         (LEADING_BYTE_THAI_TIS620): Likewise.
4782         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4783         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4784         (CHARSET_ID_OFFSET_94x94): New macro.
4785         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4786         CHARSET_ID_OFFSET_94x94 and final-byte.
4787         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4788         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4789         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4790         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4791         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4792         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4793         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4794         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4795         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4796         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4797         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4798         (CHARSET_TYPE_128X128): New macro.
4799         (CHARSET_TYPE_256X256): New macro.
4800         (XCHARSET_PRIVATE_P): Delete unconditionally.
4801         (charset_by_attributes): Delete array about direction.
4802         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4803         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4804         (MIN_CHAR_94): New macro.
4805         (MAX_CHAR_94): New macro.
4806         (MIN_CHAR_96): New macro.
4807         (MAX_CHAR_96): New macro.
4808         (MIN_CHAR_94x94): New macro.
4809         (MAX_CHAR_94x94): New macro.
4810         (MIN_CHAR_96x96): New macro.
4811         (MAX_CHAR_96x96): New macro.
4812         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4813         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4814         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4815         - 32)'.
4816         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4817         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4818         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4819         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4820         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4821         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4822         `XCHARSET_LEADING_BYTE' to make code-point.
4823         (latin_a_char_to_charset): New variable.
4824         (latin_a_char_to_byte1): New variable.
4825         (latin_a_char_to_byte2): New variable.
4826         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4827         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4828         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4829
4830         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4831         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4832         (find_charsets_in_emchar_string): Likewise.
4833         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4834
4835         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4836         `int'.
4837         (decode_coding_iso2022): Likewise.
4838
4839         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4840         of `unsigned char'.
4841
4842         * redisplay.c (redisplay_text_width_emchar_string): Use
4843         `Charset_ID' instead of `unsigned char'.
4844         (redisplay_frame_text_width_string): Likewise.
4845
4846         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4847         `unsigned char'.
4848
4849         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4850         instead of `unsigned char'.
4851         (face_cachel_charset_font_metric_info): Likewise.
4852
4853         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4854         (get_non_ascii_char_table_value): Likewise.
4855         (get_char_table): Likewise.
4856         (put_char_table): Likewise.
4857         (map_over_other_charset): Likewise.
4858         (map_char_table): Likewise.
4859
4860         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4861         instead of `unsigned char'.
4862
4863 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4864
4865         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4866         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4867
4868         * mule-charset.c (leading_code_private_11): Don't define in
4869         UTF-2000.
4870
4871         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4872         in UTF-2000 because it is not ported yet and not to use
4873         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4874
4875 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4876
4877         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4878
4879 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4880
4881         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4882         in UTF-2000.
4883
4884         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4885         of unsigned char to store leading-byte.
4886
4887         * chartab.c (get_non_ascii_char_table_value): Don't use
4888         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4889
4890         * file-coding.c (encode_coding_big5): Delete bogus implementation
4891         in UTF2000.
4892
4893         * character.h (LEADING_BYTE_*): Delete definition for
4894         non-UTF-2000.
4895         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4896         (LEADING_BYTE_PREFIX_P): Deleted.
4897         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4898         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4899         (BUFBYTE_LEADING_BYTE_P): Deleted.
4900         (CHARSET_PRIVATE_P): Deleted unconditionally.
4901         (rep_bytes_by_first_byte): Deleted unconditionally.
4902         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4903         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4904         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4905         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4906         (CHAR_FIELD2): Deleted.
4907         (CHAR_FIELD3): Deleted.
4908         (MAKE_CHAR): Delete definition for non-UTF-2000.
4909         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4910         (breakup_char_1): New implementation.
4911         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4912         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4913
4914 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4915
4916         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4917         condition.
4918
4919 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4920
4921         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4922         (CHARSET_PRIVATE_P): Likewise.
4923         (XCHARSET_PRIVATE_P): Likewise.
4924         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4925
4926         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4927         UTF2000.
4928         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4929
4930 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4931
4932         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4933         (NUM_LEADING_BYTES): Changed from 128 to 256.
4934         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4935         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4936         UTF2000.
4937         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4938
4939         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4940         UTF2000.
4941         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4942         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4943         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4944         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4945         (Qchinese_cns11643_3): New variable in UTF2000.
4946         (Qchinese_cns11643_4): New variable in UTF2000.
4947         (Qchinese_cns11643_5): New variable in UTF2000.
4948         (Qchinese_cns11643_6): New variable in UTF2000.
4949         (Qchinese_cns11643_7): New variable in UTF2000.
4950         (syms_of_mule_charset): Define `chinese-cns11643-3',
4951         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4952         and `chinese-cns11643-7' in UTF2000.
4953         (vars_of_mule_charset): Initialize
4954         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4955         + 1 in UTF2000.
4956         (complex_vars_of_mule_charset): Setup charset
4957         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4958         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4959
4960 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4961
4962         * mule-charset.c: Move setting for `leading-code-private-11' from
4963         `syms_of_mule_charset' to `vars_of_mule_charset'.
4964
4965 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4966
4967         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4968         and `NUM_LEADING_BYTES' in assert.
4969
4970 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4971
4972         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4973         instead of 128.
4974         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4975         `NUM_LEADING_BYTES' instead of 128.
4976
4977 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4978
4979         * mule-charset.h (charset_by_leading_byte): Use
4980         `NUM_LEADING_BYTES' instead of 128.
4981         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4982
4983         * mule-charset.c (charset_by_leading_byte): Use
4984         `NUM_LEADING_BYTES' instead of 128.
4985         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4986
4987         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4988         128.
4989
4990 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4991
4992         * mule-charset.c (syms_of_mule_charset): Update to
4993         0.4 (Shin-Imamiya).
4994
4995 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4996
4997         * file-coding.c (encode_coding_sjis): New implementation for
4998         UTF2000.  (decode_coding_sjis): Ditto.
4999
5000 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5001
5002         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5003         Don't define in UTF2000.
5004
5005         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5006         defined.
5007
5008         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5009         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5010         MULE.
5011
5012 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5013
5014         * config.h.in (CHAR_IS_UCS4): New macro.
5015
5016         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5017         conventional MULE representation.
5018         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5019
5020         * mule-charset.h: Reverted to original.
5021
5022         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5023         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5024         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5025
5026         * character.h: New file.
5027
5028         * file-coding.c (Fmake_coding_system): Set 1 to
5029         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5030         defined.
5031         (encode_coding_no_conversion): New implementation for UTF2000.
5032
5033         * file-coding.h (struct Lisp_Coding_System): Add new member
5034         `fixed.size'.
5035
5036 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5037
5038         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5039         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5040         (encode_coding_iso2022): New implementation for UTF2000.
5041
5042 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5043
5044         * mule-canna.c (c2mu): New implementation for UTF2000.
5045         (m2c): Likewise.
5046
5047 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5048
5049         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5050
5051 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5052
5053         * file-coding.c (reset_encoding_stream): Set 0 to
5054         `str->iso2022.current_char_boundary' in UTF2000.
5055         (encode_utf8): Don't define in UTF2000.
5056         (encode_coding_utf8): New implementation for UTF-8 representation
5057         of UTF2000.
5058         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5059
5060 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5061
5062         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5063
5064         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5065         UTF2000.
5066         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5067
5068         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5069
5070         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5071         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5072         as UTF-8 in UTF2000.
5073         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5074         (non_ascii_valid_char_p): Don't define in UTF2000.
5075         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5076         (Lstream_get_emchar_1): Likewise.
5077         (utf-2000-version): New variable in UTF2000.
5078
5079         * lread.c (read_escape): Add new reader `u'.
5080
5081         * insdel.c (three_to_one_table): Don't define in UTF2000.
5082         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5083         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5084         UTF2000.
5085         (bytind_to_bufpos_func): Likewise.
5086         (buffer_mule_signal_inserted_region): Likewise.
5087         (vars_of_insdel): Don't initialize `three_to_one_table'.
5088         (init_buffer_text): Use `buf->text->mule_size' instead of
5089         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5090         UTF2000.
5091
5092         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5093         UTF-8 representation in UTF2000.
5094         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5095         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5096         (decode_coding_iso2022): Don't define local variable `lb' in
5097         UTF2000; don't use LEADING_BYTE in UTF2000; use
5098         `DECODE_ADD_UCS_CHAR' in UTF2000.
5099         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5100
5101         * config.h.in (UTF2000): New macro.
5102
5103         * buffer.h (struct buffer_text): Add new member `mule_size' and
5104         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5105         (valid_char_p): Return always 1 in UTF2000.
5106         (MAX_EMCHAR_LEN): 6 in UTF2000.
5107         (three_to_one_table): Don't define in UTF2000.
5108         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5109         UTF2000.
5110         (real_bytind_to_bufpos): Likewise.
5111
5112         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5113
5114 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5115
5116         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5117         representation change.
5118         (Vutf_2000_version): New variable.
5119         (leading_code_private_11): New variable.
5120         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5121         `leading-code-private-11'.
5122
5123         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5124         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5125         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5126         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5127         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5128         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5129         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5130         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5131         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5132         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5133         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5134         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5135         (MIN_CHAR_GREEK): New macro.
5136         (MAX_CHAR_GREEK): New macro.
5137         (MIN_CHAR_CYRILLIC): New macro.
5138         (MAX_CHAR_CYRILLIC): New macro.
5139         (MIN_CHAR_HEBREW): New macro.
5140         (MAX_CHAR_HEBREW): New macro.
5141         (MIN_CHAR_THAI): New macro.
5142         (MAX_CHAR_THAI): New macro.
5143         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5144         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5145         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5146         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5147         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5148         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5149         (CHAR_FIELD2): New inline function.
5150         (CHAR_FIELD3): New inline function.
5151         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5152         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5153         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5154         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5155         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5156         (MIN_CHAR_COMPOSITION): Likewise.
5157         (CHAR_LEADING_BYTE): Modified for character representation change.
5158         (MAKE_CHAR): Likewise.
5159
5160         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5161         (Vcharset_greek_iso8859_7): Likewise.
5162         (Vcharset_cyrillic_iso8859_5): Likewise.
5163         (Vcharset_hebrew_iso8859_8): Likewise.
5164         (Vcharset_thai_tis620): Likewise.
5165         (Vcharset_katakana_jisx0201): Likewise.
5166
5167 2003-09-03  Vin Shelton <acs@xemacs.org>
5168
5169         * XEmacs 21.4.14 is released
5170
5171 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5172
5173         * config.h.in (REGEX_MALLOC): Make it configure'able.
5174
5175 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5176
5177         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5178         linking.
5179         * sysdll.c (dll_init):
5180         * sysdll.c (dll_open):
5181         * sysdll.c (dll_close):
5182         * sysdll.c (dll_function):
5183         * sysdll.c (dll_variable):
5184         * sysdll.c (dll_error):
5185         Add support for loading bundles using Darwin/MacOSX
5186         native API.
5187
5188 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5189
5190         * process.c (start-process-internal): Document coding systems.
5191
5192 2003-07-30  Jerry James  <james@xemacs.org>
5193
5194         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5195
5196 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5197
5198         * event-msw.c (mswindows_enqueue_mouse_button_event):
5199         * event-msw.c (mswindows_wnd_proc):
5200           enqueue button event when scrollwheel event isn't handled by 
5201           mswindows_handle_mousewheel_event, such as when the scrollbars
5202           are not showing.
5203
5204 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5205
5206         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5207
5208 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5209
5210         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5211
5212 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5213
5214         * regex.c (re_match_2_internal): Fix matching degenerate word
5215         boundaries.
5216
5217 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5218
5219         * XEmacs 21.4.13 is released
5220
5221 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5222
5223         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5224         * lisp.h (<inttypes.h>):
5225         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5226         the definition.
5227
5228 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5229
5230         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5231         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5232         Result: "temacs can only be run in -batch mode."
5233         Fix: Check xemacs executable candidate for directory-ness.
5234
5235 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5236
5237         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5238           they conflict with <sys/types.h>.
5239
5240 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5241
5242         * database.c: Berkeley DB wants __STDC__ to be defined.
5243
5244 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5245
5246         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5247
5248 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5249
5250         * process-unix.c (unix_send_process): Fix C++ compile error.
5251
5252 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5253
5254         * Added .dylib as an acceptable shared library file extension
5255         * to support MacOSX.
5256
5257 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5258
5259         * EmacsFrameP.h (EmacsFramePart):
5260         Kludge to allow compiling with Motif1, but linking with Motif2.
5261
5262 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5263
5264         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5265
5266
5267 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5268
5269         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5270
5271 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5272
5273         * sysdll.c: Included lisp.h to define needed alloca_array.
5274
5275 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5276
5277         Make XEmacs redisplay 10 times faster.
5278         If, that is, you're using a slow X connection and MoveOpaque.
5279         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5280         Use compress_motion = TRUE.
5281         * EmacsFrame.c (emacsFrameClassRec): 
5282         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5283         * EmacsManager.c (emacsManagerClassRec):
5284         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5285
5286 2003-01-30  Vin Shelton  <acs@xemacs.org>
5287
5288         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5289
5290 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5291
5292         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5293         Patch by Martin Buchholz.
5294
5295 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5296
5297         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5298         Thanks to icc for warning and Martin Buchholz for reporting.
5299
5300 2003-01-29  Vin Shelton <acs@xemacs.org>
5301
5302         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5303
5304         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5305         remember to multiply by the element size.
5306
5307 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5308
5309         * XEmacs 21.4.12 "Portable Code" is released.
5310
5311 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5312
5313         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5314         * s/cygwin.sc: new linker file.
5315
5316 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5317
5318         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5319
5320         * redisplay-x.c (x_output_string): Use X11-specified types.
5321         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5322         * emacs.c (__free_hook): Use typeof with Intel compiler.
5323         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5324
5325 2003-01-08  Andy Piper  <andy@xemacs.org>
5326
5327         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5328         reserve size during unexec().
5329
5330 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5331
5332         * process-unix.c (unix_create_process): Don't let outchannel block.
5333
5334 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5335
5336         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5337         Needed for IsBadReadPtr().
5338
5339 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5340
5341         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5342
5343 2002-12-14  Ben Wing  <ben@xemacs.org>
5344
5345         * callint.c: Declaration error.
5346         * dumper.c (pdump):
5347         * dumper.c (pdump_load): Warning fix.
5348         * process.c: GCPRO error.
5349         * glyphs.c (unmap_subwindow):
5350         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5351         * event-stream.c (maybe_kbd_translate): Wrong argument to
5352         character_to_event().
5353
5354         * alloc.c (garbage_collect_1):
5355         * emacs.c:
5356         * emacs.c (debug_can_access_memory):
5357         * emacs.c (fatal_error_signal):
5358         * emacs.c (mswindows_handle_hardware_exceptions):
5359         * emacs.c (main_1):
5360         * emacs.c (main):
5361         * emacs.c (assert_failed):
5362         * emacs.c (syms_of_emacs):
5363         * lisp.h:
5364         * print.c:
5365         * print.c (std_handle_out_va):
5366         * print.c (write_string_to_stdio_stream):
5367         * print.c (write_fmt_string):
5368         * print.c (printing_badness):
5369         * print.c (printing_major_badness):
5370         * print.c (print_internal):
5371         * print.c (debug_print_no_newline):
5372         * print.c (debug_backtrace):
5373         Be more defensive in handling bad values when printing.  Add code
5374         from trunk involving inhibit_non_essential_printing_operations.
5375         When going down or in debug_print(), don't do external conversion
5376         and such and try really, really hard when printing to avoid core
5377         dumping.  Add force-debugging-signal, debug_break().
5378
5379 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5380
5381         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5382         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5383
5384 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5385
5386         * database.c: Fix open_database. Berkeley DB API has changed in
5387         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5388
5389 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5390
5391         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5392
5393 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5394
5395         * event-Xt.c (Xt_timeout):
5396         (Xt_timeout_callback):
5397         (emacs_Xt_add_timeout):
5398         (emacs_Xt_remove_timeout):
5399         (Xt_timeout_to_emacs_event):
5400         Turn completed_timeouts from a stack into a queue.  Fixes
5401         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5402
5403 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5404
5405         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5406         * emacs.c (main): Assert that mmap'd allocation is disabled.
5407
5408 2002-10-14  Andy Piper  <andy@xemacs.org>
5409
5410         * glyphs-widget.c (layout_query_geometry): add in fiddle
5411         factor. Include border text in width layout calculation.
5412         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5413
5414 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5415
5416         * XEmacs 21.4.10 "Military Intelligence" is released.
5417
5418 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5419
5420         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5421         using the NAS private array SoundFileInfo that no longer exists in
5422         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5423         and earlier.  This is broken for some versions between 1.5a and
5424         1.5f.
5425
5426 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5427
5428         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5429
5430         * emacs.c (shut_down_emacs): Improve crash message.
5431
5432 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5433
5434         * file-coding.c (determine_real_coding_system): Check for coding
5435         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5436         shebangs and Python PEP 263.
5437
5438 2002-10-08  Andy Piper  <andy@xemacs.org>
5439
5440         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5441         if static sizes haven't been set.
5442
5443 2002-08-30  Mike Alexander  <mta@arbortext.com>
5444
5445         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5446         to close a socket.
5447
5448 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5449
5450         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5451
5452 2002-09-20  Mike Sperber <mike@xemacs.org>
5453
5454         (This partially gets back my patch from 2002-07-20 without the
5455         bug.)
5456         * callproc.c (child_setup): Remove Ben's comment noting confusion
5457         over the file descriptors >= 3: close_process_descs() doesn't
5458         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5459         * process-unix.c (unix_create_process): Call
5460         begin_dont_check_for_quit to inhibit unwanted interaction (and
5461         thus breaking of X event synchronicity) in the child.
5462
5463 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5464
5465         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5466         widget.
5467
5468 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5469
5470         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5471         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5472         the xemacs process did not exit, but looped infinitely here.  This
5473         fixes that problem.
5474
5475 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5476
5477         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5478         (find_context): Improve comments.
5479
5480         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5481         (re_match_2): An XCHAR_TABLE operation was missing.
5482
5483         Many of the following changes were inspired by Andy Piper's (now
5484         obsolete) patch to make syntax-table text property lookup optional.
5485
5486         [Documentation]
5487
5488         * syntax.h (top level): Document semantics of syntax flags.
5489         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5490         * syntax.c, syntax.h (top level): Document syntax cache better in
5491         comments.
5492
5493         [Instrument syntax caching (temporary change)]
5494
5495         * syntax.h (enum syntax_cache_statistics_functions, struct
5496         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5497         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5498         * syntax.c (scan_words, Fforward_comment, scan_lists,
5499         Fbackward_prefix_characters):
5500         * font-lock.c (find_context):
5501         Use them to instrument syntax caching. 
5502         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5503         syntax_cache_statistics_function_names): New type and variables.
5504         * syntax.c (update_syntax_cache): Update and report statistics.
5505
5506         [Major syntax cache optimizations]
5507
5508         syntax.c (lookup_syntax_properties): Default off.
5509
5510         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5511         * syntax.c (update_syntax_cache):
5512         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5513
5514         [Minor syntax cache optimizations and code clarifications]
5515
5516         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5517         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5518         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5519         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5520         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5521         (Code clarification.)
5522
5523         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5524         scan_lists): Compute code from syncode, use Boolean macros instead
5525         of redundant masking operations.  (Code clarification; any decent
5526         compiler can do this optimization.)
5527
5528         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5529         for clarity.
5530
5531         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5532         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5533         use F*_single_property_change instead of F*_extent_change.
5534         Currently F*_single_property_change is _much_ less efficient.
5535
5536         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5537         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5538         syntax_cache.object properly, don't leave Qt or Qnil.
5539         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5540         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5541         tests for Qt or Qnil.
5542
5543 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5544
5545         * redisplay.c (point_in_line_start_cache): 
5546         * extents.c (print_extent_1):
5547         Fix warnings.
5548
5549         * extents.c (Fset_extent_property): Document `syntax-table' property.
5550
5551         * extents.h (Fnext_single_property_change): EXFUN it.
5552
5553 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5554
5555         * search.c (clear_unused_search_regs): New static function.
5556         (search_buffer): 
5557         (simple_search): 
5558         (boyer_moore):
5559         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5560         Minor clarifications in comments.
5561
5562         * regex.c (re_match_2_internal): Ensure no stale submatches.
5563
5564 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5565
5566         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5567
5568 2002-08-29  Jerry James  <james@xemacs.org>
5569
5570         * lisp.h: structrures -> structures.
5571
5572 2002-06-03  Andy Piper  <andy@xemacs.org>
5573
5574         * frame.c (frame_conversion_internal): add conversion appropriate
5575         for setting frame dimensions in pixels.
5576
5577         * console.h (struct console_methods): add device-specific widget
5578         layout functions.
5579
5580         * emacs.c (main_1): initialize glyph vars.
5581
5582         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5583         (handle_focus_event_2): new function. Allow focus to
5584         be set to a particular window and widget.
5585         (enqueue_focus_event): new function. Create a
5586         synthetic focus event.
5587         (emacs_Xt_handle_magic_event): call
5588         handle_focus_event_2.
5589
5590         * frame.c (Fset_frame_pixel_height): new function. Allow
5591         pixel-based sizing. Does the right thing on character-oriented
5592         displays.
5593         (Fset_frame_pixel_width): ditto.
5594         (Fset_frame_pixel_size): ditto.
5595         (syms_of_frame): declare.
5596
5597         * general-slots.h: add :vertically-justify and
5598         :horizontally-justify.
5599
5600         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5601         (mswindows_widget_border_width): new function.
5602         (mswindows_combo_box_instantiate): set border widths.
5603         (console_type_create_glyphs_mswindows): declare.
5604
5605         * glyphs-widget.c:
5606         (check_valid_justification): allow vertical and horizontal
5607         justification.
5608         (widget_border_width): new function. Call device methods.
5609         (widget_instance_border_width): ditto.
5610         (logical_unit_height): new function. Determine the height of a
5611         logical-unit. Logical units are intended to provide grid-like
5612         layout for subcontrols in a layout. If the layout is
5613         :vertically-justify top then subcontrols will be positioned on
5614         logical-unit boundaries, thus allowing adjacent subcontrols to
5615         line up.
5616         (widget_logical_unit_height): ditto for widgets.
5617         (redisplay_widget): misc cleanup.
5618         (widget_spacing): new function. Call device specific
5619         methods. Intended to be the default gap between adjacent widgets.
5620         (widget_query_geometry): use new spacing functions to determine
5621         appropriate geometry.
5622         (initialize_widget_image_instance): initialize horizontal and
5623         vertical justification.
5624         (widget_instantiate): use logica-units where appropriate for
5625         sizing large widgets.
5626         (button_query_geometry): use widget_instance_border_width.
5627         (tree_view_query_geometry): ditto.
5628         (tab_control_query_geometry): ditto.
5629         (edit_field_query_geometry): new function.
5630         (layout_update): pick up :justify, :horizontally-justify and
5631         :vertically-justify none of which worked previously. :justify is
5632         used as a fallback for both horizontal and vertical justification.
5633         (layout_query_geometry): use logical units to size appropriately.
5634         (layout_layout): ditto.
5635         (Fwidget_logical_to_character_width): new function. Allow users to
5636         convert from logical units to characters so that frame sizes can
5637         be set appropriately.
5638         (Fwidget_logical_to_character_height): ditto.
5639         (syms_of_glyphs_widget): declare.
5640         (image_instantiator_edit_fields): add edit_field_query_geometry.
5641         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5642         :horizontally-justify.
5643         (specifier_vars_of_glyphs_widget): new function. Declare
5644         Vwidget_border_width which is not yet used.
5645
5646         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5647         (x_widget_border_width): new function.
5648         (x_widget_instantiate): create a sensible name for widgets.
5649         (console_type_create_glyphs_x): declare x_widget_border_width.
5650
5651         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5652         (struct Lisp_Image_Instance): add :vertically-justify and
5653         :horizontally-justify.
5654         (LAYOUT_JUSTIFY_TOP): new.
5655         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5656         (ROUND_UP): new macro. Round argument up to next integral
5657         interval.
5658
5659         * redisplay-output.c (redisplay_output_layout): misc formatting.
5660
5661         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5662
5663 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5664
5665         * XEmacs 21.4.9 "Informed Management" is released.
5666
5667 2002-08-19  Andy Piper  <andy@xemacs.org>
5668
5669         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5670         win32 format.
5671
5672         * realpath.c (xrealpath): normalize drive spec also so that dir
5673         sep chars are not mixed on cygwin.
5674
5675 2002-08-06  Jerry James  <james@xemacs.org>
5676
5677         * window.c (Fsplit_window): Count only half of the divider width
5678         against the left window when splitting horizontally. 
5679
5680 2002-06-24  Andy Piper  <andy@xemacs.org>
5681
5682         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5683         toolbar was cleared.
5684
5685         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5686         function. Split out from mswindows_output_frame_toolbars.
5687         (mswindows_output_frame_toolbars): move clear pieces to
5688         mswindows_output_frame_toolbars.
5689
5690         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5691         out from gtk_output_frame_toolbars.
5692         (gtk_output_frame_toolbars): move clear pieces to
5693         gtk_clear_frame_toolbars.
5694
5695         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5696         the frame is cleared. How this ever worked before is a mystery.
5697         (x_output_frame_toolbars): Only output toolbars.
5698         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5699
5700         * gutter.c (update_gutter_geometry):
5701         Mark frame layout changed.
5702         (update_frame_gutter_geometry, update_frame_gutters):
5703         Respect frame_layout_changed.
5704
5705         * console.h (struct console_methods): add
5706         clear_frame_toolbars_method.
5707
5708         * redisplay.c (redisplay_frame): call
5709         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5710
5711         * toolbar.h: declare update_frame_toolbars_geometry.
5712
5713         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5714         out from update_frame_toolbars.  Call clear_frame_toolbars.
5715         (update_frame_toolbars): only output, do not change geometry.
5716
5717         * redisplay.c: add frame_layout_changed.
5718
5719         * redisplay.h: add frame_layout_changed.
5720         (CLASS_RESET_CHANGED_FLAGS): set it.
5721         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5722         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5723         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5724
5725         * device.h (struct device): add frame_layout_changed.
5726         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5727
5728         * frame.h (struct frame): add frame_layout_changed.
5729         (MARK_FRAME_LAYOUT_CHANGED): new.
5730
5731 2002-06-30  Mike Alexander  <mta@arbortext.com>
5732
5733         * event-msw.c (mswindows_need_event): Don't wait for a new message
5734         if the queue is not empty.  Suggested by Paul Moore.
5735
5736 2002-06-12  Andy Piper  <andy@xemacs.org>
5737
5738         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5739         for printing on accurately.
5740
5741 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5742
5743         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5744         WM_ACTIVATE message. Make sure that the frame is visible if the
5745         window is visible. This seemss to fix the problem where XEmacs
5746         appears to freeze after switching desktops with certain virtual
5747         window managers.
5748         (debug_output_mswin_message): Added code to output message
5749         parameters for WM_WINDOWPOSCHANGED, 
5750         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5751
5752 2002-05-25  Andy Piper  <andy@xemacs.org>
5753
5754         * select-x.c (vars_of_select_x): Fix docstring of
5755         x-selection-strict-motif-ownership
5756
5757 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5758
5759         * keymap.c (get_keymap):
5760         Add comment about do_autoload GCPROs own args.
5761
5762 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5763
5764         * bytecode.c (execute_optimized_program): check_opcode ifdef
5765         ERROR_CHECK_BYTE_CODE.
5766
5767 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5768
5769         Thanks to Ben Wing and Michael Sperber.
5770
5771         * eval.c (Fcommand_execute):
5772         (Feval):
5773         (Ffuncall):
5774         (Fmacroexpand_internal):
5775         (function_argcount):
5776         callint.c (Fcall_interactively):
5777         Add comment about do_autoload GCPROs own args.
5778
5779         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5780
5781         * eval.c (Ffuncall): Extra braces to placate GCC.
5782
5783 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5784
5785         * backtrace.h (grow_specpdl):
5786         (SPECPDL_RESERVE):
5787         * EmacsFrame.c (EmacsFrameSetValues):
5788         * eval.c (grow_specpdl):
5789         * ExternalShell.c (hack_event_masks_1):
5790         * glyphs-x.c (convert_EImage_to_XImage): 
5791         (x_finalize_image_instance):
5792         * ralloc.c (page_size):
5793         (r_alloc_sbrk):
5794         * xgccache.c (gc_cache_hash):
5795         Fix unsigned comparison warnings.
5796
5797 2002-07-29  Jerry James  <james@xemacs.org>
5798
5799         * lread.c (locate_file): Any nonnegative return value indicates
5800         success if MODE is nonnegative.
5801
5802 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5803
5804         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5805         argument. 
5806
5807 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5808
5809         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5810
5811         * dumper.c (pdump_get_indirect_count):
5812         (pdump_scan_by_alignment):
5813         (pdump_dump_root_struct_ptrs):
5814         (pdump_dump_rtables):
5815         (pdump_dump_root_objects):
5816         (pdump):
5817         * nas.c (WaveOpenDataForReading):
5818         * fns.c (print_bit_vector):
5819         * font-lock.c (SINGLE_SYNTAX_STYLE):
5820         * glyphs.c (check_for_ignored_expose):
5821         (find_matching_subwindow):
5822         * glyphs-eimage.c:
5823         * imgproc.c (get_histogram):
5824         * redisplay.c (point_in_line_start_cache):
5825         * redisplay-output.c (redisplay_unmap_subwindows):
5826         * symbols.c (defsymbol_massage_name_1):
5827         (defkeyword_massage_name):
5828         (deferror_massage_name_and_message):
5829         * redisplay-x.c (x_output_string): 
5830         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5831         * frame.h (struct frame):
5832         * filelock.c (current_lock_owner):
5833         * doprnt.c (emacs_doprnt_1):
5834         * lisp.h (struct Lisp_Bit_Vector):
5835         (DO_REALLOC):
5836         Fix warnings.
5837
5838 2002-02-13  Ben Wing  <ben@xemacs.org>
5839
5840         * event-stream.c (reset_key_echo):
5841         * event-stream.c (reset_this_command_keys):
5842         * event-stream.c (execute_command_event):
5843         If console is dead as a result of C-x 5 0, then post-command stuff
5844         needs to be careful and do only non-console-specific stuff.
5845
5846 2002-07-01  Mike Sperber <mike@xemacs.org>
5847
5848         * process-unix.c (unix_send_process): Mark coding_outstream as
5849         non-open upon SIGPIPE.
5850
5851         * event-stream.c (Fnext_event): Reorder switch cases to something
5852         that makes sense.
5853
5854 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5855
5856         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5857         Don't bogusly reinitialize ascii_character property.
5858
5859 2002-07-08  Mike Sperber <mike@xemacs.org>
5860
5861         * process.c (Fstart_process_internal): Do error checking before we
5862         fork off the child, so the child can't muck with the state of the
5863         parent.
5864
5865 2002-07-08  Mike Sperber <mike@xemacs.org>
5866
5867         * ralloc.c (init_ralloc): Allocate properly for pdump.
5868
5869 2002-06-12  Andy Piper  <andy@xemacs.org>
5870
5871         * glyphs.c (query_string_geometry): check the string.
5872
5873         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5874         widget names.
5875
5876 2002-06-17  Jerry James  <james@xemacs.org>
5877
5878         * sysdll.c: Remove RTLD_GLOBAL initialization.
5879         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5880
5881 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5882
5883         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5884
5885 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5886
5887         * sysdep.c (sys_rename): Make sys_rename work for the case where
5888         Windows rename sets errno to EACCES if target file exists.
5889
5890 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5891
5892         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5893         Fix detection of metric units to work on Win95
5894
5895 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5896
5897         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5898
5899 2002-04-25  Andy Piper  <andy@xemacs.org>
5900
5901         * redisplay.c (create_text_block): Remove extra comment trailer.
5902
5903 2002-04-24  Andy Piper  <andy@xemacs.org>
5904
5905         * redisplay.c (create_text_block): Don't actually add propagation
5906         data if the line ends after we have added a glyph.
5907
5908 2002-04-22  Andy Piper  <andy@xemacs.org>
5909
5910         * extents.c (extent_fragment_update): check for glyphs we have
5911         previously displayed.
5912         * extents.c (print_extent_1): warning removal.
5913         * extents.h: change prototype.
5914         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5915         widths correctly for wide glyphs.
5916         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5917         * redisplay.c (prop_type): add PROP_GLYPH.
5918         * redisplay.c (struct prop_block): add glyph type
5919         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5920         to the propagation data.
5921         * redisplay.c (create_text_block): if there is a glyph in the
5922         propagation data use it to salt extent_fragment_update.
5923         * redisplay.c (create_string_text_block): ditto.
5924
5925 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5926
5927         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5928         * redisplay-output.c (compare_runes): Compare them.
5929         * redisplay.c: Update copyright date.
5930         * redisplay.c (pos_data): Add need_baseline_computation field.
5931         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5932         need_baseline_computation; zero yoffset. Set max_pixmap_height
5933         for all pixmaps, not just automatically positioned ones.
5934         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5935         * redisplay.c (calculate_baseline): New, compute textual baseline.
5936         * redisplay.c (add_glyph_rune): Call them.
5937         * redisplay.c (create_text_block): Likewise.
5938         * redisplay.c (create_overlay_glyph_block): Likewise.
5939         * redisplay.c (add_margin_runes): Likewise.
5940         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5941
5942         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5943         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5944         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5945         * redisplay-msw.c (mswindows_output_string): Likewise.
5946         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5947         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5948         * redisplay-x.c (x_output_display_block): Likewise.
5949
5950 2002-03-28  Ben Wing  <ben@xemacs.org>
5951
5952         * redisplay.c: Fixed bug in redisplay
5953         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5954         and down of the lines, since they're bigger than the line
5955         size. (It was seen most obviously when there's a horizontal scroll
5956         bar, e.g. do C-h a glyph or something like that.) The problem was
5957         that the glyph-contrib-p setting on glyphs was ignored even if it
5958         was set properly, which it wasn't until now.
5959
5960 2002-04-24  Andy Piper  <andy@xemacs.org>
5961
5962         * lisp.h (Dynarr_end): Fix definition.
5963
5964 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5965
5966         * redisplay.c (mark_redisplay): Remove call to
5967         update_frame_window_mirror.
5968
5969 2001-11-15  Andy Piper  <andy@xemacs.org>
5970
5971         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5972         cygwin (again).
5973
5974 2002-02-13  Andy Piper  <andy@xemacs.org>
5975
5976         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5977         we did in fact enqueue the XM_MAPFRAME event.
5978
5979 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5980
5981         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5982         to fix problem switching between virtual desktops under virtuawin
5983         virtual window manager.
5984
5985 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5986
5987         * event-msw.c: Typo fix.
5988         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5989         magic XM_MAPFRAME event has been sent.
5990
5991 2001-11-23  Andy Piper  <andy@xemacs.org>
5992
5993         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5994
5995 2001-11-21  Andy Piper  <andy@xemacs.org>
5996
5997         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5998         mouse events outside the frame.
5999
6000 2002-03-20  Andy Piper  <andy@xemacs.org>
6001
6002         * menubar-msw.c (mswindows_popup_menu): warning removal.
6003         * dialog-msw.c (dialog_popped_down): ditto.
6004
6005 2001-12-11  Andy Piper  <andy@xemacs.org>
6006
6007         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6008         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6009         popup_up_p.
6010         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6011         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6012         * menubar-msw.c (mswindows_popup_menu): ditto.
6013
6014 2001-10-29  Andy Piper  <andy@xemacs.org>
6015
6016         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6017         cancels.
6018
6019 2002-01-03  Andy Piper  <andy@xemacs.org>
6020
6021         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6022         letters.
6023         (xrealpath): ditto.
6024
6025 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6026
6027         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6028         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6029         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6030         Detect and handle case where machine is set up for metric units
6031
6032 2002-04-02  Andy Piper  <andy@xemacs.org>
6033
6034         * dired-msw.c (mswindows_get_files): 
6035         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6036         completely handled by XEmacs. Suggested by Thomas Vogler
6037         <mail@thomas-vogler.de>.
6038
6039 2001-11-14  Andy Piper  <andy@xemacs.org>
6040
6041         * nt.c (REG_ROOT): change registry key to XEmacs.
6042
6043 2002-04-27  Andy Piper  <andy@xemacs.org>
6044
6045         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6046
6047 2002-04-26  Andy Piper  <andy@xemacs.org>
6048
6049         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6050         behavior.
6051
6052 2002-03-14  Mike Alexander  <mta@arbortext.com>
6053
6054         * event-msw.c (mswindows_unwait_process): New, remove process from
6055         wait list
6056         * process-nt.c (nt_finalize_process_data): Call
6057         mswindows_unwait_process
6058         * console-msw.h: Declare mswindows_unwait_process
6059
6060 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6061
6062         * editfns.c (Fdecode_time):
6063         (Fformat_time_string):
6064         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6065         (make_time): Warning elimination (change arg name).
6066
6067 2001-11-24  Andy Piper  <andy@xemacs.org>
6068
6069         * window.c (Fsplit_window): Doc return type.
6070
6071 2002-04-01  Andy Piper  <andy@xemacs.org>
6072
6073         * emacs.c (Fkill_emacs): Only output message box in interactive
6074         mode.
6075
6076 2002-04-26  Andy Piper  <andy@xemacs.org>
6077  
6078         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6079         cygwin.
6080
6081 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6082
6083         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6084         bit platform.
6085
6086 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6087
6088         * XEmacs 21.4.8 "Honest Recruiter" is released.
6089
6090 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6091
6092         Supersedes 2002-04-17 patch.
6093
6094         * process.h (PROCESS_LIVE_P): Use the process status as
6095         evidence of health, not the state of the input stream.
6096         (PROCESS_READABLE_P): Say if the process is readable
6097         from. (It may be dead nonetheless.)
6098         (CHECK_READABLE_PROCESS): Test for that condition.
6099
6100         * process.c (create_process): Use PROCESS_READABLE_P.
6101         (read_process_output, set_process_filter): Likewise.
6102
6103         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6104         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6105
6106         This code is #if 0'd, this is not the time to add new functions:
6107
6108         * process.c (Fprocess_readable_p): Report readability status.
6109         * process.c (Qprocess_readable_p): New, associated symbol...
6110         * process.c (syms_of_process): ... initialize it.
6111
6112 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6113
6114         * XEmacs 21.4.7 "Economic Science" is released.
6115
6116 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6117
6118         * process.h (PROCESS_LIVE_P): Use the process status as
6119         evidence of health, not the state of the input stream.
6120
6121 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6122
6123         * sysdep.c (sys_siglist): change "signum" to "signal"
6124
6125 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6126
6127         * s/darwin.h: New file.
6128         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6129         
6130 2002-04-23  Andreas Jaeger  <aj@suse.de>
6131
6132         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6133         which use lib64 for 64-bit libs.
6134         (START_FILES): Likewise.
6135
6136 2002-02-11  Mike Sperber  <mike@xemacs.org>
6137
6138         * device-x.c: 
6139         (x_IO_error_handler):
6140         (x_init_device): Temporarily keep device in static variable
6141         `device_being_initialized' so we can recover gracefully from
6142         internal XOpenDevice failure.  (XOpenDevice is documented to
6143         return NULL on failure, but sometimes calls the IO error handler
6144         instead.)
6145
6146 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6147
6148         * dired.c (Ffile_name_all_completions): Change documentation --
6149         remove reference to completion-ignored-extensions.
6150         * dired.c (vars_of_dired): Change documentation for
6151         completion-ignored-extensions -- remove reference to
6152         file-name-all-completions.
6153
6154 2002-03-06  Jerry James  <james@xemacs.org>
6155
6156         * emodules.c (emodules_load): Fix multiple loading of same module.
6157
6158 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6159         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6160         RTLD_LAZY to avoid incorrect symbol binding when using nested
6161         shared libraries on Solaris.
6162
6163 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6164
6165         * fileio.c (Ffind_file_name_handler): Improve docstring.
6166
6167 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6168
6169         * fns.c (Fmapconcat): Improve docstring.
6170
6171 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6172
6173         * device-gtk.c: Add prototype for
6174         emacs_gtk_selection_clear_event_handle.
6175         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6176         selection.  Setup signal handler for "selection_clear_event"
6177         (emacs_gtk_selection_clear_event_handle).
6178
6179         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6180         other applications owning the clipboard (based on
6181         x_handle_selection_clear).
6182
6183 2001-12-23  William M. Perry  <wmperry@gnu.org>
6184
6185         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6186         
6187 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6188
6189         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6190
6191 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6192
6193         * XEmacs 21.4.6 "Common Lisp" is released.
6194
6195 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6196
6197         * search.c (Freplace_match): Add missing sub-expression functionality.
6198
6199         * buffer.c (decode_buffer): Add a check for pointer type to
6200         decode_buffer, before gcc's CSE optimization reorders a
6201         dereference in front of the allow_string test.
6202
6203 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6204
6205         * window.c (window_loop): Fix bug that sometimes prevented
6206         window_loop() from iterating across multiple devices.  Also, at
6207         Ben's request, changed infloop-detecting code to abort() instead
6208         of silently terminating window_loop().
6209
6210 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6211
6212         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6213         * editfns.c (make_time): New function.
6214         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6215         * lisp.h (make_time): Prototype and comment it.
6216         * dired.c (wasteful_word_to_lisp): Deprecate.
6217         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6218
6219 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6220
6221         * fileio.c (auto_save_1): Use current coding system, not
6222         escape-quoted.
6223
6224 2001-11-13  Ben Wing  <ben@xemacs.org>
6225
6226         * window.c:
6227         * window.c (window_truncation_on):
6228         * window.c (syms_of_window):
6229         truncate-partial-width-windows should respect the buffer being
6230         displayed, like other redisplay vars.
6231
6232 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6233
6234         * event-stream.c (Fread_key_sequence): save current buffer.
6235
6236 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6237
6238         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6239
6240 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6241
6242         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6243
6244 2001-10-26  Mike Alexander  <mta@arbortext.com>
6245
6246         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6247
6248 2001-10-25  Andy Piper  <andy@xemacs.org>
6249
6250         * ChangeLog:
6251         * dialog-msw.c (handle_directory_proc): new function.
6252          (handle_directory_dialog_box): new fucntion.
6253          (handle_file_dialog_box): use new directory dialog support.
6254          (mswindows_make_dialog_box_internal): ditto.
6255         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6256         handling.
6257         (mswindows_find_frame): make global.
6258         * fileio.c (Fexpand_file_name): build fix.
6259         * general-slots.h: add Qdirectory.
6260         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6261         handling.
6262         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6263         cygwin not leaving win32 paths unchanged.
6264         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6265         cygwin runtime to do path conversion.
6266         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6267         (syms_of_win32): add new function.
6268         * window.c (window_loop): build fix.
6269
6270 2001-10-15  Andy Piper  <andy@xemacs.org>
6271
6272         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6273
6274 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6275
6276         * XEmacs 21.4.5 "Civil Service" is released.
6277
6278 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6279
6280         * glyphs-x.c: Force buffer-tab highlight update when moving the
6281         buffer, avoiding an ugly black border, used for keyboard focus
6282         indication, on a widget that can never have keyboard focus, the
6283         buffer tab.
6284
6285 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6286
6287         * process-unix.c (unix_open_multicast_group): Remove too much
6288         conversion between host and network byte order.
6289
6290 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6291
6292         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6293         before replacing them.
6294
6295         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6296         operation.
6297
6298         * src/window.c (undedicate_windows): Use it.
6299         * src/window.h: Add prototype.
6300
6301 2001-09-17  Ben Wing  <ben@xemacs.org>
6302
6303         * fileio.c (normalize_filename):
6304         * fileio.c (Fexpand_file_name):
6305         Fix various C++ compile errors in Andy's recent code.
6306         
6307         * callint.c (Fcall_interactively):
6308         * editfns.c (Ftemp_directory):
6309         * editfns.c (Fuser_full_name):
6310         * emacs.c (argmatch):
6311         * lread.c (locate_file_map_suffixes):
6312         * redisplay-x.c (x_ring_bell):
6313         Fix sign-compare warnings.
6314         
6315 2001-09-08  Andy Piper  <andy@xemacs.org>
6316
6317         * fileio.c (normalize_filename): copied from nt.c
6318         * (Ffile_name_directory): enable win32 paths under cygwin.
6319         * (Ffile_name_nondirectory): ditto.
6320         * (directory_file_name): ditto.
6321         * (Fexpand_file_name): ditto.
6322         * (Ffile_truename): ditto.
6323         * (Fsubstitute_in_file_name): ditto.
6324         * (Ffile_name_absolute_p): ditto.
6325         * (Ffile_readable_p): ditto.
6326
6327 2001-09-08  Andy Piper  <andy@xemacs.org>
6328
6329         * device-msw.c (mswindows_finish_init_device): remove dde
6330         initialization.
6331         * device-msw.c (mswindows_init_dde): factor out from
6332         mswindows_finish_init_device()
6333         * device-msw.c (init_mswindows_very_early): new function
6334         initialize but don't enable dde.
6335         * emacs.c (main_1): call init_mswindows_very_early.
6336         * event-msw.c:
6337         * event-msw.c (mswindows_dde_callback): only execute when we are
6338         ready.
6339         * symsinit.h: declare init_mswindows_very_early.
6340
6341 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6342
6343         [sjt: This has been in 21.5 for months with no complaints.]
6344
6345         * console.h (struct console_methods): Added flags member.
6346         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6347         (CONMETH_IMPL_FLAG):
6348         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6349         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6350
6351         * device.c (window_system_pixelated_geometry): Use the above macros.
6352
6353         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6354         implememntation flag.
6355         * device.h (DEVICE_DISPLAY_P): Use it.
6356
6357         * frame.c (delete_frame_internal): Use the above macro.
6358
6359         * redisplay.c (redisplay_device): Use it.
6360         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6361         (redisplay_frame): Ditto.
6362
6363         * device-msw.c (mswindows_device_implementation_flags): Removed.
6364         (msprinter_device_implementation_flags): Removed.
6365         (console_type_create_device_mswindows): Removed references to
6366         implementation_flags methods, set implementation flags here.
6367         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6368
6369         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6370         (console_type_create_device_gtk): Removed method declaration.
6371         Added commented out statement which semantically matches the
6372         commented out statement in the above removed method.
6373
6374 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6375
6376         The attached patch fixes a few warnings. 
6377
6378         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6379         * src/frame-gtk.c: guard against GNOME calls in GTK only
6380         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6381         * src/select-gtk.c: prototype lisp_to_time
6382
6383 2001-06-08  Ben Wing  <ben@xemacs.org>
6384
6385         ------ gc-in-window-procedure fixes ------
6386         
6387         * alloc.c:
6388         * alloc.c (struct post_gc_action):
6389         * alloc.c (register_post_gc_action):
6390         * alloc.c (run_post_gc_actions):
6391         * alloc.c (garbage_collect_1):
6392         Create "post-gc actions", to avoid those dreaded "GC during window
6393         procedure" problems.
6394
6395         * event-msw.c:
6396         Abort, clean and simple, when GC in window procedure.  We want
6397         to flush these puppies out.
6398
6399         * glyphs-msw.c:
6400         * glyphs-msw.c (finalize_destroy_window):
6401         * glyphs-msw.c (mswindows_finalize_image_instance):
6402         Use a post-gc action when destroying subwindows.
6403
6404         * lisp.h:
6405         Declare register_post_gc_action().
6406
6407         * scrollbar-msw.c:
6408         * scrollbar-msw.c (unshow_that_mofo):
6409         Use a post-gc action when unshowing scrollbar windows, if in gc.
6410
6411         * redisplay.c (mark_redisplay):
6412         Add comment about the utter evilness of what's going down here.
6413
6414         ------ cygwin setitimer fixes ------
6415         
6416         * Makefile.in.in (sheap_objs):
6417         * Makefile.in.in (profile_objs):
6418         * Makefile.in.in (objs):
6419         Compile profile.c only when HAVE_SETITIMER.
6420         
6421         * nt.c (mswindows_sigset):
6422         * nt.c (mswindows_sighold):
6423         * nt.c (mswindows_sigrelse):
6424         * nt.c (mswindows_sigpause):
6425         * nt.c (mswindows_raise):
6426         * nt.c (close_file_data):
6427         Style fixes.
6428         
6429         * nt.c:
6430         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6431         
6432         * profile.c:
6433         * profile.c (Fstart_profiling):
6434         * profile.c (Fstop_profiling):
6435         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6436         instead of just plain setitimer().
6437         
6438         * signal.c:
6439         * signal.c (set_one_shot_timer):
6440         * signal.c (alarm):
6441         Define qxe_setitimer() as an encapsulation around setitimer() --
6442         call setitimer() directly unless Cygwin or MS Win, in which case
6443         we use our simulated version in win32.c.
6444         
6445         * systime.h:
6446         * systime.h (struct itimerval):
6447         * systime.h (ITIMER_REAL):
6448         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6449         comment about "qxe" and the policy regarding encapsulation.
6450
6451         * win32.c:
6452         * win32.c (setitimer_helper_proc):
6453         * win32.c (setitimer_helper_period):
6454         * win32.c (setitimer_helper):
6455         * win32.c (mswindows_setitimer):
6456         Move setitimer() emulation here, so Cygwin can use it.
6457         Rename a couple of functions and variables to be longer and more
6458         descriptive.  In setitimer_helper_proc(), send the signal
6459         using either mswindows_raise() or (on Cygwin) kill().  If for
6460         some reason we are still getting lockups, we'll change the kill()
6461         to directly invoke the signal handlers.
6462
6463         ------ windows shell fixes ------
6464         
6465         * callproc.c:
6466         * ntproc.c:
6467         Comments about how these two files must die.
6468
6469         * callproc.c (init_callproc):
6470         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6471         not just COMSPEC. (more correct and closer to FSF.) Don't
6472         force a value for SHELL into the environment. (Comments added
6473         to explain why not.)
6474         
6475         * nt.c (init_user_info):
6476         Don't shove a fabricated SHELL into the environment.  See above.
6477
6478 2001-06-01  Ben Wing  <ben@xemacs.org>
6479
6480         * Makefile.in.in (ldflags):
6481         eliminate that pesky "defaulting to 00401000" warning.
6482         * nt.h:
6483         eliminate warnings.
6484
6485 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6486
6487         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6488         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6489
6490 2001-04-24  Jerry James <james@xemacs.org>
6491
6492         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6493         correct order.
6494
6495 2001-06-01  Ben Wing  <ben@xemacs.org>
6496
6497         * event-msw.c (debug_mswin_messages):
6498         conditionalize the messages that were causing compile errors.
6499         (if only macros could generate #ifdef statements ...)
6500
6501 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6502
6503         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6504
6505 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6506
6507         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6508
6509 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6510
6511         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6512         * process-unix.c (unix_canonicalize_host_name):
6513         sysdep.c (init_system_name):
6514         Use it to conditionally support IPv6 canonicalization.
6515
6516 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6517
6518         * event-msw.c:
6519         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6520
6521 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6522
6523         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6524         attempt is made to scroll when no scroll bar is available.
6525
6526 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6527
6528         * input-method-motif.c (XIM_delete_frame): New callback.
6529         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6530         got deleted from 21.4.3.)
6531
6532 2001-06-01  Ben Wing  <ben@xemacs.org>
6533
6534         * nt.c (mswindows_utime):
6535         * nt.c (close_file_data):
6536         fix off-by-one-indirection error.
6537
6538 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6539
6540         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6541         because set_file_times() now takes Lisp_Object path, instead of
6542         char*.
6543         * nt.c: Include buffer.h.
6544         * nt.c (convert_from_time_t): New.
6545         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6546         not set mtime correctly.
6547         * nt.h: Declare mswindows_utime().
6548         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6549         path, instead of char*.
6550         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6551
6552 2001-05-30  Ben Wing  <ben@xemacs.org>
6553
6554         For 21.4:
6555
6556         (Stephen, just take all event-msw.c patches.  This includes
6557         the "iconify" fix below.)
6558
6559         * event-msw.c:
6560         * event-msw.c (mswindows_dequeue_dispatch_event):
6561         * event-msw.c (assert):
6562         * event-msw.c (emacs_mswindows_quit_p):
6563         * event-msw.c (debug_mswin_messages):
6564         * event-msw.c (debug_output_mswin_message):
6565         * event-msw.c (vars_of_event_mswindows):
6566         Fix yet more problems with C-g handling.
6567         Implement debug-mswindows-events.
6568         
6569 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6570
6571         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6572         
6573 2001-05-23  Ben Wing  <ben@xemacs.org>
6574
6575         * event-msw.c (winsock_writer):
6576         * event-msw.c (winsock_closer):
6577         prior kludgy code was clobbering the buffer, thinking it was
6578         "unused" space to store an unneeded return value; instead, use
6579         the variable we've already got staring us in the face.
6580
6581 2001-05-17  Andy Piper  <andy@xemacs.org>
6582
6583         * sysfile.h: don't assume that file attributes are boolean
6584
6585 2001-05-23  Ben Wing  <ben@xemacs.org>
6586
6587         * device-msw.c (msprinter_init_device):
6588         signal an error rather than crash with an unavailable network
6589         printer (from Mike Alexander).
6590         
6591         * event-msw.c:
6592         * event-msw.c (struct winsock_stream):
6593         * event-msw.c (winsock_writer):
6594         * event-msw.c (winsock_closer):
6595         * event-msw.c (make_winsock_stream_1):
6596         cleanup headers.  fix (hopefully) an error with data corruption
6597         when sending to a network connection.
6598
6599         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6600         to handle the ~user prefix by (a) always assuming we're referencing
6601         ourselves and not even verifying the user -- hence any file with
6602         a tilde as its first char is invalid! (b) if there wasn't a slash
6603         following the filename, the pointer was set *past* the end of
6604         file and we started reading from uninitialized memory.  Now we
6605         simply treat these as files, always.
6606
6607         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6608         
6609 2001-05-19  Ben Wing  <ben@xemacs.org>
6610
6611         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6612
6613         * process-nt.c:
6614         * process-nt.c (vars_of_process_nt):
6615         remove unused mswindows-quote-process-args.  rec for 21.4.
6616         
6617 2001-05-12  Ben Wing  <ben@xemacs.org>
6618
6619         * event-msw.c (mswindows_dde_callback):
6620         * event-msw.c (mswindows_wnd_proc):
6621         eliminate cygwin warnings.
6622
6623 2001-05-06  Ben Wing  <ben@xemacs.org>
6624
6625         * console-msw.h:
6626         * device-msw.c:
6627         * device-msw.c (print_dialog_worker):
6628         * device-msw.c (mswindows_handle_print_dialog_box):
6629         * device-msw.c (syms_of_device_mswindows):
6630         * dialog-msw.c (mswindows_make_dialog_box_internal):
6631         * general-slots.h:
6632         implement printing the selection when it's selected.
6633
6634 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6635
6636         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6637
6638 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6639
6640         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6641         EMACS_INT is signed.
6642
6643 2001-04-15  Michael Lausch  <mla@1012surf.net>
6644
6645         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6646         gtk_widget_request_size() to give scrollbar >0 width for
6647         GTK >1.2.8.
6648
6649 2001-05-30  William M. Perry  <wmperry@gnu.org>
6650
6651         * event-gtk.c: Check for buttons as modifier keys.
6652
6653 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6654
6655         * s\mingw32.h:
6656         Properly find MinGW's <process.h> inside Cygwin's restructured
6657         include directories.  Don't try to include <cygwin/version.h>
6658         since we are dropping support for MinGW in versions of Cygwin
6659         earlier than b21.
6660         * nt.c:
6661         Drop support for MinGW in versions of Cygwin before b21.
6662         * sysdep.c:
6663         Properly find MinGW's <process.h> inside Cygwin's restructured
6664         include directories.
6665         * syswindows.h:
6666         Drop support for MinGW in versions of Cygwin before b21.
6667         * unexcw.c:
6668         Even though a.out.h is no longer detected by configure, allow
6669         MinGW to use it until we figure out how to do the job with Win32.
6670
6671 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6672
6673         * syntax.c (find_start_of_comment):
6674         Fix `unbalanced parentheses' bug when dealing with mixed comment
6675         styles in c++/java/etc. mode
6676
6677 2001-05-29  Mike Alexander  <mta@arbortext.com>
6678
6679         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6680         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6681
6682 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6683
6684         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6685
6686 2001-03-31  Mike Sperber <mike@xemacs.org>
6687
6688         * search.c (Freplace_match): Support FSF-style specification of
6689         match subexpression when applied to a buffer.
6690
6691 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6692
6693         * event-stream.c (is_scrollbar_event): add missing semicolon
6694
6695 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6696
6697         * Makefile.in.in: Use TAR macro instead of hardcoding
6698           tar.  Allows use of GNU tar instead of system tar
6699
6700 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6701
6702         * event-stream.c (is_scrollbar_event): add missing semicolon
6703
6704 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6705
6706         * XEmacs 21.4.3 "Academic Rigor" is released.
6707
6708 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6709
6710         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6711
6712 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6713
6714         * buffer.c (Vcase_fold_search): Remove obsolete
6715           comment about non ASCII case-fold-search.  This
6716           bug has been fixed by case-table changes.
6717
6718 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6719
6720         * event-msw.c: Restore include of events-mod.h.
6721
6722 2001-04-22   zhaoway  <zw@debian.org>
6723
6724         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6725         !HAVE_SCROLLBARS.
6726
6727 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6728
6729         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6730
6731 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6732
6733         * mule-charset.c (Fmake_charset): Add missing else.
6734
6735 2001-04-23  Ben Wing  <ben@xemacs.org>
6736
6737         * event-msw.c (FAKE_MOD_QUIT):
6738         * event-msw.c (mswindows_dequeue_dispatch_event):
6739         * event-msw.c (mswindows_wnd_proc):
6740         * event-msw.c (emacs_mswindows_quit_p):
6741         Get critical quit working.
6742
6743 2001-05-05  Ben Wing  <ben@xemacs.org>
6744
6745         * console-msw.h:
6746         * device-msw.c:
6747         * device-msw.c (mswindows_get_default_margin):
6748         * frame-msw.c (mswindows_size_frame_internal):
6749         * frame-msw.c (msprinter_init_frame_1):
6750         * frame-msw.c (vars_of_frame_mswindows):
6751         Change top/bottom margin defaults to 0.5 inches.
6752
6753 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6754
6755         Fix link error with gcc 3.0 on Linux.
6756         * terminfo.c (UP): Remove.
6757         * terminfo.c (BC): Remove.
6758         * terminfo.c (PC): Remove.
6759         They weren't used, and in any case, these symbols should be
6760         defined in the *library*.
6761
6762 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6763
6764         * s/aix4.h: Fix crash with xlc -O3.
6765         Improve comment explaining how -O3 works.
6766
6767 2001-04-15  Ben Wing  <ben@xemacs.org>
6768
6769         * event-stream.c:
6770         * event-stream.c (Fnext_event):
6771         * event-stream.c (is_scrollbar_event):
6772         * event-stream.c (execute_command_event):
6773         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6774         crash' problem.  His fix introduces other problems.  We filter
6775         out scrollbar events specifically, making them somewhat invisible
6776         to command-building, and not appearing in `this-command-keys'.
6777         More work is still needed (see comments in event-stream.c), but
6778         this fixes all the major problems.
6779
6780 2001-04-20  Ben Wing  <ben@xemacs.org>
6781
6782         * .cvsignore: Added stuff for Windows.
6783
6784 2001-04-28  Ben Wing  <ben@xemacs.org>
6785
6786         * buffer.c (Ferase_buffer):
6787         * editfns.c (buffer_insert1):
6788         * editfns.c (Finsert_before_markers):
6789         * editfns.c (Finsert_string):
6790         * editfns.c (Finsert_char):
6791         * editfns.c (Fdelete_region):
6792         * editfns.c (Fwiden):
6793         * editfns.c (Fnarrow_to_region):
6794         remove bogus lines setting zmacs_region_stays to 0.
6795         
6796 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6797
6798         * process-unix.c (unix_open_network_stream): If connect() fails
6799         invalidate file descriptor after closing it.
6800
6801 2001-03-08  Mike Alexander  <mta@arbortext.com>
6802
6803         * event-msw.c (mswindows_need_event_in_modal_loop):
6804         Don't dispatch a message if we didn't get one.
6805         (mswindows_need_event):
6806         Terminate the correct process when one exits instead of the first
6807         one on Vprocess_list and look for process termination when in
6808         mswindows_protect_modal_loop.
6809
6810 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6811
6812         * XEmacs 21.4.1 "Copyleft" is released.
6813
6814 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6815
6816         * input-method-motif.c (XIM_delete_frame): New callback.
6817         (XIM_init_frame): Register it.
6818
6819 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6820
6821         * XEmacs 21.4.0 "Solid Vapor" is released.
6822
6823 2001-04-15  Ben Wing  <ben@xemacs.org>
6824
6825         * cmdloop.c (call_command_loop):
6826         Fix braino in bit-rotting code.
6827         
6828 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6829
6830         * extents.c (Fset_extent_endpoints): Force creation of extent info
6831         in buffer_or_string.
6832
6833         * extents.c (process_extents_for_insertion_mapper): Correctly
6834         check for open-open zero-length extents.
6835
6836 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6837
6838         * lisp.h: New typedefs Memory_count, Element_count.
6839         * regex.c:
6840         * regex.h:
6841         Sign-compare warning elimination: several unsigned -> signed.
6842         Based on work by Ben Wing <ben@xemacs.org>.
6843
6844 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6845
6846         * XEmacs 21.2.47 "Zephir" is released.
6847
6848 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6849
6850         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6851
6852 2001-04-03  Mike Sperber <mike@xemacs.org>
6853
6854         * search.c: Revert previous patch due because of release.
6855
6856 2001-03-30  Ben Wing  <ben@xemacs.org>
6857
6858         * s\cygwin32.h:
6859         Add missing killpg prototype.
6860
6861         * elhash.c:
6862         Add a comment about fixing problems when a new entry is added
6863         while mapping.
6864
6865         * frame-msw.c (mswindows_init_frame_1):
6866         Fix compile warnings.
6867
6868         * menubar.c (vars_of_menubar):
6869         Provide `menu-accelerator-support' to indicate that we properly
6870         support %_ in menu specifications, so that package code can
6871         conditionalize on this (and remove %_ from menu specifications
6872         on older versions).
6873
6874         * event-msw.c:
6875         * scrollbar-msw.c:
6876         * scrollbar-msw.c (can_scroll):
6877         * scrollbar-msw.h:
6878         Fix handling of mouse wheel under Windows to follow standards --
6879         now scrolls window under pointer, not selected window.
6880
6881 2001-03-31  Mike Sperber <mike@xemacs.org>
6882
6883         * search.c (Freplace_match): Support FSF-style specification of
6884         match subexpression when applied to a buffer.
6885
6886 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6887
6888         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6889         function to modify KEYMAP, so map over a copy of the hash table.
6890
6891 2001-03-21  Martin Buchholz <martin@xemacs.org>
6892
6893         * XEmacs 21.2.46 "Urania" is released.
6894
6895 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6896
6897         * realpath.c (xrealpath): Make file-truename work with symlinks to
6898         /cygdrive paths on cygwin. Always lowercase drive-letters on
6899         native windows.
6900         (cygwin_readlink): Don't try to find canonical filename unless
6901         file exists.
6902
6903 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6904
6905         * ChangeLog: Log GTK merge.
6906
6907         * dumper.c:
6908         * select-x.c:
6909         * specifier.c:
6910         * symeval.h:
6911         Revert gratuitous whitespace changes from GTK merge.
6912
6913         * emacs.c: Document end of complex #ifdef @ l. 1495.
6914
6915
6916 2001-03-12  Andy Piper  <andy@xemacs.org>
6917
6918         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6919         have to do likewise.
6920
6921 2001-03-12  Andy Piper  <andy@xemacs.org>
6922
6923         * sysdep.c: we only support mingw now.
6924
6925 2001-03-09  Andy Piper  <andy@xemacs.org>
6926
6927         * unexcw.c (copy_executable_and_dump_data_section): making approx
6928         overrun a warning only.
6929
6930 2001-03-10  William M. Perry  <wmperry@aventail.com>
6931
6932         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6933         satisfy Stephen's identical-after-cpp plea.
6934
6935 2001-03-02  Ben Wing  <ben@xemacs.org>
6936
6937         * cmds.c:
6938         * cmds.c (Fforward_char):
6939         * syntax.c:
6940         * window.c:
6941
6942         Augment documentation of the most common motion commands to make
6943         note of the shifted-motion support.
6944         
6945 2001-03-02  Ben Wing  <ben@xemacs.org>
6946
6947         * nt.c (mswindows_fstat):
6948         * nt.c (mswindows_stat):
6949         * search.c (boyer_moore):
6950         Fix compile warnings under Windows.
6951         
6952         * sysdep.c (sys_readdir):
6953         Fix buggy filename-conversion code under Mule.
6954
6955 2001-03-09  William M. Perry  <wmperry@aventail.com>
6956
6957         * Makefile.in.in:
6958         * config.h.in:
6959         * console.c:
6960         * console.h:
6961         * device.c:
6962         * device.h:
6963         * dragdrop.c:
6964         * emacs.c:
6965         * event-stream.c:
6966         * events.c:
6967         * events.h:
6968         * faces.c:
6969         * frame.h:
6970         * general-slots.h:
6971         * glyphs.c:
6972         * gutter.c:
6973         * inline.c:
6974         * lisp.h:
6975         * lrecord.h:
6976         * make-src-depend:
6977         * redisplay-output.c:
6978         * redisplay.c:
6979         * symsinit.h:
6980         * sysfile.h:
6981         * toolbar.c:
6982         * window.c:
6983         The Great GTK Merge.
6984
6985         * ChangeLog.GTK:
6986         * console-gtk.c:
6987         * console-gtk.h:
6988         * device-gtk.c:
6989         * emacs-marshals.c:
6990         * emacs-widget-accessors.c:
6991         * event-gtk.c:
6992         * frame-gtk.c:
6993         * gccache-gtk.c:
6994         * gccache-gtk.h:
6995         * glade.c:
6996         * glyphs-gtk.c:
6997         * glyphs-gtk.h:
6998         * gtk-glue.c:
6999         * gtk-xemacs.c:
7000         * gtk-xemacs.h:
7001         * gui-gtk.c:
7002         * gui-gtk.h:
7003         * menubar-gtk.c:
7004         * native-gtk-toolbar.c:
7005         * objects-gtk.c:
7006         * objects-gtk.h:
7007         * redisplay-gtk.c:
7008         * scrollbar-gtk.c:
7009         * scrollbar-gtk.h:
7010         * select-gtk.c:
7011         * toolbar-gtk.c:
7012         * ui-byhand.c:
7013         * ui-gtk.c:
7014         * ui-gtk.h:
7015         The Great GTK Merge: new files.
7016
7017 2001-02-26  Ben Wing  <ben@xemacs.org>
7018
7019         Reapplied Lstream change.
7020
7021 2001-02-26  Ben Wing  <ben@xemacs.org>
7022
7023         Undid the last change, since it is more controversial than I
7024         thought.  It should be back in at some point soon.
7025         
7026 2001-02-25  Ben Wing  <ben@xemacs.org>
7027
7028         * buffer.c:
7029         * callproc.c (Fold_call_process_internal):
7030         * event-msw.c (ntpipe_slurp_reader):
7031         * event-msw.c (ntpipe_shove_writer):
7032         * event-msw.c (winsock_reader):
7033         * event-msw.c (winsock_writer):
7034         * file-coding.c:
7035         * file-coding.c (detect_eol_type):
7036         * file-coding.c (detect_coding_type):
7037         * file-coding.c (determine_real_coding_system):
7038         * file-coding.c (Fdetect_coding_region):
7039         * file-coding.c (decoding_reader):
7040         * file-coding.c (decoding_writer):
7041         * file-coding.c (mule_decode):
7042         * file-coding.c (Fdecode_coding_region):
7043         * file-coding.c (encoding_reader):
7044         * file-coding.c (encoding_writer):
7045         * file-coding.c (mule_encode):
7046         * file-coding.c (Fencode_coding_region):
7047         * file-coding.c (detect_coding_sjis):
7048         * file-coding.c (decode_coding_sjis):
7049         * file-coding.c (encode_coding_sjis):
7050         * file-coding.c (detect_coding_big5):
7051         * file-coding.c (decode_coding_big5):
7052         * file-coding.c (encode_coding_big5):
7053         * file-coding.c (detect_coding_ucs4):
7054         * file-coding.c (decode_coding_ucs4):
7055         * file-coding.c (encode_coding_ucs4):
7056         * file-coding.c (detect_coding_utf8):
7057         * file-coding.c (decode_coding_utf8):
7058         * file-coding.c (encode_coding_utf8):
7059         * file-coding.c (detect_coding_iso2022):
7060         * file-coding.c (decode_coding_iso2022):
7061         * file-coding.c (encode_coding_iso2022):
7062         * file-coding.c (decode_coding_no_conversion):
7063         * file-coding.c (encode_coding_no_conversion):
7064         * glyphs-x.c (write_lisp_string_to_temp_file):
7065         * gpmevent.c (tty_get_foreign_selection):
7066         * lisp.h:
7067         * lstream.c:
7068         * lstream.c (Lstream_flush_out):
7069         * lstream.c (Lstream_adding):
7070         * lstream.c (Lstream_write_1):
7071         * lstream.c (Lstream_write):
7072         * lstream.c (Lstream_raw_read):
7073         * lstream.c (Lstream_read_more):
7074         * lstream.c (Lstream_read):
7075         * lstream.c (Lstream_unread):
7076         * lstream.c (Lstream_fputc):
7077         * lstream.c (stdio_reader):
7078         * lstream.c (stdio_writer):
7079         * lstream.c (filedesc_reader):
7080         * lstream.c (filedesc_writer):
7081         * lstream.c (lisp_string_reader):
7082         * lstream.c (struct fixed_buffer_stream):
7083         * lstream.c (make_fixed_buffer_input_stream):
7084         * lstream.c (make_fixed_buffer_output_stream):
7085         * lstream.c (fixed_buffer_reader):
7086         * lstream.c (fixed_buffer_writer):
7087         * lstream.c (struct resizing_buffer_stream):
7088         * lstream.c (resizing_buffer_writer):
7089         * lstream.c (dynarr_writer):
7090         * lstream.c (lisp_buffer_reader):
7091         * lstream.c (lisp_buffer_writer):
7092         * lstream.h:
7093         * lstream.h (lstream_implementation):
7094         * lstream.h (struct lstream):
7095         * md5.c (Fmd5):
7096         * process-nt.c (nt_send_process):
7097         * process-unix.c (unix_send_process):
7098         
7099         Correct Lstream lossage due to mixing of signed and unsigned
7100         quantities.  All Lstream uses of size_t and ssize_t are now a
7101         single signed data type Lstream_data_count.  This fixes problems
7102         under Windows with sending large quantities of data to a process,
7103         and may well fix other subtle bugs.
7104
7105 2001-02-23  Martin Buchholz <martin@xemacs.org>
7106
7107         * XEmacs 21.2.45 "Thelxepeia" is released.
7108
7109 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7110
7111         * lisp-union.h (XSETINT): 
7112         (XSETCHAR):
7113         (XSETOBJ): 
7114         Reverse previous change of 2001-02-06.
7115
7116 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7117
7118         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7119         buffers.
7120         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7121         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7122         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7123         * regex.c (POS_AS_IN_BUFFER): removed
7124         * regex.c (re_search_2):
7125         * regex.c (re_match_2):
7126         Don't use an offset of 1 when calculating buffer positions, since
7127         `BI_BUF_BEGV' does it already.
7128
7129 2001-02-18  Wim Dumon  <wim@easics.be>
7130
7131         * insdel.c (prepare_to_modify_buffer): Also check for
7132         supersession when clash-detection is enabled. 
7133
7134 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7135
7136         * regex.c (re_match_2_internal):
7137         Convert temp characters from 'const unsigned char' to 're_char'.
7138         Fix crashing bug with extended characters under mule.
7139         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7140         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7141         font-lock, pdump, and new syntax-table code.
7142         * syntax.c (find_start_of_comment):
7143         (find_end_of_comment):
7144         (forward-comment):
7145         Fix crashing bugs involving moving beyond end of buffer.
7146         * syntax.c (find_start_of_comment):
7147         Fixed logic to allow proper detection of cases where the same
7148         character is used to end both a two-char comment start and a
7149         two-char comment end sequence. Fixes `(forward-comment -1)'.
7150         * syntax.c (find_start_of_comment):
7151         Return position just past last comment-end character for all cases
7152         (previously was only done for two-char comment-end sequences).
7153         * syntax.c (forward-comment):
7154         Take value returned from `find_end_of_comment', rather than
7155         incrementing it.
7156         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7157         Properly deal with BUFFERP (syntax_cache.object)
7158
7159 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7160
7161         * alloc.c (Fgarbage_collect): 
7162         * alloc.c (make_bit_vector_from_byte_vector):
7163         -Wsign-compare-correctness.
7164
7165 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7166
7167         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7168         (XSETCHAR): Likewise.
7169         (XSETOBJ): Likewise.
7170
7171 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7172
7173         * mule-canna.c (canna-func-delete_previous): 
7174         Rename to canna-func-delete-previous.
7175
7176 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7177
7178         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7179
7180 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7181
7182         * font-lock.c (find_context): Fix C++ compile errors introduced by
7183         recent patch
7184
7185 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7186
7187         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7188         pragma, but earlier ones barf on the same pragma.
7189
7190 2001-02-06  Mike Sperber <mike@xemacs.org>
7191
7192         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7193         `configure-mule-lisp-directory'.
7194
7195 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7196
7197         Make sure dump-id.c is compiled in the same way as other .c's.
7198         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7199         * dump-id.h: Remove.
7200         * emacs.c: Move dump-id.h into dumper.h.
7201         * dumper.h: Move dump-id.h into dumper.h.
7202         * Makefile.in.in:
7203         Use standard .c.o rule for building dump-id.o.
7204         Remove preprocessor flags from link command.
7205         Add dump-id.o to ${otherobjs} if PDUMP.
7206
7207 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7208
7209         Port FSF 20.7 syntax table improvements.
7210         * syntax.c.
7211         * syntax.h.
7212
7213         Fixups for new syntax table stuff.
7214         * dired.c: Include syntax.c.
7215         (Fdirectory_files): Initialize regex_match_object and
7216         regex_emacs_buffer.
7217         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7218         and Fget_char_property.
7219
7220         Use ported FSF 20.7 syntax table improvements.
7221         * font-lock.c.
7222         * regex.c.
7223         * search.c.
7224         
7225 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7226
7227         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7228         Unixware's enum boolean from sys/types.h.
7229
7230 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7231
7232         Fix support for building with latest Purify.
7233         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7234         (PURIFY_FLAGS): Likewise.
7235
7236 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7237
7238         * fileio.c (lisp_string_set_file_times): New.
7239         * fileio.c (Fcopy_file): Use it.
7240         Fixes bug:
7241         (copy-file filename non-ascii-filename t t)
7242         ==> No such file or directory, non-ascii-filename
7243
7244 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7245
7246         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7247         USHRT_MAX seems clearer than ~0 anyways.
7248
7249 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7250
7251         dumper improvements.  Inspired by Olivier.
7252         * dumper.c (pdump_max_align): New.
7253         * dumper.c (pdump_add_entry): Use pdump_max_align.
7254         * dumper.c (pdump_get_entry_list): Likewise.
7255         * dumper.c (pdump_scan_by_alignment): Likewise.
7256         Don't iterate through unnecessary alignments.
7257         * dumper.c (pdump_file_get): No need to align result of malloc().
7258         * dumper.c (pdump_mallocadr): Remove.  
7259         The result of malloc() is guaranteed to be maximally aligned.
7260         * dumper.c: s/elmt/elt/g;
7261         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7262         * dumper.c (pdump_alert_undump_object): Likewise.
7263         * dumper.c (pdump_align_table): 
7264         Don't support alignments > 64.
7265         Store ALIGNOF's, not shift counts, in table.
7266
7267 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7268
7269         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7270         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7271         * systime.h: Use HAVE_UTIME.
7272         * sysdep.c (struct utimbuf): Remove.
7273         * sysdep.c (set_file_times): Prefer utime() to utimes().
7274         * config.h.in (HAVE_UTIME): New.
7275         * config.h.in (HAVE_UTIME_H): Remove.
7276         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7277
7278 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7279
7280         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7281
7282 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7283
7284         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7285
7286 2001-02-08  Martin Buchholz <martin@xemacs.org>
7287
7288         * XEmacs 21.2.44 "Thalia" is released.
7289
7290 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7291
7292         Fixes crashes in kill-emacs on some systems.
7293         * process-unix.c (unix_kill_child_process):
7294         It's OK for kill() to fail with ESRCH.
7295
7296 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7297
7298         Contortions to make .gdbinit tricks work on most systems.
7299         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7300         * alloc.c (dbg_valmask): Make non-const.
7301         * alloc.c (dbg_typemask): Make non-const.
7302         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7303         * alloc.c (dbg_valbits): Make non-const.
7304         * alloc.c (dbg_gctypebits): Make non-const.
7305         * .gdbinit (decode_object): Make it work with AIX cc.
7306
7307 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7308
7309         * elhash.c (make_general_lisp_hash_table):
7310         Use simpler and more efficient calloc to clear entries.
7311
7312 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7313
7314         * window.c (window_scroll): Work around an AIX C compiler bug.
7315         Fixes 'scroll-up' does nothing problem with xlC.
7316
7317 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7318
7319         * .gdbinit: Remove obsolete comment.
7320
7321 2001-01-31  Mike Alexander  <mta@arbortext.com>
7322
7323         * select.c (Fown_selection_internal): Set owned_p for device
7324         method correctly.
7325
7326 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7327
7328         Port to g++ 2.97.
7329         "not" cannot be used as a macro name as it is an operator in C++
7330         * config.h.in: Stop #defining `not'.
7331         * chartab.c (check_category_char): not ==> not_p
7332         * chartab.h: Likewise.
7333         * regex.c (re_match_2_internal): Likewise.
7334
7335 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7336
7337         * lisp-disunion.h: Fix up comments.
7338
7339 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7340
7341         * keymap.c (define_key_check_and_coerce_keysym):
7342         (syms_of_keymap):
7343         Support mouse-6 and mouse-7 bindings in the obvious way.
7344
7345 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7346
7347         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7348
7349 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7350
7351         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7352         Previous patch missed DEFVAR_INT_MAGIC.
7353         Make sure future DEFVAR_foo use correct types.
7354         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7355         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7356         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7357         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7358         * (DEFVAR_INT): Likewise.
7359         * redisplay.c (vertical_clip): Should be of type Fixnum.
7360         * redisplay.c (horizontal_clip): Likewise.
7361         * lisp.h (dump_add_opaque_int): New.
7362         (dump_add_opaque_fixnum): New.
7363
7364 2001-01-29  Andy Piper  <andy@xemacs.org>
7365
7366         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7367         since they can be eval'ed
7368
7369 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7370
7371         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7372         Oops, XEmacs redefines `class'.  Use `typename' instead.
7373
7374 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7375
7376         * dumper.c: Fix C++ compile errors.
7377
7378 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7379
7380         * tparam.c: Use correct prototypes.
7381
7382 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7383
7384         * sysproc.h: #include util.h for NetBSD's openpty.
7385
7386 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7387
7388         More 64-bit correctness.
7389         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7390         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7391         Fix up comments.
7392         This finally finishes the 64-bit SGI port.
7393         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7394         * symbols.c: Fix up comments and type casts.
7395         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7396         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7397         * symeval.h (Fixnum): New type.
7398         * symeval.h (symbol_value_type): Fix up comment.
7399
7400         * commands.h:
7401         * nt.c:
7402         * emacs.c:
7403         * data.c:
7404         * redisplay.c:
7405         * abbrev.c:
7406         * dired-msw.c:
7407         * event-Xt.c:
7408         * eldap.c:
7409         * window.c:
7410         * sound.c:
7411         * event-stream.c:
7412         * eval.c:
7413         * buffer.c:
7414         * mule-canna.c: A million DEFVAR_INTs here...
7415         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7416         * extents.c:
7417         * cmdloop.c:
7418         * lisp.h:
7419         * select-x.c:
7420         * console-x.h:
7421         * event-msw.c:
7422         * mule-wnnfns.c:
7423         * hpplay.c:
7424         * ralloc.c:
7425         * alloc.c:
7426         * keymap.c:
7427         * profile.c:
7428         s/int/Fixnum/g in DEFVAR_INT declarations.
7429
7430 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7431
7432         Port pdump to SGI alignment-sensitive environment.
7433         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7434         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7435         properly aligned.
7436         Define and use aligned reading and writing macros.
7437         Use buffered stdio instead of posix i/o for faster dumping.
7438         Eliminate kludgy 256 byte space for header.
7439         Read and write from dump file using structs for alignment safety.
7440         * dumper.c (pdump_align_stream): New.
7441         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7442         * dumper.c (PDUMP_READ_ALIGNED): New.
7443         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7444         * dumper.c (pdump_static_Lisp_Object): New struct.
7445         * dumper.c (pdump_static_pointer): New struct.
7446         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7447         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7448         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7449         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7450
7451         * dumper.c (pdump_backtrace):
7452         * dumper.c (pdump_get_indirect_count):
7453         * dumper.c (pdump_register_object):
7454         * dumper.c (pdump_register_struct):
7455         * dumper.c (pdump_reloc_one):
7456         * dumper.c (pdump_scan_by_alignment):
7457         * dumper.c (pdump_dump_from_root_struct_ptrs):
7458         * dumper.c (pdump_dump_opaques):
7459         * dumper.c (pdump_dump_rtables):
7460         * dumper.c (pdump_dump_from_root_objects):
7461         * dumper.c (pdump):
7462         * dumper.c (pdump_load_finish):
7463         Use aligned reading and writing.
7464
7465         * dumper.c (pdump_free): Make static.
7466         * dumper.c (pdump_hFile): Likewise.
7467         * dumper.c (pdump_hMap): Likewise.
7468
7469 2001-01-26  Martin Buchholz <martin@xemacs.org>
7470
7471         * XEmacs 21.2.43 "Terspichore" is released.
7472
7473 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7474
7475         Type fiddling for window_config.saved_windows_count
7476         * window.c (struct window_config): 
7477         Make saved_windows_count member unsigned.
7478         * window.c (sizeof_window_config_for_n_windows): 
7479         Make parameter unsigned.
7480         * window.c (mark_window_config):
7481         * window.c (window_config_equal):
7482         * window.c (free_window_configuration):
7483         * window.c (Fset_window_configuration):
7484         * window.c (count_windows):
7485         * window.c (Fcurrent_window_configuration):
7486         * window.c (reinit_vars_of_window):
7487         Update all callers and users.
7488
7489 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7490
7491         Alignment correctness for flexible arrays.
7492         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7493         Make alignment-correct. Add interesting comments.
7494         * alloc.c (size_vector):
7495         * alloc.c (make_vector_internal):
7496         * alloc.c (make_bit_vector_internal):
7497         * alloc.c (sweep_bit_vectors_1):
7498         * fns.c (size_bit_vector):
7499         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7500         * window.c (sizeof_window_config_for_n_windows): 
7501         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7502
7503 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7504
7505         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7506
7507 2001-01-23  Andy Piper  <andy@xemacs.org>
7508
7509         * select.c (Fown_selection_internal): pass owned_p
7510
7511         * select-msw.c (mswindows_own_selection): New Signature.
7512
7513         * console.h (struct console_methods): add owned_p to
7514         _own_selection.
7515
7516         * select-x.c (x_own_selection): pass owned_p
7517         (hack_motif_clipboard_selection): use owned_p
7518         (vars_of_select_x): new variable -
7519         x_selection_strict_motif_ownership.
7520
7521 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7522
7523         * specifier.h (specifier_data_offset): Remove pointless parens.
7524         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7525
7526 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7527
7528         Make Lisp_Object sizeof methods be alignment-correct.
7529         pdump must restore objects to the same alignment as the C compiler
7530         assumes.  It really matters on SGIs.
7531         * lstream.c (aligned_sizeof_lstream): New.
7532         (sizeof_lstream): Use aligned_sizeof_lstream.
7533         (Lstream_new): Likewise.
7534         * opaque.c (aligned_sizeof_opaque): New.
7535         (sizeof_opaque): Use aligned_sizeof_opaque.
7536         (make_opaque): Likewise.
7537         * specifier.c (aligned_sizeof_specifier): New.
7538         (sizeof_specifier): Use aligned_sizeof_specifier.
7539         (make_specifier_internal): Likewise.
7540
7541 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7542
7543         * lstream.h (struct lstream): Use max_align_t for trailing data.
7544         * specifier.h (struct Lisp_Specifier): Likewise.
7545
7546 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7547
7548         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7549         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7550         (CCL_SUSPEND): Likewise.
7551         (CCL_INVALID_CMD): Likewise.
7552         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7553         (ccl_driver): Likewise.
7554         (CCL_WRITE_CHAR): Macro hygiene.
7555         (CCL_WRITE_STRING): Macro hygiene.
7556
7557 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7558
7559         Port "portable" dumper to SunOS 4 and HP-UX.
7560         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7561         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7562         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7563
7564 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7565
7566         * lisp.h (ALIGNOF): A better definition for C++.
7567
7568 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7569
7570         Macro hygiene.
7571         Fix printf warnings: int format, long int arg.
7572         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7573         (PUSH_FAILURE_POINT): Use correct printf formats.
7574         (POP_FAILURE_POINT): Use correct printf formats.  
7575         Use do {...} while (0)
7576
7577 2001-01-20  Martin Buchholz <martin@xemacs.org>
7578
7579         * XEmacs 21.2.42 "Poseidon" is released.
7580
7581 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7582
7583         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7584
7585 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7586
7587         De-kludgify FIXED_TYPE free list frobbing.
7588         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7589         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7590         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7591         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7592         * alloc.c (LRECORD_FREE_P): New.
7593         * alloc.c (MARK_LRECORD_AS_FREE): New.
7594         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7595         * alloc.c (STRUCT_FREE_P): Deleted.
7596         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7597         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7598         * alloc.c (STRING_CHARS_FREE_P): New.
7599         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7600         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7601         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7602         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7603         * alloc.c (resize_string): Use new definitions.
7604         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7605         * alloc.c (verify_string_chars_integrity): Use new definitions.
7606         * alloc.c (compact_string_chars): Use new definitions.
7607         * alloc.c: Update monster comments.
7608         * lrecord.h (lrecord_type): Add some new lrecord types for
7609         alloc.c's use.
7610
7611 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7612
7613         Improve alignment hackery.
7614         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7615         (max_align_t): Moved from opaque.h - general purpose.
7616         (ALIGN_PTR): Use size_t, not long.
7617         * opaque.h (max_align_t): Move to lisp.h.
7618
7619 2001-01-18  Norbert Koch  <nk@LF.net>
7620
7621         * gui.h: Fix and add prototypes to fix build problems.
7622
7623 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7624
7625         temacs is going away, so `dump-temacs' is now a bad name.
7626         * .dbxrc (dump-temacs): Rename to `dmp'.
7627         * .gdbinit (dump-temacs): Rename to `dmp'.
7628
7629 2001-01-17  Andy Piper  <andy@xemacs.org>
7630
7631         * glyphs.c (print_image_instance): comment to make martin happy.
7632
7633         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7634         change.
7635
7636         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7637         activation.
7638         (mswindows_tab_control_redisplay): warning suppression.
7639
7640         * glyphs-widget.c (widget_update): re-write to cope with updated
7641         items.
7642         (widget_instantiate): use new gui_item functions.
7643         (tab_control_update): deleted.
7644         (progress_gauge_update): deleted.
7645         (image_instantiator_progress_guage): take out update reference.
7646         (image_instantiator_tree_view): ditto.
7647         (image_instantiator_tab_control): ditto.
7648
7649         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7650         Right the new way.
7651         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7652         return whether anything was changed.
7653         (update_gui_item_keywords): as it sounds.
7654
7655         * gui.h: declare widget_gui_parse_item_keywords.
7656
7657         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7658         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7659
7660 2001-01-17  Martin Buchholz <martin@xemacs.org>
7661
7662         * XEmacs 21.2.41 "Polyhymnia" is released.
7663
7664 2001-01-16  Didier Verna  <didier@xemacs.org>
7665
7666         * glyphs.c (image_instantiate): don't use fallbacks when
7667         instantiating a face's background pixmap by inheritance.
7668
7669 2001-01-14  Mike Sperber <mike@xemacs.org>
7670
7671         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7672         Conditionalize accordingly.
7673
7674 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7675
7676         * dumper.c (pdump_file_get): Fix a compiler warning.
7677
7678 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7679
7680         Make Purify happy when pdumping.
7681         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7682         iniitalizing all bits of new lisp object memory.
7683         * symbols.c (Fmake_local_variable): Likewise.
7684         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7685         * symbols.c (Fdefvaralias): Likewise.
7686         * mule-charset.c (vars_of_mule_charset): Likewise.
7687
7688 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7689         Add the `-nd' flag when running pre-dump operations under the debugger.
7690         * .dbxrc (run-temacs): Add `-nd'.
7691         * .dbxrc (update-elc): Likewise.
7692         * .dbxrc (dump-temacs): Likewise.
7693         * .gdbinit (run-temacs): Likewise.
7694         * .gdbinit (check-temacs): Likewise.
7695         * .gdbinit (update-elc): Likewise.
7696         * .gdbinit (dump-temacs): Likewise.
7697
7698 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7699
7700         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7701         export OBJECT_MODE=64
7702         configure --pdump --use-union-type=no
7703         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7704         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7705
7706         * miscplay.c (sndcnv8U_2mono):
7707         Avoid two uses of `++' in the same expression.
7708         Suppresses a GCC warning.
7709
7710 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7711
7712         Make sure future compilers don't miscompile alloc.c.
7713         * alloc.c:
7714         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7715         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7716
7717 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7718
7719         * dumper.c: A little post-pdump-rename comment fixup.
7720
7721 2001-01-09  Jerry James  <james@eecs.ku.edu>
7722
7723         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7724
7725 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7726
7727         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7728         script:
7729         #!/bin/sh
7730         replace_symbol () {
7731           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7732         }
7733
7734         replace_symbol pdump_wire_lists pdump_weak_object_chains
7735         replace_symbol pdump_wire_list dump_add_weak_object_chain
7736
7737         replace_symbol pdump_wires pdump_root_objects
7738         replace_symbol pdump_wire dump_add_root_object
7739
7740         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7741         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7742
7743         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7744         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7745         replace_symbol dumpstructinfo pdump_root_struct_ptr
7746         replace_symbol dumpstruct dump_add_root_struct_ptr
7747
7748         replace_symbol dumpopaque dump_add_opaque
7749         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7750         replace_symbol dumpopaqueinfos pdump_opaques
7751         replace_symbol dumpopaqueinfo pdump_opaque
7752
7753         replace_symbol nb_structdump nb_root_struct_ptrs
7754         replace_symbol nb_opaquedump nb_opaques
7755
7756         replace_symbol align_table pdump_align_table
7757         replace_symbol dump_header pdump_header
7758
7759         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7760         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7761
7762
7763 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7764
7765         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7766         optimizing bytecount_to_charcount().
7767
7768 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7769
7770         * config.h.in:
7771         (HAVE_DLFCN_H): Removed.
7772         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7773
7774 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7775
7776         Portable dumper maintainability improvements.
7777         * alloc.c (staticpro):
7778         * alloc.c (staticpro_nodump):
7779         * alloc.c (garbage_collect_1):
7780         * alloc.c (reinit_alloc_once_early):
7781         * alloc.c (init_alloc_once_early):
7782         * alloc.c: Move dumper functions to alloc.c.
7783         * dumper.c (pdump_backtrace):
7784         * dumper.c (pdump_dump_structs):
7785         * dumper.c (pdump_dump_opaques):
7786         * dumper.c (pdump_dump_rtables):
7787         * dumper.c (pdump_dump_wired):
7788         * dumper.c (pdump):
7789         * dumper.c (pdump_load_check):
7790         * dumper.c (pdump_load_finish):
7791         * dumper.c (pdump_file_unmap):
7792         * dumper.c (pdump_file_get):
7793         * dumper.c (pdump_resource_free):
7794         * dumper.c (pdump_resource_get):
7795         * dumper.c (pdump_file_free):
7796         * dumper.c (pdump_file_try):
7797         * dumper.c (pdump_load):
7798         Remove fixed size limits on staticpro(), staticpro_nodump(),
7799         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7800         Remove custom code for dumping lrecord_implementations_table - use
7801         dumpopaque instead.
7802         Remove (most of the) custom code for dumping staticpros - dump it
7803         like any other dynarr.
7804
7805         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7806         * dumper.c: Moved functions from alloc.c.
7807         * alloc.c (dumpstruct): Moved to dumper.c.
7808         * alloc.c (dumpopaque): Likewise.
7809         * alloc.c (pdump_wire): Likewise.
7810         * alloc.c (pdump_wire_list): Likewise.
7811
7812         * lisp.h (Dynarr_sizeof): New.
7813         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7814         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7815         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7816
7817         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7818         * lisp.h (dumpopaque): ditto.
7819         * lisp.h (pdump_wire): ditto.
7820         * lisp.h (pdump_wire_list): ditto.
7821
7822 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7823
7824         * make-src-depend (PrintPatternDeps):
7825         Use `sort' to make output independent of perl version.
7826
7827 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7828
7829         Port to Netbsd 1.5.
7830         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7831         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7832
7833 2001-01-03  Didier Verna  <didier@xemacs.org>
7834
7835         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7836         that `focus_frame' is alive before thinking of calling
7837         `redisplay_redraw_cursor' on it.
7838
7839 2001-01-08  Martin Buchholz <martin@xemacs.org>
7840
7841         * XEmacs 21.2.40 is released.
7842
7843 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7844
7845         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7846
7847 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7848
7849         * alloc.c (dbg_valmask): Make const.
7850         * alloc.c (dbg_typemask): Make const.
7851         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7852         * alloc.c (dbg_valbits): Make const.
7853         * alloc.c (dbg_gctypebits): Make const.
7854
7855 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7856
7857         * redisplay-x.c (x_bevel_area):
7858         redisplay.h (struct rune):
7859         Typo fixes in comments.
7860
7861 2001-01-05  Andy Piper  <andy@xemacs.org>
7862
7863         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7864         adjustment.
7865
7866         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7867
7868 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7869
7870         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7871
7872         * mule-ccl.c (stack_idx_of_map_multiple):
7873         Non const global data must not be initialized!
7874         Found by MIYASHITA Hisashi.
7875
7876 2001-01-02  Andy Piper  <andy@xemacs.org>
7877
7878         * frame.c (change_frame_size): make sure frame size is always
7879         marked as changed.
7880
7881         * glyphs.c (image_instance_layout): minor code reuse.
7882
7883         * window.c (Fcurrent_window_configuration): revert previous
7884         change.
7885
7886 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7887
7888         * glyphs.h:
7889         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7890
7891 2000-12-31  Andy Piper  <andy@xemacs.org>
7892
7893         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7894         when widget gets unmapped.
7895
7896         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7897         function. Make sure widgets losing focus don't just drop it.
7898         (handle_focus_event_1): record the widget with focus.
7899
7900 2000-12-31  Andy Piper  <andy@xemacs.org>
7901
7902         * window.c (allocate_window): use
7903         make_image_instance_cache_hash_table.
7904         (make_dummy_parent): ditto.
7905         (Fset_window_configuration): ditto.
7906
7907         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7908
7909         * glyphs.c (process_image_string_instantiator): use
7910         INSTANTIATOR_TYPE.
7911         (get_image_instantiator_governing_domain): ditto.
7912         (normalize_image_instantiator): ditto.
7913         (instantiate_image_instantiator): ditto.
7914         (make_image_instance_1): ditto.
7915         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7916         (instantiator_eq_equal): new function for use with instance hash
7917         tables.
7918         (instantiator_eq_hash): ditto.
7919         (make_image_instance_cache_hash_table): create a suitable hash
7920         table for storing image instances.
7921
7922         * elhash.h (hash_table_weakness): new internal weakness type
7923         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7924         declare new functions.
7925
7926         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7927         another weakness type for glyphs.
7928         (make_standard_lisp_hash_table): new function split out from
7929         make_general_lisp_hash_table.
7930         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7931         (hash_table_instantiate): ditto.
7932         (Fmake_hash_table): ditto.
7933
7934 2000-12-31  Martin Buchholz <martin@xemacs.org>
7935
7936         * XEmacs 21.2.39 is released.
7937
7938 2000-12-29  Andy Piper  <andy@xemacs.org>
7939
7940         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7941
7942         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7943         the frame has changed so that we pick up geometry changes such as
7944         menubar visibility.
7945
7946 2000-12-28  Andy Piper  <andy@xemacs.org>
7947
7948         * lastfile.c (my_ebss): make a char array so we can pad the
7949         bss. Fixes cygwin unexec.
7950
7951         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7952
7953 2000-12-26  Andy Piper  <andy@xemacs.org>
7954
7955         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7956         comments and try and be more precise about a non-/SIGIO world.
7957         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7958         SIGIO.
7959
7960         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7961         we don't normalize to zero width or height.
7962
7963 2000-12-24  Andy Piper  <andy@xemacs.org>
7964
7965         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7966
7967 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7968
7969         * s/sco5.h: SCO 5 has pty support.
7970
7971 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7972
7973         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7974         input-method-xlib.c contains whole contents of input-method-xfs.c,
7975         so we can use input-method-xlib.c's code for USE_XFONTSET
7976         using #ifdefs.
7977         * input-method-xfs.c: removed.
7978
7979 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7980
7981         * file-coding.h (enum coding_category_type): reorder enumerators to
7982         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7983         (now one greater than largest real coding_category_type enumerator).
7984         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7985         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7986         Fcoding_category_list, Fset_coding_priority_list,
7987         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7988         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7989
7990 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7991
7992         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7993         * redisplay-output.c (redisplay_output_window): Clear top of window
7994         when face is changed.
7995         * redisplay-x.c (x_redraw_exposed_window): Call
7996         redisplay_clear_top_of_window.
7997         * redisplay.h: Publish redisplay_clear_top_of_window.
7998
7999 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8000
8001         * buffer.c (Fkill_buffer): Map over all devices.
8002         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8003         (list_windows): New function.
8004         (list_all_windows): Ditto.
8005         (Freplace_buffer_in_windows): Use them.
8006
8007 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8008
8009         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8010         (Fopen_database): Use `db_create' instead of `db_open'.
8011         (syms_of_database): Initialize Qqueue.
8012
8013 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8014
8015         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8016         buffer_local_face_property.
8017         * buffer.h (struct buffer): New member buffer_local_face_property.
8018         * window.c (Fset_window_buffer):  Mark window's face as changed
8019         when buffer has buffer local face.
8020         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8021         * objects.c (color_after_change): Set buffer_local_face_property
8022         when locale of face specifier is buffer.
8023         * objects.c (font_after_change): Ditto.
8024         * objects.c (face_boolean_after_change): Ditto.
8025         * glyphs.c (image_after_change): Ditto.
8026
8027 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8028
8029         * nt.c (mswindows_fstat): Report file permissions, volume serial
8030         number, etc. Code adapted from FSF Emacs 20.7.
8031
8032 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8033
8034         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8035         of stat when we don't have symbolic links, to make sure
8036         mswindows_stat is called on mswindows.
8037
8038 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8039
8040         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8041
8042 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8043
8044         * doprnt.c (emacs_doprnt_1): More printing fixes.
8045         Make printing of numbers compatible with libc and FSF Emacs.
8046         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8047         Use the system printf to do most of the hard work of formatting,
8048         instead of doprnt_1().
8049         Calculate memory to allocate for format string.
8050         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8051         (doprnt_1): Cleaner code and documentation.
8052
8053 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8054
8055         * Makefile.in.in: Use the loop variable to install headers.
8056
8057 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8058
8059         * window.c (Fsplit_window): Don't invalidate face cache.
8060
8061 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8062
8063         * minibuf.c (Fall_completions): Undo the previous change
8064         which removed checking elements start with space.
8065
8066 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8067
8068         * mule-canna.c: Didier suppression.
8069
8070 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8071
8072         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8073         (warning suppression).  Add English comment translations.
8074
8075 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8076
8077         * unexelfsgi.c (unexec): Better test for mmap failure.
8078
8079 2000-12-05  Martin Buchholz <martin@xemacs.org>
8080
8081         * XEmacs 21.2.38 is released.
8082
8083 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8084
8085         * redisplay.c (bar-cursor): Make a user variable.
8086
8087         * symsinit.h: Add init_postgresql_from_environment.
8088
8089 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8090
8091         * regex.c: Convert to clean C.
8092
8093 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8094
8095         * realpath.c:
8096         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8097         initialization.
8098         (sys_readlink): renamed to system_readlink to avoid conflict with
8099         the other sys_readlink.
8100
8101 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8102
8103         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8104
8105 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8106
8107         * postgresql.c (init_postgresql_from_environment): new function.
8108         (vars_of_postgresql): Move code initializing Lisp variables out and
8109         into init_postgresql_from_environment.
8110         emacs.c (main_1): Call init_postgresql_from_environment if and only
8111         if running a dumped XEmacs.
8112
8113 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8114
8115         * buffer.c: Make find-file-compare-truenames default to true on
8116         windows.
8117
8118         * realpath.c (win32_abs_start):
8119         (cygwin_readlink):
8120         (win32_readlink): New functions.
8121         (xrealpath): Return really real filenames on windows.
8122
8123         * fileio.c (Ffile_truename): Make file-truename work on windows.
8124
8125 2000-11-29  Didier Verna  <didier@xemacs.org>
8126
8127         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8128         * faces.c (update_face_cachel_data): use it.
8129         * faces.c (add_face_cachel): use it. Complete background pixmap
8130         frobbing in face cache if `update_face_cachel_data' has not done so.
8131
8132 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8133
8134         * search.c (string_match_1): Don't set last_thing_searched
8135         when search failed.
8136
8137 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8138
8139         * buffer.c: Include casetab.h
8140         (common_init_complex_vars_of_buffer): Use new case-table object.
8141         * buffer.h: Include casetab.h
8142         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8143         (DOWNCASE_TABLE_OF): Ditto.
8144         * bufslots.h: Remove char-tables and add case-table.
8145         * casetab.c: Include casetab.h
8146         (CASE_TABLE_P): Removed.
8147         (mark_case_table): New function.
8148         (allocate_case_table): New function.
8149         (Fcase_table_p): Use new case-table.
8150         (case_table_char): New function.
8151         (Fget_case_table): Ditto.
8152         (Fput_case_table): Ditto.
8153         (Fput_case_table_pair): Ditto.
8154         (Fcopy_case_table): Ditto.
8155         (Fcurrent_case_table): Return case-table.
8156         (Fstandard_case_table): Return case-table.
8157         (Fset_case_table): Fix doc-string.
8158         (set_case_table): Use case-table
8159         (syms_of_casetab): DEFSUBR new functions.
8160         (complex_vars_of_casetab): Set up standard case-table.
8161         * casetab.h: New file.
8162         * editfns.c: Include casetab.h
8163         (Fcompare_buffer_substrings): Use case-table.
8164         * inline.c: Include casetab.h
8165         * lisp.h: Remove bogus extern.
8166         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8167         * search.c: Include casetab.h
8168         (TRANSLATE_ASCII): Removed.
8169         (TRANSLATE): Unconditionally translate character.
8170         (looking_at_1): Use case-table.
8171         (string_match_1): Ditto.
8172         (fast_string_match): Ditto.
8173         (search_command): Ditto.
8174         (search_buffer): Separate boyer_moore.  Check whether
8175         boyer_moore is possible.
8176         (simple_search): New function.
8177         (boyer_moore): Separated from search_buffer. Translate char.
8178
8179 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8180
8181         * regex.c (RE_TR_ASCII): Removed.
8182         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8183         (PATFETCH): Call PATFETCH_RAW.
8184         (PATFETCH_RAW): Fetch Emchar.
8185         (PATUNFETCH): Decrement charptr.
8186         (GET_BUFFER_SPACE): Rename b to buf_end.
8187         (BUF_PUSH): Ditto.
8188         (BUF_PUSH_2): Ditto.
8189         (BUF_PUSH_3): Ditto.
8190         (EXTEND_BUFFER): Ditto.
8191         (SET_LIST_BIT): Ditto.
8192         (regex_compile): Ditto.  Translate non ASCII char.
8193         (compile_range): Ditto.
8194         (re_search_2): Ditto.
8195         (re_match_2_internal): Compare Emchar.
8196         (bcmp_translate): Ditto.
8197
8198 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8199
8200         * lisp.h (basic char/int typedefs):  comment improvement.
8201
8202 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8203
8204         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8205         unstomp inhibit_site_lisp.  Improve comments.
8206
8207 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8208
8209         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8210
8211 2000-11-28  Andy Piper  <andy@xemacs.org>
8212
8213         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8214         clipped display for windows in the gutter also.
8215         (redisplay_display_boxes_in_window_p): change semantics of return
8216         codes to be more intuitive.
8217
8218         * gutter.h: declare display_boxes_in_gutter_p.
8219
8220         * gutter.c (display_boxes_in_gutter_p): new function for
8221         redisplay.
8222
8223 2000-11-22  Andy Piper  <andy@xemacs.org>
8224
8225         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8226         autodetect domain.
8227
8228 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8229
8230         * callproc.c (Fold_call_process_internal):
8231         * gpm.c (Freceive_gpm_event):
8232         (tty_get_foreign_selection): Might be just warning supression.
8233         * fileio.c (Fwrite_region_internal):
8234         (Fset_visited_file_modtime):
8235         * keymap.c (event_matches_key_specifier_p):
8236         Initialize GCPROed variable.
8237
8238         * menubar-x.c (command_builder_find_menu_accelerator):
8239         Initialize before use.
8240
8241 2000-11-23  Andy Piper  <andy@xemacs.org>
8242
8243         * unexcw.c (unexec): make the resulting executable executable.
8244
8245 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8246
8247         * doc.c (get_doc_string):
8248         Use size_t, not int, for result of XSTRING_LENGTH.
8249
8250         * cmds.c (Fdelete_char):
8251         * cmds.c (Fpoint_at_eol):
8252         * cmds.c (Fself_insert_command):
8253         Use EMACS_INT, not int, for result of XINT.
8254         Someday, someone will want to insert more than 2**31 identical characters.
8255
8256         * cmds.c (Fdelete_char):
8257         * cmds.c (Fdelete_backward_char):
8258         * syntax.c (Fforward_word):
8259         * syntax.c (Fforward_comment):
8260         Make COUNT argument optional, for consistency with forward-char et al.
8261
8262 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8263
8264         * lisp.h:
8265         * print.c (long_to_string):
8266         Return a useful value: the pointer at end of data written.
8267
8268         * doprnt.c:
8269         Use `static const char * const' for constant strings.
8270         (union printf_arg): Delete `i', `ui' members.
8271         (get_doprnt_args):
8272         (emacs_doprnt_1):
8273         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8274         Do all printf-ing via the `l' specifier.
8275         Use EMACS_INT instead of int.
8276         Optimize.
8277
8278 2000-11-20  Didier Verna  <didier@xemacs.org>
8279
8280         * faces.c (update_face_cachel_data): don't frob the background
8281         pixmap when the window is being created. The face is needed but
8282         does not exist yet.
8283
8284 2000-11-20  Andy Piper  <andy@xemacs.org>
8285
8286         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8287         messing with a debug environment.
8288
8289 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8290
8291         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8292
8293 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8294
8295         * casetab.c (Fcase_table_p): Fix compile error and crash.
8296
8297 2000-11-18  Philip Aston  <philipa@mail.com>
8298
8299         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8300
8301 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8302
8303         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8304         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8305
8306 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8307
8308         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8309         * unexelf.c: Use HAVE_ELF_H.
8310         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8311         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8312         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8313         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8314         for testing.
8315         So this is an unexelfsgi.c from a different line of development.
8316
8317 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8318
8319         * regex.c (RE_TR_ASCII): New function.
8320         (RE_TRANSLATE): Call it.
8321
8322 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8323
8324         * buffer.h (TRT_TABLE_OF): Remove assert.
8325         (IN_TRT_TABLE_DOMAIN): Removed.
8326
8327 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8328
8329         * free-hook.c (log_gcpro):
8330         (show_gcprohist): Add support for GCPRO5.
8331
8332 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8333
8334         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8335
8336 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8337
8338         * symeval.h: Declare flush_all_buffer_local_cache.
8339
8340         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8341         (flush_buffer_local_cache): Added.
8342         (flush_all_buffer_local_cache): Added.
8343
8344         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8345
8346         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8347         (pdump_dump_data): Ditto.
8348         (pdump_reloc_one): Ditto.
8349         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8350         before dumping.
8351
8352
8353 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8354
8355         * buffer.c: Remove if 0'ed entry.
8356         * buffer.h: Rewrite TRT to use char-table.
8357         * bufslots.h: Remove mirror tables.
8358         * casetab.c: Remove mirror tables.
8359         (CASE_TABLE_P): New macro.
8360         (Fcase_table_p): Element of a case table is string or char-table.
8361         (make_mirror_trt_table): Removed.
8362         (set_case_table): Setup char-table from strings for backward
8363         compatibility.
8364         * dired.c (Fdirectory_files):
8365         * dired-msw.c: (mswindows_get_files):
8366         * lisp.h: Change prototype of re_pattern_buffer.
8367         * regex.c: (RE_TRANSLATE): New macro.
8368         (TRANSLATE_P): Ditto.
8369         Change translate to type RE_TRANSLATE_TYPE.
8370         * regex.h: Define RE_TRANSLATE_TYPE
8371         * search.c (TRANSLATE): New macro.
8372         (TRANSLATE_ASCII): New macro.
8373         Translate table is changed to Lisp_Object.
8374         (signal_failure): Inhibit return.
8375
8376 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8377
8378         * device-msw.c:
8379         * eldap.c:
8380         * event-Xt.c:
8381         * event-stream.c:
8382         * print.c:
8383         Do UNGCPRO before return.
8384
8385 2000-11-14  Martin Buchholz <martin@xemacs.org>
8386
8387         * XEmacs 21.2.37 is released.
8388
8389 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8390
8391         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8392         Add comments about discarded return value.
8393
8394 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8395
8396         * callint.c:
8397         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8398
8399 2000-10-27  Andy Piper  <andy@xemacs.org>
8400
8401         * gutter.c (Fset_default_gutter_position): default left and right
8402         gutters to visible.
8403         (calculate_gutter_size): calculate resonable heuristic for left
8404         and right gutter sizes.
8405         (specifier_vars_of_gutter): change left and right gutter sizes to
8406         autodetect.
8407         (calculate_gutter_size_from_display_lines): new function.
8408         (output_gutter): check for resizing on left and right gutters.
8409         (clear_gutter): don't special case top and left gutters.
8410         (specifier_vars_of_gutter): use new signature for
8411         set_specifier_caching.
8412
8413         * glyphs-x.c (x_redisplay_widget): spelling fix.
8414         * glyphs.c (specifier_vars_of_glyphs):
8415         * menubar.c (specifier_vars_of_menubar):
8416         * redisplay.c (specifier_vars_of_redisplay):
8417         * toolbar.c (specifier_vars_of_toolbar):
8418         * window.c (specifier_vars_of_window):
8419         * scrollbar.c (specifier_vars_of_scrollbar):
8420         (complex_vars_of_scrollbar): use new signature for
8421         set_specifier_caching.
8422
8423         * specifier.c (set_specifier_caching): include recompute flag.
8424         (recompute_one_cached_specifier_in_window): always recompute if
8425         flag set.
8426         (recompute_one_cached_specifier_in_frame): ditto.
8427
8428         * specifier.h (struct specifier_caching): add recompute flag.
8429
8430 2000-10-24  Andy Piper  <andy@xemacs.org>
8431
8432         * unexcw.c (copy_executable_and_dump_data_section): add new
8433         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8434         5.0 happy.
8435
8436 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8437
8438         * console-x.h (x_device): New member modifier_release_time.
8439         * event-Xt.c (x_handle_sticky_modifiers):
8440         Bound interval modifier keys are sticky.
8441         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8442         * events.h: extern it.
8443
8444 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8445
8446         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8447
8448 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8449
8450         * event-stream.c (execute_command_event): Preserve current_events
8451         and the like when event is misc-user-event.
8452         Inhibit quit during the call to maybe_echo_keys.
8453
8454 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8455
8456         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8457         symlink when buffer is killed.
8458         (inhibit_clash_detection): New variable.
8459
8460 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8461
8462         * console.c (Fset_input_method): Trigger redisplay on tty.
8463
8464 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8465
8466         * process.c (Fprocess_status): Revert to previous behavior:
8467         (process-status "nosuchprocess") ==> nil
8468
8469 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8470
8471         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8472         Work around another GCC 2.95.2 optimizer bug.
8473
8474 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8475
8476         * process.c (Fget_process): Use LIST_LOOP_2.
8477         (kill_buffer_processes): Use LIST_LOOP_2.
8478
8479         * minibuf.c (Fall_completions):
8480         Delete old non-functional code for FSF fourth argument.
8481
8482         * frame.c (frame_matches_frame_spec):
8483         Renamed from `frame_matches_frametype'.  Update all callers.
8484         (device_matches_device_spec):
8485         Renamed from 'device_matches_console_spec'.  Update all callers.
8486
8487         * doc.c (Fsubstitute_command_keys):
8488         Remove buffer overflow crash.  Small code cleanups.
8489
8490         * casetab.c (check_case_table): Simpler code.
8491
8492         * window.c (Freplace_buffer_in_windows):
8493         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8494         (and similar implementation) as Fdelete_windows_on.
8495         Update all callers.
8496
8497         * alloc.c (Fmake_list):
8498         * alloc.c (make_vector):
8499         * alloc.c (Fmake_vector):
8500         * alloc.c (make_bit_vector):
8501         * alloc.c (Fmake_bit_vector):
8502         * alloc.c (Fbit_vector):
8503         * alloc.c (Fmake_string):
8504         * alloc.c (Fpurecopy):
8505         * alloc.c (Fmemory_limit):
8506         * buffer.c:
8507         * buffer.c (Fget_buffer):
8508         * buffer.c (Fkill_buffer):
8509         * buffer.c (complex_vars_of_buffer):
8510         * bytecode.c (Fcompiled_function_stack_depth):
8511         * callint.c (Fprefix_numeric_value):
8512         * event-stream.c:
8513         * event-stream.c (Fread_key_sequence):
8514         * casetab.c:
8515         * casetab.c (Fcase_table_p):
8516         * casetab.c (check_case_table):
8517         * casetab.c (Fset_case_table):
8518         * casetab.c (Fset_standard_case_table):
8519         * chartab.c:
8520         * chartab.c (Fchar_table_type):
8521         * chartab.c (Freset_char_table):
8522         * chartab.c (Fget_char_table):
8523         * chartab.c (Fget_range_char_table):
8524         * chartab.c (Fput_char_table):
8525         * chartab.c (Fmap_char_table):
8526         * chartab.c (Fcategory_table_p):
8527         * chartab.c (Fcheck_category_at):
8528         * chartab.c (Fchar_in_category_p):
8529         * chartab.c (Fcategory_table):
8530         * chartab.c (Fcopy_category_table):
8531         * chartab.c (Fset_category_table):
8532         * chartab.c (Fcategory_designator_p):
8533         * chartab.c (Fcategory_table_value_p):
8534         * cmds.c (Fdelete_char):
8535         * cmds.c (Fdelete_backward_char):
8536         * cmds.c (Fself_insert_command):
8537         * cmds.c (Fself_insert_internal):
8538         * console.c (Fvalid_console_type_p):
8539         * console.c (Fcdfw_console):
8540         * console.c (Fconsole_type):
8541         * console.c (Fconsole_name):
8542         * console.c (Fconsole_device_list):
8543         * console.c (Fconsole_on_window_system_p):
8544         * data.c:
8545         * data.c (Feq):
8546         * data.c (Fold_eq):
8547         * data.c (Fsubr_interactive):
8548         * data.c (Fchar_to_int):
8549         * data.c (Fint_to_char):
8550         * data.c (Fsetcar):
8551         * data.c (Fsetcdr):
8552         * data.c (Fnumber_to_string):
8553         * data.c (Fstring_to_number):
8554         * data.c (Frem):
8555         * database.c (mark_database):
8556         * database.c (finalize_database):
8557         * database.c (Fdatabase_live_p):
8558         * database.c (Fdatabasep):
8559         * device-x.c (Fx_get_resource):
8560         * device.c (Fdfw_device):
8561         * dired.c:
8562         * dired.c (Ffile_name_completion):
8563         * dired.c (Ffile_name_all_completions):
8564         * dired.c (Fuser_name_completion):
8565         * dired.c (Fuser_name_completion_1):
8566         * dired.c (Fuser_name_all_completions):
8567         * doc.c (Fdocumentation):
8568         * doc.c (Fdocumentation_property):
8569         * doc.c (Fsubstitute_command_keys):
8570         * editfns.c:
8571         * editfns.c (Fchar_to_string):
8572         * editfns.c (Fstring_to_char):
8573         * editfns.c (Ftemp_directory):
8574         * editfns.c (Finsert_char):
8575         * editfns.c (Fbuffer_substring_no_properties):
8576         * editfns.c (Fnarrow_to_region):
8577         * editfns.c (Fchar_equal):
8578         * editfns.c (Fchar_Equal):
8579         * editfns.c (Ftranspose_regions):
8580         * emacs.c (Fdump_emacs):
8581         * eval.c (Fthrow):
8582         * eval.c (Fcommand_execute):
8583         * eval.c (Fautoload):
8584         * eval.c (Fbacktrace):
8585         * eval.c (Fbacktrace_frame):
8586         * events.c:
8587         * events.c (Fcopy_event):
8588         * events.c (Fcharacter_to_event):
8589         * events.c (Fevent_button):
8590         * events.c (Fevent_process):
8591         * extents.c:
8592         * extents.c (Fnext_extent_change):
8593         * extents.c (Fextent_property):
8594         * faces.c (Ffacep):
8595         * faces.c (Fmake_face):
8596         * file-coding.c:
8597         * file-coding.c (Fencode_shift_jis_char):
8598         * file-coding.c (Fencode_big5_char):
8599         * fileio.c (Ffile_name_directory):
8600         * fileio.c (Ffile_name_nondirectory):
8601         * fileio.c (Ffile_name_as_directory):
8602         * fileio.c (Fdirectory_file_name):
8603         * fileio.c (Ffile_truename):
8604         * fileio.c (Fsubstitute_in_file_name):
8605         * fileio.c (Ffile_modes):
8606         * fileio.c (Fset_file_modes):
8607         * fileio.c (Fset_default_file_modes):
8608         * fileio.c (Fverify_visited_file_modtime):
8609         * floatfns.c (Facos):
8610         * floatfns.c (Fasin):
8611         * floatfns.c (Fatan):
8612         * floatfns.c (Fcos):
8613         * floatfns.c (Fsin):
8614         * floatfns.c (Ftan):
8615         * floatfns.c (Fbessel_j0):
8616         * floatfns.c (Fbessel_j1):
8617         * floatfns.c (Fbessel_jn):
8618         * floatfns.c (Fbessel_y0):
8619         * floatfns.c (Fbessel_y1):
8620         * floatfns.c (Fbessel_yn):
8621         * floatfns.c (Ferf):
8622         * floatfns.c (Ferfc):
8623         * floatfns.c (Flog_gamma):
8624         * floatfns.c (Fexp):
8625         * floatfns.c (Fexpt):
8626         * floatfns.c (Flog):
8627         * floatfns.c (Flog10):
8628         * floatfns.c (Fsqrt):
8629         * floatfns.c (Fcube_root):
8630         * floatfns.c (Facosh):
8631         * floatfns.c (Fasinh):
8632         * floatfns.c (Fatanh):
8633         * floatfns.c (Fcosh):
8634         * floatfns.c (Fsinh):
8635         * floatfns.c (Ftanh):
8636         * floatfns.c (Fabs):
8637         * floatfns.c (Ffloat):
8638         * floatfns.c (Flogb):
8639         * floatfns.c (Fceiling):
8640         * floatfns.c (Ffloor):
8641         * floatfns.c (Fround):
8642         * floatfns.c (Ftruncate):
8643         * floatfns.c (Ffceiling):
8644         * floatfns.c (Fffloor):
8645         * floatfns.c (Ffround):
8646         * floatfns.c (Fftruncate):
8647         * fns.c (Fstring_equal):
8648         * fns.c (Fstring_lessp):
8649         * fns.c (concat2):
8650         * fns.c (concat3):
8651         * fns.c (vconcat2):
8652         * fns.c (vconcat3):
8653         * fns.c (Fsubstring):
8654         * fns.c (Fassoc):
8655         * fns.c (Fold_assoc):
8656         * fns.c (assoc_no_quit):
8657         * fns.c (Fassq):
8658         * fns.c (Fold_assq):
8659         * fns.c (assq_no_quit):
8660         * fns.c (Frassoc):
8661         * fns.c (Fold_rassoc):
8662         * fns.c (Frassq):
8663         * fns.c (Fold_rassq):
8664         * fns.c (rassq_no_quit):
8665         * fns.c (Fremassoc):
8666         * fns.c (remassoc_no_quit):
8667         * fns.c (Fremassq):
8668         * fns.c (remassq_no_quit):
8669         * fns.c (Fremrassoc):
8670         * fns.c (Fremrassq):
8671         * fns.c (remrassq_no_quit):
8672         * fns.c (Fsort):
8673         * fns.c (Fplist_get):
8674         * fns.c (Fplist_put):
8675         * fns.c (Fplist_remprop):
8676         * fns.c (Fplist_member):
8677         * fns.c (Flax_plist_get):
8678         * fns.c (Flax_plist_put):
8679         * fns.c (Flax_plist_remprop):
8680         * fns.c (Flax_plist_member):
8681         * fns.c (Fequal):
8682         * fns.c (Fold_equal):
8683         * fns.c (Frequire):
8684         * fns.c (Fbase64_encode_region):
8685         * fns.c (Fbase64_encode_string):
8686         * fns.c (Fbase64_decode_region):
8687         * frame.c:
8688         * frame.c (frame_matches_frame_spec):
8689         * frame.c (device_matches_device_spec):
8690         * frame.c (next_frame):
8691         * frame.c (previous_frame):
8692         * frame.c (Fnext_frame):
8693         * frame.c (Fprevious_frame):
8694         * frame.c (Fframe_property):
8695         * frame.c (Fset_frame_height):
8696         * frame.c (Fset_frame_size):
8697         * frame.h:
8698         * glyphs.c:
8699         * glyphs.c (if):
8700         * glyphs.c (decode_error_behavior_flag):
8701         * glyphs.c (Fmake_image_instance):
8702         * indent.c (Findent_to):
8703         * intl.c (Fignore_defer_gettext):
8704         * keymap.c (Fkeymapp):
8705         * keymap.c (Flookup_key):
8706         * lread.c:
8707         * lread.c (Fload_internal):
8708         * lread.c (Feval_buffer):
8709         * lread.c (Feval_region):
8710         * macros.c (Fexecute_kbd_macro):
8711         * marker.c (set_marker_internal):
8712         * marker.c (Fset_marker):
8713         * marker.c (set_marker_restricted):
8714         * marker.c (Fcopy_marker):
8715         * marker.c (noseeum_copy_marker):
8716         * menubar.c:
8717         * menubar.c (Fpopup_menu):
8718         * minibuf.c:
8719         * mule-charset.c (Fcharset_name):
8720         * mule-charset.c (Fchar_charset):
8721         * mule-charset.c (Fchar_octet):
8722         * mule-charset.c (Fsplit_char):
8723         * mule-wnnfns.c (Fwnn_open):
8724         * mule-wnnfns.c (Fwnn_dict_comment):
8725         * mule-wnnfns.c (Fwnn_quit_henkan):
8726         * mule-wnnfns.c (Fwnn_word_toroku):
8727         * mule-wnnfns.c (Fwnn_word_sakujo):
8728         * mule-wnnfns.c (Fwnn_word_use):
8729         * mule-wnnfns.c (Fwnn_hindo_set):
8730         * objects.c:
8731         * objects.c (Fmake_color_instance):
8732         * objects.c (Fmake_font_instance):
8733         * print.c (Fwrite_char):
8734         * process.c:
8735         * process.c (mark_process):
8736         * process.c (print_process):
8737         * process.c (get_process_from_usid):
8738         * process.c (Fprocessp):
8739         * process.c (Fprocess_live_p):
8740         * process.c (Fget_process):
8741         * process.c (Fget_buffer_process):
8742         * process.c (get_process):
8743         * process.c (Fprocess_id):
8744         * process.c (Fprocess_name):
8745         * process.c (Fprocess_command):
8746         * process.c (init_process_io_handles):
8747         * process.c (start_process_unwind):
8748         * process.c (Fstart_process_internal):
8749         * process.c (Fopen_multicast_group_internal):
8750         * process.c (Fset_process_window_size):
8751         * process.c (read_process_output):
8752         * process.c (send_process):
8753         * process.c (Fprocess_tty_name):
8754         * process.c (Fset_process_buffer):
8755         * process.c (Fprocess_buffer):
8756         * process.c (Fprocess_mark):
8757         * process.c (set_process_filter):
8758         * process.c (Fset_process_filter):
8759         * process.c (Fprocess_filter):
8760         * process.c (Fprocess_send_region):
8761         * process.c (Fprocess_send_string):
8762         * process.c (exec_sentinel):
8763         * process.c (Fset_process_sentinel):
8764         * process.c (Fprocess_sentinel):
8765         * process.c (status_notify):
8766         * process.c (Fprocess_status):
8767         * process.c (Fprocess_exit_status):
8768         * process.c (process_send_signal):
8769         * process.c (Fprocess_send_eof):
8770         * process.c (deactivate_process):
8771         * process.c (remove_process):
8772         * process.c (Fdelete_process):
8773         * process.c (kill_buffer_processes):
8774         * process.c (Fprocess_kill_without_query):
8775         * process.c (Fprocess_kill_without_query_p):
8776         * rangetab.c:
8777         * rangetab.c (Fget_range_table):
8778         * rangetab.c (Fput_range_table):
8779         * rangetab.c (Fremove_range_table):
8780         * rangetab.c (Fclear_range_table):
8781         * search.c:
8782         * search.c (Fskip_chars_forward):
8783         * search.c (Fskip_chars_backward):
8784         * search.c (Fskip_syntax_forward):
8785         * search.c (Fskip_syntax_backward):
8786         * search.c (search_command):
8787         * search.c (Freplace_match):
8788         * search.c (Fregexp_quote):
8789         * select.c (Fown_selection_internal):
8790         * select.c (Fselection_owner_p):
8791         * select.c (Fselection_exists_p):
8792         * select.c (Fget_selection_internal):
8793         * specifier.c:
8794         * symbols.c:
8795         * symbols.c (Fintern):
8796         * symbols.c (Fintern_soft):
8797         * symbols.c (Funintern):
8798         * symbols.c (Fapropos_internal):
8799         * symbols.c (Fset_default):
8800         * syntax.c:
8801         * syntax.c (Fsyntax_table_p):
8802         * syntax.c (Fcopy_syntax_table):
8803         * syntax.c (Fset_syntax_table):
8804         * syntax.c (Fchar_syntax):
8805         * syntax.c (syntax_match):
8806         * syntax.c (Fmatching_paren):
8807         * syntax.c (Fforward_word):
8808         * syntax.c (scan_lists):
8809         * syntax.c (Fscan_lists):
8810         * syntax.c (Fscan_sexps):
8811         * syntax.c (Fparse_partial_sexp):
8812         * toolbar.c (Fcheck_toolbar_button_syntax):
8813         * tooltalk.doc:
8814         * window.c:
8815         * window.c (Fwindowp):
8816         * window.c (Fwindow_live_p):
8817         * window.c (Fwindow_point):
8818         * window.c (Fdelete_window):
8819         * window.c (Fnext_window):
8820         * window.c (Fprevious_window):
8821         * window.c (Fother_window):
8822         * window.c (window_loop):
8823         * window.c (Fget_lru_window):
8824         * window.c (Fsplit_window):
8825         * window.c (Fenlarge_window):
8826         * window.c (Fenlarge_window_pixels):
8827         * window.c (Fshrink_window):
8828         * window.c (Fshrink_window_pixels):
8829         * window.c (change_window_height):
8830         * window.c (Fwindow_configuration_p):
8831         * window.c (Fcurrent_window_configuration):
8832         * window.h:
8833         * casefiddle.c (casify_object):
8834         * casefiddle.c (Fupcase):
8835         * casefiddle.c (Fdowncase):
8836         * casefiddle.c (Fcapitalize):
8837         * casefiddle.c (Fupcase_initials):
8838         * casefiddle.c (casify_region_internal):
8839         * casefiddle.c (casify_region):
8840         * casefiddle.c (Fupcase_region):
8841         * casefiddle.c (Fdowncase_region):
8842         * casefiddle.c (Fcapitalize_region):
8843         * casefiddle.c (Fupcase_initials_region):
8844         * casefiddle.c (Fupcase_word):
8845         * casefiddle.c (Fdowncase_word):
8846         * casefiddle.c (Fcapitalize_word):
8847         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8848         Replace 0 with '\0' when working with bytes.
8849         Replace initial "(" with "\(" in docstrings.
8850
8851 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8852
8853         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8854
8855         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8856
8857 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8858
8859         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8860
8861 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8862
8863         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8864         correctly.
8865
8866 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8867
8868         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8869         (inhibit_auto_save_session): New variable.
8870         (vars_of_fileio): Declare and initialize them.
8871         * fileio.c (Fdo_auto_save): Don't create session file if
8872         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8873
8874 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8875
8876         * sgiplay.c (play_internal): C++ compilability.
8877         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8878         * callproc.c (Fold_call_process_internal):
8879         Remove unused vars `env', `first'.
8880         * scrollbar.c (update_scrollbar_instance):
8881         #### unused var `current_window'.
8882         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8883         etc. within #ifdef NOT_YET.
8884         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8885         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8886         * specifier.c (specifier_instance):
8887         #### unused var `tag'.
8888         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8889
8890 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8891
8892         * fns.c (Fbutlast):
8893         * fns.c (list_sort):
8894         * fns.c (Ffillarray):
8895         * fns.c (bytecode_nconc2):
8896         * fns.c (Fnconc):
8897         * fns.c (mapcar1):
8898         * fns.c (Fmapconcat):
8899         Be pedantically 64-bit correct.  For the time when someone will
8900         want to have a list with length > 2**32.
8901
8902         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8903         Work around MIPSpro compiler bug.
8904
8905         * process-unix.c (unix_kill_child_process): Add snarky comment.
8906         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8907
8908         * config.h.in: Oops, _getpt ==> _getpty
8909
8910 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8911
8912         * config.h.in:
8913         * regex.c:
8914         Use void*, not char*, as return type of alloca().
8915
8916         * alloc.c (free_marker): Side effect inside assert expression!
8917
8918 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8919
8920         * mule-charset.c (Fset_charset_ccl_program): To check
8921         if the given ccl program is valid, use setup_ccl_program()
8922         instead of CHECK_VECTOR().
8923         (Fmake_charset): Likewise.
8924
8925 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8926
8927         * faces.c (get_extent_fragment_face_cache_index):
8928         Fix cachel.merged_faces memory leak.
8929
8930 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8931
8932         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8933         Reset MSB of octets obtained by DECODE_SJIS
8934         because of the incompatibility with Emacs.
8935         (ccl_driver)<CCL_ENCODE_SJIS>:
8936         Set MSB of octets before passing them to
8937         ENCODE_SJIS because of the incompatibility
8938         with Emacs.
8939
8940 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8941
8942         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8943         (DECLARE_LRECORD): Undo the last change.
8944         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8945
8946 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8947
8948         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8949         the implementation to lrecord_implementations_table.
8950
8951 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8952
8953         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8954         initial value of `lrecord_type_##c_name' and
8955         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8956         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8957         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8958         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8959         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8960
8961 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8962
8963         * miscplay.c (sndcnv8S_2mono):
8964         (sndcnv2monounsigned):
8965         (sndcnvULaw_2linear):
8966         (sndcnv16swap):
8967         Remove implementation-defined behavior.
8968
8969 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8970
8971         * input-method-xlib.c: Warning suppression.
8972
8973 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8974
8975         * mule-ccl.c: Sync up with Emacs 21.0.90.
8976         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8977         Do nothing.
8978         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8979         Likewise.
8980         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8981         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8982         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8983         leading char belongs to official 2-dimensional charset.
8984         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8985         write the given character as is.  Otherwise,
8986         if it is a multibyte char, convert it by
8987         non_ascii_set_charptr_emchar, then write it.
8988         (CCL_WRITE_STRING): Likewise.
8989         (ccl_get_compiled_code): New function.
8990         (setup_ccl_program): When ccl_prog is invalid,
8991         return -1.
8992         (Fregister_code_conversion_map): New function.
8993         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8994
8995         * mule-ccl.h: Sync up with Emacs 21.0.90.
8996         (Fregister_ccl_program): export it.
8997
8998         * redisplay-msw.c (separate_textual_runs):
8999         If ccl program is not valid, don't do ccl conversion.
9000
9001         * redisplay-x.c (separate_textual_runs): Ditto.
9002
9003         * file-coding.c (Fmake_coding_system):
9004         When type is ccl and value is vector, register it
9005         with a proper symbol.  And checks whether the
9006         given ccl program is valid.
9007         (mule_decode): When calling ccl_driver, if src indicates
9008         NULL pointer, set an empty string instead.
9009         (mule_encode): Likewise.
9010
9011 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9012
9013         The following large batch of changes gets us back to a state of
9014         C++ compilability.  Extbyte is now a char, which means that
9015         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9016
9017         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9018
9019         * sound.c (Fplay_sound): Type correctness.
9020
9021         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9022         (x_get_window_property): Type correctness.
9023         (receive_incremental_selection): unsigned char ==> Extbyte
9024         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9025         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9026         (Fx_store_cutbuffer_internal): Type correctness.
9027
9028         * process-unix.c (try_to_initialize_subtty): Type correctness.
9029
9030         * objects-x.c (x_print_color_instance): Type correctness.
9031         (x_print_font_instance): Type correctness.
9032         (x_list_fonts): SExtbyte ==> Extbyte.
9033         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9034         (x_find_charset_font): SExtbyte ==> Extbyte.
9035         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9036         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9037         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9038         Use bufbyte_strcmp.
9039
9040         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9041         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9042         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9043         (BYTE_C0_P): Use bit ops for char-signedness safety.
9044         (BYTE_C1_P): Use bit ops for char-signedness safety.
9045         (CHARSET_BY_LEADING_BYTE):
9046         (CHARSET_BY_ATTRIBUTES):
9047         Always use inline function.
9048         Use type_checking_assert.
9049         Hide chlook.
9050
9051         * mule-charset.c (non_ascii_charptr_copy_char):
9052         Modify to work with both ASCII and non-ASCII characters.
9053         Improve docs and variable names.
9054         Replace over-clever fall-through switch with a simple loop.
9055         (Lstream_get_emchar_1):
9056         Replace over-clever fall-through switch with a simple loop.
9057
9058         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9059         Warning suppression.
9060
9061         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9062         the return value of Lstream_getc, which could be EOF as well.
9063
9064         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9065
9066         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9067         APIs can be used on Extbytes without casts.  Risky!
9068         (SExtbyte): Remove.
9069         (UExtbyte): Remove.
9070
9071         * input-method-xlib.c (XIM_init_device):
9072         Use Xlib.h instead of IntrinsicP.h.
9073         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9074         which will break in X11R7.
9075         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9076         to call XRegisterIMInstantiateCallback with correct types.
9077
9078         * gui-x.c (button_item_to_widget_value): Type correctness.
9079
9080         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9081
9082         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9083         (xbm_instantiate_1): Type correctness.
9084         (BUILD_GLYPH_INST):  Type correctness.
9085
9086         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9087
9088         * file-coding.c:
9089         (decode_coding_sjis):
9090         (decode_coding_big5):
9091         (decode_coding_ucs4):
9092         (decode_coding_utf8):
9093         (decode_coding_iso2022):
9094         (decode_coding_no_conversion):
9095         Make all decoding functions take an Extbyte * arg.
9096         (encode_coding_sjis):
9097         (encode_coding_big5):
9098         (encode_coding_ucs4):
9099         (encode_coding_utf8):
9100         (encode_coding_iso2022):
9101         (encode_coding_no_conversion):
9102         Make all encoding functions take a Bufbyte * arg.
9103         Use size_t instead of unsigned int for memory sizes.
9104         Only cast to unsigned char whenever dereferencing Extbyte *.
9105
9106         * doc.c (unparesseuxify_doc_string): Type correctness.
9107
9108         * console-x.c (split_up_display_spec):
9109         Rewrite without using details of internal string representation.
9110         (x_semi_canonicalize_device_connection): Type correctness.
9111
9112         * config.h.in:
9113         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9114         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9115         (HAVE_XFREE386): Removed.
9116
9117         * buffer.h (DEC_CHARPTR): `const' correctness.
9118         (bufbyte_strcmp): New.
9119         (bufbyte_memcmp): New.
9120
9121         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9122
9123         * buffer.h (XCHAR_OR_CHAR_INT):
9124         Always use inline function.
9125         Remove redundant type checking assert() - XINT will abort quite nicely.
9126
9127 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9128
9129         * search.c (Freplace_match): Set newtext to an empty string.
9130
9131 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9132
9133         * s/decosf1-3.h: Remove #include of stropts.h
9134         * s/ptx.h: Remove #include of stropts.h
9135         * s/usg5-4.h: Remove #include of stropts.h
9136         * sysproc.h:
9137         * config.h.in:
9138         Use stropts.h, not sys/stropts.h.
9139         Use strtio.h, not sys/strtio.h.
9140
9141 2000-10-04  Martin Buchholz <martin@xemacs.org>
9142
9143         * XEmacs 21.2.36 is released.
9144
9145 2000-09-21  Andy Piper  <andy@xemacs.org>
9146
9147         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9148         changes still involve copying the widget tree.
9149         (update_widget_face): make sure a change is register in the widget
9150         tree. Call update_tab_widget_face appropriately.
9151         (update_tab_widget_face): ditto.
9152         (x_tab_control_redisplay): make sure non-structural changes still
9153         involve copying the widget tree.
9154
9155 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9156
9157         * lread.c (locate_file): Check the path element is non-nil.
9158
9159 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9160
9161         * lisp.h: Warning suppression for SCO compilers.
9162
9163         * redisplay-tty.c (reset_tty_modes): Fix crash.
9164         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9165
9166 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9167
9168         Big signal/process handling overhaul.  Bugs fixed:
9169         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9170         M-x comint-kill-subjob should work for both values nil and t of
9171         process-connection-type. It was broken on most platforms.
9172         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9173         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9174         * process-unix.c: Signal/Process handling overhaul.
9175         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9176         (allocate_pty): Use all available modern methods of allocating
9177         ptys, falling back to old style BSD allocation as a last resort.
9178         Use allegedly more secure Unix98 pty allocation by default.
9179         (allocate_pty_the_old_fashioned_way): New. the last resort.
9180         (unix_create_process): Push ptem, ldterm, ttcompat where
9181         available.  Autoconfiscate.
9182         (try_to_initialize_subtty): New.
9183         (unix_kill_child_process): Proper signal handling for ptys on most
9184         platforms, using special knowledge of AIX, BSD, etc...
9185         (unix_create_process): Always disconnect_controlling_terminal() for
9186         subprocesses, whether using ptys or not.
9187         * process.h: Remove old getpt-dependent PTY code.
9188         * process.c (Fprocess_send_signal): New, obvious generic function.
9189         (decode_signal): New.
9190         (Finterrupt_process):
9191         (Fkill_process):
9192         (Fquit_process):
9193         (Fstop_process):
9194         (Fcontinue_process):
9195         (Fsignal_process): Use decode_signal.
9196         (process_send_signal):
9197         Many docstring corrections.
9198         Allow any signal to be sent to a process object.
9199         * config.h.in: Add symbols for big signal/process overhaul.
9200         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9201         * sysproc.h: Include process-related headers, where available:
9202         sys/stropts.h sys/strtio.h pty.h libutil.h
9203         * s/irix4-0.h:
9204         * s/irix5-0.h:
9205         * s/cygwin32.h:
9206         * s/gnu.h:
9207         * s/linux.h:
9208         * s/hpux.h:
9209         * s/aix3-1.h:
9210         Remove old S&M pty stuff.
9211         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9212         * systty.h: Simplify cpp hackery, improve comments.
9213         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9214
9215         * editfns.c (Fformat_time_string):
9216         Be a little more paranoid with the return value of ctime.
9217
9218         * fileio.c (check_executable):
9219         (check_writable):
9220         Use symbolic constants X_OK, W_OK.
9221
9222         * console-x.c (split_up_display_spec): Fix a warning.
9223
9224 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9225
9226         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9227         * ntproc.c (sys_spawnve): make_string ==> build_string
9228         Small clarity improvements.
9229
9230 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9231
9232         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9233
9234         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9235
9236         * config.h.in (HAVE_STRCASECMP): Remove.
9237
9238 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9239
9240         * redisplay-output.c (redisplay_output_pixmap):
9241         Cleaner and possibly more 64-bit correct code.
9242
9243 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9244
9245         * dumper.c (pdump_load_finish): move restoration of
9246         `noninteractive1' to emacs.c (main_1).
9247         * emacs.c (main_1): protect LISP-visible command-line flags
9248         from pdump_load().
9249
9250 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9251
9252         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9253         DUMP_TARGET instead of literal program names.
9254
9255 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9256
9257         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9258
9259 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9260
9261         * *: Spelling mega-patch
9262
9263 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9264
9265         * fns.c (bad_bad_turtle):
9266         Delete "Eek!" comment, since we fixed the bug to which it refers.
9267
9268 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9269
9270         * alloca.c: Replace REGISTER with register.
9271
9272 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9273
9274         * file-coding.c (ucs_to_char): Use countof.
9275
9276 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9277
9278         * file-coding.c: (ucs_to_char):
9279         (complex_vars_of_file_coding):
9280         Use countof instead of sizeof.
9281         Use CHECK_NATNUM instead of CHECK_INT.
9282
9283         * sysdep.c (strcasecmp): Remove.
9284         * device-x.c (ascii_strcasecmp): New.
9285         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9286         Avoid using non-standard non-portable strcasecmp.
9287
9288 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9289
9290         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9291         * font-lock.c: remove reference to emacsfns.h.
9292         * search.c: small doc improvement.
9293         * event-Xt.c: correct file names in comments.
9294         * console-x.h Correct file names in comments.
9295         * frame.c: Correct file names in comments.
9296         * event-stream.c: remove Energize from comments.
9297
9298 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9299
9300         * symeval.h (DEFERROR_STANDARD):
9301         (DEFERROR):
9302         (DEFSYMBOL):
9303         (DEFSYMBOL_NO_DUMP):
9304         (DEFSYMBOL_MULTIWORD_PREDICATE):
9305         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9306         (DEFKEYWORD):
9307         The construct &##name is not sensible C.
9308         Fixes compilation errors with Unixware native compiler.
9309
9310 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9311
9312         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9313         (next_frame_internal): Removed.  We now just have next_frame.
9314         (next_frame):
9315         Write a simpler and cleaner one-pass algorithm.
9316         Remove called_from_delete_device arg and #ifdefed-out code.
9317         (previous_frame):
9318         Renamed from prev_frame.  Update callers.
9319         Cleaned up to have an analogous implementation to next_frame.
9320         (other_visible_frames_internal): Remove the
9321         called_from_delete_device bogus arg, and hence, remove this
9322         function.  Just use other_visible_frames().
9323
9324         * window.c (Fnext_window):
9325         Prettify docstring.
9326         Since next_frame() is guaranteed to return a frame, remove check
9327         for nil inserted in previous patch.
9328         (Fprevious_window):
9329         Prettify docstring.
9330         Make code look more like Fnext_window.
9331         (window_loop):
9332         Respect the `console' arg when iterating through windows.
9333         Fixes bug: (get-buffer-window buffer t device) not respecting
9334         the `device' arg.
9335         This function needs more work, as others have pointed out.
9336
9337         * frame.h: Rename prev_frame to previous_frame.
9338         device_matches_console_spec no longer takes a `frame' arg.
9339
9340         * s/gnu.h:
9341         * s/linux.h:
9342         * s/hpux.h:
9343         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9344         From "Golubev I. N." <gin@mo.msk.ru>.
9345
9346         * make-src-depend: Fix typo.
9347
9348 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9349
9350         * window.c (Fnext_window):
9351         next_frame() might return nil, not a frame.
9352         Fixes this crash:
9353         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9354
9355         * frame.c (next_frame_internal):
9356         We've passed a frame if we've passed its device.
9357         Fixes this crash:
9358         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9359 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9360
9361 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9362
9363         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9364         Allow option to suppress accelerators in menu/dialog items.
9365         (populate_or_checksum_helper): Pass dialog title through above.
9366
9367 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9368
9369         * event-msw.c (mswindows_key_to_emacs_keysym):
9370         Add "pause" key, fix "menu" key.
9371
9372 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9373
9374         * eval.c (reinit_vars_of_eval):
9375         Increase max_lisp_eval_depth to 1000,
9376         required for thai-xtis.el to byte-compile under some circumstances.
9377
9378 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9379
9380         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9381         From Kenichi Handa.
9382
9383 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9384
9385         * make-src-depend: Make the generated Makefiles smaller.
9386
9387         * s/hpux.h (SETUP_SLAVE_PTY):
9388         Provide a %d in the format string for the errno argument.
9389
9390         * editfns.c (Ftemp_directory):
9391         Warning fix.
9392         Avoid buffer overrun on very long file name.
9393
9394         * input-method-xlib.c (XIM_init_device):
9395         6th parameter of XRegisterIMInstantiateCallback has different
9396         pointer types on different OSes, so simply cast to (void *).
9397
9398         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9399
9400         * sysdll.c (dll_open):
9401         shl_load will hang hard if passed a NULL filename.
9402         Simply return NULL for compatibility with dlopen.
9403         * sysdll.c: Conform to XEmacs coding standards.
9404
9405         * sysdep.c (get_pty_max_bytes):
9406         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9407
9408 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9409
9410         * tooltalk.c: Add #include <syssignal.h>
9411
9412 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9413
9414         * s/hpux.h: Don't use undefined function sigunblock().
9415
9416 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9417
9418         * config.h.in: Add HAVE_BALLOON_HELP.
9419         * emacs.c: Use HAVE_BALLOON_HELP.
9420         * Makefile.in.in (x_objs):
9421         Make Balloon Help conditional on finding shape.h.
9422
9423 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9424
9425         * syntax.c (regex_emacs_buffer_p): New variable.
9426         * syntax.h (regex_emacs_buffer_p): extern.
9427         * search.c (looking_at_1):
9428         (string_match_1):
9429         (fast_string_match):
9430         (search_buffer): Set regex_emacs_buffer_p.
9431         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9432         when before_dot, at_dot, after_dot.
9433
9434 2000-08-23  Andy Piper  <andy@xemacs.org>
9435
9436         * gui-x.c (popup_selection_callback): Only set action_occurred
9437         when we really have an image instance.
9438         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9439
9440 2000-08-23  Andy Piper  <andy@xemacs.org>
9441
9442         * gui-msw.c (mswindows_handle_gui_wm_command): set
9443         action_occurred.
9444         * gui-x.c (popup_selection_callback): ditto.
9445
9446         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9447         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9448         (struct Lisp_Image_Instance): add action_occurred flag.
9449
9450         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9451         (image_instance_changed): ditto.
9452         (reset_frame_subwindow_instance_cache): only unmap windows - do
9453         not remove them from the cache also.
9454
9455         * glyphs-widget.c (tab_control_update): better debug.
9456         (progress_gauge_update): ditto.
9457         (layout_update): ditto.
9458         (layout_instantiate): ditto.
9459         (tab_control_order_only_changed): cope with null pending items.
9460
9461         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9462         debug. Force selection of an item when an action occurred. Cope
9463         with null pending_items.
9464         (mswindows_progress_gauge_redisplay): better debug.
9465         * glyphs-x.c (x_tab_control_redisplay): ditto.
9466
9467         * redisplay.c (redisplay_frame): reset the frame cache if the
9468         frame is garbaged.
9469
9470         * window.c (Fset_window_configuration): potentially re-enable
9471         frame cache reset.
9472         (window_unmap_subwindows): need to finalize instances here since
9473         it is only used in mark_window_as_deleted.
9474
9475 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9476
9477         * nas.c (SndOpenDataForReading):
9478         nas.c (WaveOpenDataForReading):
9479         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9480         Somehow escaped from the 2000-08-14 patch.
9481
9482 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9483
9484         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9485         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9486
9487 2000-08-21  Andy Piper  <andy@xemacs.org>
9488
9489         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9490         window if it is not already displayed.
9491
9492         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9493         it is not already displayed.
9494
9495         * window.c (Fset_window_configuration): don't reset the frame
9496         cache.
9497
9498         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9499         instances from the frame cache if we are actually finalizing them.
9500         (reset_frame_subwindow_instance_cache): reset frame cache only
9501         after unmapping everything.
9502         (map_subwindow): set displayed flag after mapping.
9503
9504 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9505
9506         * data.c (indirect_function):
9507         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9508
9509         * eval.c (function_argcount):
9510         Use original function when signaling errors.
9511
9512 2000-08-18  Andy Piper  <andy@xemacs.org>
9513
9514         * frame.c (delete_frame_internal): use new
9515         free_frame_subwindow_instances name.
9516
9517         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9518         (add_tab_item): make return type correct.
9519         (mswindows_tab_control_instantiate): assert index of tab.
9520         (mswindows_tab_control_redisplay): Re-code to use
9521         gui_item_equal_sans_selected and gui_item_list_find_selected.
9522
9523         * glyphs-widget.c (tab_control_update): Correct comment.
9524
9525         * window.c (window_unmap_subwindows): use new
9526         unmap_subwindow_instance_cache_mapper.
9527         (window_unmap_subwindows_cache_mapper): deleted.
9528         (Fset_window_configuration): comparisons should now be with
9529         EQ. Preserve the subwindow instance cache across configuration
9530         changes.
9531         (allocate_window): ditto.
9532         (make_dummy_parent): ditto.
9533
9534         * glyphs.c (free_frame_subwindow_instances): rename from
9535         free_frame_subwindow_instance_cache. finalize all instances rather
9536         than just those in the display cache.
9537         (finalize_all_subwindow_instances): walk windows unmapping and
9538         finalizing subwindows.
9539         (unmap_subwindow_instance_cache_mapper): moved from
9540         window.c. Allow finalization as well as unmapping.
9541
9542         * gui.c (gui_item_list_find_selected): new function.
9543
9544         * gui.h (gui_item_list_find_selected): declare.
9545
9546         * glyphs-x.c (x_tab_control_redisplay): pick tab
9547         explicitly. Re-code to use gui_item_equal_sans_selected and
9548         gui_item_list_find_selected.
9549
9550         * glyphs-x.h: add lwlib-utils.h
9551
9552         * buffer.c (Frecord_buffer): undo previous change.
9553
9554 2000-08-09  Vin Shelton  <acs@xemacs.org>
9555
9556         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9557         possible.  Create temporary files more securely.  The patch was
9558         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9559         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9560         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9561         for details.
9562
9563 2000-08-07  Ben Wing  <ben@xemacs.org>
9564
9565         * getloadavg.c: remove duplicate (and windows-breaking)
9566         includes of fcntl.h and sys/file.h.
9567
9568         * nt.c: remove duplicate getloadavg() definition.
9569
9570         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9571         encodings.
9572
9573 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9574
9575         * eval.c (function_argcount): If function needs to be autoloaded
9576         actually use the loaded definition.
9577         GCPRO function.
9578
9579 2000-08-05  Ben Wing  <ben@xemacs.org>
9580
9581         * getloadavg.c: add prototype for getloadavg().  remove
9582         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9583         of the code).  remove duplicate header includes.
9584
9585         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9586
9587         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9588         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9589         useful load average.
9590
9591         * alloc.c (reinit_alloc_once_early): removed references to
9592         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9593         the lisp vars are the only things referencing the malloc_sbrk_*
9594         vars, and they were already if 0'd out.  these vars only exist
9595         in the older malloc.c, which is basically unused, and they're
9596         only for informational purposes.
9597
9598         * m\*.h: removed useless VIRT_ADDR_VARIES.
9599
9600         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9601
9602 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9603
9604         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9605         color if the image is a mono pixmap.
9606
9607 2000-07-30  Ben Wing  <ben@xemacs.org>
9608
9609         * Makefile.in.in (release):
9610         Remove stray @.
9611
9612         * buffer.c (directory_is_current_directory):
9613         * dired-msw.c (mswindows_get_files):
9614         * dired.c:
9615         * dired.c (Fdirectory_files):
9616         * dired.c (file_name_completion_stat):
9617         * dired.c (Ffile_attributes):
9618         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9619         preprocessor tricks, to avoid problems on some machines
9620         (e.g. SCO).
9621
9622         * callproc.c (egetenv): GC docs.
9623
9624         * console-msw.h:
9625         * console-msw.h (struct mswindows_dialog_id):
9626         * lrecord.h (lrecord_type):
9627         New object for use with MSW dialogs.
9628
9629         * console.h (struct console_methods):
9630         New enable/disable frame methods, for proper modal dialogs.
9631
9632         * device-msw.c (msprinter_default_printer): Fix to follow
9633         proper Mule conventions.
9634
9635         * device-msw.c:
9636         * device-msw.c (signal_open_printer_error):
9637         * device-msw.c (msprinter_init_device):
9638         * device-msw.c (ensure_not_printing):
9639         * device-msw.c (plist_get_margin):
9640         * device-msw.c (Fmsprinter_select_settings):
9641         * device-msw.c (finalize_devmode):
9642         * device-msw.c (Fmsprinter_settings_despecialize):
9643         * device-msw.c (signal_enum_priner_error):
9644         * extents.c (decode_extent):
9645         * extents.c (decode_map_extents_flags):
9646         * extents.c (decode_extent_at_flag):
9647         * extents.c (Fextent_at):
9648         * extents.c (Fextents_at):
9649         * extents.c (symbol_to_glyph_layout):
9650         [[[[2]]]] Use structured errors.
9651
9652         * dialog-msw.c:
9653         * dialog-msw.c (mswindows_is_dialog_msg):
9654         * dialog-msw.c (mark_mswindows_dialog_id):
9655         * dialog-msw.c (dialog_proc):
9656         * dialog-msw.c (handle_question_dialog_box):
9657         * dialog-msw.c (syms_of_dialog_mswindows):
9658         Define new object to clean up marking; use it as a dialog identifier.
9659         Call new delete-dialog-box-hook.
9660
9661         * dialog-x.c (dbox_selection_callback):
9662         * dialog-x.c (dbox_descriptor_to_widget_value):
9663         * dialog-x.c (x_make_dialog_box_internal):
9664         Call new delete-dialog-box-hook.
9665         Return an id.
9666
9667         * dialog.c:
9668         * dialog.c (syms_of_dialog):
9669         * dialog.c (vars_of_dialog):
9670         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9671
9672         * eval.c:
9673         * eval.c (signal_call_debugger):
9674         when noninteractive, output stack traces on the console instead
9675         of in a (never-seen) buffer.
9676
9677         * eval.c (signal_type_error):
9678         * eval.c (invalid_argument_2):
9679         * lisp.h:
9680         new funs for use w/structured errors.
9681
9682         * event-Xt.c:
9683         * event-Xt.c (x_to_emacs_keysym):
9684         * event-Xt.c (describe_event):
9685         * event-Xt.c (emacs_Xt_event_handler):
9686         * event-Xt.c (vars_of_event_Xt):
9687         * event-msw.c:
9688         * event-msw.c (mswindows_wnd_proc):
9689         * event-msw.c (vars_of_event_mswindows):
9690         rename {x,mswindows}-debug-events to debug-{}-events for
9691         consistency with other debug-foo variables.
9692
9693         * event-stream.c:
9694         document next-event more clearly.
9695
9696         * fileio.c (Ffile_name_directory):
9697         * fileio.c (Ffile_name_nondirectory):
9698         * fileio.c (Funhandled_file_name_directory):
9699         * fileio.c (file_name_as_directory):
9700         * fileio.c (Ffile_name_as_directory):
9701         * fileio.c (directory_file_name):
9702         * fileio.c (Fdirectory_file_name):
9703         * fileio.c (Fmake_temp_name):
9704         * fileio.c (Ffile_truename):
9705         * fileio.c (Fsubstitute_in_file_name):
9706         * fileio.c (expand_and_dir_to_file):
9707         * fileio.c (barf_or_query_if_file_exists):
9708         * fileio.c (check_executable):
9709         * fileio.c (Ffile_exists_p):
9710         * fileio.c (Ffile_writable_p):
9711         * fileio.c (Ffile_directory_p):
9712         * fileio.c (Ffile_regular_p):
9713         * fileio.c (Ffile_modes):
9714         * fileio.c (Ffile_newer_than_file_p):
9715         * fileio.c (Fverify_visited_file_modtime):
9716         * fileio.c (Fset_visited_file_modtime):
9717         * fileio.c (auto_save_1):
9718         (1). (2).
9719         fix up gcpro's.
9720
9721         * frame-msw.c:
9722         * frame-msw.c (mswindows_init_frame_1):
9723         * frame-msw.c (mswindows_enable_frame):
9724         * frame-msw.c (error_frame_unsizable):
9725         * frame-msw.c (msprinter_init_frame_1):
9726         * frame-msw.c (msprinter_init_frame_3):
9727         * frame-msw.c (console_type_create_frame_mswindows):
9728         (2).
9729         implement new enable/disable frame methods.
9730
9731         * frame-x.c:
9732         * frame-x.c (x_enable_frame):
9733         * frame-x.c (console_type_create_frame_x):
9734         implement new enable/disable frame methods.
9735
9736         * frame.c:
9737         * frame.c (Fdisable_frame):
9738         * frame.c (syms_of_frame):
9739         * frame.h (struct frame):
9740         implement new enable/disable frame methods/functions.
9741
9742         * general-slots.h:
9743         add initial-focus.
9744
9745         * glyphs-msw.c (mswindows_widget_instantiate):
9746         comment that initial-focus should be implemented.
9747
9748         * glyphs-widget.c:
9749         * glyphs-widget.c (check_valid_instantiator):
9750         * glyphs-widget.c (check_valid_orientation):
9751         * glyphs-widget.c (check_valid_tab_orientation):
9752         * glyphs-widget.c (check_valid_justification):
9753         * glyphs-widget.c (check_valid_border):
9754         * glyphs-widget.c (check_valid_callback):
9755         * glyphs-widget.c (check_valid_int_or_function):
9756         * glyphs-widget.c (check_valid_string_or_vector):
9757         * glyphs-widget.c (check_valid_item_list_1):
9758         * glyphs-widget.c (widget_validate):
9759         * glyphs-widget.c (combo_box_validate):
9760         * glyphs-widget.c (widget_instantiate):
9761         * glyphs-widget.c (syms_of_glyphs_widget):
9762         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9763         * glyphs-widget.c (image_instantiator_combo_box):
9764         * glyphs-widget.c (image_instantiator_scrollbar):
9765         * glyphs-widget.c (image_instantiator_tab_control):
9766         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9767         (2).
9768         support (unimplemented) keyword initial-focus.
9769         reindent long macros.
9770
9771         * glyphs-x.c (x_redisplay_widget):
9772         * glyphs-x.c (x_button_instantiate):
9773         * glyphs-x.c (x_button_redisplay):
9774         * glyphs-x.c (x_progress_gauge_instantiate):
9775         * glyphs-x.c (x_edit_field_instantiate):
9776         * glyphs-x.c (x_combo_box_instantiate):
9777         * glyphs-x.c (x_tab_control_instantiate):
9778         * glyphs-x.c (x_label_instantiate):
9779         * gui-x.c:
9780         * gui-x.c (button_item_to_widget_value):
9781         * gui-x.c (gui_items_to_widget_values_1):
9782         * gui-x.c (gui_item_children_to_widget_values):
9783         * gui-x.c (gui_items_to_widget_values):
9784         * gui-x.h:
9785         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9786         add new flag to gui-parsing routines to indicate whether
9787         accelerator specs should be supported.
9788
9789         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9790
9791         * glyphs.h (struct Lisp_Image_Instance):
9792         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9793         add initial-focus flag.
9794
9795         * gui.c:
9796         * gui.c (syms_of_gui):
9797         * gui.c (vars_of_gui):
9798         clean up menu-no-selection-hook.
9799
9800         * gui.h:
9801         support delete-dialog-box-hook.
9802
9803         * lread.c (Fload_internal):
9804         * lread.c (locate_file_in_directory_mapper):
9805         (1).
9806
9807         * lrecord.h:
9808         * lrecord.h (struct toolbar_button):
9809         * lrecord.h (syms_of_toolbar):
9810         document how to create a new object.
9811
9812         * menubar-msw.c (mswindows_char_is_accelerator):
9813         may be called on frames w/o menus.
9814
9815         * menubar.c (vars_of_menubar):
9816         clean up :filter docs.
9817
9818         * nt.c (readdir):
9819         * ntproc.c:
9820         (1).
9821
9822         * process-nt.c:
9823         * process-nt.c (validate_signal_number):
9824         * process-nt.c (signal_cannot_launch):
9825         * process-nt.c (nt_create_process):
9826         * process-nt.c (nt_send_process):
9827         * process-nt.c (nt_kill_child_process):
9828         * process-nt.c (nt_open_network_stream):
9829         * process-nt.c (syms_of_process_nt):
9830         (2).
9831         delete quote-handling.  call new lisp code that does it better.
9832
9833         * process-unix.c (connect_to_file_descriptor):
9834         * process-unix.c (allocate_pty):
9835         * process-unix.c (unix_send_process):
9836         * process-unix.c (unix_kill_child_process):
9837         * process-unix.c (unix_open_network_stream):
9838         * process-unix.c (unix_open_multicast_group):
9839         (1). (2).
9840
9841         * process.c:
9842         * process.c (Fstart_process_internal):
9843         (2).  need to canonicalize process path even if absolute.
9844
9845         * select-msw.c (symbol_to_ms_cf):
9846         * select-msw.c (ms_cf_to_symbol):
9847         * select-msw.c (cf_is_autofreed):
9848         * select-msw.c (mswindows_destroy_selection):
9849         * select.c:
9850         * select.c (syms_of_select):
9851         * select.h:
9852         support dibv5, fix bugs. (from Mike Alexander)
9853
9854         * select.c (Fget_selection_internal):
9855         * select.c (select_convert_out):
9856
9857         * sysdep.c:
9858         * sysdep.c (xemacs_stat):
9859         renamed.
9860
9861         * sysdep.c (mkdir):
9862         * sysdep.c (rmdir):
9863         but keep original stat() here because we provide encapsulation
9864         around these funs.
9865
9866         * sysfile.h:
9867         * sysfile.h (fstat):
9868         remove stat garbage.
9869
9870         * syswindows.h:
9871         fix X/MSW conflict.
9872         don't include tchar.h.  it's inappropriate because it makes
9873         compile-time distinctions when we want runtime distinctions.
9874         (we provide our own tchar replacements)
9875
9876         * toolbar.c:
9877         use default object printer for toolbar-button.
9878
9879         * unexcw.c:
9880         make sure we don't encapsulate.
9881
9882         * window.c (vars_of_window):
9883         emphasize that temp-buffer-show-hook is obsolete.
9884
9885 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9886
9887         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9888         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9889
9890         * events.c (Fevent_timestamp_lessp):
9891         Not 64-bit clean.  Use EMACS_INT, not int.
9892
9893 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9894
9895         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9896         unsigned int and changed the last enum to
9897         lrecord_type_last_built_in_type.
9898         (lrecord_implementations_table): changed prototype to know how
9899         long the array is supposed to be.
9900         (lrecord_type_count): new unsigned int to keep track of the
9901         current number of lisp lrecord types.
9902         (DEFINE_EXTERNAL_LRECORD):
9903         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9904         dynamic-modules to declare new lisp types. They are the same
9905         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9906         int for each new type, and increment lrecord_type_count by 1.
9907
9908         * alloc.c (lrecord_implementations_table): Changed to reference
9909         lrecord_type_last_built_in_type for the size of the array.
9910         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9911
9912 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9913
9914         * glyphs.h (check_valid_item_list): Renamed from
9915         check_valid_item_list_1.
9916
9917 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9918
9919         * select.c (Qselect_coerce): New.
9920         * select.c (Vselection_coercion_alist): New.
9921         * select.c (syms_of_select): Declare.
9922         * select.c (get-selection-internal): Use it.
9923         Use the new select-coerce functionality.
9924
9925         * select.c (select_coerce): New.
9926         * select.h (select_coerce): Declare.
9927         New function to coerce one type of data into another.
9928
9929 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9930
9931         * callproc.c (Fcall_process_internal):
9932         (Fcall_process_internal):
9933         * process-unix.c (unix_create_process):
9934         Save and restore the value of errno, so that error messages are accurate.
9935
9936 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9937
9938         * elhash.c (print_hash_table):
9939         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9940         Prettify docstrings and indentation.
9941
9942 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9943
9944         * window.c (Fwindow_pixel_edges): Subtract frame border and
9945         gutter size.
9946
9947 2000-07-31  Andy Piper  <andy@xemacs.org>
9948
9949         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9950         will acknowledge the change.
9951
9952         * glyphs.h: declare tab_control_order_only_changed.
9953
9954         * glyphs-x.c (x_tab_control_redisplay): use
9955         tab_control_order_only_changed.
9956
9957         * glyphs-widget.c (tab_control_order_only_changed): new function.
9958
9959         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9960         tab_control_order_only_changed.
9961
9962         * gui.c (gui_item_equal_sans_selected): new function.
9963         (gui_item_equal): use it.
9964
9965         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9966         :properties in favor of :items..
9967
9968         * glyphs-widget.c (check_valid_item_list): rename from
9969         check_valid_item_list_1.
9970         (check_valid_item_list_1): renamed.
9971         (combo_box_validate): deprecate :properties in favor of :items.
9972         (widget_instantiate): ditto.
9973         (tab_control_update): ditto.
9974         (image_instantiator_combo_box): ditto.
9975         (image_instantiator_tree_view): ditto.
9976         (image_instantiator_tab_control): ditto.
9977         (layout_post_instantiate): remove dead code.
9978
9979         * print.c (debug_print_no_newline): only write to debugger if in
9980         WIN32_NATIVE.
9981
9982         * elhash.c (Fmake_hash_table): update doc string.
9983
9984         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9985         messages whilst in GC. This at least stops XEmacs crashing but has
9986         the potential for wierd behaviour.
9987
9988 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9989
9990         * config.h.in:
9991         Make existence of s&m files optional.
9992
9993         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9994         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9995         * s/gnu.h: Remove HAVE_GETLOADAVG.
9996         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9997         * s/sol2.h: Remove HAVE_GETLOADAVG.
9998         * lisp.h: Remove getloadavg() declaration.
9999         * fns.c:
10000         Include <sys/loadavg.h> if available.
10001         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10002         * config.h.in:  Group together getloadavg()-related macros.
10003         Use only configure-time tests to detect getloadavg().
10004
10005 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10006
10007         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10008
10009 2000-07-25  Andy Piper  <andy@xemacs.org>
10010
10011         * syswindows.h: add tchar.h for native builds.
10012
10013         * frame.c (syms_of_frame): remove set-glyph-image.
10014
10015         * general-slots.h: add Qset_glyph_image.
10016
10017         * glyphs-widget.c (layout_update): add domain arg to
10018         set-glyph-image.
10019         (syms_of_glyphs_widget): remove set-glyph-image.
10020
10021 2000-07-23  Ben Wing  <ben@xemacs.org>
10022
10023         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10024         Vpopup_frame_list.
10025
10026 2000-07-22  Andy Piper  <andy@xemacs.org>
10027
10028         * symsinit.h: add syms_of_win32().
10029
10030         * gui-msw.c (syms_of_gui_mswindows): remove
10031         Fmswindows_shell_execute.
10032         (Fmswindows_shell_execute): moved to win32.c.
10033
10034         * emacs.c (main_1): add syms_of_win32 ().
10035
10036         * win32.c (init_potentially_nonexistent_functions): rewrite in
10037         compiler-friendly terms.
10038         (Fmswindows_shell_execute): move here from gui-msw.c.
10039         (syms_of_win32): new.
10040
10041         * device-msw.c (Fmswindows_printer_list): clean up args to
10042         EnumPrinters.
10043         Don't include tchar under cygwin or mingw.
10044         (msprinter_default_printer): make cygwin-friendly.
10045
10046 2000-07-21  Andy Piper  <andy@xemacs.org>
10047
10048         * glyphs-widget.c (image_instantiator_tree_view): use tab
10049         control's update function.
10050         (layout_property): new function. Retrieve items.
10051
10052         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10053         function. Re-populate the tree view from the pending items.
10054
10055         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10056         is designated the parent if the domain is an image instance. This
10057         is needed so that dirtiness can be cascade up the hierarchy and
10058         thus for layout children to be redisplayed correctly.
10059         (allocate_image_instance): rename glyph -> parent.
10060
10061         * redisplay.h: change redisplay_output_layout signature.
10062
10063         * redisplay-msw.c (mswindows_output_display_block): use domain
10064         arg.
10065
10066         * redisplay-x.c (x_output_display_block): use domain arg.
10067
10068 2000-07-10  Andy Piper  <andy@xemacs.org>
10069
10070         * window.c (Fset_window_configuration): add comment.
10071
10072         * redisplay-output.c (compare_runes):
10073         (redisplay_output_subwindow): redisplay rather than update subwindow.
10074         (redisplay_output_layout): ditto.
10075
10076         * redisplay-msw.c (mswindows_frame_output_end):
10077         (mswindows_frame_output_end): make defer window pos optional.
10078
10079         * lisp.h: add Flast.
10080
10081         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10082         normalize method. Change update method to be for changed
10083         instantiators. Add redisplay method. Change signature of layout
10084         method.
10085         (struct Lisp_Image_Instance): add instantiator.
10086         (IMAGE_INSTANCE_INSTANTIATOR): new.
10087         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10088         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10089         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10090
10091         * glyphs.c:
10092         (find_instantiator_differences): new function.
10093         (Fset_instantiator_property): new convenience function.
10094         (check_image_instance_structure): strictly check for vector
10095         instantiators.
10096         (normalize_image_instantiator): make non-static.
10097         (instantiate_image_instantiator): pass on dest_mask and use new
10098         signatures for image_instance_layout and friends.
10099         (mark_image_instance): mark the instantiator. Mark the subwindow
10100         face not the widget face.
10101         (image_instance_equal): add instantiator.
10102         (image_instance_hash): ditto.
10103         (allocate_image_instance): ditto.
10104         (Fset_image_instance_property): removed.
10105         (Fimage_instance_file_name): ditto.
10106         (Fcolorize_image_instance): ditto.
10107         (image_instance_layout): add offsets to be set.
10108         (update_image_instance): new function. update an image instance
10109         from its changed instantiator.
10110         (inherit_normalize): add dest_mask.
10111         (xbm_normalize): ditto.
10112         (xface_normalize): ditto.
10113         (xpm_normalize): ditto.
10114         (text_update): set_property -> update.
10115         (image_instantiate): use the glyph identity as a hash key, not the
10116         instantiator.
10117         (glyph_width): use new image_instance_layout signature.
10118         (glyph_ascent): ditto.
10119         (glyph_descent): ditto.
10120         (glyph_height): ditto.
10121         (glyph_query_geometry): ressurrect.
10122         (glyph_layout): ditto.
10123         (redisplay_subwindow): update -> redisplay.
10124         (syms_of_glyphs): add Fset_instantiator_property.
10125         (image_instantiator_format_create): set_property -> update.
10126
10127         * glyphs-x.c:
10128         (autodetect_normalize): add dest_maks to signature.
10129         (x_redisplay_subwindow): update -> redisplay.
10130         (x_redisplay_widget): ditto.
10131         (x_button_redisplay): ditto.
10132         (x_progress_gauge_redisplay): ditto.
10133         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10134         stacking order.
10135         (console_type_create_glyphs_x): update -> redisplay.
10136         (image_instantiator_format_create_glyphs_x): ditto.
10137
10138         * glyphs-widget.c:
10139         (check_valid_instantiator): disallow glyphs in the instantiator,
10140         they must now be vectors.
10141         (check_valid_instantiator_list): ditto.
10142         (glyph_instantiator_to_glyph): use internal symbol rather than
10143         intern.
10144         (widget_update): renamed from widget_set_property. Call cascaded
10145         update methods.
10146         (redisplay_widget): renamed from update_widget.
10147         (widget_layout): image_instance_layout now takes position as well
10148         as size.
10149         (widget_normalize): ditto.
10150         (widget_instantiate): ditto.
10151         (tab_control_query_geometry) ditto.:
10152         (tab_control_update): renamed from tab_control_set_property.
10153         (progress_gauge_update): set_property -> update.
10154         (layout_normalize): rewrite so that child instantiators are
10155         normalized also.
10156         (layout_update): new function. Create glyphs from the normalized
10157         children and cope with any other layout keywords. We do not
10158         instantiate children here that will be take care of by
10159         redisplay_output_layout.
10160         (layout_instantiate): call layout_update and not much else.
10161         (layout_post_instantiate): not sure whether this is needed
10162         anymore.
10163         (layout_query_geometry): query glyph geometry rather than
10164         image_instance geometry.
10165         (layout_layout): set offsets from pass in parameters. Use glyph
10166         geometry and layout functions rather than image instance ones.
10167         (native_layout_layout): ditto.
10168         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10169         (image_instantiator_widget): set_property -> update.
10170         (image_instantiator_buttons): ditto.
10171         (image_instantiator_progress_guage): ditto.
10172         (image_instantiator_tab_control): ditto.
10173         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10174         (image_instantiator_layout): add update method.
10175
10176         * glyphs-msw.c (bmp_normalize):
10177         (mswindows_resource_normalize): add dest_mask so that it can be
10178         proprogated by layout_normalize.
10179         (begin_defer_window_pos): make optional because it may not be the
10180         right thing to do and it introduces differences with X.
10181         (mswindows_unmap_subwindow): ditto.
10182         (mswindows_map_subwindow): ditto.
10183         (mswindows_redisplay_subwindow): renamed from
10184         mswindows_update_subwindow.
10185         (mswindows_redisplay_widget): ditto.
10186         (mswindows_button_redisplay): renamed from
10187         mswindows_button_update. Update is now what the instantiation
10188         function does for a changed instantiator.
10189         (mswindows_progress_gauge_instantiate): set the progress value
10190         here if appropriate.
10191         (mswindows_tab_control_redisplay): cope with re-ordering of the
10192         members of the tab widget by simply selecting the new top
10193         widget. This makes things appear ok if you click on a tab.
10194         (mswindows_combo_box_instantiate): image_instance_layout now takes
10195         position as well as size.
10196         (mswindows_progress_gauge_redisplay): renamed from
10197         mswindows_progress_gauge_update.
10198         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10199         (image_instantiator_format_create_glyphs_mswindows): ditto.
10200
10201         * glyphs-eimage.c (jpeg_normalize):
10202         (gif_normalize):
10203         (png_normalize):
10204         (tiff_normalize): add dest_mask so that it can be proprogated by
10205         layout_normalize.
10206
10207         * elhash.c:
10208         (print_hash_table):
10209         (hash_table_weakness_validate):
10210         (decode_hash_table_weakness):
10211         (Fhash_table_weakness):
10212         (Fhash_table_type):
10213         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10214
10215         * console.h (struct console_methods): move update_* to
10216         redisplay_*.
10217
10218 2000-07-20  Ben Wing  <ben@xemacs.org>
10219
10220         * *.[ch] (XSETOBJ): remove unused middle argument.
10221         lisp-disunion.h: correct wrap_object() to one argument.
10222
10223 2000-07-15  Ben Wing  <ben@xemacs.org>
10224
10225         * s/cygwin32.h:
10226         * s/cygwin32.h (CYGWIN_CONV_PATH):
10227         Add missing logb prototype for v1.1.
10228         Use post-b20 names and alias to pre-b20 names when pre-b20.
10229
10230         * s/windowsnt.h: [5].
10231
10232 2000-07-15  Ben Wing  <ben@xemacs.org>
10233
10234         * Makefile.in.in (x_objs):
10235         * Makefile.in.in (sheap_objs):
10236         * Makefile.in.in (objs):
10237         added win32.o, cosmetic cleanups.
10238
10239         * alloc.c (Fmake_byte_code):
10240         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10241         etc. macros which declare their own args now.
10242
10243         * alloc.c (syms_of_alloc):
10244         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10245
10246         * buffer.c:
10247         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10248
10249         * buffer.c (Fget_file_buffer):
10250         Fixed GCPRO problem.
10251
10252         * buffer.c (get_truename_buffer):
10253         Fixed comment about GC checking.
10254
10255         * buffer.c (syms_of_buffer):
10256         Undeclared those dedicated frame funs.
10257         [2].
10258
10259         * buffer.h:
10260         Define convenience macros for internal/external conversions.
10261         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10262         and Qenvironment_variable_encoding for cleaner code.
10263
10264         * bufslots.h:
10265         Remove dedicated-frame; in lisp.
10266
10267         * bytecode.c (funcall_compiled_function):
10268         [1].
10269
10270         * bytecode.c (syms_of_bytecode):
10271         [2].
10272
10273         * console-msw.c:
10274         * console-msw.c (mswindows_show_console): Rewrote.
10275
10276         * console-msw.c (Fmswindows_debugging_output): New.
10277         Sends to OutputDebugString (special MSWin debugger interface).
10278
10279         * console-msw.c (Fmswindows_message_box):
10280         Fixed stupid bugs so it works when called from kill-emacs.
10281
10282         * console-msw.c (syms_of_console_mswindows):
10283         Declare Fmswindows_debugging_output.
10284
10285         * console-msw.h:
10286         New MSWin prototypes.
10287
10288         * console-msw.h (struct mswindows_frame):
10289         New entry last-click-mods for improved button-modifier support.
10290
10291         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10292         New struct entry `popup' with corresponding accessor.
10293
10294         * console-x.c:
10295         * console-x.c (split_up_display_spec):
10296         * console-x.c (get_display_arg_connection):
10297         * console-x.c (x_semi_canonicalize_console_connection):
10298         * console-x.c (x_canonicalize_device_connection):
10299         [[[6]]]: Change char to more specific type.
10300         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10301
10302         * console-x.c (x_semi_canonicalize_console_connection):
10303         * console-x.c (x_canonicalize_device_connection):
10304         [[[9]]]: Fix up error signalling to use new structured error system.
10305
10306         * console-x.h:
10307         [[[4]]]: Define codesys aliases:
10308         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10309         Qx_color_name_encoding, Qx_display_name_encoding.
10310
10311         * console.h (struct console_methods):
10312         New method make_dialog_box_internal supersedes older
10313         popup_dialog_box method.
10314
10315         * data.c:
10316         Define many new errors, part of new structured errors.
10317
10318         * data.c (init_errors_once_early):
10319         * data.c (syms_of_data):
10320         [2].
10321
10322         * device-msw.c (mswindows_init_device):
10323         [[[5]]]: Cleanup to support NT 3.51.
10324
10325         * device-msw.c (decode_devmode): Cleanup.
10326
10327         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10328         * device-msw.c (mswindows_handle_print_dialog_box):
10329         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10330         * device-msw.c (syms_of_device_mswindows):
10331         Delete the dialog box primitives recently introduced by Kirill and
10332         instead interface to general dialog box interface.
10333
10334         * device-x.c:
10335         * device-x.c (compute_x_app_name):
10336         * device-x.c (x_init_device):
10337         * device-x.c (Fx_valid_keysym_name_p):
10338         * device-x.c (Fx_set_font_path):
10339         [6].
10340         [7].
10341
10342         * device.h (wrap_device): New.
10343         First of its kind; meant to replace XSETDEVICE.
10344
10345         * dialog-msw.c: Many file-dialog symbols.
10346
10347         * dialog-msw.c (mswindows_register_popup_frame): New.
10348         * dialog-msw.c (mswindows_is_dialog_msg): New.
10349         For supporting kbd traversal in dialog boxes.
10350
10351         * dialog-msw.c (dialog_proc):
10352         Support hitting ESC in dialogs.
10353
10354         * dialog-msw.c (struct):
10355         Common dialog box errors.
10356
10357         * dialog-msw.c (handle_file_dialog_box): New.
10358         Add file dialog code.
10359
10360         * dialog-msw.c (handle_question_dialog_box):
10361         Redo existing code to support new question dialog syntax.
10362
10363         * dialog-msw.c (console_type_create_dialog_mswindows):
10364         We support new dialog console method.
10365
10366         * dialog-msw.c (syms_of_dialog_mswindows):
10367         * dialog-msw.c (vars_of_dialog_mswindows):
10368         New file dialog symbols, vars.
10369
10370         * dialog-x.c:
10371         * dialog-x.c (maybe_run_dbox_text_callback):
10372         * dialog-x.c (dbox_descriptor_to_widget_value):
10373         * dialog-x.c (x_make_dialog_box_internal):
10374         * dialog-x.c (console_type_create_dialog_x):
10375         Mule-ize entire file.
10376         Redo to support question dialog syntax.
10377         [6].
10378
10379         * dialog.c:
10380         * dialog.c (Fmake_dialog_box_internal):
10381         * dialog.c (syms_of_dialog):
10382         Kill old popup-dialog-box, replace with new primitive.
10383         Just call device method or signal error.
10384
10385         * eldap.c (Fldap_open):
10386         * eldap.c (Fldap_search_basic):
10387         * eldap.c (Fldap_add):
10388         * eldap.c (Fldap_modify):
10389         [1].
10390         [7].
10391
10392         * emacs.c:
10393         * emacs.c (make_arg_list_1):
10394         * emacs.c (make_arg_list):
10395         Mule-ize call to dll_init().
10396         [6].
10397         [8].
10398
10399         * emacs.c (make_argc_argv):
10400         * emacs.c (free_argc_argv):
10401         * emacs.c (init_cmdargs):
10402         * emacs.c (main_1):
10403         * emacs.c (Fkill_emacs):
10404         * emacs.c (Fdump_emacs):
10405         Update comments about what can be used in syms_* etc.
10406         Call init_win32() when necessary.
10407         Fix up MS Win dialog box in kill-buffer to actually work right.
10408         [7].
10409
10410         * eval.c:
10411         * eval.c (For):
10412         * eval.c (Fand):
10413         * eval.c (Fprogn):
10414         * eval.c (Fprog1):
10415         * eval.c (Fprog2):
10416         * eval.c (FletX):
10417         * eval.c (Flet):
10418         * eval.c (condition_case_3):
10419         * eval.c (Feval):
10420         * eval.c (function_argcount):
10421         * eval.c (funcall_lambda):
10422         [1].
10423
10424         * eval.c (type_error): New.
10425         * eval.c (maybe_type_error): New.
10426         * eval.c (continuable_type_error): New.
10427         * eval.c (maybe_continuable_type_error): New.
10428         * eval.c (type_error_with_frob): New.
10429         * eval.c (maybe_type_error_with_frob): New.
10430         * eval.c (continuable_type_error_with_frob): New.
10431         * eval.c (maybe_continuable_type_error_with_frob): New.
10432         New functions for use with structured errors.
10433
10434         * event-Xt.c:
10435         * event-Xt.c (x_event_to_emacs_event):
10436         Buttons are now modifiers too.
10437
10438         * event-Xt.c (emacs_Xt_current_event_timestamp):
10439         Implement new event method.
10440         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10441
10442         * event-msw.c:
10443         * event-msw.c (ntpipe_shove_writer): [5].
10444         * event-msw.c (mswindows_enqueue_mouse_button_event):
10445         * event-msw.c (mswindows_drain_windows_queue):
10446         * event-msw.c (mswindows_wnd_proc): [7].
10447         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10448         * event-msw.c (mswindows_modifier_state):
10449         Throughout: support new button modifiers.
10450
10451         * event-msw.c (emacs_mswindows_current_event_timestamp):
10452         Implement new event method.
10453         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10454
10455         * event-stream.c:
10456         * event-stream.c (event_stream_current_event_timestamp): New.
10457         * event-stream.c (maybe_kbd_translate): New functionality.
10458         * event-stream.c (vars_of_event_stream):
10459         Document new kbd-translate-table functionality.
10460
10461         * event-stream.c (Fcurrent_event_timestamp): New.
10462         New primitive for use in fabricated events.
10463         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10464
10465         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10466
10467         * events.c:
10468         * events.c (Fmake_event):
10469         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10470         [1].
10471         [9].
10472
10473         * events.c (format_event_object): fix gcc warnings.
10474
10475         * events.c (Fevent_timestamp): Document new primitives.
10476
10477         * events.c (TIMESTAMP_HALFSPACE): New.
10478
10479         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10480         comparing timestamps correctly (half-space algorithm).
10481
10482         * events.c (Fevent_modifier_bits): Doc fix.
10483
10484         * events.c (Fevent_modifiers): Major doc addition.
10485         * events.c (event_x_y_pixel_internal): Typo fix.
10486         * events.c (syms_of_events): Declare new primitives.
10487
10488         * events.h:
10489         Update long comment for button modifiers, timestamps.
10490
10491         * events.h (struct event_stream):
10492         New current_event_timestamp method.
10493
10494         * extents.c:
10495         * extents.c (extent_in_region_p):
10496         * extents.c (decode_extent):
10497         * extents.c (Fset_extent_parent):
10498         * extents.c (decode_map_extents_flags):
10499         Fix gcc warnings.
10500         [9].
10501
10502         * extents.c (struct extent_at_arg):
10503         * extents.c (decode_extent_at_flag):
10504         * extents.c (extent_at_mapper):
10505         * extents.c (extent_at_bytind):
10506         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10507         * extents.c (Fextents_at): New primitive. [9].
10508         * extents.c (symbol_to_glyph_layout): [9].
10509         Support new primitive `extents-at'.
10510
10511
10512         * extents.c (get_text_property_bytind):
10513         extent_at_bytind has another arg.
10514         [9].
10515
10516         * extents.c (syms_of_extents): New primitive.
10517
10518         * file-coding.c (Fmake_coding_system): [1].
10519         * file-coding.c (subsidiary_coding_system): fix gcc warning
10520         * file-coding.c (syms_of_file_coding): [2].
10521
10522         * fileio.c (Fexpand_file_name):
10523         * fileio.c (Fsysnetunam):
10524         * fileio.c (Ffile_exists_p):
10525         * fileio.c (Ffile_executable_p):
10526         * fileio.c (Fverify_visited_file_modtime):
10527         Clean up GCPROing.
10528
10529         * fileio.c (syms_of_fileio): [2].
10530
10531         * filelock.c (lock_file_1):
10532         * filelock.c (current_lock_owner):
10533         * filelock.c (lock_if_free):
10534         * filelock.c (lock_file):
10535         * filelock.c (unlock_file):
10536         Clean up GCPROing.
10537
10538         * fns.c (concat): Fix gcc warning.
10539
10540         * fns.c (Fmember):
10541         * fns.c (Fold_member):
10542         * fns.c (Fmemq):
10543         * fns.c (Fold_memq):
10544         * fns.c (memq_no_quit):
10545         * fns.c (Fassoc):
10546         * fns.c (Fold_assoc):
10547         * fns.c (Fassq):
10548         * fns.c (Fold_assq):
10549         * fns.c (assq_no_quit):
10550         * fns.c (Frassoc):
10551         * fns.c (Fold_rassoc):
10552         * fns.c (Frassq):
10553         * fns.c (Fold_rassq):
10554         * fns.c (rassq_no_quit):
10555         * fns.c (Fdelete):
10556         * fns.c (Fold_delete):
10557         * fns.c (Fdelq):
10558         * fns.c (Fold_delq):
10559         * fns.c (delq_no_quit):
10560         * fns.c (Fremassoc):
10561         * fns.c (Fremassq):
10562         * fns.c (remassq_no_quit):
10563         * fns.c (Fremrassoc):
10564         * fns.c (Fremrassq):
10565         * fns.c (remrassq_no_quit):
10566         * fns.c (Freverse):
10567         * fns.c (mapcar1):
10568         [1].
10569
10570         * frame-msw.c (mswindows_init_frame_1):
10571         * frame-msw.c (mswindows_delete_frame):
10572         Register popups with dialog code so keyboard traversing works.
10573
10574         * frame-tty.c (tty_raise_frame_no_select): [1].
10575
10576         * frame-x.c:
10577         * frame-x.c (x_set_frame_text_value):
10578         * frame-x.c (x_set_frame_properties):
10579         * frame-x.c (x_create_widgets):
10580         [7].
10581
10582         * frame.c:
10583         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10584
10585         * frame.h (wrap_frame): New.
10586         Macro like wrap_device.
10587
10588         * general.c:
10589         * general.c (SYMBOL):
10590         * general.c (syms_of_general):
10591         Major reorg.  This is now just a wrapper and symbols themselves
10592         are listed in general-slots.h.
10593
10594         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10595         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10596
10597         * glyphs-msw.c (mswindows_native_layout_instantiate):
10598         Add DS_CONTROL so keyboard traversal will work.
10599
10600         * glyphs-widget.c:
10601         * glyphs-widget.c (syms_of_glyphs_widget):
10602         Move some symbols to general-slots.h.
10603
10604         * glyphs-x.c:
10605         * glyphs-x.c (xbm_instantiate_1):
10606         * glyphs-x.c (x_xbm_instantiate):
10607         * glyphs-x.c (x_xface_instantiate):
10608         * glyphs-x.c (autodetect_instantiate):
10609         * glyphs-x.c (cursor_font_instantiate):
10610         * glyphs-x.c (x_update_widget):
10611         * glyphs-x.c (x_widget_instantiate):
10612         * glyphs.c (bitmap_to_lisp_data):
10613         * glyphs.c (pixmap_to_lisp_data):
10614         [7].
10615
10616         * glyphs.c (syms_of_glyphs):
10617         [2].
10618
10619         * gui-x.c:
10620         * gui-x.c (print_widget_value):
10621         * gui-x.c (menu_separator_style_and_to_external):
10622         * gui-x.c (add_accel_and_to_external):
10623         * gui-x.c (button_item_to_widget_value):
10624         * gui-x.c (gui_items_to_widget_values_1):
10625         * gui-x.c (gui_items_to_widget_values):
10626         * gui-x.c (syms_of_gui_x):
10627         * gui-x.c (vars_of_gui_x):
10628         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10629         [9].
10630
10631         * gui-x.h:
10632         Muleize, prototype changes matching gui-x.c.
10633
10634         * gui.c:
10635         * gui.c (separator_string_p):
10636         * gui.c (gui_item_add_keyval_pair):
10637         * gui.c (make_gui_item_from_keywords_internal):
10638         * gui.c (signal_too_long_error):
10639         * gui.c (parse_gui_item_tree_item):
10640         * gui.c (syms_of_gui):
10641         * gui.c (vars_of_gui):
10642         * gui.h:
10643         menu-no-selection-hook moved here (used by MSWin).
10644         Move some symbols to general-slots.h.
10645         [6].
10646         [9].
10647
10648         * insdel.c (get_buffer_pos_char):
10649         * insdel.c (get_buffer_range_char):
10650         Add GC comments.
10651
10652         * keymap.c (keymap_lookup_directly):
10653         * keymap.c (keymap_store):
10654         * keymap.c (ensure_meta_prefix_char_keymapp):
10655         * keymap.c (describe_map):
10656         * keymap.h:
10657         Support new button modifiers.
10658
10659         * lisp-disunion.h (wrap_object):
10660         * lisp-disunion.h (XSETOBJ):
10661         Rename make_obj to wrap_object.
10662
10663         * lisp-union.h:
10664         * lisp-union.h (make_int):
10665         * lisp-union.h (make_char):
10666         Support wrap_object.
10667
10668         * lisp.h:
10669         * lisp.h (LIST_LOOP):
10670         * lisp.h (EXTERNAL_LIST_LOOP):
10671         * lisp.h (LIST_LOOP_2):
10672         * lisp.h (EXTERNAL_LIST_LOOP_1):
10673         * lisp.h (EXTERNAL_LIST_LOOP_2):
10674         * lisp.h (EXTERNAL_LIST_LOOP_3):
10675         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10676         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10677         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10678         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10679         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10680         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10681         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10682         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10683         * lisp.h (struct Lisp_Symbol):
10684         * lisp.h (maybe_continuable_error_with_frob):
10685         Fix up section comments.
10686         Add new types for char to indicate usage.
10687         Delete symbols auto-generated from general-slots.h.
10688         Add prototypes for structured error functions.
10689         Add long comments describing looping macros and change interface
10690         so that lvalues are automatically declared.
10691         Add NO_DECLARE macro in case callers want to declare lvalues
10692         themselves.
10693
10694         * lread.c (read_syntax_error):
10695         * lread.c (continuable_read_syntax_error):
10696         * lread.c (read_structure):
10697         * lread.c (sequence_reader):
10698         * lread.c (read_list_conser):
10699         * lread.c (read_compiled_function):
10700         Rename syntax_error and continuable_syntax_error to avoid clash
10701         with same-named structured error functions.
10702
10703         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10704         * menubar-msw.c (populate_menu_add_item):
10705         * menubar-msw.c (populate_or_checksum_helper):
10706         [5].
10707         [9].
10708
10709         * menubar-x.c:
10710         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10711         Mule-ize whole file.
10712
10713         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10714
10715         * mule-charset.c (Fmake_charset):
10716         * mule-wnnfns.c (Fwnn_set_param):
10717         [1].
10718
10719         * ntproc.c (create_child):
10720         * ntproc.c (Fwin32_set_current_locale):
10721         Add comments portending doom.
10722
10723         * objects-msw.c:
10724         * objects-msw.c (old_font_enum_callback_2):
10725         * objects-msw.c (font_enum_callback_1):
10726         * objects-msw.c (mswindows_enumerate_fonts):
10727         [5].
10728
10729         * objects-x.c:
10730         * objects-x.c (allocate_nearest_color):
10731         * objects-x.c (x_parse_nearest_color):
10732         * objects-x.c (x_initialize_color_instance):
10733         * objects-x.c (x_print_color_instance):
10734         * objects-x.c (x_finalize_color_instance):
10735         * objects-x.c (x_valid_color_name_p):
10736         * objects-x.c (x_initialize_font_instance):
10737         * objects-x.c (x_print_font_instance):
10738         * objects-x.c (valid_x_font_name_p):
10739         * objects-x.c (truename_via_FONT_prop):
10740         * objects-x.c (truename_via_random_props):
10741         * objects-x.c (truename_via_XListFonts):
10742         * objects-x.c (x_font_truename):
10743         * objects-x.c (x_font_instance_truename):
10744         * objects-x.c (x_font_instance_properties):
10745         * objects-x.c (x_list_fonts):
10746         * objects-x.c (x_find_charset_font):
10747         Mule-ize entire file.
10748         [7].
10749
10750         * objects-x.h:
10751         Mule-verify.
10752
10753         * print.c:
10754         * print.c (std_handle_out_external):
10755         * print.c (debug_print_no_newline):
10756         * print.c (syms_of_print):
10757         Output to all debugger kinds in debug-print.
10758         Fix console-output code under MSWin to actually work.
10759
10760         * process-nt.c (send_signal):
10761         * process-nt.c (nt_create_process):
10762         Use newer Unicode macros.
10763
10764         * process-unix.c (unix_create_process):
10765         * process-unix.c (unix_canonicalize_host_name):
10766         * process-unix.c (unix_open_network_stream):
10767         [7].
10768
10769         * scrollbar-x.c:
10770         Mule-verify.
10771
10772         * search.c (syms_of_search):
10773         [2].
10774
10775         * select-msw.c (mswindows_destroy_selection):
10776         Use LIST_LOOP_2.
10777
10778         * select-x.c (symbol_to_x_atom):
10779         [7].
10780
10781         * select.c (syms_of_select):
10782         [2].
10783
10784         * sound.c (Fplay_sound_file):
10785         [7].
10786
10787         * specifier.c:
10788         * specifier.c (decode_specifier_type):
10789         * specifier.c (Fvalid_specifier_locale_type_p):
10790         * specifier.c (check_valid_locale_or_locale_type):
10791         * specifier.c (decode_locale):
10792         * specifier.c (decode_locale_type):
10793         * specifier.c (decode_locale_list):
10794         * specifier.c (check_valid_domain):
10795         * specifier.c (decode_specifier_tag_set):
10796         * specifier.c (Fcanonicalize_tag_set):
10797         * specifier.c (Fdefine_specifier_tag):
10798         * specifier.c (Fspecifier_tag_predicate):
10799         * specifier.c (check_valid_inst_list):
10800         * specifier.c (check_valid_spec_list):
10801         * specifier.c (decode_how_to_add_specification):
10802         * specifier.c (check_modifiable_specifier):
10803         * specifier.c (specifier_add_spec):
10804         * specifier.c (boolean_validate):
10805         * specifier.c (display_table_validate):
10806         [9].
10807
10808         * specifier.c (syms_of_specifier):
10809         Move some symbols to general-slots.h.
10810         [2].
10811
10812         * symbols.c:
10813         * symbols.c (Fmapatoms):
10814         * symbols.c (Fapropos_internal):
10815         Add GCPROs.
10816
10817         * symbols.c (set_default_buffer_slot_variable):
10818         * symbols.c (set_default_console_slot_variable):
10819         [1].
10820
10821         * symbols.c (defsymbol_massage_name_1):
10822         * symbols.c (defkeyword_massage_name):
10823         * symbols.c (deferror_1):
10824         * symbols.c (deferror):
10825         * symbols.c (deferror_massage_name_and_message):
10826         * symeval.h:
10827         * symeval.h (DEFSYMBOL):
10828         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10829
10830         * symbols.c (syms_of_symbols):
10831         [2].
10832
10833         * symsinit.h:
10834         * symsinit.h (init_win32): New.
10835         Also new is syms_of_dialog_mswindows.
10836
10837         * syswindows.h:
10838         Add new Unicode macros, missing Cygwin wide-char functions,
10839         convenience conversion macros for Qmswindows_tstr, macros for
10840         encapsulating required MSWin <-> Cygwin filename conversions,
10841         prototype for dynamically-extracted (not in NT 3.51) functions.
10842
10843         * toolbar-x.c:
10844         Mule-verify.
10845
10846         * tooltalk.c (Fadd_tooltalk_message_arg):
10847         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10848         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10849         [7].
10850
10851         * tooltalk.c (syms_of_tooltalk):
10852         [2].
10853
10854         * unexnt.c:
10855         * unexnt.c (unexec):
10856         Fix up headers, declaration of unexec() to be more standard.
10857
10858 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10859
10860         * offix.h: Revert change to guard macros - they're used in offix.c!
10861
10862 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10863
10864         * lisp.h: Defsubred Fdelete.
10865
10866         * console-msw.h:  (msprinter_default_printer): Added.
10867
10868         * console-msw.c (msprinter_canonicalize_console_connection):
10869         (msprinter_canonicalize_device_connection): Added.
10870
10871         * device-msw.c (msprinter_default_printer):
10872         (Fmswingows_get_default_printer):
10873         (signal_enum_priner_error):
10874         (Fmswingows_printer_list): Added.
10875
10876 2000-07-19  Martin Buchholz <martin@xemacs.org>
10877
10878         * XEmacs 21.2.35 is released.
10879
10880 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10881
10882         * select-x.c (x_handle_selection_request):
10883         Text selected in xemacs and pasted into xterm failed to appear.
10884         Spelling fixes and cosmetic changes.
10885
10886 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10887
10888         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10889         XEmacs frame (fix for doubling chars in dialog boxes).
10890
10891 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10892
10893         * select.c (select_convert_in, select_convert_out):
10894         Don't call intern() every time.
10895
10896         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10897         * select.c (vars_of_select): Initialise them.
10898
10899 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10900
10901         * select.c (selection-coercible-types): New.
10902
10903         * select.c (own-selection-internal):
10904         * select.c (get-selection-internal):
10905         MULE bug fix - these should default to COMPOUND_TEXT and not
10906         STRING for MULE. I think.
10907
10908         * select.c (select_convert_out): Use selection-coercible-types
10909         to find types that we can attempt to perform coercions on.
10910
10911 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10912
10913         * mule-wnnfns.c:
10914         * mule-canna.c:
10915         Add coding: cookie to identify encoding.
10916
10917         * mule-canna.c (CANNA_mode_keys): make static.
10918         Use proper prototypes, even for functions of no arguments.
10919         Remove external prototype for Fding().
10920
10921         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10922
10923         * select.c (syms_of_select): Add missing DEFSUBR.
10924
10925 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10926
10927         * select.c (get_selection_internal, own_selection_internal):
10928         Make the type default to STRING, rather than placing a nil type
10929         into Vselection_alist.
10930
10931 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10932
10933         * gpmevent.c (tty_selection_exists_p):
10934         * gpmevent.c (tty_own_selection):
10935         Updated parameter lists.
10936
10937 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10938
10939         * select.h (selection-alist): Removed declaration.
10940
10941         * select.h (get_local_selection):
10942         * select.c (get_local_selection):
10943         Made static.
10944
10945         * select.h (convert_selection): Removed declaration.
10946         * select.c (convert_selection): Removed.
10947         This function belongs in Lisp.
10948
10949         * select.h (select_convert_in): Declare.
10950         * select.h (select_convert_out): Declare.
10951         * select.c (select_convert_in): New.
10952         * select.c (select_convert_out): New.
10953         New conversion functions for other files to call.
10954
10955         * select.h (select_notify_buffer_kill): Declare.
10956         * select.c (select_notify_buffer_kill): New.
10957         New functions that get called from kill-buffer.
10958
10959         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10960         X-specific lisp code.
10961
10962         * select.h: Declare some of the lisp-visible functions for
10963         external use.
10964
10965         * select.c (clean_local_selection_data): Removed. This was
10966         a disgusting function, and previously should have been in
10967         select-x.c in any case. The functionality is now provided
10968         in select-convert-from-integer (select.el).
10969
10970         * select.c (available-selection-types): Fixed stupidity where
10971         INTEGER and ATOM got added twice. Also add STRING when we see an
10972         extent.
10973
10974         * select.c (get-selection-internal): Removed symbol stripping. No
10975         longer causes conversion when data comes from the internal cache.
10976
10977         * select.c (syms_of_select): Added new functions.
10978
10979         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10980         error checking - previously this called abort!
10981
10982         * select-x.c (x_own_selection): Changed comment.
10983
10984         * select-x.c (x_handle_selection_request): Use select_convert_out.
10985         Don't mess with selection-alist; it's an internal variable of select.c.
10986
10987         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10988
10989         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10990         rather than messing with selection-alist.
10991
10992         * select-msw.c (mswindows_get_foreign_selection):
10993         Use TO_INTERNAL_FORMAT rather than hacking.
10994
10995 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10996
10997         * process-unix.c (unix_open_multicast_group):
10998         (unix_open_multicast_group): Remove useless casts.
10999
11000 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11001
11002         * sound.c (Fplay_sound): Fix `unused variable' warning.
11003
11004         * emacs.c (main): Use correct type for _environ on SCO5.
11005
11006 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11007
11008         * console.h (own_selection_method):
11009         * console.h (selection_exists_p_method):
11010         * console.h (available_selection_types_method): New.
11011         * console.h (register_selection_data_type_method): New.
11012         * console.h (selection_data_type_name): New.
11013
11014         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11015         function & alist to track GlobalAlloc()'d handles that need
11016         releasing when the clipboard data gets replaced or emptied.
11017
11018         * event-msw.c (mswindows_wnd_proc): Call it.
11019
11020         * lisp.h, general.c (Qappend): New symbol representing a
11021         `how-to-add' mode.
11022
11023         * select.c (own-selection-internal):
11024         * select.c (selection-exists-p):
11025         * select.c (available-selection-types): New.
11026         * select.c (register-selection-data-type): New.
11027         * select.c (selection-data-type-name): New.  New functions to deal
11028         with device-specific selection data formats.
11029         * select.c (selection-converter-out-alist): Renamed.
11030         * select.c (selection-converter-in-alist): New.
11031         * select.c (selection-appender-alist): New.  Added new alists.
11032         * select.c (syms_of_select, vars_of_select): Added new symbols &
11033         variables.
11034         * select.c (get_local_selection): Split.
11035         * select.c: Removed spurious type checking - selections may now be
11036         of any type, not just strings.
11037         * select.c (own-selection-internal):
11038
11039         * select.h, select.c (convert_selection): New. Created
11040         convert_selection() function based on get_local_selection().
11041         * select.h, select.c (QCF_*): New symbols representing mswindows
11042         clipboard formats.
11043         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11044         symbols representing `how-to-add' modes.
11045
11046         * select-msw.c (x_sym_p): New.
11047         * select-msw.c (symbol_to_ms_cf): New.
11048         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11049         symbols & clipboard formats. Can also handle string names.
11050         * select-msw.c (mswindows_own_selection):
11051         * select-msw.c (mswindows_selection_exists_p):
11052         Added `data-type' parameter. Use it.
11053         * select-msw.c (mswindows_available_selection_types): New.
11054         * select-msw.c (mswindows_register_selection_data_type): New.
11055         * select-msw.c (mswindows_selection_data_type_name): New.
11056         * select-msw.c (mswindows_own_selection):
11057         * select-msw.c (mswindows_get_foreign_selection):
11058         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11059         * select-msw.c (console_create_select_mswindows): Added new methods.
11060         * select-msw.c (mswindows_destroy_selection): New.
11061         * select-msw.c (Vhandle_alist): New list.
11062         * select-msw.c (mswindows_own_selection):
11063
11064         * select-x.c (x_own_selection):
11065         * select-x.c (x_selection_exists_p):
11066         * select-x.c: Added some comments about maybe using new
11067         functionality.
11068         * select-x.c (x_own_selection):
11069
11070         * specifier.c: Remove definition of Qappend (now in general.c)
11071         * specifier.c (syms_of_specifier): Remove Qappend.
11072
11073 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11074
11075         * config.h.in: Add socklen_t.
11076
11077         * s/decosf4-0.h: No special compiler flags needed or desired.
11078         In particular, undefine _BSD for DEC OSF 4.0.
11079
11080 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11081
11082         * redisplay-msw.c (msprinter_frame_output_end): Added.
11083         (console_type_create_redisplay_mswindows): Referred the above.
11084
11085         * frame.c (setup_frame_without_minibuffer): Do not create a
11086         default minibuffer frame on a printer device.
11087
11088         * frame-msw.c (apply_dc_geometry): Added.
11089         (msprinter_start_page):
11090         (msprinter_init_frame_3):
11091         (msprinter_eject_page): Use it.
11092
11093         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11094         and removed residual duplex and orientation properties.
11095
11096 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11097
11098         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11099
11100         * unexalpha.c: Remove system prototypes from C sources!
11101
11102 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11103
11104         * eval.c: Remove references to M-x edit-options in DEFUNs for
11105         `defvar' and `defconst'.
11106
11107 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11108
11109         * config.h.in: Remove SMART_INCLUDE hackery.
11110
11111         PostgreSQL hacking:
11112         * config.h.in: Don't use SMART_INCLUDE.
11113
11114         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11115         * inline.c: Simply #include "postgresql.h"
11116         * postgresql.c:
11117         - Don't use SMART_INCLUDE
11118         - Use simply "const".
11119         - Use standard doc string conventions.
11120         - Use correct type for result of PQstatus.
11121
11122 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11123
11124         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11125
11126         C++ compilation changes.
11127         * config.h.in (EXTERN_C): Define.
11128         * config.h.in (not): This is also a C++ keyword.
11129         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11130         * cm.c: Use EXTERN_C.
11131         * redisplay-tty.c: Use EXTERN_C.
11132         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11133
11134 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11135
11136         * general.c: Remove duplicate definition for Qfunction.
11137
11138 2000-07-08  Ben Wing  <ben@xemacs.org>
11139
11140         * device-msw.c (msprinter_init_device):
11141         * device-msw.c (sync_printer_with_devmode):
11142         * device-msw.c (handle_devmode_changes):
11143         * device-msw.c (print_dialog_worker):
11144         * device-msw.c (Fmsprinter_apply_settings):
11145         * device-msw.c (hash_devmode):
11146         * device-msw.c (Fmsprinter_settings_despecialize):
11147         use Qmswindows_tstr, not Qctext.
11148
11149         * vm-limit.c (check_memory_limits):
11150         avoid infinite loop printing warning messages.
11151
11152 2000-07-05  Craig Lanning  <lanning@scra.org>
11153
11154         * Makefile.in.in: Add support for including the Windows resources
11155         when building with the cygwin and mingw targets.
11156
11157         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11158         not set or not correct.
11159         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11160         (init_initial_directory): Don't try to use $PWD on the
11161         WIN32_NATIVE target.
11162
11163         * s\cygwin32.h:
11164         [[Add -mwindows to eliminate console window.]] not required --ben
11165         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11166         (MAIL_USE_POP): removed; now handled by configure.
11167
11168         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11169         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11170         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11171         (MAIL_USE_POP): removed; now handled by configure.
11172         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11173         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11174         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11175         constant string.
11176         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11177         up from <winsock.h> via systime.h.
11178         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11179         (getpagesize): from Dan Holmsand, added.
11180         Added #endif which was left dangling by Ben's mega patch; added
11181         comment to help prevent this in the future.
11182
11183         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11184
11185 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11186
11187         * console-msw.h (struct mswindows_device): Removed unnecessary
11188         cached device geometry values.
11189         Added update_tick and an accessor macro.
11190         (Lisp_Devmode): Added lrecord declaration.
11191         (struct msprinter_device): Contain devmode as a Lisp object.
11192         Added mswindows_get_selected_frame_hwnd();
11193
11194         * console.h (struct console_methods): Indentation nitpicking.
11195
11196         * device-msw.c (mswindows_init_device): Do not initialize geometry
11197         cache. Initialize update tick.
11198         (mswindows_device_system_metrics): Ask the device for its geometry.
11199         (global_free_2_maybe):
11200         (devmode_to_hglobal):
11201         (handle_printer_changes):
11202         (ensure_not_printing):
11203         (print_dialog_worker):
11204         (Fmsprinter_print_setup_dialog):
11205         (Fmsprinter_print_dialog):
11206         (plist_get_margin):
11207         (plist_set_margin):
11208         (Fmsprinter_page_setup_dialog): Added functions.
11209         (sync_printer_with_devmode):
11210         (handle_devmode_changes):
11211         (Fmsprinter_get_settings):
11212         (Fmsprinter_select_settings):
11213         (Fmsprinter_apply_settings):
11214         (allocate_devmode):
11215         (Fmsprinter_settings_copy):
11216         (Fmsprinter_settings_despecialize):
11217         (print_devmode):
11218         (finalize_devmode):
11219         (equal_devmode):
11220         (hash_devmode): Added functions
11221         (syms_of_device_mswindows): Init devmode lrecord class.
11222
11223         * device.h: Added an exfun for find-device.
11224
11225         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11226         geometry; although, recreate the device compatible DC.
11227
11228         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11229         (msprinter_init_frame_3):
11230         (msprinter_frame_property):
11231         (msprinter_internal_frame_property_p):
11232         (msprinter_frame_properties):
11233         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11234         print job properties (will move to device settings).
11235
11236         * lisp.h: Added symbols.
11237
11238         * general.c (syms_of_general): Declared them.
11239
11240         * hash.c (string_hash): Added.
11241
11242         * lrecord.h (lrecord_type): Added devmode lrecord type.
11243
11244 2000-07-02  Mike Sperber <mike@xemacs.org>
11245
11246         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11247         FreeBSD 4.0.
11248
11249 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11250
11251         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11252         integer.
11253
11254 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11255
11256         * data.c (Fstring_to_number): Don't recognize floating point if
11257         base is not 10.
11258
11259 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11260
11261         * glyphs-widget.c (tab_control_query_geometry):
11262         (widget_query_geometry):
11263         (button_query_geometry):
11264         * glyphs.c (text_query_geometry):
11265         Enforce type correctness.
11266
11267 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11268
11269         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11270         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11271
11272 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11273
11274         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11275         conflicts with gcc's fixincluded version of FOO.h.
11276
11277         * glyphs.h (image_instance_geometry): Remove trailing `,'
11278
11279 2000-06-08  Mike Alexander  <mta@arbortext.com>
11280
11281         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11282         (shove_thread): Don't write the same output twice
11283         (make_ntpipe_output_stream): Increase priority of shove thread
11284         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11285         chance to run
11286         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11287         it.
11288
11289 2000-06-12  Ben Wing  <ben@xemacs.org>
11290
11291         * s\mingw32.h (sigset):
11292         * s\windowsnt.h (sigset):
11293         rename msw_ to mswindows_ for consistency with general convention.
11294
11295 2000-06-12  Ben Wing  <ben@xemacs.org>
11296
11297         * console-msw.c:
11298         * console-msw.c (mswindows_get_console_hwnd):
11299         * console-msw.c (mswindows_ensure_console_allocated):
11300         * console-msw.c (mswindows_hide_console):
11301         * console-msw.c (mswindows_show_console):
11302         * console-msw.c (mswindows_ensure_console_buffered):
11303         * console-msw.c (mswindows_output_console_string):
11304         * console-msw.c (mswindows_windows9x_p):
11305         * console-msw.h:
11306         * device-msw.c (mswindows_get_workspace_coords):
11307         * device-msw.c (mswindows_device_system_metrics):
11308         * dialog-msw.c (mswindows_popup_dialog_box):
11309         * event-msw.c (mswindows_wnd_proc):
11310         * frame-msw.c (mswindows_size_frame_internal):
11311         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11312         * menubar-msw.c (displayable_menu_item):
11313         * menubar-msw.c (mswindows_char_is_accelerator):
11314         * nt.c:
11315         * nt.c (mswindows_sigset):
11316         * nt.c (mswindows_sigrelse):
11317         * nt.c (mswindows_sigpause):
11318         * nt.c (mswindows_raise):
11319         * nt.c (timer_proc):
11320         * ntproc.c:
11321         * ntproc.c (find_child_console):
11322         * ntproc.c (sys_kill):
11323         * print.c:
11324         * print.c (std_handle_out_external):
11325         * process-nt.c (find_child_console):
11326         * process-nt.c (send_signal_the_95_way):
11327         * process-nt.c (ensure_console_window_exists):
11328         * process-nt.c (nt_create_process):
11329         * syssignal.h:
11330         rename msw_ to mswindows_ for consistency with general convention.
11331
11332         * emacs.c:
11333         * dumper.c:
11334         include nt.h, not syswindows.h.
11335
11336         * nt.c (mswindows_fstat):
11337         * nt.c (mswindows_stat):
11338         prefix mswindows_ instead of attempting to directly override the
11339         library functions.  fix declarations.
11340
11341         * nt.h:
11342         include syswindows.h.  move some sysdep.h stuff here.
11343
11344         * ntheap.h:
11345         include syswindows.h, not <windows.h>.
11346
11347         * ntplay.c:
11348         clean up headers.
11349
11350         * sysdep.c:
11351         clean up headers.
11352
11353         * sysdep.c (sys_fstat):
11354         * sysdep.c (sys_stat):
11355         call mswindows versions when appropriate.
11356
11357         * sysdep.h:
11358         move mswin decls to nt.h.
11359
11360         * syswindows.h:
11361         add long comment describing appropriate use of the various windows
11362         headers.
11363
11364 2000-06-11  Ben Wing  <ben@xemacs.org>
11365
11366         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11367
11368 2000-06-10  Ben Wing  <ben@xemacs.org>
11369
11370         * Makefile.in.in (release):
11371         Correction to make sure xemacs.exe always dumped when correct.
11372
11373         * alloca.c:
11374         * balloon_help.c:
11375         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11376
11377         * buffer.c (set_buffer_internal):
11378         [[[[2]]]]: Remove HAVE_FEP code.
11379
11380         * buffer.c (init_initial_directory):
11381         [3].
11382
11383         * bytecode.c:
11384         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11385         individual files.
11386
11387         * callproc.c:
11388         * callproc.c (call_process_cleanup):
11389         * callproc.c (Fold_call_process_internal):
11390         * callproc.c (child_setup):
11391         * callproc.c (getenv_internal):
11392         * callproc.c (init_callproc):
11393         * callproc.c (vars_of_callproc):
11394         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11395         __CYGWIN32__ -> CYGWIN.
11396         DOS_NT -> WIN32_NATIVE.
11397         Remove MSDOS support/references, converting to WIN32_NATIVE
11398           where correct.
11399         __MINGW32__ -> MINGW.
11400         Fix windows.h includes.
11401         Remove bogus HAVE_NTGUI.
11402
11403         * config.h.in:
11404         [2].
11405
11406         * console-msw.c:
11407         mswindows_message_outputted added for use in allowing startup
11408         errors on the console to be seen.
11409
11410         * console-msw.c (msw_ensure_console_allocated):
11411         * console-msw.c (msw_output_console_string):
11412         * console-msw.c (DHEADER):
11413         * console-msw.c (DOPAQUE_DATA):
11414         * console-msw.c (DEVENT):
11415         * console-msw.c (DCONS):
11416         * console-msw.c (DCONSCDR):
11417         * console-msw.c (DSTRING):
11418         * console-msw.c (DVECTOR):
11419         * console-msw.c (DSYMBOL):
11420         * console-msw.c (DSYMNAME):
11421         Fix warnings.
11422
11423         * console-stream.c (stream_init_console):
11424         Fix text/binary problems.
11425
11426         * device-msw.c:
11427         * device-msw.c (mswindows_finish_init_device):
11428         * device-msw.c (mswindows_delete_device):
11429         [1].
11430
11431         * device.c (handle_asynch_device_change):
11432         [3].
11433
11434         * dgif_lib.c:
11435         * dgif_lib.c (DGifOpenFileName):
11436         * dgif_lib.c (DGifOpenFileHandle):
11437         * dgif_lib.c (DGifGetLine):
11438         * dgif_lib.c (DGifGetPixel):
11439         Added config.h/lisp.h, fix up includes.
11440         [1].
11441
11442         * dired-msw.c:
11443         [4].
11444
11445         * dired.c:
11446         * dired.c (file_name_completion):
11447         * dired.c (Ffile_attributes):
11448         * dired.c (syms_of_dired):
11449         [1].
11450
11451         * dumper.c:
11452         * dumper.c (pdump_file_unmap):
11453         * dumper.c (pdump_load):
11454         [1].
11455
11456         * editfns.c:
11457         * editfns.c (Ftemp_directory):
11458         * editfns.c (user_login_name):
11459         * editfns.c (Fuser_real_login_name):
11460         * editfns.c (get_home_directory):
11461         [1].
11462
11463         * elhash.c (finish_marking_weak_hash_tables):
11464         [[[[5]]]]: Fix GCC warnings.
11465
11466         * emacs.c:
11467         * emacs.c (mswindows_handle_hardware_exceptions):
11468         * emacs.c (make_arg_list_1):
11469         * emacs.c (main_1):
11470         * emacs.c (Fkill_emacs):
11471         * emacs.c (Fdump_emacs):
11472         [1].
11473         Fix problems with nested crashes, add long comment.
11474
11475         * event-Xt.c (init_event_Xt_late):
11476         [1].
11477
11478         * event-msw.c:
11479         * event-msw.c (mswindows_dde_callback):
11480         * event-msw.c (mswindows_handle_sticky_modifiers):
11481         * event-msw.c (mswindows_wnd_proc):
11482         [1].
11483         [5].
11484
11485         * events.c (character_to_event):
11486         [1].
11487
11488         * fileio.c:
11489         * fileio.c (Ffile_name_directory):
11490         * fileio.c (Ffile_name_nondirectory):
11491         * fileio.c (directory_file_name):
11492         * fileio.c (Fexpand_file_name):
11493         * fileio.c (Fsubstitute_in_file_name):
11494         * fileio.c (Ffile_name_absolute_p):
11495         * fileio.c (check_executable):
11496         * fileio.c (Ffile_readable_p):
11497         * fileio.c (Ffile_accessible_directory_p):
11498         * fileio.c (Ffile_modes):
11499         * fileio.c (Funix_sync):
11500         * fileio.c (vars_of_fileio):
11501         [1]. [4].
11502
11503         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11504
11505         Expand getdefdir defn.
11506         Fix bogus rename() comment.
11507
11508         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11509         to use standard XEmacs include files, e.g. sysfile.h, rather
11510         than system-specific includes.
11511
11512         * fns.c:
11513         * fns.c (Fsubseq):
11514         [5]. [6].
11515
11516         * frame.c (vars_of_frame):
11517         [1].
11518
11519         * getloadavg.c:
11520         * getloadavg.c (getloadavg):
11521         [1]. [6].
11522         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11523         (We don't use it elsewhere in the code; just add a comment.)
11524
11525         * gif_io.c:
11526         [6].
11527         Add config.h.
11528
11529         * glyphs-msw.c:
11530         * glyphs-msw.c (mswindows_resource_instantiate):
11531         [1].
11532
11533         * glyphs-x.c (x_native_layout_instantiate):
11534         [5].
11535
11536         * gui-msw.c (Fmswindows_shell_execute):
11537         [1].
11538
11539         * insdel.c:
11540         [4].
11541
11542         * lisp.h:
11543         [4]. [5].
11544
11545         * lread.c (locate_file_in_directory_mapper):
11546         [1].
11547
11548         * lstream.c:
11549         [4].
11550
11551         * mem-limits.h:
11552         * mem-limits.h (get_lim_data):
11553         [1].
11554
11555         * menubar-msw.c:
11556         [4].
11557
11558         * ndir.h:
11559         [1].
11560
11561         * nt.c:
11562         * nt.c (getwd):
11563         * nt.c (closedir):
11564         * nt.c (rva_to_section):
11565         * nt.c (mswindows_executable_type):
11566         [1]. [6].
11567         Fix closedir() defn.
11568
11569         * nt.h:
11570         [[[[8]]]]: *_OK defs moved to sysfile.h.
11571
11572         * ntproc.c:
11573         [6]. [7].
11574
11575         * objects-x.c:
11576         [4].
11577
11578         * print.c:
11579         * print.c (std_handle_out_external):
11580         [1]. [4].
11581
11582         * process-nt.c:
11583         * process-nt.c (nt_create_process):
11584         [6].
11585         try to fix process quoting somewhat.
11586
11587         * process-unix.c (unix_create_process):
11588         [1].
11589
11590         * process.c:
11591         * process.c (vars_of_process):
11592         Add Vnull_device.
11593
11594         * process.h:
11595         [1].
11596
11597         * realpath.c:
11598         * realpath.c (xrealpath):
11599         [1].
11600
11601         * redisplay-tty.c (init_tty_for_redisplay):
11602         [3].
11603
11604         * redisplay.c:
11605         [4]. [6].
11606
11607         * scrollbar-msw.c:
11608         [4].
11609
11610         * sheap.c:
11611         * sheap.c (more_static_core):
11612         * sheap.c (report_sheap_usage):
11613         [5]. [6].
11614
11615         * signal.c:
11616         * signal.c (alarm_signal):
11617         [1]. [6].
11618
11619         * sound.c:
11620         [6].
11621
11622         * strftime.c:
11623         * strftime.c (zone_name):
11624         [1]. [5].
11625
11626         * symsinit.h (init_sunpro):
11627         [1].
11628
11629         * syscommctrl.h:
11630         commctrl.h not in Cygwin b20.1.
11631
11632         * sysdep.c:
11633         * sysdep.c (endif):
11634         * sysdep.c (sys_subshell):
11635         * sysdep.c (init_baud_rate):
11636         * sysdep.c (emacs_get_tty):
11637         * sysdep.c (emacs_set_tty):
11638         * sysdep.c (tty_init_sys_modes_on_device):
11639         * sysdep.c (init_system_name):
11640         * sysdep.c (sys_open):
11641         * sysdep.c (interruptible_open):
11642         * sysdep.c (sys_fopen):
11643         * sysdep.c (sys_mkdir):
11644         * sysdep.c (sys_rename):
11645         * sysdep.c (get_process_times_1):
11646         [1]. [6].
11647
11648         * sysdep.h:
11649         [1].
11650
11651         * sysdir.h:
11652         * sysdir.h (DIRENTRY_NONEMPTY):
11653         [1]. [6].
11654
11655         * sysdll.c (dll_init):
11656         * sysdll.h:
11657         [1].
11658
11659         * sysfile.h:
11660         [1]. [6]. [8].
11661         added text/binary defs.
11662
11663         * sysfloat.h:
11664         [1].
11665
11666         * sysproc.h:
11667         * sysproc.h (EDESTADDRREQ):
11668         * sysproc.h (poll_fds_for_input):
11669         [1]. [6].
11670
11671         * syspwd.h:
11672         [6].
11673
11674         * syssignal.h:
11675         [1].
11676
11677         * systime.h:
11678         [1]. [6].
11679
11680         * systty.h:
11681         [1].
11682
11683         * syswindows.h:
11684         [1].
11685         Always define WIN32_LEAN_AND_MEAN.
11686
11687         * unexcw.c (unexec):
11688         [5].
11689
11690         * unexec.c:
11691         * unexec.c (copy_text_and_data):
11692         * unexec.c (adjust_lnnoptrs):
11693         [1].
11694
11695         * unexnt.c:
11696         * unexnt.c (_start):
11697         [1].
11698
11699 2000-06-07  Ben Wing  <ben@xemacs.org>
11700
11701         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11702         was used only as a model.  We've long since extracted any useful
11703         logic or code out of this. (I just did an exhaustive search.)
11704
11705         * s\msdos.h: Removed.
11706
11707         * s\windows95.h: Removed.
11708
11709 2000-06-10  Ben Wing  <ben@xemacs.org>
11710
11711         * s\cygwin32.h:
11712         [1]. [5].
11713         Don't use extern with fun defs.
11714
11715         * s\mingw32.h:
11716         [1]. [7].
11717         Remove nt\inc include.
11718         Remove getdisk, getdefdir. (The former is unused, the latter
11719         expanded in fileio.h.)
11720
11721         * s\windowsnt.h:
11722         * s\windowsnt.h (WIN32_NATIVE):
11723         * s\windowsnt.h (HAVE_STRCASECMP):
11724         [1]. [7].
11725         Add long comment about preprocessor changes.
11726         Remove getdisk, getdefdir. (The former is unused, the latter
11727         expanded in fileio.h.)
11728
11729 2000-06-10  Ben Wing  <ben@xemacs.org>
11730
11731         * m\arm.h:
11732         * m\delta.h:
11733         * m\intel386.h:
11734         * m\sequent.h:
11735         * m\template.h:
11736         * m\windowsnt.h:
11737         [1].
11738         Remove bogus/unused NO_SOCK_SIGIO.
11739
11740 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11741
11742         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11743         not an Emchar.
11744
11745 2000-06-04  Mike Sperber <mike@xemacs.org>
11746
11747         * casetab.c (set_case_table): For `set-standard-case-table',
11748         actually deposit the new case tables where the rest of XEmacs can
11749         see them.
11750
11751 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11752
11753         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11754
11755 2000-06-05  Ben Wing  <ben@xemacs.org>
11756
11757         * callproc.c (child_setup): Don't do close_load_descs() under
11758         MS Windows.  Put in a comment explaining why.
11759
11760 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11761
11762         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11763         Toolkit shell" which breaks `kill-compilation' on Windows NT
11764         native, retaining STDERR handling improvements.
11765
11766 2000-06-01  Andreas Jaeger  <aj@suse.de>
11767
11768         * s/s390.h: Support for S390, based on a patch by Martin
11769         Schwidefsky <schwidefsky@de.ibm.com>.
11770
11771 2000-05-30  Andy Piper  <andy@xemacs.org>
11772
11773         * window.c (allocate_window):
11774         (make_dummy_parent):
11775         (Fset_window_configuration): use new hashtable type.
11776
11777         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11778         (struct image_instantiator_methods):
11779         (struct Lisp_Image_Instance): make instance geometry signed.
11780
11781         * glyphs.c (instantiate_image_instantiator):
11782         (image_instance_query_geometry):
11783         (image_instance_layout):
11784         (image_instance_layout):
11785         (query_string_geometry):
11786         (text_query_geometry):
11787         (image_instantiate):
11788         (image_instantiate):
11789         (cache_subwindow_instance_in_frame_maybe):
11790         (subwindow_query_geometry): make instance geometry signed.
11791
11792         * glyphs-widget.c (widget_query_geometry):
11793         (widget_layout):
11794         (button_query_geometry):
11795         (tree_view_query_geometry):
11796         (tab_control_query_geometry):
11797         (layout_query_geometry):
11798         (layout_layout):
11799         (native_layout_layout): make instance geometry signed.
11800
11801 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11802
11803         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11804         constant.
11805
11806         * general.c (syms_of_general): Add Qfull_assoc symbol.
11807
11808         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11809         correctly.
11810         (decode_weak_list_type): Decode full-assoc type.
11811         (encode_weak_list_type): Encode full-assoc type.
11812         (Fmake_weak_list): Update doc string.
11813
11814 2000-05-30  Andy Piper  <andy@xemacs.org>
11815
11816         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11817
11818         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11819         (decode_hash_table_weakness): ditto.
11820         (Fhash_table_weakness): ditto.
11821         (Fhash_table_type): ditto.
11822         (finish_marking_weak_hash_tables): ditto.
11823         (hash_table_weakness_validate): ditto.
11824         (syms_of_elhash): ditto.
11825
11826 2000-05-28  Martin Buchholz <martin@xemacs.org>
11827
11828         * XEmacs 21.2.34 is released.
11829
11830 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11831
11832         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11833         start cache.
11834         (updating_line_start_cache): Gone.
11835         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11836         generic code to force a minimum of 1 line laid out in the
11837         CMOTION_DISP case.
11838
11839 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11840
11841         * glyphs.c (instantiate_image_instantiator): Check for initialized
11842         height & width no longer special cases IMAGE_NOTHING.
11843         (nothing_instantiate): Set height and width of instance.
11844
11845 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11846
11847         * unexelf.c (unexec): Search for ".data" section.
11848         Initialize new_data2_offset from old_data_index.
11849         Remove redundant check for ElfW.
11850
11851 2000-05-23  Andy Piper  <andy@xemacs.org>
11852
11853         * glyphs.c (get_image_instantiator_governing_domain): allow more
11854         specific domains as the governing domain rather than expecting an
11855         exact match. This fixes problems with layouts.
11856
11857 2000-05-22  Andy Piper  <andy@xemacs.org>
11858
11859         * redisplay-output.c (compare_runes): check for non-images
11860
11861         * glyphs.c (set_glyph_dirty_p): ditto.
11862         (update_glyph_cachel_data): ditto.
11863
11864         * glyphs-widget.c (layout_post_instantiate): ditto.
11865         (layout_post_instantiate): ditto.
11866
11867         * event-msw.c (mswindows_wnd_proc): warning removal.
11868
11869 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11870
11871         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11872
11873         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11874
11875         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11876
11877         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11878         (mswindows_executable_type): mingw32 now has enough headers for
11879         this to work.
11880
11881 2000-05-20  Andy Piper  <andy@xemacs.org>
11882
11883         * console-msw.c (mswindows_output_last_error): ; -> ,
11884
11885 2000-05-12  Andy Piper  <andy@xemacs.org>
11886
11887         * console-msw.c (FROB): compare ints with ints.
11888
11889 2000-05-11  Andy Piper  <andy@xemacs.org>
11890
11891         * glyphs-x.c (x_finalize_image_instance): make minimal build
11892         happy.
11893
11894 2000-05-20  Ben Wing  <ben@xemacs.org>
11895
11896         * event-Xt.c:
11897         * event-Xt.c (vars_of_event_Xt):
11898         move modifier-keys-are-sticky to event-stream.c.
11899
11900         * event-msw.c:
11901         * event-msw.c (mswindows_enqueue_mouse_button_event):
11902         * event-msw.c (key_needs_default_processing_p):
11903         * event-msw.c (XEMSW_LCONTROL):
11904         * event-msw.c (mswindows_handle_sticky_modifiers):
11905         * event-msw.c (FROB):
11906         * event-msw.c (clear_sticky_modifiers):
11907         * event-msw.c (output_modifier_keyboard_state):
11908         * event-msw.c (output_alt_keyboard_state):
11909         * event-msw.c (mswindows_wnd_proc):
11910         * event-msw.c (mswindows_modifier_state):
11911         * event-msw.c (emacs_mswindows_handle_magic_event):
11912         implement sticky modifiers.
11913
11914         * event-stream.c:
11915         * event-stream.c (vars_of_event_stream):
11916         move modifier-keys-are-sticky here.
11917
11918         * lisp.h:
11919         add CHECK_FUNCTION.
11920
11921         * rangetab.c:
11922         implement map-range-table.
11923
11924
11925 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11926
11927         * redisplay-tty.c (reset_tty_modes):
11928         (tty_redisplay_shutdown): Adjust argument type to
11929         tty_frame_output_end.
11930
11931 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11932
11933         * eval.c (Fbacktrace): Don't output a line with only right
11934         parenthesis.
11935
11936 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11937
11938         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11939         (Fpq_reset_poll): Ditto.
11940
11941 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11942
11943         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11944
11945 2000-05-16  Ben Wing  <ben@xemacs.org>
11946
11947         * buffer.c:
11948         * buffer.c (dfc_convert_to/from_internal_format):
11949         * buffer.c (reinit_vars_of_buffer):
11950         Fix conversion functions to allow reentrancy.
11951
11952         * console-msw.c:
11953         * console-msw.c (mswindows_output_last_error):
11954         New fun, generally useful -- output a human-readable
11955         version of GetLastError() on the console.
11956
11957         * console-msw.h:
11958         * console-msw.h (struct mswindows_frame):
11959         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11960
11961         * console-stream.c (stream_output_begin):
11962         * console-stream.c (stream_output_end):
11963         * console-stream.c (stream_output_vertical_divider):
11964         * console-stream.c (stream_clear_region):
11965         * console-stream.c (stream_flash):
11966         * console-stream.c (console_type_create_stream):
11967         Delete blank stream methods, not needed.
11968
11969         * console.h (struct console_methods):
11970         Split begin/end methods into window and frame.
11971
11972         * event-msw.c:
11973         * event-msw.c (mswindows_handle_paint):
11974         * event-msw.c (output_alt_keyboard_state):
11975         * event-msw.c (mswindows_wnd_proc):
11976         * event-msw.c (vars_of_event_mswindows):
11977         Comment about problems with ignored-expose.
11978         Define mswindows-debug-events; not really implemented.
11979
11980         * frame-msw.c (mswindows_init_frame_1):
11981         random cleanups.
11982
11983         * glyphs-msw.c:
11984         * glyphs-msw.c (begin_defer_window_pos):
11985         * glyphs-msw.c (mswindows_unmap_subwindow):
11986         * glyphs-msw.c (mswindows_map_subwindow):
11987         * glyphs-msw.c (mswindows_resize_subwindow):
11988         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11989
11990         * glyphs.c (make_image_instance_1):
11991         Fix crash.
11992
11993         * gutter.c (Fredisplay_gutter_area):
11994         Use new begin/end methods.
11995
11996         * lisp.h (Dynarr_new2):
11997         New creation fun.
11998
11999         * redisplay-msw.c:
12000         * redisplay-msw.c (mswindows_frame_output_begin):
12001         * redisplay-msw.c (mswindows_frame_output_end):
12002         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12003         New begin/end methods -- handle DeferWindowPos.
12004
12005         * redisplay-output.c (redisplay_move_cursor):
12006         * redisplay-output.c (redraw_cursor_in_window):
12007         * redisplay-output.c (redisplay_update_line):
12008         * redisplay-output.c (redisplay_output_window):
12009         New begin/end methods.
12010
12011         * redisplay-tty.c:
12012         * redisplay-tty.c (tty_frame_output_begin):
12013         * redisplay-tty.c (tty_frame_output_end):
12014         * redisplay-tty.c (console_type_create_redisplay_tty):
12015         New begin/end methods.
12016
12017         * redisplay-x.c:
12018         * redisplay-x.c (x_window_output_begin):
12019         * redisplay-x.c (x_window_output_end):
12020         * redisplay-x.c (console_type_create_redisplay_x):
12021         New begin/end methods.
12022
12023         * redisplay.c (redisplay_frame):
12024         * redisplay.c (Fredisplay_echo_area):
12025         New begin/end methods.
12026         use MAYBE_DEVMETH for clear_frame; it may not exist.
12027
12028         * window.h (WINDOW_XFRAME):
12029         WINDOW_XFOO macros -- get locale and decode struct pointer.
12030
12031
12032 2000-05-12  Ben Wing  <ben@xemacs.org>
12033
12034         * emacs.c:
12035         * emacs.c (ensure_no_quitting_from_now_on):
12036         * emacs.c (fatal_error_signal):
12037         * emacs.c (mswindows_handle_hardware_exceptions):
12038         * emacs.c (main):
12039         * emacs.c (Fkill_emacs):
12040         * emacs.c (shut_down_emacs):
12041         * emacs.c (assert_failed):
12042         various improvements in fatal error handling.
12043
12044         * eval.c:
12045         move preparing_for_armageddon to emacs.c.
12046
12047         * lisp.h:
12048         declare fatal_error_in_progress.
12049
12050         * print.c:
12051         * print.c (std_handle_out_external):
12052         * print.c (std_handle_out_va):
12053         * print.c (stderr_out):
12054         * print.c (stdout_out):
12055         use console under mswin when no standard output.
12056         don't do code conversion during fatal error.
12057
12058         * scrollbar.c (Fscrollbar_page_up):
12059         * scrollbar.c (Fscrollbar_page_down):
12060         fix missing else.  reindent.
12061
12062 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12063
12064         Emergency fix.
12065
12066         * glyphs.h (GLYPH_CACHEL_DESCENT):
12067         (GLYPH_CACHEL_DESCENT):
12068         (GLYPH_CACHEL_DESCENT):
12069         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12070         used in case these are inline functions.
12071         Use more absurd values to error check.
12072
12073         include window.h for error check functions.
12074
12075 2000-05-11  Ben Wing  <ben@xemacs.org>
12076
12077         * cmdloop.c (Freally_early_error_handler):
12078         Display message box under windows; otherwise, message will disappear
12079         before it can be viewed.
12080
12081         * console-msw.c:
12082         * console-msw.c (Fmswindows_message_box):
12083         * console-msw.c (FROB):
12084         * console-msw.c (syms_of_console_mswindows):
12085         Define new fun `mswindows-message-box'.
12086         #### I will merge this into `popup-dialog-box'; just give me
12087         a bit of time.
12088
12089         * general.c:
12090         * general.c (syms_of_general):
12091         Some new symbols used in `mswindows-message-box'.
12092
12093         * glyphs.c:
12094         * glyphs.c (Fset_image_instance_property):
12095         put warning in this fun.
12096
12097         * glyphs.h:
12098         * glyphs.h (GLYPH_CACHEL_WIDTH):
12099         * glyphs.h (GLYPH_CACHEL_ASCENT):
12100         * glyphs.h (GLYPH_CACHEL):
12101         * glyphs.h (GLYPH_CACHEL_GLYPH):
12102         define error-checking versions to try to catch a bug i've seen --
12103         redisplay gets in an infinite loop because the glyph width of the
12104         continuation glyph is 65535.
12105
12106         * lisp.h:
12107         Extern message-box stuff.
12108
12109         * window.c (allocate_window):
12110         * window.c (make_dummy_parent):
12111         * window.c (Fset_window_configuration):
12112         Use EQUAL not EQ for subwindow caches to make them work a bit
12113         better. (Something is still very broken.)
12114
12115
12116 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12117
12118         * glyphs.c (image_instantiate): Suppress gcc warnings.
12119         (Fmake_image_instance): Fix doc string.
12120         * specifier.c (Fmake_specifier): Ditto.
12121
12122 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12123
12124         * paths.h.in (PATH_LOCK): Removed.
12125         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12126         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12127
12128 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12129
12130         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12131         Document (featurep '(and xemacs 21.02)).
12132
12133 2000-05-09  Ben Wing  <ben@xemacs.org>
12134
12135         * buffer.c (complex_vars_of_buffer):
12136         update modeline-format doc.
12137
12138         * device.h:
12139         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12140
12141         * emacs.c:
12142         timeline of all released versions of Emacs, for use in creating
12143         authorship comments and in synching up.
12144
12145         * glyphs-widget.c (image_instantiator_buttons):
12146         * glyphs-widget.c (image_instantiator_edit_fields):
12147         * glyphs-widget.c (image_instantiator_combo_box):
12148         * glyphs-widget.c (image_instantiator_scrollbar):
12149         * glyphs-widget.c (image_instantiator_progress_guage):
12150         * glyphs-widget.c (image_instantiator_tree_view):
12151         * glyphs-widget.c (image_instantiator_tab_control):
12152         * glyphs-widget.c (image_instantiator_labels):
12153         * glyphs-widget.c (image_instantiator_layout):
12154         * glyphs-widget.c (image_instantiator_native_layout):
12155         rename decode_domain method to governing_domain.
12156
12157         * glyphs.c:
12158         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12159         * glyphs.c (add_entry_to_device_ii_format_list):
12160         make sure we don't put an entry more than once into the list.
12161         * glyphs.c (check_instance_cache_mapper):
12162         *************************************************************
12163         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12164         HAVE BEEN GETTING.
12165         *************************************************************
12166         * glyphs.c (get_image_instantiator_governing_domain):
12167         clean up, expand on new concept of governing domain.
12168         * glyphs.c (instantiate_image_instantiator):
12169         * glyphs.c (allocate_image_instance):
12170         use governing_domain instead of cache_domain in naming.
12171         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12172         * glyphs.c (make_image_instance_1):
12173         * glyphs.c (Fmake_image_instance):
12174         allow for any domain (not just device), and process the
12175         governing domain correctly.  very big doc fix.
12176         * glyphs.c (Fimage_instance_domain):
12177         new primitive, to retrieve the governing domain of an image instance.
12178         * glyphs.c (image_instantiate):
12179         use new governing_domain stuff.  this fixes a crash you could get
12180         by instantiating certain widget glyphs in frame locales. (should
12181         signal an error instead of crashing.)
12182         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12183         * glyphs.c (Fglyphp): clean up doc.
12184         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12185         * glyphs.c (syms_of_glyphs):
12186         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12187         * glyphs.c (image_instantiator_format_create): add some comments about
12188         bogus code.
12189         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12190         for current-display-table. (Apparently Hrjove implemented in 1998 a
12191         design I wrote up in 1996, but didn't update the doc string.)
12192
12193         * glyphs.h: clean up a doc string.
12194         * glyphs.h (governing_domain):
12195         * glyphs.h (struct image_instantiator_methods):
12196         changes for governing_domain stuff.
12197
12198         * gutter.c:
12199         * gutter.c (Fgutter_specifier_p):
12200         * gutter.c (Fgutter_size_specifier_p):
12201         * gutter.c (Fgutter_visible_specifier_p):
12202         * objects.c:
12203         * objects.c (Fcolor_specifier_p):
12204         * objects.c (Ffont_specifier_p):
12205         * objects.c (Fface_boolean_specifier_p):
12206         doc strings moved to make-*-specifier.
12207
12208         * redisplay.c (add_disp_table_entry_runes_1):
12209         * redisplay.c (generate_fstring_runes):
12210         * redisplay.c (screen):
12211         add random comments and doc strings.
12212
12213         * specifier.c:
12214         * specifier.c (Fmake_specifier):
12215         major overhaul of this doc string.
12216
12217         * specifier.c (Fvalid_specifier_domain_p):
12218         comment about the bogosity of image instances being domains.
12219         * specifier.c (decode_domain):
12220         now non-static, used in glyphs.c.
12221         * specifier.c (specifier_instance):
12222         comment about the bogosity of image instances being domains.
12223         * specifier.c (Fgeneric_specifier_p):
12224         move doc string to make-generic-specifier.
12225         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12226         rebackslashify.
12227
12228         * specifier.h:
12229         * specifier.h (DOMAIN_FRAME):
12230         * specifier.h (DOMAIN_LIVE_P):
12231         * specifier.h (DOMAIN_XDEVICE):
12232         rebackslashify.
12233         add comments about problems with these macros.
12234         prototype for decode_domain.
12235
12236         * toolbar.c:
12237         * toolbar.c (Ftoolbar_specifier_p):
12238         move doc string to `make-toolbar-specifier'.
12239
12240         * window.c (window_unmap_subwindows_cache_mapper):
12241         *************************************************************
12242         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12243         HAVE BEEN GETTING.
12244         *************************************************************
12245
12246 2000-05-09  Andy Piper  <andy@xemacs.org>
12247
12248         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12249
12250         * window.c (Fset_window_configuration): reset the frame subwindow
12251         cache and re-initialize the window subwindow caches.
12252
12253         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12254
12255 2000-05-09  Ben Wing  <ben@xemacs.org>
12256
12257         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12258         DWORD.
12259
12260 2000-04-26  Mike Woolley  <mike@bulsara.com>
12261
12262         * ntheap.c: Changed recreate_heap to limit the amount reserved
12263         for the heap to that which is actually available. Also now
12264         displays a message box (with some dignostics) in the event that
12265         it still can't start.
12266
12267 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12268
12269         * callproc.c (Fold_call_process_internal): GCPRO path
12270
12271 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12272
12273         Patch by Bill Perry.
12274
12275         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12276         back data instead of #ifdef.
12277         (Fscrollbar_page_down): ditto.
12278
12279 2000-05-07  Ben Wing  <ben@xemacs.org>
12280
12281         * buffer.h:
12282         Kludge for defining Qmswindows_tstr.
12283
12284         * nt.c:
12285         * nt.c (open_input_file):
12286         * nt.c (open_output_file):
12287         * nt.c (rva_to_section):
12288         * nt.c (mswindows_executable_type):
12289         Move all memory-mapped-file routines here (some were in unexnt.c,
12290         which is bad because they are used by process-nt.c, and unexnt
12291         won't be around when portable dumping).  Synched the above routines
12292         with FSF 20.6.
12293
12294         * nt.h:
12295         Removed ifdef'd out bogus code.
12296         Fixed some prototypes.
12297
12298         * nt.h (file_data):
12299         * nt.h (OFFSET_TO_RVA):
12300         * nt.h (RVA_TO_OFFSET):
12301         * nt.h (RVA_TO_PTR):
12302         Moved the memory-mapped-file structures, macros and prototypes
12303         here, to parallel nt.c.  ntheap.h should really be removed
12304         entirely, and it's a non-portable-dumper specific file.
12305
12306         * ntheap.h (round_to_next):
12307         Moved the memory-mapped-file structures, macros and prototypes
12308         to nt.h.
12309
12310         * ntproc.c (compare_env):
12311         Moved rva_to_section and mswindows_executable_type to nt.c.
12312         Moved compare_env to process-nt.c.
12313         ntproc.c will die, one day.
12314
12315         * ntproc.c (sys_spawnve):
12316         Account for win32_ -> mswindows_.
12317
12318         * process-nt.c:
12319         * process-nt.c (struct nt_process_data):
12320         * process-nt.c (ensure_console_window_exists):
12321         * process-nt.c (compare_env):
12322         * process-nt.c (nt_create_process):
12323         * process-nt.c (nt_kill_process_by_pid):
12324         * process-nt.c (syms_of_process_nt):
12325         * process-nt.c (vars_of_process_nt):
12326         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12327         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12328         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12329         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12330         Move compare_env here from ntproc.c.
12331
12332         * process.c (Fprocess_send_region):
12333         Takes an optional fourth argument, BUFFER, which should fix some
12334         problems with call-process.
12335
12336         * syscommctrl.h:
12337         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12338
12339         * syswindows.h:
12340         Move ICC_BAR_CLASSES to syscommctrl.h.
12341         Add preliminary macros for MSWindows/Mule.  More to come.
12342
12343         * unexnt.c:
12344         * unexnt.c (unexec):
12345         open_output_file moved to nt.c.
12346
12347
12348 2000-05-05  Andy Piper  <andy@xemacs.org>
12349
12350         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12351         instance from the frame cache also since GC may catch up too late
12352         to make frame deletion sane.
12353
12354 2000-05-04  Andy Piper  <andy@xemacs.org>
12355
12356         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12357         (x_finalize_image_instance): ungcpro on deletion.
12358
12359         * glyphs.c (image_instantiator_format_create): give pointers a
12360         query geometry method so that the geometry is at least set.
12361
12362         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12363         initialize layouts if using widgets.
12364
12365 2000-05-03  Andy Piper  <andy@xemacs.org>
12366
12367         * nt.c: remove bogus reference to sysmmsystem.h
12368
12369         * gui-x.c (popup_selection_callback): fix no selection abort.
12370
12371 2000-05-02  Andy Piper  <andy@xemacs.org>
12372
12373         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12374         (mswindows_widget_instantiate): ditto.
12375
12376         * glyphs-widget.c (initialize_widget_image_instance): initialize
12377         children correctly.
12378         (widget_instantiate): cope with children and items in the same
12379         instance.
12380
12381         * glyphs.c (mark_image_instance): cope with children as a first
12382         class member.
12383         (image_instance_equal): ditto.
12384         (image_instance_hash): ditto.
12385         (image_instance_changed): ditto.
12386
12387 2000-04-30  Andy Piper  <andy@xemacs.org>
12388
12389         * glyphs.c (subwindow_query_geometry): new function. Return some
12390         defaults.
12391         (subwindow_instantiate): don't assign dimensions if none have been
12392         given.
12393         (image_instantiator_format_create): add subwindow_query_geometry.
12394         (print_image_instance): cope with layouts as widgets.
12395
12396 2000-04-29  Andy Piper  <andy@xemacs.org>
12397
12398         * frame.c (delete_frame_internal): call
12399         free_frame_subwindow_instance_cache so that all subwindows are
12400         finalized before their parent.
12401         (mark_frame): remove subwindow_cachels.
12402         (Fmake_frame): remove subwindow_cachel manipulation.
12403         (allocate_frame_core): subwindow_instance_cache is a weak list.
12404         (delete_frame_internal): set subwindow_instance_cache to nil.
12405
12406         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12407         finalization safe.
12408         (mswindows_finalize_image_instance): use the device
12409         not the domain as the domain may have died already.
12410
12411         * glyphs-x.c (x_finalize_image_instance): ditto.
12412         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12413         HEIGHT.
12414
12415         * redisplay-output.c (redisplay_unmap_subwindows): update for
12416         subwindow instance cache as a weak list.
12417         (redisplay_unmap_subwindows_maybe): ditto.
12418         (redisplay_unmap_subwindows_except_us): ditto.
12419
12420         * glyphs.c (unmap_subwindow): error checking will check the domain
12421         so don't deal with it here. Don't use cachels anymore.
12422         (map_subwindow): ditto.
12423         (update_subwindow_cachel_data): remove old accessor names.
12424         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12425         (Fresize_subwindow): don't update cachel.
12426         (mark_subwindow_cachels):
12427         (update_subwindow_cachel_data):
12428         (add_subwindow_cachel):
12429         (get_subwindow_cachel_index):
12430         (update_subwindow_cachel):
12431         (reset_subwindow_cachels):
12432         (mark_subwindow_cachels_as_not_updated): deleted.
12433         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12434         subwindow instance to the frame cache.
12435         (find_matching_subwindow): update for subwindow instance cache as
12436         a weak list.
12437         (update_widget_instances): ditto.
12438         (image_instance_type_to_mask):inlined.
12439         (free_frame_subwindow_instance_cache): new function. finalize all
12440         subwindows that are instantiated.
12441
12442         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12443         of cachel information.
12444         (IMAGE_INSTANCE_DISPLAY_X):
12445         (IMAGE_INSTANCE_DISPLAY_Y):
12446         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12447         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12448         (XIMAGE_INSTANCE_DISPLAY_X):
12449         (XIMAGE_INSTANCE_DISPLAY_Y):
12450         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12451         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12452         remove subwindow_cachel structure and function references.
12453         (image_instance_type_to_mask): inline from glyphs.c
12454
12455         * redisplay.c (redisplay_frame): remove subwindow_cachel
12456         references.
12457
12458         * frame.h (struct frame): remove subwindow_cachels.
12459         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12460
12461         * frameslots.h: add subwindow_instance_cache.
12462
12463         * window.c (replace_window): check subwindow cache of replacement.
12464         (window_unmap_subwindows_cache_mapper):
12465         (window_unmap_subwindows): new functions. Unmap all subwindows
12466         cached on this window.
12467         (mark_window_as_deleted): unmap all subwindows.
12468
12469 2000-04-27  Andy Piper  <andy@xemacs.org>
12470
12471         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12472
12473         * glyphs-widget.c (widget_layout): return something.
12474         (layout_layout): return something. Fail if not initialized.
12475         (layout_query_geometry): ditto.
12476         (image_instantiator_native_layout): new function. Initialized the
12477         native layout type.
12478         (widget_instantiate): don't do layout stuff here.
12479
12480         * glyphs.c (instantiate_image_instantiator): reorded calling or
12481         instantiate and post_instantiate with layout in between.
12482         (image_instance_layout): be more selective about deciding whether
12483         the layout has been done or not.
12484
12485         * glyphs.h (struct image_instantiator_methods): return a value
12486         from layout_method.
12487
12488 2000-04-26  Andy Piper  <andy@xemacs.org>
12489
12490         * glyphs.c (allocate_image_instance): make initial width and
12491         height unspecified. Set initialized to 0.
12492
12493         * syscommctrl.h new file. Encapsulates commctrl.h.
12494
12495         * syswindows.h new file. Encapsulates windows.h.
12496
12497         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12498         * nt.c: ditto.
12499         * console-msw.h: ditto.
12500
12501         * redisplay-tty.c (tty_output_display_block): remove layout references.
12502
12503         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12504         window handle rather than just the frame.
12505
12506         * glyphs.c (mark_image_instance): remove layout references.
12507         (print_image_instance): ditto.
12508         (image_instance_equal): ditto.
12509         (image_instance_hash): ditto.
12510         (decode_image_instance_type): ditto.
12511         (encode_image_instance_type): ditto.
12512         (image_instantiate): ditto.
12513         (allocate_glyph): ditto.
12514         (Fimage_instance_height): ditto.
12515         (Fimage_instance_width): ditto.
12516         (update_subwindow): ditto.
12517
12518         * redisplay-x.c (x_output_display_block): recode for layouts as
12519         widgets.
12520
12521         * redisplay-output.c (redisplay_output_layout): recode for layouts
12522         as widgets.
12523         (compare_runes): remove layout references.
12524
12525         * redisplay-msw.c (mswindows_output_display_block): recode for
12526         layouts as widgets.
12527
12528         * glyphs-widget.c (image_instantiator_layout): remove
12529         layout_possible_dest_types.
12530         (layout_possible_dest_types): deleted.
12531
12532         * glyphs.h (image_instance_type): remove layout references.
12533         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12534         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12535         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12536
12537 2000-04-25  Andy Piper  <andy@xemacs.org>
12538
12539         * glyphs-widget.c (image_instantiator_buttons):
12540         (image_instantiator_edit_fields):
12541         (image_instantiator_combo_box):
12542         (image_instantiator_scrollbar):
12543         (image_instantiator_progress_guage):
12544         (image_instantiator_tree_view):
12545         (image_instantiator_tab_control):
12546         (image_instantiator_labels):
12547         (image_instantiator_layout): call default post_instantiate method.
12548         (widget_post_instantiate): new function. Simply lays out the
12549         widgets.
12550
12551         * glyphs.h (struct image_instantiator_methods): add
12552         post_instantiate method.
12553
12554         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12555         method calls.
12556
12557 2000-04-23  Andy Piper  <andy@xemacs.org>
12558
12559         * glyphs.h (struct image_instantiator_methods): add
12560         decode_domain_method.
12561         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12562         derived from the domain.
12563         (IMAGE_INSTANCE_FRAME): new accessor.
12564         (XIMAGE_INSTANCE_FRAME): ditto.
12565
12566         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12567         instead of _SUBWINDOW_FRAME.
12568         (finalize_image_instance): ditto.
12569         (Fimage_instance_foreground): ditto.
12570         (Fimage_instance_background): ditto.
12571         (image_instantiate): ditto.
12572         (update_subwindow_cachel): ditto.
12573         (update_subwindow): ditto.
12574         (unmap_subwindow): ditto.
12575         (map_subwindow): ditto
12576         (subwindow_instantiate): ditto.
12577         * glyphs-msw.c (mswindows_update_widget): ditto.
12578         (mswindows_progress_gauge_instantiate): ditto.
12579         (mswindows_tab_control_update): ditto.
12580         * glyphs-x.c (x_update_widget): ditto.
12581         (x_widget_instantiate): ditto.
12582         (x_tab_control_instantiate): ditto.
12583         (x_tab_control_update): ditto.
12584         * event-msw.c (mswindows_wnd_proc): ditto
12585
12586         * glyphs-widget.c (image_instantiator_layout): use
12587         subwindow_decode_domain.
12588         (image_instantiator_buttons): ditto.
12589         (image_instantiator_edit_fields): ditto.
12590         (image_instantiator_combo_box): ditto.
12591         (image_instantiator_scrollbar): ditto.
12592         (image_instantiator_progress_guage): ditto.
12593         (image_instantiator_tree_view): ditto.
12594         (image_instantiator_tab_control): ditto.
12595         (image_instantiator_labels): ditto.
12596         (image_instantiator_layout): ditto.
12597
12598         * glyphs.c: add instance error checking to many functions.
12599         (instantiate_image_instantiator): decode device from cache_domain.
12600         (image_instantiate): partially rewrite by using
12601         decode_image_instantiator_domain to determine what domain the
12602         instance needs to be cached in.
12603         (decode_image_instantiator_domain): new function. Determine what
12604         domain the image needs to be cached in.
12605         (check_window_subwindow_cache): new error checking function.
12606         (check_instance_cache_mapper): ditto.
12607         (check_image_instance_structure): ditto.
12608         (subwindow_decode_domain): new function. Encodes a window as a
12609         subwindow's cache domain.
12610         (image_instantiator_format_create): use it for text and
12611         subwindows.
12612
12613 2000-04-21  Andy Piper  <andy@xemacs.org>
12614
12615         * glyphs.c (image_instance_device): new function.
12616         (image_instance_frame): new function.
12617         (image_instance_window): new function.
12618         (image_instance_live_p): new function.
12619
12620         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12621         cache to nil.
12622
12623         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12624         (IMAGE_INSTANCE_DOMAIN): new accessor.
12625         (XIMAGE_INSTANCE_DOMAIN): ditto.
12626
12627         * glyphs-x.c (x_finalize_image_instance): device->domain.
12628
12629         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12630         (mswindows_finalize_image_instance): ditto.
12631
12632         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12633         (gif_instantiate): ditto.
12634         (png_instantiate): ditto.
12635         (tiff_instantiate): ditto.
12636
12637         * glyphs.c (instantiate_image_instantiator): use domain rather
12638         than device.
12639         (mark_image_instance): device -> domain.
12640         (print_image_instance): ditto.
12641         (finalize_image_instance): ditto.
12642         (image_instance_equal): ditto.
12643         (allocate_image_instance): ditto.
12644         (Fcolorize_image_instance): ditto.
12645         (query_string_geometry): ditto.
12646         (image_instantiate): ditto
12647         (query_string_font): ditto.
12648         (image_instantiate): ditto.
12649         (update_subwindow): ditto.
12650         (unmap_subwindow): ditto.
12651         (map_subwindow): ditto.
12652         (subwindow_instantiate): ditto.
12653
12654         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12655         (DOMAIN_FRAME): ditto.
12656         (DOMAIN_WINDOW): ditto.
12657         (DOMAIN_LIVE_P): ditto.
12658         (XDOMAIN_DEVICE): ditto.
12659         (XDOMAIN_FRAME): ditto.
12660         (XDOMAIN_WINDOW): ditto.
12661
12662         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12663         a valid specifier domain.
12664
12665 2000-04-19  Andy Piper  <andy@xemacs.org>
12666
12667         * glyphs-widget.c (syms_of_glyphs_widget): remove
12668         widget-callback-current-channel.
12669         (vars_of_glyphs_widget): ditto.
12670         * glyphs.h: ditto
12671
12672         * gui.c (get_gui_callback): revert to previous behaviour.
12673
12674 2000-04-18  Andy Piper  <andy@xemacs.org>
12675
12676         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12677         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12678         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12679
12680         * glyphs.c (image_instance_equal): add margin_width.
12681         (image_instance_hash): ditto.
12682
12683         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12684         (layout_query_geometry): ditto.
12685         (layout_layout): ditto.
12686         (syms_of_glyphs_widget): add margin-width.
12687         (image_instantiator_layout): allow margin-width.
12688
12689         * glyphs.c (update_widget_instances): make a normal function.
12690         (syms_of_glyphs): remove Qupdate_widget_instances.
12691         * glyphs.h: ditto.
12692
12693         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12694         so that we don't corrupt ideas about the last event or
12695         command. Remove widget-callback-current-channel fiddling.
12696         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12697
12698 2000-05-01  Martin Buchholz <martin@xemacs.org>
12699
12700         * XEmacs 21.2.33 is released.
12701
12702 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12703
12704         * make-src-depend: Allow dots in header file name.
12705
12706 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12707
12708         * mule-charset.h (struct charset_lookup): Add
12709         next_allocated_1_byte_leading_byte and
12710         next_allocated_2_byte_leading_byte.
12711         * mule-charset.c: Move above two variables so that those values
12712         will be dumped.
12713
12714 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12715
12716         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12717         when string length is zero.
12718         (find_charsets_in_emchar_string): Ditto.
12719
12720 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12721
12722         * lisp.h: extern Qdialog and Qmenubar.
12723
12724         * gui-x.c: added events.h.
12725                 also fixed typo which made the file uncompilable.
12726
12727         * general.c: Added Qmenubar and Qdialog
12728
12729 2000-04-28  Ben Wing  <ben@xemacs.org>
12730
12731         * frame-msw.c (mswindows_init_frame_1):
12732         * frame-msw.c (mswindows_mark_frame):
12733         * event-msw.c (mswindows_enqueue_dispatch_event):
12734         * console-msw.h:
12735         * console-msw.h (struct mswindows_frame):
12736         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12737         there are now three hash tables for callbacks.
12738         mswindows_enqueue_dispatch_event is no longer static.
12739
12740         * dialog-x.c (maybe_run_dbox_text_callback):
12741         * dialog-x.c (dbox_descriptor_to_widget_value):
12742         switch to new cons3 form for callbacks.
12743
12744         * glyphs-msw.c (mswindows_register_gui_item):
12745         * glyphs-msw.c (mswindows_widget_instantiate):
12746         * glyphs-msw.c (add_tree_item):
12747         * glyphs-msw.c (add_tab_item):
12748         new image instance parameter, so it can be passed to callback-ex.
12749         respect :callback-ex as well as :callback.
12750
12751         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12752         add :callback-ex.
12753
12754         * glyphs.c (print_image_instance):
12755         prettify, e.g. now prints widget type.
12756
12757         * gui-x.h:
12758         certain funs have new image instance parameter.
12759
12760         * gui.c:
12761         * gui.c (get_gui_callback):
12762         * gui.c (gui_item_add_keyval_pair):
12763         * gui.c (gui_item_init):
12764         * gui.c (gui_add_item_keywords_to_plist):
12765         * gui.c (mark_gui_item):
12766         * gui.c (gui_item_hash):
12767         * gui.c (gui_item_equal):
12768         * gui.c (copy_gui_item):
12769         * gui.c (syms_of_gui):
12770         recognize callback-ex in a number of places.
12771         also, fix the annoying "can't get out of yes-no dialog" bug.
12772
12773         * gui.h:
12774         * gui.h (struct Lisp_Gui_Item):
12775         recognize callback-ex in a number of places.
12776
12777         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12778         new parameter in button_item_to_widget_value.
12779
12780         * glyphs-x.c (x_update_widget):
12781         * glyphs-x.c (x_button_instantiate):
12782         * glyphs-x.c (x_button_update):
12783         * glyphs-x.c (x_progress_gauge_instantiate):
12784         * glyphs-x.c (x_edit_field_instantiate):
12785         * glyphs-x.c (x_combo_box_instantiate):
12786         * glyphs-x.c (x_tab_control_instantiate):
12787         * glyphs-x.c (x_label_instantiate):
12788         new image instance parameter in various places.
12789
12790         * event-Xt.c:
12791         * event-Xt.c (enqueue_Xt_dispatch_event):
12792         this fun gets exported.
12793
12794         * gui-msw.c:
12795         * gui-msw.c (mswindows_handle_gui_wm_command):
12796         handle both :callback and :callback-ex, and generate our own
12797         event because it's one of the callback-ex arguments.
12798
12799         * gui-x.c:
12800         * gui-x.c (popup_selection_callback):
12801         handle both :callback and :callback-ex, and generate our own
12802         event because it's one of the callback-ex arguments.
12803         * gui-x.c (button_item_to_widget_value):
12804         * gui-x.c (gui_items_to_widget_values_1):
12805         * gui-x.c (gui_item_children_to_widget_values):
12806         * gui-x.c (gui_items_to_widget_values):
12807         new image instance parameter in various places.
12808
12809         * fns.c (Freplace_list):
12810         fix small typo in doc string.
12811
12812         * lisp.h:
12813         declare enqueue_Xt_dispatch_event.
12814
12815 2000-04-28  Ben Wing  <ben@xemacs.org>
12816
12817         * buffer.c:
12818         * buffer.c (Frecord_buffer):
12819         * buffer.c (syms_of_buffer):
12820         delete record-buffer-hook.
12821
12822         * fns.c:
12823         * fns.c (Freplace_list):
12824         * fns.c (syms_of_fns):
12825         new primitive replace-list.
12826
12827         * frameslots.h:
12828         slot for old buffer-alist.
12829
12830         * lisp.h:
12831         exfun replace-list.
12832
12833         * redisplay.c:
12834         * redisplay.c (redisplay_frame):
12835         * redisplay.c (syms_of_redisplay):
12836         * redisplay.c (vars_of_redisplay):
12837         new hook buffer-list-changed-hook.
12838         call it.
12839
12840 2000-04-27  Ben Wing  <ben@xemacs.org>
12841
12842         * extents.h: extern in_modeline_generation.
12843
12844         * redisplay.c (generate_formatted_string_db): set
12845         in_modeline_generation.
12846
12847         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12848         flags if in modeline generation.  otherwise frame-modified-tick
12849         is ticked far too often.
12850         Declare in_modeline_generation.
12851
12852 2000-04-26  Ben Wing  <ben@xemacs.org>
12853
12854         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12855         option.
12856         (vars_of_emacs): add quick-build as an error-checking option.
12857         A bit kludgy, but there doesn't seem much point in creating
12858         a real var for this.
12859
12860         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12861
12862 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12863
12864         * redisplay.h (struct display_line): Add a new variable,
12865         line_continuation.
12866
12867         * redisplay.c (create_text_block): Set dl->line_continuation if
12868         the line continues.
12869         (create_string_text_block): Ditto.
12870         (regenerate_window_incrementally): Use line_continuation instead
12871         of searching continuation glyph.
12872         (add_margin_runes): Call add_glyph_rune.
12873         (add_glyph_rune): Handle margin glyph.
12874
12875 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12876
12877         * filelock.c (fill_in_lock_file_name):
12878         ANSIfy.
12879         Check for IS_ANY_SEP instead of '/'.
12880         (lock_file_1):
12881         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12882         Never check errno without first seeing that system call failed.
12883         (unlock_file): Add GCPRO.
12884         (Flock_buffer): Fix docstring.
12885         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12886
12887 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12888
12889         * sysdep.c (get_pty_max_bytes):
12890         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12891         strings longer than 252 bytes.
12892
12893         * md5.c: Unconditionally include ANSI header <limits.h>
12894
12895         * glyphs-x.c (convert_EImage_to_XImage):
12896         * lisp-union.h (union Lisp_Object):
12897         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12898
12899 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12900
12901         * filelock.c (current_lock_owner): Remove unused variable o, p.
12902
12903 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12904
12905         * callint.c: Remove multiply defined symbol Qlet
12906         (syms_of_callint): ditto.
12907
12908 2000-04-14  Andy Piper  <andy@xemacs.org>
12909
12910         * general.c (syms_of_general): add last-command, this-command, let
12911         and funcall.
12912
12913         * lisp.h: declare various symbols.
12914
12915         * glyphs.h: declare Qwidget_callback_current_channel;
12916
12917         * glyphs-widget.c (syms_of_glyphs_widget): add
12918         Qgui_callback_current_channel.
12919         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12920
12921         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12922         widget-callback-current-channel when invoking the interactive
12923         arg. Also bind last-command and next-command when invoking the
12924         widget updates.
12925         * gui-x.c (popup_selection_callback): ditto.
12926
12927         * gui.c (get_gui_callback): massage args so that we are always
12928         calling eval. This allows us to add our own variable bindings
12929         outside.
12930
12931         * glyphs-x.c (x_button_instantiate): use
12932         gui_items_to_widget_values since this is GC safe.
12933         (x_progress_gauge_instantiate): ditto.
12934         (x_edit_field_instantiate): ditto.
12935         (x_label_instantiate): ditto.
12936
12937         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12938         (emacs_Xt_event_widget_focus_out): new function
12939         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12940         focus.
12941         (emacs_Xt_event_add_widget_actions): new function. add focus
12942         functions as actions.
12943         (init_event_Xt_late): use it.
12944
12945 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12946
12947         * event-stream.c (Fdispatch_event): Doc fix.
12948
12949 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12950
12951         * postgresql.c: Remove all references to PQsetenv*.
12952
12953         * postgresql.h: Remove references to PGsetenvHandler object.
12954         * lrecord.h (lrecord_type): Ditto.
12955
12956 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12957
12958         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12959         real_heigh and real_width members, and accessor macros for these.
12960
12961         * glyphs-msw.c (init_image_instance_geometry): New function.
12962         (init_image_instance_from_dibitmap): Use it.
12963         (mswindows_resource_instantiate): Use it.
12964         (init_image_instance_from_xbm_inline): Use it.
12965         (mswindows_initialize_image_instance_mask): Use real bitmap
12966         geometry.
12967         (mswindows_create_resized_bitmap): Ditto.
12968         (mswindows_create_resized_mask): Ditto.
12969
12970         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12971         and bitmap to their surface size.
12972
12973 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12974
12975         * process-unix.c (unix_send_process): Guard against process MIA
12976         after Faccept_process_output.
12977
12978 2000-04-11  Ben Wing  <ben@xemacs.org>
12979
12980         * eval.c (unbind_to_hairy): fix brokenness introduced by
12981         nanosecond speed improvements.
12982
12983 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12984
12985         * sunplay.c (init_device): To play sounds correctly, the device
12986         apparently needs to be initialized at least once by XEmacs.  Make
12987         it so.
12988
12989 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12990
12991         * redisplay.c (add_margin_runes): Add text image glyph
12992           handling.
12993
12994 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12995
12996         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12997         gcc is newer than 2.5.
12998
12999 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13000
13001         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13002
13003         * fns.c (size_bit_vector):
13004         * alloc.c (size_vector):
13005         (make_vector_internal):
13006         (make_bit_vector_internal):
13007         (sweep_bit_vectors_1):
13008         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13009
13010 2000-04-06  Andy Piper  <andy@xemacs.org>
13011
13012         * gmalloc.c (malloc): undo previous change.
13013         (malloc): ditto.
13014         (free): ditto.
13015         (realloc): ditto.
13016
13017 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13018
13019         * line-number.c (buffer_line_number): Revert to former version.
13020
13021 2000-04-06  Andy Piper  <andy@xemacs.org>
13022
13023         * gmalloc.c (malloc): add error checking.
13024         (malloc): ditto.
13025         (free): ditto.
13026         (realloc): ditto.
13027
13028         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13029         button_item_to_widget_value arg.
13030
13031         * glyphs-x.c (x_button_instantiate): add extra
13032         button_item_to_widget_value arg.
13033         (x_progress_gauge_instantiate): ditto.
13034         (x_edit_field_instantiate): ditto.
13035         (x_label_instantiate): ditto.
13036
13037         * gui-x.c (gui_items_to_widget_values_1): add extra
13038         button_item_to_widget_value arg.
13039         (button_item_to_widget_value): add extra menu_item_p arg.
13040
13041         * gui-x.h: change signature of button_item_to_widget_value.
13042
13043         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13044         button_item_to_widget_value arg.
13045
13046 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13047
13048         * buffer.h (struct buffer): auto_save_modified should be long.
13049
13050 2000-04-05  Andy Piper  <andy@xemacs.org>
13051
13052         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13053         type.
13054         (button_query_geometry): give a little more room so that athena
13055         buttons fit.
13056
13057 2000-04-05  Andy Piper  <andy@xemacs.org>
13058
13059         * faces.c (complex_vars_of_faces): The widget face should inherit
13060         the font of the gui-element face.
13061
13062 2000-04-04  Andy Piper  <andy@xemacs.org>
13063
13064         * glyphs-x.c (x_button_update): new function. unconditionally
13065         update a button's state when the instance is dirty.
13066         (image_instantiator_format_create_glyphs_x): add x_button_update.
13067         (x_widget_instantiate): remove old resize cruft.
13068
13069 2000-04-02  Andy Piper  <andy@xemacs.org>
13070
13071         * frame.c (change_frame_size_1): The introduction of gutters means
13072         that we need to allow 0 as a potential frame dimension.
13073
13074 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13075
13076         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13077         image glyph if allow_cursor.
13078         (add_hscroll_rune): Don't allow cursor to border glyph.
13079         (create_text_block): Ditto.
13080
13081         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13082         text not in buffer.
13083         (redisplay_output_layout): Call ensure_face_cachel_complete for
13084         text image glyph.
13085
13086
13087 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13088
13089         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13090
13091         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13092         not in buffer
13093
13094         * redisplay-tty.c (tty_output_display_block): Delete the routine
13095         for text image glyph
13096         * redisplay-x.c (x_output_display_block): ditto
13097         * redisplay-msw.c (mswindows_output_display_block): ditto
13098
13099 2000-02-02  Mike Alexander  <mta@arbortext.com>
13100
13101         Note: Some of these were committed by accident as part of other
13102         patches.
13103
13104         * regex.c (regex_compile): Avoid compiler warnings.
13105
13106         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13107
13108         * nt.h: Declare term_ntproc correctly.
13109
13110         * nt.c: Remove incorrect declaration of get_home_directory which
13111         is declared correctly in lisp.h.
13112
13113         * keymap.c (get_keyelt): Avoid compiler warnings.
13114         (raw_lookup_key_mapper): Avoid compiler warnings.
13115
13116         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13117
13118         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13119
13120         * filemode.c (mode_string): Avoid compiler warnings.
13121
13122         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13123         avoid warning.
13124
13125         * events-mod.h: Undef some things that winuser.h defines differently.
13126
13127         * data.c (Faset): Avoid compiler warnings.
13128
13129         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13130
13131 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13132
13133         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13134         Fall through to simple beep on error.
13135         Replace "extern" by real header file.
13136
13137         * linuxplay.c: Use nativesound.h
13138         (play_sound_data): Return error code. Be less verbose on error.
13139
13140         * sunplay.c: Use nativesound.h
13141         (play_sound_data): Return error code. Be less verbose on error.
13142
13143         * ntplay.c: Use nativesound.h
13144         (play_sound_data): Return fake error code
13145
13146         * sgiplay.c: Use nativesound.h
13147         (play_sound_data): Return error code
13148
13149         * hpplay.c: Use nativesound.h, partially implement
13150         new error code. Break compilation until finished.
13151         (play_sound_data): error code.
13152
13153         * nativesound.h (play_sound_file):
13154           (play_sound_data): Prototype in new header.
13155
13156 2000-03-31  Andy Piper  <andy@xemacs.org>
13157
13158         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13159         for toggle and radio buttons.
13160         (image_instantiator_buttons): use it.
13161
13162 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13163
13164         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13165         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13166         found. Scrollbar event probably belonged to some old config.
13167
13168 2000-03-31  Andy Piper  <andy@xemacs.org>
13169
13170         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13171         than 1.
13172         (initialize_widget_image_instance): default layout to
13173         LAYOUT_HORIZONTAL rather than 0.
13174         (widget_instantiate): reverse the item list at the end rather than
13175         every iteration.
13176         (layout_layout): re-code for the border text at the front of the
13177         item list rather than at the end.
13178         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13179         provided by the user.
13180         (widget_query_geometry): comment.
13181
13182 2000-03-30  Andy Piper  <andy@xemacs.org>
13183
13184         * glyphs-widget.c (image_instantiator_layout): allow standard
13185         widget keywords in layouts.
13186
13187         * gutter.c (output_gutter): cope with nil gutter contents.
13188
13189         * frame.c (Fset_frame_properties): add gutter docs.
13190
13191 2000-03-29  Andy Piper  <andy@xemacs.org>
13192
13193         * toolbar-msw.c (TBSTYLE_FLAT): add.
13194         (mswindows_output_toolbar): minor fiddling.
13195
13196 2000-03-29  Andy Piper  <andy@xemacs.org>
13197
13198         * gutter.c (output_gutter): force gutter size recalculation if
13199         what we are trying to display won't fit.
13200         (update_gutter_geometry): new function. A per-gutter version of
13201         update_frame_gutter_geometry.
13202         (update_frame_gutter_geometry): use it.
13203         (redraw_exposed_gutter): add extra debugging output.
13204
13205 2000-03-28  Mike Alexander  <mta@arbortext.com>
13206
13207         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13208         (pdump_file_unmap): Implement it on Windows
13209         (pdump_file_get): Save alocated handles for pdump_file_unmap
13210
13211 2000-03-28  Andy Piper  <andy@xemacs.org>
13212
13213         * gui.c (get_gui_callback): treat Quit specially.
13214
13215 2000-03-27  Andy Piper  <andy@xemacs.org>
13216
13217         * glyphs.c (image_instantiate): be careful to check in the same
13218         way we assigned.
13219
13220 2000-03-27  Didier Verna  <didier@xemacs.org>
13221
13222         * config.h.in: define the proper SMART_INCLUDE macro.
13223         handle renaming of `foo_h_path' to `foo_h_file'.
13224
13225         * database.c: ditto.
13226
13227         * emacs.c: ditto.
13228
13229         * linuxplay.c: ditto.
13230
13231         * terminfo.c: ditto.
13232
13233         * tooltalk.h: ditto.
13234
13235 2000-03-27  Andy Piper  <andy@xemacs.org>
13236
13237         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13238         gets updated whenever the face might have changed.
13239
13240 2000-03-26  Mike Alexander  <mta@arbortext.com>
13241
13242         * dumper.c (pdump_resource_free): Fix the comment.
13243
13244 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13245
13246         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13247
13248 2000-03-22  Mike Alexander  <mta@arbortext.com>
13249
13250         * dumper.c: Include Windows headers on Windows
13251         (pdump_resource_free): Add a body to the function
13252         (pdump_load): exe_name -> exe_path and add some comments.
13253
13254 2000-03-25  Mike Alexander  <mta@arbortext.com>
13255
13256         * gui.c (copy_gui_item_tree): Return a value in all cases
13257
13258 2000-03-21  Didier Verna  <didier@xemacs.org>
13259
13260         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13261         lwlib/config.h.in.
13262         (SMART_INCLUDE): new macro.
13263         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13264         the proper location.
13265
13266         * postgresql.c: use it.
13267
13268         * inline.c: ditto.
13269
13270 2000-03-24  Andy Piper  <andy@xemacs.org>
13271
13272         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13273         do this.
13274
13275 2000-03-24  Andy Piper  <andy@xemacs.org>
13276
13277         * redisplay-output.c (compare_runes): use image_instance_changed
13278         to detect changes. Do not depend on glyphs_changed, only depend on
13279         dirtiness.
13280          (redisplay_output_layout): add debug messages.
13281         (compare_runes): ditto.
13282
13283         * glyphs.h: declare new functions.
13284         (struct Lisp_Image_Instance): remove percent and associated
13285         accessors.
13286
13287         * gui.h: declare new copying functions.
13288
13289         * gui.c (copy_gui_item_tree): new function.
13290         (copy_gui_item): new function.
13291         (gui_item_id_hash): revert to standard hash.
13292         (gui_item_hash): ditto.
13293         (gui_item_hash_internal): deleted.
13294         (mark_gui_item): mark value.
13295         (gui_item_add_keyval_pair): add value.
13296         (gui_item_init): ditto.
13297         (gui_add_item_keywords_to_plist): ditto.
13298         (gui_item_equal): ditto.
13299         (syms_of_gui): add Q_value.
13300
13301         * glyphs-x.c (x_progress_gauge_update): use pending items and
13302         value for setting the state.
13303         (x_update_widget): don't set items from pending here.
13304
13305         * glyphs-widget.c (update_widget): update items here.
13306         (progress_gauge_set_property): use items for storing value. Put
13307         new value in pending items.
13308
13309         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13310         items for new value. Convert percent -> value.
13311         (mswindows_tab_control_update): don't update items here.
13312
13313         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13314         (update_subwindow): ditto.
13315         (image_instance_changed): new function. Compare hash values and
13316         past and present widget items.
13317         (image_instantiate): We more careful about where we instantiate
13318         things.
13319         (image_instantiate): add error checking.
13320
13321         * gutter.c (syms_of_gutter): use -hook.
13322
13323 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13324
13325         * console-tty.c (Fset_console_tty_input_coding_system): Use
13326         Qkeyboard.
13327         (Fset_console_tty_output_coding_system): Use Qterminal.
13328         (tty_init_console): Use Qkeyboard and Qterminal.
13329
13330 2000-03-21  Ben Wing  <ben@xemacs.org>
13331
13332         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13333         From Mike Alexander <mta@arbortext.com>.
13334
13335 2000-03-21  Ben Wing  <ben@xemacs.org>
13336
13337         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13338         process brokenness.  Proper implementation to come.
13339         * callproc.c:
13340         Rename call-process-internal to old-call-process-internal.
13341         New impl. in process.el.
13342
13343 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13344
13345         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13346
13347 2000-03-20  Andy Piper  <andy@xemacs.org>
13348
13349         * glyphs.c (full_list_hash): make hashes of the same elements in
13350         different orders return different values.
13351
13352 2000-03-20  Martin Buchholz <martin@xemacs.org>
13353
13354         * XEmacs 21.2.32 is released.
13355
13356 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13357
13358         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13359         (DFC_MALLOC_USE_CONVERTED_DATA):
13360         Add aliasing-safe casts to allow use with char* or unsigned char*
13361         lvalues.
13362
13363         * eldap.c (Fldap_open):
13364         (Fldap_search_basic):
13365         (Fldap_add):
13366         (Fldap_modify):
13367         Make C++-compilable.
13368         Make sure GCPRO'ed variables are initialized.
13369         Use temp variables to avoid repeated calls to Flength.
13370
13371 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13372
13373         * sysfile.h:
13374         Make sure PATH_MAX is always defined.
13375         Include limits.h for PATH_MAX.
13376         Deprecate use of MAXPATHLEN.
13377
13378 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13379
13380         * emacs.c: Add reinit_vars_of_fileio.
13381         * symsinit.h: Add reinit_vars_of_fileio.
13382         * fileio.c (reinit_vars_of_fileio): New.
13383         * fileio.c (Fmake_temp_name):
13384         Initialize temp_name random number from microseconds to make
13385         collisions even less likely.  Initialize always at process startup
13386         time.  (make-temp-name) used to return the same file name twice in
13387         a row when PDUMP.
13388         Random stylistic fiddling.
13389         Comment fixes.
13390
13391 2000-03-20  Andy Piper  <andy@xemacs.org>
13392
13393         * glyphs.c (image_instantiate): allow text glyphs to be
13394         instantiated in the minibuffer window.
13395
13396 2000-03-19  Andy Piper  <andy@xemacs.org>
13397
13398         * glyphs.c (image_instance_hash): be careful about which items we
13399         hash on.
13400
13401         * glyphs-widget.c (tab_control_set_property): record into pending
13402         items rather than the actual items.
13403
13404         * glyphs-x.c (x_update_widget): use pending items to update with.
13405
13406         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13407         to update with.
13408
13409         * glyphs.c (mark_image_instance): mark pending items.
13410
13411         * window.c (Fset_window_configuration): record the buffer.
13412         (Fselect_window): totally revert previous change which breaks many
13413         things.
13414
13415 2000-03-18  Andy Piper  <andy@xemacs.org>
13416
13417         * glyphs-msw.c (mswindows_tab_control_update): force selected
13418         item.
13419
13420         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13421         window domain cache, otherwise we get inconsistencies at
13422         startup. There is something fishy at startup which can lead to the
13423         minibuffer being the selected window when the gutter content is
13424         instantiated.
13425
13426         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13427         gcpros.
13428         (parse_gui_item_tree_children): ditto.
13429         (parse_gui_item_tree_item): ditto.
13430
13431         * glyphs.c (Fupdate_widget_instances): return something.
13432
13433 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13434
13435         * window.c (Fselect_window): Undo 2000-03-17 change.
13436
13437 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13438
13439         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13440         against v7.0 libraries.  Insta-coredump city until the postgres
13441         folks fix it.
13442
13443 2000-03-17  Andy Piper  <andy@xemacs.org>
13444
13445         * faces.c (complex_vars_of_faces): don't give the widget face an
13446         inherited background pixmap.
13447
13448         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13449         selected item.
13450
13451         * event-stream.c (Fdispatch_non_command_events): return something.
13452
13453         * gutter.c (output_gutter): use widget face.
13454         (clear_gutter): ditto.
13455
13456         * NEWS: adjust again.
13457
13458         * window.c (Fselect_window): make sure this runs to completion to
13459         avoid oddities with Fset_window_configuration.
13460         (Fcurrent_window_configuration): in general do not save the
13461         minibuffer as the selected window.
13462
13463         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13464
13465 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13466
13467         * emacs.c (Frunning_temacs_p): Revert previous patch.
13468         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13469
13470 2000-03-16  Andy Piper  <andy@xemacs.org>
13471
13472         * glyphs-x.c (x_tab_control_update): if no widget values then
13473         return.
13474
13475         * NEWS: update for new features.
13476
13477         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13478         synthetic event to the native system.
13479         (reinit_vars_of_event_Xt): set force_event_pending to
13480         emacs_Xt_force_event_pending.
13481
13482         * events.h (struct event_stream): add force_event_pending.
13483
13484         * specifier.c (recompute_one_cached_specifier_in_window): add
13485         comment.
13486
13487         * redisplay.c (redisplay_frame): don't call
13488         update_frame_subwindows. Reset subwindow cachels when
13489         subwindows_changed, removing this was an optimization too far.
13490
13491         * redisplay-output.c (compare_runes): reorganize so that we catch
13492         glyph changes when we want them. Set optimize_output when this
13493         would help layouts.
13494         (redisplay_output_layout): remove frame_really_changed, use
13495         optimize_output instead.
13496
13497         * redisplay-msw.c (mswindows_output_display_block): reset
13498         optimize_output after outputting a glyph.
13499         * redisplay-x.c (x_output_display_block): ditto.
13500         * redisplay-tty.c (tty_output_display_block): ditto.
13501
13502         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13503         functions.
13504         (gutter_specs_changed): do specific gutter positions.
13505         (top_gutter_specs_changed): new function. Only update the
13506         specified gutter specs.
13507         (bottom_gutter_specs_changed): ditto.
13508         (left_gutter_specs_changed): ditto.
13509         (right_gutter_specs_changed): ditto.
13510
13511         * gui.c (gui_item_hash_internal): new function, does a real hash.
13512         (gui_item_id_hash): use it.
13513         (gui_item_hash): hash the eval'ed gui_item.
13514
13515         * gui-x.c (popup_selection_callback): send an eval event to call
13516         Fupdate_widget_instances.
13517
13518         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13519         to call Fupdate_widget_instances.
13520
13521         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13522         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13523
13524         * glyphs.c: (update_frame_subwindows): deleted.
13525         (Fupdate_widget_instances): new function for updating the dirty
13526         state of widgets that might have changed.
13527         (syms_of_glyphs): add Qupdate_widget_instances.
13528         (full_list_hash): hash a list completely.
13529         (image_instance_hash): use it for items and properties.
13530
13531         * frame-msw.c (mswindows_size_frame_internal): remove unused
13532         variable.
13533
13534         * faces.h (struct face_cachel): fix comment.
13535
13536         * event-stream.c (Fdispatch_non_command_events): new
13537         function. Process non-command events, forcing an event cycle
13538         beforehand.
13539         (syms_of_event_stream): declare.
13540         (event_stream_force_event_pending): new function. Force an event
13541         on the native event queue so that an event cycle will occur next
13542         time we check.
13543
13544         * event-msw.c:
13545         (struct ntpipe_shove_stream):
13546         (mswindows_enqueue_dispatch_event):
13547         (mswindows_dequeue_dispatch_event):
13548         (mswindows_cancel_dispatch_event):
13549         (mswindows_pump_outstanding_events):
13550         (mswindows_drain_windows_queue):
13551         (mswindows_handle_paint):
13552         (mswindows_wnd_proc):
13553         (mswindows_key_to_emacs_keysym):
13554         (get_process_input_waitable):
13555         (emacs_mswindows_delete_stream_pair): re-indent file.
13556         (mswindows_need_event): do not process further fds if the windows
13557         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13558         fixes the 100% cpu problem.
13559         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13560
13561 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13562
13563         * alloc.h: New.
13564         * dumper.h: New.
13565         * dumper.c: New.
13566
13567         * emacs.c: Moved dump file searching to dumper.c.
13568         (Frunning_temacs_p): Fixed.
13569
13570         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13571         last_lrecord_type_index_assigned.
13572
13573 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13574
13575         * symsinit.h: Added reinit parameter to init_console_stream
13576         declaration.
13577
13578         * lisp.h: Added file parameter to pdump_load declaration.
13579
13580         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13581         support.  Added dump file searching.
13582
13583         * config.h.in: Added EMACS_PROGNAME.
13584
13585         * console-stream.c (init_console_stream): Fix reinitialisation
13586         when running from temacs.
13587
13588         * alloc.c (pdump): Add id support.
13589         (pdump_load): Add file parameter and signature/id support.
13590
13591         * Makefile.in.in: Add full pdump support.
13592
13593 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13594
13595         * postgresql.c: Update documentation to reflect latest code
13596         status.
13597         (print_result): Show tuple counts in printed representation when
13598         appropriate.
13599         (Fpq_put_nbytes): MULE-ize.
13600         (Fpq_get_line_async): Ditto.
13601
13602 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13603
13604         * postgresql.c (Fpq_lo_import): Fix return value.
13605         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13606
13607 2000-03-13  Ben Wing  <ben@xemacs.org>
13608
13609         * alloc.c (pdump_load):
13610         Fix compile warning under mswin.
13611
13612 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13613
13614         * postgresql.c: Mule-ization, bug fixes.
13615         Use PG_CODING to encapsulate coding system name changes.
13616         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13617         (pg-coding-system): Create.
13618
13619         (Fpq_conn_defaults): Mule-ize.
13620         (Fpq_connectdb): Mule-ize & bug fix.
13621         (Fpq_connect_start): Mule-ize.
13622         (Fpq_set_client_encoding): Mule-ize.
13623         (Fpq_finish): Document `DEAD' connection status.
13624         (Fpq_clear): Ditto.
13625         (Fpq_pgconn): Mule-ize.
13626         (Fpq_exec): Mule-ize & bug fix.
13627         (Fpq_send_query): Ditto.
13628         (Fpq_get_result): Ditto.
13629         (Fpq_res_status): Mule-ize.
13630         (Fpq_result_error_message): Mule-ize.
13631         (Fpq_ntuples): fix comments.
13632         (Fpq_fname): Mule-ize.
13633         (Fpq_fnumber): Mule-ize.
13634         (Fpq_ftype): fix comments.
13635         (Fpq_get_value): Mule-ize.
13636         (Fpq_cmd_status): Ditto.
13637         (Fpq_cmd_tuples): Ditto.
13638         (Fpq_oid_value): Ditto.
13639         (Fpq_notifies): Ditto.
13640         (Fpq_lo_import): Ditto.
13641         (Fpq_lo_export): Ditto.
13642         (Fpq_get_line): Ditto.
13643         (Fpq_put_line): Mule-ize and bug fix.
13644         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13645
13646 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13647
13648         * postgresql.c (vars_of_postgresql): Mule-ize.
13649         (Fpq_conn_defaults): Ditto.
13650
13651 2000-03-12  Ben Wing  <ben@xemacs.org>
13652
13653         * alloc.c (Fmake_byte_code):
13654         * alloc.c (debug_string_purity_print):
13655         * alloc.c (pdump_backtrace):
13656         * alloc.c (pdump_get_indirect_count):
13657         * alloc.c (pdump_register_sub):
13658         * alloc.c (pdump_register_object):
13659         * alloc.c (pdump_register_struct):
13660         * alloc.c (pdump_dump_data):
13661         * alloc.c (pdump_reloc_one):
13662         Minor cleanups.
13663
13664         * console-msw.c:
13665         * console-msw.c (GetConsoleHwnd):
13666         * console-msw.c (msw_hide_console):
13667         * console-msw.c (msw_show_console):
13668         * console-msw.c (msw_ensure_console_buffered):
13669         * console-msw.c (msw_output_console_string):
13670         * console-msw.c (console_type_create_mswindows):
13671
13672         a) Added functions to manipulate the console window for use with
13673         shell support.
13674
13675         b) Added support for writing text to the console, which is now
13676         used under Windows when xemacs is not being run non-interactively,
13677         to write text that would otherwise be destined for stdout because
13678         under these circumstances, text written to stdout tends to
13679         disappear and not be seen.
13680
13681         * console-msw.h:
13682         * event-Xt.c:
13683         * event-Xt.c (x_event_to_emacs_event):
13684         * event-Xt.c (describe_event_window):
13685         * events-mod.h (XEMACS_MOD_CONTROL):
13686         * events.c:
13687         * events.c (Fmake_event):
13688         * events.c (character_to_event):
13689         * events.c (event_to_character):
13690         * events.c (format_event_object):
13691         * events.c (Fevent_modifiers):
13692         * events.h:
13693         * events.h (struct key_data):
13694         * events.h (struct button_data):
13695         * events.h (struct misc_user_data):
13696         * frame-x.c (Fcde_start_drag_internal):
13697         * frame-x.c (Foffix_start_drag_internal):
13698         * gpmevent.c (Freceive_gpm_event):
13699         * keymap.c:
13700         * keymap.c (bucky_sym_to_bucky_bit):
13701         * keymap.c (control_meta_superify):
13702         * keymap.c (make_key_description):
13703         * keymap.c (keymap_lookup_directly):
13704         * keymap.c (create_bucky_submap):
13705         * keymap.c (keymap_store):
13706         * keymap.c (define_key_check_and_coerce_keysym):
13707         * keymap.c (define_key_parser):
13708         * keymap.c (define_key_alternate_name):
13709         * keymap.c (Fdefine_key):
13710         * keymap.c (raw_lookup_key_mapper):
13711         * keymap.c (struct map_keymap_unsorted_closure):
13712         * keymap.c (map_keymap_unsorted_mapper):
13713         * keymap.c (map_keymap_sort_predicate):
13714         * keymap.c (map_keymap_sorted):
13715         * keymap.c (accessible_keymaps_mapper_1):
13716         * keymap.c (where_is_recursive_mapper):
13717         * keymap.c (describe_map_mapper):
13718         * keymap.c (describe_map_sort_predicate):
13719         * keymap.c (describe_map):
13720         * keymap.c (complex_vars_of_keymap):
13721         And a number of other files, the key modifier preprocessor
13722         constants that xemacs uses have names that conflict with constants
13723         defined under MS Windows for other purposes, so they were renamed
13724         to begin with the prefix XEMACS_. The variables that hold such
13725         modifiers were changed to consistently be of type int to fix
13726         various compile warnings.
13727
13728         * console.c (complex_vars_of_console):
13729         * device.c:
13730         * device-msw.c:
13731         * device-msw.c (mswindows_finish_init_device):
13732         * device-msw.c (msw_get_workspace_coords):
13733         * device-msw.c (mswindows_device_system_metrics):
13734         and various other files, added support for a new
13735         device property called offset-workspace which returns the position
13736         of the upper left corner of the workspace area and goes along with
13737         the existing size-workspace property.
13738
13739         * dialog-msw.c:
13740         * dialog-msw.c (push_bufbyte_string_as_unicode):
13741         * dialog-msw.c (mswindows_popup_dialog_box):
13742         Added support for XEmacs-style accelerator specifications in
13743         button text.  Note: I didn't add support for this under X Windows,
13744         and somebody needs to do this.
13745
13746         * dialog.c:
13747         * dialog.c (Fpopup_dialog_box):
13748         Documented the support for accelerators that was just mentioned.
13749
13750         editfns.c (get_home_directory): Changed behavior under Windows
13751         when HOME not defined; former behavior was irretrievably broken.
13752
13753         * emacs.c:
13754         * emacs.c (main_1):
13755         * emacs.c (main):
13756         * minibuf.c (clear_echo_area_internal):
13757         * minibuf.c (echo_area_append):
13758         * print.c:
13759         * print.c (std_handle_out_external):
13760         * print.c (std_handle_out_va):
13761         * print.c (fatal):
13762         * print.c (write_string_to_stdio_stream):
13763         * print.c (output_string):
13764         * print.c (debug_print):
13765         * print.c (debug_backtrace):
13766         * print.c (debug_short_backtrace):
13767         Cleaned up the code that prints text to stdout so that this can be
13768         changed to output into a console window instead under MS Windows,
13769         as described above.
13770
13771         * eval.c:
13772         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13773         * eval.c (internal_catch):
13774         * eval.c (unwind_to_catch):
13775         * eval.c (throw_or_bomb_out):
13776         * eval.c (condition_case_1):
13777         * eval.c (signal_1):
13778         * eval.c (check_error_state_sanity):
13779         * eval.c (call_with_suspended_errors_1):
13780         * eval.c (call_with_suspended_errors):
13781         * eval.c (reinit_vars_of_eval):
13782         Added code to catch throw loops and check for a pesky bug that may
13783         be gone now.
13784
13785         * event-msw.c:
13786         * event-msw.c (key_needs_default_processing_p):
13787         * event-msw.c (mswindows_wnd_proc):
13788         * event-msw.c (mswindows_modifier_state):
13789         * event-msw.c (emacs_mswindows_quit_p):
13790         * event-msw.c (vars_of_event_mswindows):
13791         a) Added support for using the alt key to select menu items as is
13792         standard under MS Windows.  This is controlled using the variable
13793         menu-accelerator-enabled, just like under X Windows.  There is an
13794         option on the options menu to turn this support on.  I really
13795         think that it should be on by default under Windows, but I'm not
13796         going to make this change yet.
13797
13798         b)  Added support for dynamic display size changes under Windows.
13799
13800         * event-stream.c:
13801         * event-stream.c (maybe_echo_keys):
13802         * event-stream.c (Fnext_event):
13803         * event-stream.c (command_builder_find_leaf):
13804         * event-stream.c (lookup_command_event):
13805         * event-stream.c (execute_command_event):
13806         * event-stream.c (pre_command_hook):
13807         * event-stream.c (post_command_hook):
13808         * event-stream.c (syms_of_event_stream):
13809         * event-stream.c (vars_of_event_stream):
13810         * event-stream.c (complex_vars_of_event_stream):
13811         * events.h (struct command_builder):
13812
13813         a) Tried to clean up a little bit the horribly written x-specific
13814         accelerator code that crept into this file.  I moved this code
13815         into menubar-x.c where it belongs. I also needed to move the
13816         command builder structure into the file events.h because it is
13817         accessed directly by this accelerator code.  What I didn't do, but
13818         which should be done at some point, is to properly abstract this
13819         code using device methods instead of the kludgy way that it
13820         currently hooks into the event code.
13821
13822         b) Added the lisp variables this-command-properties and
13823         last-command- properties, which should be used to synchronize two
13824         adjacent commands in preference to playing games with the variable
13825         this-command, which is typically what happens.
13826
13827         c) Added some slightly nasty code to hook into the lisp support
13828         for shifted- motion-key selection.  This is actually necessary for
13829         somewhat complicated reasons, which are described in
13830         simple.el. (NB: I think the proper thing would be to have the code
13831         that calls the pre and post command hooks also call out to generic
13832         lisp functions in simple.el, where all built-in stuff could be
13833         added.  I will think about this more.)
13834
13835         * event-unixoid.c (poll_fds_for_input):
13836         * lread.c (readchar):
13837         * redisplay-tty.c (tty_clear_frame):
13838         * redisplay-x.c (x_get_gc):
13839         * signal.c (interrupt_signal):
13840         And a whole bunch of other files: fixed up places that printed
13841         directly to stderr to instead call the function stderr_out so that
13842         the changes I made under Windows work correctly.
13843
13844         * filemode.c (mode_string):
13845         Warning fixes.
13846
13847         * frame-msw.c:
13848         * frame-msw.c (mswindows_size_frame_internal):
13849         Fixed the computation of frame size and position to keep the frame
13850         within the workspace area, rather than within the physical
13851         dimensions of the screen, so that the frame doesn't overlap window
13852         manager decorations, such as the start menu and toolbar, typically
13853         at the bottom of the screen.
13854
13855         * frame.c (vars_of_frame):
13856         Changed the default frame title format under MS Windows to consist
13857         of buffername-XEmacs, which is standard under MS Windows.  I think
13858         it might be a good idea to change this everywhere because I think
13859         it is superior to the current frame title format, but this is the
13860         kind of change that is likely to cause some people to get annoyed,
13861         so I'm not making it.
13862
13863         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13864
13865         * gui-msw.c (mswindows_handle_gui_wm_command):
13866         Fixed compile warnings.
13867
13868         * gui-x.c:
13869         * gui-x.c (strdup_and_add_accel):
13870         * gui-x.c (button_item_to_widget_value):
13871         * gui-x.h:
13872         Added code to automatically put an accelerator onto the beginning
13873         of menu items that don't have one as is now the standard, and is
13874         described more later.  Also fixed things so that the menu item
13875         name can be an evaluated expression, again a new standard.
13876
13877         * gui.c:
13878         * gui.c (gui_item_add_keyval_pair):
13879         * gui.c (make_gui_item_from_keywords_internal):
13880         * gui.c (gui_add_item_keywords_to_plist):
13881         * gui.c (gui_item_accelerator):
13882         * gui.c (gui_name_accelerator):
13883         * gui.c (gui_item_included_p):
13884         * gui.c (gui_item_display_flush_left):
13885         * gui.c (gui_item_display_flush_right):
13886         * gui.c (parse_gui_item_tree_item):
13887         * gui.c (parse_gui_item_tree_children):
13888         * gui.c (parse_gui_item_tree_list):
13889         Mule-ized.  Cleanup.  GCPRO addition.
13890
13891         * line-number.c (buffer_line_number):
13892         * lisp.h:
13893         * lisp.h (EMACS_INT_MAX):
13894         Added the manifest constant EMACS_INT_MIN corresponding to the
13895         existing constant EMACS_INT_MAX.  This is partially to fix compile
13896         warnings under Windows, and partly for cleanliness.
13897
13898         * menubar-msw.c:
13899         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13900         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13901         * menubar-msw.c (displayable_menu_item):
13902         * menubar-msw.c (populate_menu_add_item):
13903         * menubar-msw.c (populate_or_checksum_helper):
13904         * menubar-msw.c (populate_menu):
13905         * menubar-msw.c (update_frame_menubar_maybe):
13906         * menubar-msw.c (prune_menubar):
13907         * menubar-msw.c (msw_char_is_accelerator):
13908         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13909         * menubar-msw.c (mswindows_handle_wm_command):
13910         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13911         * menubar-msw.c (mswindows_handle_wm_initmenu):
13912         * menubar-msw.c (mswindows_update_frame_menubars):
13913         * menubar-msw.c (mswindows_free_frame_menubars):
13914         * menubar-msw.c (mswindows_popup_menu):
13915         Fixed a bug in handling accelerators where an extra character
13916         would be displayed in the menu item.  Also generalized the
13917         function displayable_menu_item because it is now used by the
13918         dialog box code as well.  And finally, added code in the functions
13919         that create the menubar to extract a list of accelerators for the
13920         top level menubar, which is used in the event code to determine
13921         whether a particular alt-key combination should be used to invoke
13922         a menu item, or should be passed through to access the standard
13923         XEmacs keymap binding for this key combination.
13924
13925         Much needed GCPROing.
13926
13927         * menubar-x.c:
13928         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13929         * menubar-x.c (menu_item_descriptor_to_widget_value):
13930         * menubar-x.c (restore_in_menu_callback):
13931         * menubar-x.c (x_popup_menu):
13932         * menubar-x.c (menu_move_up):
13933         * menubar-x.c (menu_move_down):
13934         * menubar-x.c (menu_move_left):
13935         * menubar-x.c (menu_move_right):
13936         * menubar-x.c (menu_select_item):
13937         * menubar-x.c (command_builder_operate_menu_accelerator):
13938         * menubar-x.c (menu_accelerator_junk_on_error):
13939         * menubar-x.c (command_builder_find_menu_accelerator):
13940         * menubar-x.c (Faccelerate_menu):
13941         * menubar.h:
13942         Moved a whole bunch of code here that was previously in
13943         event-stream.c as described above.  There is also code connected
13944         to the new standard of adding an accelerator to the beginning of
13945         menu items that don't have one as described above and below.
13946
13947         * menubar.c:
13948         * menubar.c (menu_parse_submenu_keywords):
13949         * menubar.c (Fmenu_find_real_submenu):
13950         * menubar.c (Fnormalize_menu_item_name):
13951         * menubar.c (syms_of_menubar):
13952         * menubar.c (vars_of_menubar):
13953         * menubar.c (complex_vars_of_menubar):
13954
13955         a) Cleaned up a bunch of documentation and improved it.
13956
13957         b) XEmacs now automatically adds an accelerator onto the beginning
13958         of any menu items that don't have one.  I did this because there
13959         will inevitably be some menu items on the main menubar that don't
13960         have accelerators on them because the package that adds that
13961         particular menu item hasn't yet been fixed up to have accelerators
13962         in them and it looked rather strange to have some items with and
13963         some items without accelerators, especially since even in items
13964         without accelerators, you can, at least under windows, still
13965         access the item through an accelerator corresponding to the first
13966         character in the item's name.  If people don't like this behavior,
13967         I can add a variable to turn it off optionally, but I'm not sure
13968         this is a good idea because we really do need to have accelerators
13969         on all of the menu items, and if a package doesn't like the
13970         accelerators being put on the first character, then it should put
13971         the accelerators where they belong.
13972
13973         c) I made a behavior change, which is that the descriptor that
13974         specifies the text of the menu item, which formerly was just a
13975         string, can now also be an evaluated expression.  This makes this
13976         descriptor parallel with all of the others, which could also be
13977         evaluated expressions.  This also obviates the need for the
13978         keyword :label, which was previously listed in the documentation
13979         as unimplemented, and which was for the same purpose.
13980
13981         d) GCPROing.
13982
13983         * ntproc.c:
13984         * ntproc.c (new_child):
13985         * ntproc.c (sys_spawnve):
13986         * ntproc.c (find_child_console):
13987         * ntproc.c (sys_kill):
13988         Fixed compile warnings.  By the way, this file should really go
13989         away entirely, and this will happen as soon as Kirill makes his
13990         final round of process cleanups, which affect the function
13991         call-process.
13992
13993         * process-nt.c:
13994         * process-nt.c (struct nt_process_data):
13995         * process-nt.c (find_process_from_pid):
13996         * process-nt.c (send_signal_the_nt_way):
13997         * process-nt.c (enable_child_signals):
13998         * process-nt.c (find_child_console):
13999         * process-nt.c (send_signal_the_95_way):
14000         * process-nt.c (nt_finalize_process_data):
14001         * process-nt.c (ensure_console_window_exists):
14002         * process-nt.c (nt_create_process):
14003         * process-nt.c (nt_kill_child_process):
14004         * process-nt.c (nt_kill_process_by_pid):
14005         * process-nt.c (nt_open_network_stream):
14006         * process-nt.c (vars_of_process_nt):
14007         Copied over code from Emacs 20.5 to correctly send signals to sub-
14008         processes under Windows 95.  Also added code to automatically
14009         create and hide console window when a sub-process is created under
14010         Windows 95, which obviates the need for the separate runemacs.exe
14011         executable, and finally implemented some variables that were
14012         implemented in Emacs 20.5, but previously not in XEmacs.  These
14013         include mswindows- start-process-share-console and
14014         mswindows-start-process-inherit-error-mode. (Both of these only
14015         apply to Windows 95.)
14016
14017         * regex.c (regex_compile): Fixed a compile warning.
14018
14019         * select-msw.c:
14020         * select-msw.c (mswindows_own_selection):
14021         * select-msw.c (mswindows_get_foreign_selection):
14022         * select-msw.c (mswindows_disown_selection):
14023         * select-msw.c (console_type_create_select_mswindows):
14024         * select-msw.c (syms_of_select_mswindows):
14025         Cleaned up the file and implemented the device method
14026         selection_exists_p, which had accidentally been left out.  Also
14027         removed four lisp functions that were remnants from before the
14028         time when the selection code was properly device abstracted.
14029         These functions are no longer needed because there are generic
14030         equivalents, and because they were added recently and don't exist
14031         in FSF Emacs, I don't think there's any problem with just deleting
14032         them.
14033
14034         * sysdep.c:
14035         * sysdep.c (sys_subshell):
14036         Fixed a compile warning, although in this case there's probably
14037         something wrong with this code, and it ought to be looked into
14038         more thoroughly by somebody who understands it.
14039
14040         * window.c:
14041         * window.c (Fwindow_text_area_height):
14042         * window.c (Fwindow_width):
14043         * window.c (Fwindow_full_width):
14044         * window.c (Fwindow_pixel_width):
14045         * window.c (debug_print_window):
14046         * window.c (syms_of_window):
14047         Added functions window-text-area-height and window-full-width,
14048         which are functions for returning various width and height
14049         characteristics of a window. (One of these functions is necessary
14050         for making the file dialog box work correctly, and the other one
14051         was added for completeness.)  Also added a table to the
14052         documentation for window-height which describes the entire scheme
14053         for accessing width and height characteristics of a window.
14054
14055 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14056
14057         * nt.c (fstat): Added a comment for another problem with
14058         non-encapsulated [f]stat(), reported by Adrian Aichner
14059         <aichner@ecf.teradyne.com>.
14060
14061 2000-03-11  Andy Piper  <andy@xemacs.org>
14062
14063         * window.c (make_dummy_parent): initialize subwindow instance
14064         cache.
14065         (Fset_window_configuration): zero extent_modiff.
14066
14067 2000-03-10  Andy Piper  <andy@xemacs.org>
14068
14069         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14070         more changes can be triggered.
14071         (Fredisplay_frame): ditto.
14072         (Fredraw_device): ditto.
14073         (Fredisplay_device): ditto.
14074         (redisplay_frame): make non-static.
14075         (redisplay_frame): call update_frame_gutter_geometry outside of
14076         display proper.
14077
14078         * gutter.h: declare update_frame_gutter_geometry.
14079
14080         * redisplay.h: declare redisplay_frame.
14081
14082         * gutter.c (update_frame_gutter_geometry): move geometry changes
14083         in update_frame_gutters here. Geometry changes can only occur
14084         outside of redisplay.
14085         (update_frame_gutters): remove geometry change code.
14086         (Fredisplay_gutter_area): make sure that we are in display when we
14087         update and that we have flushed any size changes.
14088
14089 2000-03-11  Andy Piper  <andy@xemacs.org>
14090
14091         * alloc.c (pdump_dump_data): remove i & count shadows.
14092
14093 2000-02-27  Mike Alexander  <mta@arbortext.com>
14094
14095         * sysdep.h: Declare pdump_read_file
14096
14097         * sysdep.c (pdump_read_file): New function
14098
14099         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14100         dump data
14101
14102 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14103
14104         * lrecord.h: add `lrecord_type_pgsetenv'.
14105
14106 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14107
14108         * symsinit.h: declare (vars|syms)_of* functions.
14109         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14110
14111 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14112
14113         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14114
14115         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14116         GCCs.
14117
14118         * emacs.c (main_1): Call postgres initialization code.
14119
14120         * postgresql.h: New file.  PostgreSQL RDBMS support.
14121         * postgresql.c: New file.
14122
14123 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14124
14125         * redisplay-output.c (redisplay_output_display_block): Disable
14126         redundant code.
14127
14128 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14129
14130         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14131         (Fcanna_henkan_next): Ditto.
14132         (Fcanna_bunsetu_henkou): Ditto.
14133         (Fcanna_henkan_kakutei): Ditto.
14134         (Fcanna_henkan_end): Ditto.
14135         (Fcanna_henkan_quit): Ditto.
14136         (Fcanna_henkan_next): Set retun value correctly.
14137         (c2mu): Use unsigned char instead of signed char.
14138
14139 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14140
14141         * emacs.c (main_1): Always call syms_of_gui.
14142         * inline.c: include gui.h
14143
14144 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14145
14146         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14147         converted to Lisp_Object.
14148         (Qtop_bottom): New variable.
14149         (syms_of_redisplay): Initialize it.
14150         * redisplay.h (Vvisible_bell): Ditto.
14151         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14152         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14153         only flash top and bottom.
14154
14155 2000-03-08  Andy Piper  <andy@xemacs.org>
14156
14157         * buffer.c (Frename_buffer): record new buffer name the right way.
14158
14159 2000-03-08  Andy Piper  <andy@xemacs.org>
14160
14161         * glyphs.c (update_subwindow): increase hash depth so that widget
14162         items get picked up properly.
14163
14164         * redisplay-output.c (compare_runes): increase hash depth so that
14165         widget items get picked up properly.
14166
14167 2000-03-08  Andy Piper  <andy@xemacs.org>
14168
14169         * gutter.c (output_gutter): add some debug.
14170
14171         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14172         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14173         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14174
14175         * redisplay-output.c (compare_runes): use display_hash to
14176         determine if glyphs really are not the same.
14177
14178         * glyphs.c (update_subwindow): check display_hash to see if
14179         anything really needs to be updated. If not then do
14180         nothing. Record the display_hash after updating.
14181         (image_instance_equal): compare the image_instance face also.
14182
14183 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14184
14185         * redisplay.h: Fix comment style.
14186
14187 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14188
14189         * consle-msw.h (struct mswindows_frame):
14190         Added new member paint_pending to indicate whether a WM_PAINT
14191         magic event has been queued for this frame.
14192
14193         * event-msw.c (mswindows_drain_windows_queue):
14194         Don't queue a WM_PAINT magic event if one is already queued.
14195         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14196
14197         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14198
14199 2000-03-07  Didier Verna  <didier@xemacs.org>
14200
14201         * dired.c: #include `regex.h' after `sysfile.h'.
14202
14203 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14204
14205         * sound.c (init_nas_sound): Fix compiler warning.
14206
14207         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14208         (FREE_STRUCT_P):
14209         (MARK_STRUCT_AS_FREE):
14210         (MARK_STRUCT_AS_NOT_FREE):
14211         Make `gcc -fstrict-aliasing' work properly.
14212
14213 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14214
14215         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14216         (mswindows_delete_device): Call CoUnnitialize().
14217
14218         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14219
14220 2000-02-25    <CraigL@DyCon.com>
14221
14222         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14223         <errno.h>.
14224
14225         * sysdep.c: This extern declaration for environ prevents MinGW
14226         from finding the variable in CRTDLL.DLL.
14227
14228         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14229         windows headers.
14230         (SHGFI_EXETYPE): ..
14231         (WM_MOUSEWHEEL): ..
14232         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14233         definitions.
14234         (MMRESULT): Removed, now defined in cygwin's windows headers.
14235         (TIMECAPS): ..
14236         (uid_t,gid_t,pid_t,ssize_t): ..
14237         (_timeb): Removed, MinGW defines both _timeb and timeb.
14238         (HAVE_H_ERRNO): Added.
14239         (HAVE_TZNAME): Added, configure is not detecting this.
14240
14241 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14242
14243         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14244         * syntax.c (syntax_match): Use it.
14245
14246         * cmds.c: Import auto-fill-chars from FSF Emacs.
14247         (Vauto_fill_chars): New variables.
14248         (internal_self_insert): Check Vauto_fill_chars.
14249         (vars_of_cmds):
14250         Declare auto-fill-chars as a Lisp variable and initialize it.
14251
14252 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14253
14254         * fileio.c (Fmake_symbolic_link):
14255         (Ffile_symlink_p):
14256         Run handlers even if local machine doesn't have symlinks.
14257
14258 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14259
14260         * event-msw.c (mswindows_drain_windows_queue):
14261         Don't generate paint magic events for non-XEmacs frames.
14262
14263 2000-03-05  Andy Piper  <andy@xemacs.org>
14264
14265         * redisplay.c (redisplay_frame): generate_displayable_area and
14266         friends assumes that we are not in GC, we therefore have to make
14267         sure that this doesn't happen.
14268
14269         * gutter.c (calculate_gutter_size): generate_displayable_area
14270         assumes that we are not in GC, we therefore have to make sure that
14271         this doesn't happen.
14272
14273 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14274
14275         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14276
14277 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14278
14279         * redisplay.c (regenerate_window): Make sure we set a sane value
14280         for end_pos even if we jump out of the loop.
14281         (regenerate_window): Answer Ben's question :-).
14282         (start_end_of_last_line): Add may_error argument.
14283         (start_of_last_line):
14284         (end_of_last_line): Pass may_error = 0.
14285         (end_of_last_line_may_error): New function.
14286         (pixel_to_glyph_translation): Use it, so we don't crash in
14287         event_to_glyph.
14288
14289 2000-03-04  Andy Piper  <andy@xemacs.org>
14290
14291         * window.h (struct window): add gutter_extent_modiff.
14292
14293         * window.c (allocate_window): zero out gutter_extent_modiff.
14294
14295         * redisplay.h: declare sync_display_line_structs.
14296
14297         * redisplay.c (add_glyph_rune): add a better comment.
14298
14299         * redisplay-output.c (sync_display_line_structs): made non-static.
14300         (compare_runes): remove unneccesary glyph cachel access.
14301
14302         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14303
14304         * gutter.c (output_gutter): don't output the gutter if extent
14305         changes only involve extents in buffers. use 4 sets of display
14306         lines.
14307         (gutter_extent_signal_changed_region_maybe): new function. Mark
14308         extents in gutters as changed.
14309         (update_frame_gutters): use 4 sets of display lines.
14310         (reset_gutter_display_lines): ditto.
14311         (free_frame_gutters): ditto.
14312         (redraw_exposed_gutter): force output of gutters.
14313
14314         * frame.h (struct frame): add 4 sets of gutter display lines.
14315
14316         * extents.c: (extent_changed_for_redisplay): signal changes to
14317         extents in strings in the gutter as well as extents in buffers.
14318
14319 2000-03-02  Andy Piper  <andy@xemacs.org>
14320
14321         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14322
14323         * frame.c (Fmake_frame): make sure the gutters get initialized
14324         after the frame is visible.
14325         (set_frame_selected_window): re-arrange compilation macros a
14326         little.
14327         (change_frame_size_1): mark gutters changed.
14328
14329         * device.c (Fset_device_class): mark gutters changed.
14330
14331 2000-03-01  Andy Piper  <andy@xemacs.org>
14332
14333         * window.c (window_top_frame_gutter_height): deleted.
14334         (window_bottom_frame_gutter_height): ditto.
14335         (window_left_frame_gutter_height): ditto.
14336         (window_right_frame_gutter_height): ditto.
14337         (window_top_gutter_height): don't use them.
14338         (window_bottom_gutter_height): ditto.
14339         (window_left_gutter_width): ditto.
14340         (window_right_gutter_width): ditto.
14341         (Fsplit_window): ditto.
14342         (Fwindow_pixel_edges): don't use border dimensions here.
14343
14344         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14345         (update_scrollbar_instance): ditto.
14346
14347         * redisplay.c (generate_modeline): don't take gutters into account.
14348         (generate_modeline): ditto.
14349         (redisplay_frame): small gutter display optimization.
14350
14351         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14352
14353         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14354         gutters into account.
14355
14356         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14357         for window position and type.
14358
14359         * gutter.c (get_gutter_coords): fix for frame gutters.
14360         (update_frame_gutters): update frame geometry if the gutters have
14361         changed.
14362         (init_frame_gutters): record current gutter geometries.
14363
14364         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14365         var.
14366         (mswindows_widget_instantiate): ditto.
14367
14368         * frame.h (struct frame): add current_gutter_bounds.
14369
14370         * frame.c (change_frame_size_1): position window and minibuffer
14371         appropriately taking into account the frame gutters.
14372
14373         * frame-x.c: (x_initialize_frame_size): take into account the
14374         frame gutters.
14375
14376 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14377
14378         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14379
14380 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14381
14382         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14383
14384 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14385
14386         * file-coding.c (reset_decoding_stream): Clear previous
14387         detection state when autodetect.
14388
14389 2000-02-29  Didier Verna  <didier@xemacs.org>
14390
14391         * extents.c (set_extent_glyph_1): don't require extents to be
14392         attached.
14393
14394 2000-02-27  Andy Piper  <andy@xemacs.org>
14395
14396         * gutter.c (Fset_default_gutter_position): don't default left and
14397         right gutter visibility to t.
14398         (Fset_default_gutter_position): run
14399         default-gutter-position-changed-hook.
14400         (syms_of_gutter): add default-gutter-position-changed-hook.
14401
14402 2000-02-26  Andy Piper  <andy@xemacs.org>
14403
14404         * specifier.c (Fmake_specifier): add gutter references.
14405
14406         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14407
14408         * lisp.h: declare Fvalid_plist_p.
14409
14410         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14411         as changed.
14412         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14413         well as its visibility so that it gets reconstructed.
14414         (construct_window_gutter_spec): new function. Construct a string
14415         to be displayed in the gutter from a plist of strings. Take care
14416         to only use elements that are declared as visible.
14417         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14418         WINDOW_GUTTER.
14419         (gutter_validate): allow plists of strings in the specifier.
14420         (gutter_specs_changed): construct the real_gutter from the gutter
14421         specs using construct_window_gutter_spec.
14422         (gutter_visible_validate): gutter-visible is a new specifier type.
14423         (Fgutter_visible_specifier_p): new function for the new specifier.
14424         (syms_of_gutter): declare gutter-visible and
14425         Fgutter_visible_specifier_p.
14426         (specifier_type_create_gutter): intitalize new gutter-visible
14427         specifier.
14428         (reinit_specifier_type_create_gutter): ditto.
14429         (specifier_vars_of_gutter): use new specifier type for gutter
14430         visibility.
14431         (init_frame_gutters): construct real_gutter correctly.
14432         (Fgutter_specifier_p): beef up documentation.
14433         (Fgutter_size_specifier_p): ditto.
14434
14435         * winslots.h: add real_gutter slots.
14436
14437 2000-02-25  Andy Piper  <andy@xemacs.org>
14438
14439         * device-msw.c: Be kind to older cygwin versions. From Raymond
14440         Toy <toy@rtp.ericsson.se>.
14441
14442         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14443         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14444
14445 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14446
14447         * elhash.c (MARK_OBJ): Practice macro hygiene.
14448
14449 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14450
14451         * miscplay.c: s/__inline__/inline/g;
14452         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14453         (get_device_compdc): INLINE ==> static inline
14454         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14455         find -name '*.h' | \
14456         xargs global-replace \
14457         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14458
14459 2000-02-25  Andy Piper  <andy@xemacs.org>
14460
14461         * window.c (window_top_frame_gutter_height): new function.
14462         (window_top_window_gutter_height): ditto.
14463         (window_top_gutter_height): use them.
14464         (window_bottom_frame_gutter_height): new function.
14465         (window_bottom_window_gutter_height): ditto.
14466         (window_bottom_gutter_height): use them.
14467         (window_left_window_gutter_width): new function.
14468         (window_left_frame_gutter_width): ditto.
14469         (window_left_gutter_width): use them.
14470         (window_right_window_gutter_width): new function.
14471         (window_right_frame_gutter_width): ditto.
14472         (window_right_gutter_width): use them.
14473         (window_pixel_height): new function. calulate window pixel height
14474         with frame gutter involvement.
14475         (Fsplit_window): calculate new sizes taking frame gutters into
14476         account.
14477         (window_char_height_to_pixel_height): don't include frame gutters.
14478         (window_char_height): use window_pixel_height.
14479         (window_pixheight): rename from window_pixel_height.
14480         (change_window_height): use it.
14481         (window_pixel_height_to_char_height): don't include frame gutters.
14482         (window_char_width_to_pixel_width): ditto.
14483
14484 2000-02-25  Andy Piper  <andy@xemacs.org>
14485
14486         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14487         if it is.
14488
14489 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14490
14491         * alloc.c (staticpro):
14492         (staticpro_nodump):
14493         (dumpstruct):
14494         (dumpopaque):
14495         (pdump_wire):
14496         (pdump_wire_list):
14497         (compact_string_chars):
14498         (pdump_dump_wired):
14499         Convert:  if (foo) abort();  ==>  assert (! foo);
14500
14501         * eldap.c (Fldap_search_basic):
14502         (Fldap_add):
14503         (Fldap_modify):
14504         (Fldap_delete):
14505         Fix compiler warnings, and possible crashes if (random) return
14506         value were to be used.
14507
14508 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14509
14510         * device-msw.c: Workaround ResetDC failure.
14511
14512         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14513         applying a devmode.
14514
14515         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14516         (mswindows_text_width): Do not start printer page.
14517
14518         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14519
14520         * glyphs-msw.c: Added image methods to msprinter console and
14521         msprinter-specific image instantiation.
14522
14523 2000-02-20  Mike Alexander  <mta@arbortext.com>
14524
14525         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14526         to avoid crashes when selection-sets-clipboard is on
14527         (mswindows_own_selection): ditto
14528
14529 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14530
14531         * glyphs-msw.c:
14532         * redisplay-msw.c (get_frame_dc):
14533         (get_frame_compdc):
14534         * console-msw.h:
14535         * device-msw.c (mswindows_init_device):
14536         (mswindows_delete_device):
14537         (msprinter_init_device):
14538         (msprinter_delete_device):
14539         * frame-msw.c (mswindows_init_frame_1):
14540         (mswindows_delete_frame):
14541         (msprinter_init_frame_3):
14542         (msprinter_delete_frame): Move compatible DC to device object from
14543         frame object, for both mswindows and msprinter. Only one at a time
14544         is needed, it is a real waste to have one per frame!
14545
14546 2000-02-23  Andy Piper  <andy@xemacs.org>
14547
14548         * glyphs.c: add dynamic width and height elements.
14549         (image_instance_equal): ditto.
14550
14551         * glyphs-widget.c (widget_query_geometry): calculate width and
14552         height dynamically if required.
14553         (initialize_widget_image_instance): initialize dynamic dimensions.
14554         (widget_instantiate): pick-up dynamic dimensions.
14555
14556         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14557         dynamic determination. Add appropriate macros.
14558
14559         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14560         dimensions safe.
14561         (WINDOW_GUTTER_SIZE): ditto.
14562         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14563
14564         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14565         inline.
14566         (get_frame_dc): ditto.
14567
14568         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14569         here.
14570
14571 2000-02-23  Martin Buchholz <martin@xemacs.org>
14572
14573         * XEmacs 21.2.31 is released.
14574
14575 2000-02-22  Ben Wing <ben@xemacs.org>
14576
14577         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14578
14579 2000-02-22  Andy Piper  <andy@xemacs.org>
14580
14581         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14582
14583 2000-02-21  Mike Sperber <mike@xemacs.org>
14584
14585         * .dbxrc:
14586         * .gdbinit:
14587         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14588         variables.
14589
14590 2000-02-21  Mike Sperber <mike@xemacs.org>
14591
14592         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14593
14594 2000-02-21  Martin Buchholz <martin@xemacs.org>
14595
14596         * XEmacs 21.2.30 is released.
14597
14598 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14599
14600         Performance hacking.
14601         * *.c (syms_of_*):
14602         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14603         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14604         * emacs.c (main_1):
14605         * lisp.h (DEFUN):
14606         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14607         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14608         * symeval.h (DEFVAR_SYMVAL_FWD):
14609         * symbols.c (guts_of_unbound_marker):
14610         Make all c_readonly objects also lisp_readonly and marked for life.
14611         * lrecord.h (struct lrecord_implementation):
14612         Document flags better.
14613         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14614         * lrecord.h (DECLARE_LRECORD):
14615         * lrecord.h (XSETRECORD):
14616         * lrecord.h (RECORDP):
14617         * lrecord.h (RECORD_TYPEP):
14618         * lrecord.h (RECORD_MARKER): New.
14619         * lrecord.h (error_check_*):
14620         * lrecord.h (CONCHECK_NONRECORD):
14621         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14622         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14623         * lrecord.h (set_lheader_implementation):
14624         * lrecord.h (enum lrecord_type): New.
14625         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14626         * alloc.c (disksave_object_finalization_1):
14627         * alloc.c (mark_object):
14628         * alloc.c (lrecord_type_index):
14629         * alloc.c (tick_lcrecord_stats):
14630         * alloc.c (Fgarbage_collect):
14631         * alloc.c (init_alloc_once_early):
14632         * alloc.c (pdump_load):
14633         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14634         * alloc.c (lrecord_type_index): Delete.
14635         Make lisp object type indexes be constant.
14636           Makes (byte-compile) 5% faster.
14637         Put all marker functions into their own array.
14638           Makes (garbage-collect) 5% faster.
14639         Optimize SYMBOL_VALUE_MAGIC_P.
14640           Makes (byte-compile) 2-3% faster.
14641         * config.h.in (gc_checking_assert): New.
14642         * alloc.c: Use gc_checking_assert().
14643         * .dbxrc: Make compatible with new object type implementation.
14644         * .gdbinit: Make compatible with new object type implementation.
14645         * alloc.c: Delete all symbols defined only for debugging, such as
14646         Lisp_Type_Vector and lrecord_charset.
14647
14648 2000-02-21  Andy Piper  <andy@xemacs.org>
14649
14650         * gui-msw.c (Fmswindows_shell_execute): fix file location
14651         problems.
14652
14653         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14654         unshowing so that set_window_buffer doesn't undo
14655         kill_buffer_hook's hard work.
14656
14657         * glyphs-widget.c (tab_control_query_geometry): don't count the
14658         first item when calculating geometry.
14659
14660         * glyphs.c (map_subwindow): remove redundant code.
14661         (update_frame_subwindows): be more circumspect about when to
14662         update subwindows.
14663
14664         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14665         when items haven't changed. Update faces if faces have changed as
14666         well as just the widget face.
14667         (x_tab_control_update): Update faces if faces have changed as well
14668         as just the widget face.
14669
14670 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14671
14672         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14673         registration.
14674         (build_syscolor_string): Use mswindows_color_to_string to try to
14675         get a named color.
14676         (mswindows_device_system_metrics): Reverse the foreground and
14677         background colors so that they match the documentation.
14678
14679         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14680         they match the default Windows palette.
14681         (mswindows_color_to_string): New function.
14682
14683 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14684
14685         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14686
14687 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14688
14689         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14690         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14691
14692         * symbols.c (init_symbols_once_early): Removed obsolete
14693         DATA_SEG_BITS related kludge.
14694         (defvar_magic): Ditto.
14695
14696         * malloc.c: Removed obsolete DATA_SEG_BITS
14697         * ralloc.c: Ditto.
14698         * mem-limits.h: Ditto.
14699
14700         * Makefile.in.in: Removed obsolete HAVE_SHM
14701         * emacs.c: Ditto.
14702
14703 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14704
14705         *  device-msw.c (mswindows_delete_device): Free DDE string
14706         handles.
14707
14708 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14709
14710         * keymap.c (get_keyelt):
14711         * unexnt.c (unexec):
14712         * vm-limit.c (memory_warnings):
14713         * ntheap.c (recreate_heap):
14714         * ntheap.h (UNINIT_PTR):
14715         * select-msw.c (Fmswindows_get_clipboard):
14716         (Fmswindows_set_clipboard):
14717         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14718         * objects-msw.c:
14719         * menubar-msw.c (displayable_menu_item):
14720         * glyphs-msw.c:
14721         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14722         * sysdep.c (sys_subshell):
14723         * process-nt.c (nt_create_process):
14724         * nt.c (normalize_filename):
14725         (dostounix_filename):
14726         (unixtodos_filename):
14727         * ntproc.c (win32_executable_type):
14728         * ntplay.c (play_sound_data_1):
14729         (play_sound_file):
14730         * editfns.c (get_home_directory):
14731         * event-msw.c (struct winsock_stream):
14732         (mswindows_dde_callback):
14733         * device-msw.c (msprinter_init_device):
14734         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14735
14736         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14737         mswindows_clear_toolbar were swapped!
14738
14739         * objects-msw.c:(colormap_t):
14740         (fontmap_t):
14741         * emacs.c (struct standard_args): Fixed const jumble.
14742
14743         * glyphs-widget.c (update_widget): Fixed comparison notation.
14744
14745         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14746
14747         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14748         __declspec(noreturn) syntax.
14749
14750 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14751
14752         * eldap.c (Fldap_open):
14753         (Fldap_search_basic):
14754         (Fldap_add):
14755         (Fldap_modify):
14756         Use new coding system conversion macros.
14757
14758 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14759
14760         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14761
14762 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14763
14764         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14765         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14766
14767         * eldap.c (Qadd, Qreplace): New constant symbols
14768         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14769         interruptions by XEmacs signals
14770         Remove unnecessary calls to slow_down_interrupts and
14771         speed_up_interrupts
14772         (Fldap_search_basic): Renamed from Fldap_search_internal
14773         Added new optional parameter VERBOSE that triggers the
14774         display of progress messages
14775         Remove unnecessary calls to slow_down_interrupts and
14776         speed_up_interrupts
14777         LDAP result code analysis rewritten
14778         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14779         (syms_of_eldap): Define the new symbols and functions
14780
14781
14782 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14783
14784         * realpath.c: Determine PATH_MAX maximally portably.
14785
14786         * insdel.c (bytecount_to_charcount): Optimize.
14787         The function used to be optimized for entirely ASCII sequences.
14788         Now it is optimized for successive characters from the same
14789         charset.  This also wins big for _mostly_ ASCII sequences.
14790
14791         * fileio.c (Ffile_truename): convert return from realpath() using
14792         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14793         - Rewrite GCPROing slightly.
14794
14795         * sysdep.c (sys_open): Do filename conversion, like all other
14796         sys_* functions.  Fixes bug:
14797         (let ((file-name-coding-system 'iso-8859-2))
14798            (write-region x y latin2-name))
14799         ==> writes filename using internal encoding.
14800
14801 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14802
14803         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14804         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14805         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14806         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14807         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14808         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14809         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14810         (CONST_IF_NOT_DEBUG): Delete.
14811         * alloc.c (this_one_is_unmarkable): Delete.
14812         (mark_object): Don't check for this_one_is_unmarkable. Use the
14813         c_readonly flag instead.
14814         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14815
14816 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14817
14818         * event-msw.c (mswindows_drain_windows_queue):
14819         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14820         away redundant repaint events.
14821
14822 2000-02-17  Andy Piper  <andy@xemacs.org>
14823
14824         * redisplay.h: declare mark_redisplay_structs.
14825
14826         * redisplay.c (redisplay_window):
14827         (redisplay_frame): don't check subwindows_state_changed.
14828         (mark_redisplay): mark gutters here.
14829
14830         * glyphs.c: (instantiate_image_instantiator): always layout if we
14831         haven't done so already.
14832         (allocate_image_instance): don't mark as dirty.
14833         (update_subwindow): bind inhibit_quit.
14834
14835         * gutter.c (mark_gutters): new function.
14836
14837         * glyphs-x.c (x_update_widget): Always resize to get round a
14838         widget bug.
14839
14840         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14841         breaking absolutely everything.
14842
14843         * gutter.h: declare mark_gutters.
14844
14845 2000-02-16  Martin Buchholz <martin@xemacs.org>
14846
14847         * XEmacs 21.2.29 is released.
14848
14849 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14850
14851         * fns.c (size_bit_vector): Fix computation of the size.
14852
14853 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14854
14855         * *.[ch]: Change CONST to const globally.
14856         find -name '*.[ch]' | \
14857         xargs global-replace \
14858         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14859         - Remove vestigial references to CONST_IS_LOSING
14860
14861 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14862
14863         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14864         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14865         events instead of dispatching them directly.
14866         (mswindows_handle_paint): New function to do repainting.
14867         (mswindows_wnd_proc):
14868         (emacs_mswindows_handle_magic_event): Call above function.
14869
14870 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14871
14872         * objects-msw.c (mswindows_create_font_variant): Return the new
14873         font handle.
14874         (initialize_font_instance): Get font metrics from the underlined
14875         variant of the font to cope with the case where the underlined
14876         font has a bigger descent.
14877
14878 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14879
14880         * gui.c (gui_item_accelerator): Return the first underlined
14881         character in item name.
14882
14883 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14884
14885         * lisp.h: Added Qprinter.
14886
14887         * general.c (syms_of_general): Initialized it.
14888
14889         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14890         (get_frame_dc):
14891         (get_frame_compdc): Made inline.
14892
14893         * console.h (struct console_methods): Added eject_page method.
14894
14895         * frame.h: Added FRAME_DISPLAY_P and friends.
14896         Aligned backslahes in many macros in more readable fashion.
14897         Added page_number to struct frame, and an accessor macro
14898         for it.
14899
14900         * defice.h: Added DEVICE_DISPLAY_P and friends.
14901
14902         * device.c (Fdevice_printer_p): Used these.
14903
14904         * frame.c (allocate_frame_core): Initialize page number.
14905         (Fprint_job_page_number):
14906         (Fprint_job_eject_page): Implemented.
14907
14908         * frame-msw.c (msprinter_eject_page): Added method.
14909         (msprinter_start_page): Added.
14910
14911         * window.c (Fwindow_truncated_p): Fixed docstring.
14912         (Fwindow_last_line_visible_height): Implemented.
14913
14914 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14915
14916         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14917
14918 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14919
14920         * syntax.c (scan_words): Always advance at least one character.
14921
14922 2000-02-13  Andy Piper  <andy@xemacs.org>
14923
14924         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14925         to make sure the glyph is in the cachels.
14926
14927         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14928         global image instance flag.
14929         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14930         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14931
14932         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14933         (Fset_image_instance_property): mark layout as changed.
14934         (invalidate_glyph_geometry_maybe): mark layout as changed.
14935         (glyph_width): use new NEEDS_LAYOUT macro.
14936         (glyph_ascent): ditto.
14937         (glyph_descent): ditto.
14938         (glyph_height): ditto.
14939         (image_instance_layout): mark layout as clean after laying out.
14940         (update_subwindow): don't mark layout as clean here.
14941
14942         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14943         should no longer be needed.
14944
14945         * glyphs-x.c (x_update_widget): sanitize asserts.
14946         (x_finalize_image_instance): sanitize assignment to widgets.
14947
14948         * glyphs-widget.c (widget_instantiate): don't need to clear the
14949         layout flag here.
14950
14951 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14952
14953         * sysdep.c (getcwd): Use standard prototype.
14954         * sysdep.h (getcwd): Use standard prototype.
14955
14956         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14957         (sequence, start, end).
14958         Remove redundant type checking.
14959         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14960         view of `caller-protects') to avoid a crash where the real fix was
14961         found elsewhere.
14962
14963 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14964
14965         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14966
14967         * s/sol2.h: Remove feature macro initialization.
14968
14969         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14970         (vector_hash): New.  Code from internal_hash.
14971         * lrecord.h:
14972         Fix up allocation subsystem comments.
14973
14974         * config.h.in: Add __EXTENSIONS__ for Solaris.
14975
14976         * systime.h (EMACS_GETTIMEOFDAY): New.
14977         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14978         Remove Solaris-specific code.
14979         Use void* for the (ignored) second arg for gettimeofday().
14980
14981         * elhash.c (hash_table_hash): Implement it, finally.
14982         * elhash.c:  Use hashcode_t.
14983
14984         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14985         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14986
14987         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14988         * fns.c (size_bit_vector):
14989         * alloc.c (size_vector):
14990         (make_vector_internal):
14991         (make_bit_vector_internal):
14992         (sweep_bit_vectors_1):
14993         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14994
14995 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14996
14997         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14998         Include strings.h to avoid warnings for bzero and strcasecmp.
14999
15000 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15001
15002         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15003         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15004
15005         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15006         sequence.
15007
15008 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15009
15010         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15011         use a value field instead.
15012         (symbol_value_forward_forward): Use value field.
15013         (DEFVAR_SYMVAL_FWD): Use value field.
15014         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15015         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15016         (DEFVAR_CONST_INT): Ditto.
15017         (DEFVAR_BOOL): Ditto.
15018         (DEFVAR_CONST_BOOL): Ditto.
15019         (DEFVAR_INT_MAGIC): Ditto.
15020         (DEFVAR_BOOL_MAGIC): Ditto.
15021
15022         * symbols.c (guts_of_unbound_marker): Use value field.
15023         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15024         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15025
15026         * lisp.h: Declare dumpopaque and noninteractive1.
15027
15028         * alloc.c (dumpopaque): Added.
15029         (pdump_dump_opaquevec): Added.
15030         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15031         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15032         noninteractive.
15033
15034 2000-02-10  Andy Piper  <andy@xemacs.org>
15035
15036         * glyphs.c (image_instance_layout): if the size changes, mark it
15037         as such.
15038
15039         * redisplay-output.c (redisplay_output_layout): Update the
15040         subwindow here.
15041         (redisplay_output_subwindow): ditto.
15042
15043         * glyphs.c (update_subwindow): make sure we reset flags for
15044         layouts as well as everything else.
15045
15046         * glyphs-widget.c (layout_layout): don't need to set the instances
15047         dimensions here.
15048
15049 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15050
15051         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15052         not HAVE_DLOPEN, which is a lower-level thing.
15053
15054         * .cvsignore: Ignore gmon.out
15055
15056 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15057
15058         * .cvsignore: Ignore portable dumper xemacs.dmp file
15059
15060 2000-02-09  Andy Piper  <andy@xemacs.org>
15061
15062         * redisplay-output.c (redisplay_output_layout): be more clever
15063         about when we output based on the changed flags.
15064
15065         * glyphs.h (struct image_instantiator_methods): add update_method.
15066         (struct Lisp_Image_Instance): add changed flags. Declare new
15067         macros for manipulating them.
15068
15069         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15070         (image_instance_parent_glyph): find an image_instance's parent
15071         glyph or image_instance.
15072         (image_instance_layout): mark the size as changed.
15073         (set_image_instance_dirty_p): new function. mark an image
15074         instance, plus all of its parents, as dirty.
15075         (Fset_image_instance_property): use it.
15076         (Fglyph_animated_timeout_handler): use it.
15077         (update_subwindow): call update_widget and device methods for
15078         update_subwindow. Mark all changed flags as clean.
15079         (Fresize_subwindow): mark size as changed.
15080
15081         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15082         failures.
15083         (x_update_subwindow): only resize subwindows here.
15084         (x_update_widget): new function. Update all changed properties of
15085         a widget.
15086         (x_resize_subwindow): deleted.
15087         (x_widget_set_property): deleted.
15088         (x_progress_gauge_set_property): deleted.
15089         (x_progress_gauge_update): new function. Implement recorded
15090         changes.
15091         (x_tab_control_update): ditto.
15092         (x_tab_control_set_property): deleted.
15093         (console_type_create_glyphs_x): declare new functions.
15094         (image_instantiator_format_create_glyphs_x): ditto.
15095
15096         * glyphs-widget.c (widget_set_property): mark text changed.
15097         (update_widget): new function. Update properties of a widget.
15098         (widget_instantiate): for layouts make sure we set their
15099         children's parent correctly.
15100         (tab_control_set_property): new function. Record changes that will
15101         take place under redisplay's control.
15102         (progress_gauge_set_property): ditto.
15103         (image_instantiator_progress_guage): declare new functions.
15104         (image_instantiator_tab_control): ditto.
15105
15106         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15107         now.
15108         (mswindows_update_widget): new function. Update all properties on
15109         a widget that have changed.
15110         (mswindows_button_update): new function. Update a button's set
15111         state.
15112         (mswindows_tab_control_update): new function. Update the items in
15113         a tab.
15114         (mswindows_tab_control_set_property): deleted.
15115         (mswindows_progress_gauge_update): new function. Update the
15116         progress gauge's progress.
15117         (mswindows_widget_set_property): deleted. This is all done
15118         asynchronously now.
15119         (mswindows_progress_gauge_set_property): ditto.
15120         (console_type_create_glyphs_mswindows): declare new methods.
15121         (image_instantiator_format_create_glyphs_mswindows): ditto.
15122
15123         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15124         (msprinter_set_frame_properties): ditto.
15125
15126         * console.h (struct console_methods): Add update_widget_method.
15127
15128 2000-02-09  Andy Piper  <andy@xemacs.org>
15129
15130         * gui-msw.c (Fmswindows_shell_execute): Make
15131         mswindows-shell-execute industrial strength.
15132
15133 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15134
15135         * lrecord.h: Make macro argument `props' match member function `plist'.
15136         * fns.c (Fget):
15137         * fns.c (Fput):
15138         * fns.c (Fremprop):
15139         * fns.c (Fobject_plist):
15140         * alloc.c:
15141         * symbols.c:
15142         Object property list frobbing cleanup.
15143         - Allow any lisp object (compared with `eq'), not just symbols, as
15144           keys in object plists.
15145         - Move symbol plist frobbing into symbols.c, where it belongs.
15146         - Move string plist frobbing into alloc.c, where it belongs.
15147         - Everything's an lrecord now, so no need to test for symbolp, etc.
15148         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15149
15150         * extents.c: Reorder code to remove declarations.
15151
15152         * frame.h (store_in_alist): Remove useless declaration.
15153
15154 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15155
15156         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15157         * config.h.in: Add HAVE_XCONVERTCASE.
15158
15159 2000-02-07  Andy Piper  <andy@xemacs.org>
15160
15161         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15162         it breaks many things.
15163
15164 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15165
15166         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15167         actually can start a common comment type.
15168         * src/syntax.h (SYNTAX_END_P): ditto for end.
15169
15170 2000-02-07  Martin Buchholz <martin@xemacs.org>
15171
15172         * XEmacs 21.2.28 is released.
15173
15174 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15175
15176         * event-Xt.c (x_keysym_to_character): New.
15177         (maybe_define_x_key_as_self_inserting_character): New.
15178         (x_has_keysym): New.
15179         Auto-define all keys on the keyboard as self-insert-key.
15180
15181 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15182
15183         * menubar.c (vars_of_menubar): A small code simplification.
15184
15185         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15186
15187         * ExternalShell.c:
15188         * ExternalClient.c:
15189         * EmacsShell-sub.c:
15190         * EmacsManager.c:
15191         * EmacsFrame.c:
15192         Use consistent style for specifying X resources.
15193
15194         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15195         This makes (dontusethis-set-symbol-value-handler) actually usable.
15196
15197         * lrecord.h (lrecord_decription_type):
15198         * alloc.c (pdump_register_sub):
15199         (pdump_dump_data):
15200         (pdump_reloc_one):
15201         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15202         Comply with XEmacs coding style.
15203         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15204         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15205
15206         * keymap.c (Faccessible_keymaps):
15207         Make (accessible-keymaps map "\C-h") do the Right Thing.
15208         Make (accessible-keymaps map []) do the Right Thing.
15209         Make (accessible-keymaps map "") do the Right Thing.
15210         (check_keymap_definition_loop): New function.
15211         (keymap_store_internal): Keep luser from shooting self in foot,
15212           via (define-key ctl-x-4-map "p" global-map).
15213         Remove fullness slot from struct Lisp_Keymap, since hash tables
15214         are now reliable.
15215         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15216
15217 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15218
15219         * redisplay.c (init_redisplay): Fix small memory leak.
15220         * elhash.h:
15221         * elhash.c (pdump_reorganize_hash_table):
15222         Rename from reorganize_hash_table. Change prototype.
15223         Reuse the original memory for hentries.  Save 100k.
15224         * alloc.c (PDUMP_READ): new macro.
15225         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15226         * alloc.c: No need to #ifndef before #undef.
15227
15228         * print.c: Allow debug_print() to print readably by modifying
15229         debug_print_readably.  Use consistent variable names.
15230
15231         * .dbxrc: Try to get things to work even if stopped in a function
15232         without source available by explicitly specifying source files.
15233 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15234
15235         * unexnt.c (_start): Removed bogus code which caused loading heap
15236         from differrent executable file.
15237         Removed bogus assignment to _fmode, which caused inconsistencies.
15238
15239 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15240
15241         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15242         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15243         Do not preliminary `#define signal sigset'.
15244
15245         * systime.h: Do not prototype environ on windows nt and cygwin,
15246         this conflicts with system header.
15247
15248         * syssignal.h: Use correct define for WINDOWSNT
15249
15250         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15251         with system header.
15252
15253         * sysdep.c (near start of file): Fixed commentary and rearranged
15254         ifdefs in readable order.
15255         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15256         (start_of_text):
15257         (end_of_text):
15258         (end_of_data): Do not compile in if using PDUMP.
15259
15260         * symsinit.h: Prototyped vars_of_nt().
15261
15262         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15263         (find_child_console): Use it.
15264         (sys_kill): Use it.
15265
15266         * ntheap.h: Do not extern os_subtype.
15267
15268         * ntheap.c (cache_system_info): Do not cache unneeded:
15269         nt_major_version, nt_minor_version and os_subtype.
15270         (recreate_heap): Do not compile in when PDUMPing.
15271
15272         * nt.c (geteuid and friends): Use the new varibale
15273         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15274         (init_user_info): Removed the above mentioned hackery.
15275         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15276         stat has been fixed in the C runtime.
15277         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15278
15279         * file-coding.c (struct file_coding_dump): Do not define
15280         ucs_to_mule_table in the struct if not MULE.
15281         (struct struct lrecord_description fcd_description_1): Do not dump
15282         the above.
15283
15284         * emacs.c (main_1): Call vars_of_nt().
15285         (right before Fdump_emacs_data): Don't need lastfile if using both
15286         portabe dumper and system malloc.
15287
15288         * alloc.c (Fmemory_limit): Conditionalized out.
15289         (pdump): Use OPEN_BINARY for the portable dump file.
15290         (pdump_load): Ditto.
15291
15292 2000-02-02  Mike Alexander  <mta@arbortext.com>
15293
15294         * nt.c (convert_time): Set tm_isdst before calling mktime and
15295         avoid calling it at all if the compiler supports 64 bit integers.
15296         Also initialize utc_base_ft before using it.
15297
15298 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15299
15300         * frame.c (change_frame_size_1): Take f->internal_border_width
15301         into consideration when calculating the width of the frame.
15302
15303 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15304
15305         * window.c (frame_min_height):
15306         (frame_size_valid_p):
15307         (frame_pixsize_valid_p): Added.
15308         (check_frame_size): Generalized.
15309
15310         * window.h: Prototyped the above.
15311
15312         * lisp.h:
15313         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15314         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15315         Deleted Vwin32_* and Vbinary_process_* unused variables.
15316
15317         * device-msw.c (msprinter_init_device): Do not get printer font
15318         list; Added DEVMODE functions.
15319
15320         * frame-msw.c: Added lots of printer code.
15321
15322         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15323         general.c.
15324
15325         * console-msw.h: Added more msprinter device private slots.
15326
15327 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15328
15329         * event-msw.c (key_needs_default_processing_p): Added.
15330         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15331
15332 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15333
15334         * glyphs.c (image_instance_layout): Mark image instance as clean
15335         after layout.
15336         (glyph_dirty_p): Removed redundant function.
15337         (invalidate_glyph_geometry_maybe): Added.
15338         (update_glyph_cachel_data): Call it.
15339
15340         * glyphs.h: Prototyped it.
15341
15342         * redisplay.c (add_glyph_rune): Call it.
15343         (redisplay_window): Reset glyphs cachels when frame faces have
15344         changed, thus forcing recomputation of built-in border glyphs.
15345
15346 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15347
15348         * Makefile.in.in: Make portable dumper and purify play well together.
15349         Add imperfect, but better than nothing, support for pdump.
15350         Remove xemacs.dmp when temacs is re-generated.
15351         Don't ignore errors when dumping xemacs.
15352
15353         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15354
15355 2000-01-28  Andy Piper  <andy@xemacs.org>
15356
15357         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15358         (setup_normal_frame): ditto.
15359         (setup_frame_without_minibuffer): ditto.
15360         (setup_minibuffer_frame): ditto.
15361         (delete_frame_internal): ditto.
15362         (Fmake_frame_invisible): ditto.
15363         (Ficonify_frame): ditto.
15364
15365         * window.h: change Fset_window_buffer signature.
15366
15367         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15368         (Fset_window_buffer): allow recording of buffer if the window is
15369         the selected window.
15370         (window_loop): Use new Fset_window signature.
15371
15372 2000-01-23  Daniel Pittman  <daniel@danann.net>
15373
15374         * config.h.in: Added template for `HAVE_ATHENA_3D'
15375
15376 2000-01-29  Andy Piper  <andy@xemacs.org>
15377
15378         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15379
15380         * gutter.c (output_gutter): Don't output if the window isn't live.
15381
15382 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15383
15384         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15385         of 01/12/00: Moved SetFocus back here where it belongs.
15386
15387 2000-01-23  Andy Piper  <andy@xemacs.org>
15388
15389         * s/cygwin32.h: declare printer things.
15390
15391 2000-01-26  Andy Piper  <andy@xemacs.org>
15392
15393         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15394         Alexander.
15395
15396 2000-01-24  Andy Piper  <andy@xemacs.org>
15397
15398         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15399         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15400
15401         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15402
15403         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15404
15405         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15406
15407         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15408         (mswindows_output_display_block): Avoid local shadows.
15409
15410         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15411         (mswindows_enqueue_mouse_button_event): ditto.
15412         (mswindows_handle_gui_wm_command): remove declaration.
15413
15414         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15415         warnings.
15416
15417         * console-msw.h: Avoid shadows.
15418         (mswindows_get_toolbar_button_text):
15419         (emacs_mswindows_create_stream_pair):
15420         (emacs_mswindows_delete_stream_pair):
15421         (mswindows_handle_toolbar_wm_command): declare.
15422
15423         * device-msw.c (build_syscolor_string): Avoid shadows.
15424
15425 2000-01-23  Andy Piper  <andy@xemacs.org>
15426
15427         * glyphs-widget.c (widget_instantiate): reverse the items for
15428         layouts so that children are in the expected order.
15429
15430 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15431
15432         * ralloc.c: safe_bcopy ==> memmove
15433         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15434         * s/msdos.h: Remove BCOPY macros.
15435         * insdel.c (gap_right): Remove BCOPY conditional code.
15436         * insdel.c (gap_left): Remove BCOPY conditional code.
15437         XEmacs demands a working ANSI C compiler - hence memmove.
15438
15439         * regex.c (regex_compile): Remove accidental use of trigraphs.
15440
15441 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15442
15443         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15444         event timestamp.
15445
15446 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15447
15448         * event-msw.c (mswindows_drain_windows_queue): Added the
15449         parameter.
15450         (mswindows_need_event): Commented the call to
15451         mswindows_drain_windows_queue().
15452         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15453         only.
15454
15455         * console-msw.h: Moved a few function prototypes here from
15456         event-msw.c.
15457
15458         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15459         parameter from unsigned short to unsigned long.
15460         (Fmswindows_shell_execute): Added return value.
15461
15462 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15463
15464         * sysdep.c (init_system_name):
15465           process-unix.c (unix_canonicalized_host_name):
15466         Don't call freeaddrinfo() if getaddrinfo() fails.
15467
15468         * process-unix.c (unix_open_unix_network_stream):
15469         Moved the code to get a port # into address loop.
15470
15471 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15472
15473         * buffer.c (reinit_vars_of_buffer):
15474         The right place to initialize conversion_in_dynarr and
15475         conversion_out_dynarr.
15476
15477         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15478
15479         * process-unix.c (unix_canonicalize_host_name): Muleize.
15480         (unix_open_network_stream): Muleize.
15481
15482         * buffer.h: Fix up prototypes for ralloc.c functions.
15483
15484 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15485         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15486         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15487                 instead of gethostbyname()
15488         * process-unix.c: In unix_canonicalize_host_name() and
15489                 unix_open_network_stream(), add code to use getaddrinfo()
15490                 instead of gethostbyname().
15491
15492 2000-01-27  Daniel Pittman <daniel@danann.net>
15493
15494         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15495         libs when built with flat Athena.
15496
15497 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15498
15499         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15500         Use coding standards for function prototypes.
15501
15502 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15503
15504         * dialog-msw.c (push_lisp_string_as_unicode):
15505         * doc.c (unparesseuxify_doc_string):
15506         * dired.c (Fuser_name_completion_1):
15507         * dired.c (Fuser_name_all_completions):
15508         * dired.c (free_user_cache):
15509         * dired.c (user_name_completion):
15510         * console-x.c (get_display_arg_connection):
15511         * minibuf.c (clear_echo_area_internal):
15512         * minibuf.c (echo_area_append):
15513         * eldap.c (Fldap_open):
15514         * eldap.c (Fldap_search_internal):
15515         * frame-x.c (x_set_frame_text_value):
15516         * frame-x.c (x_set_frame_properties):
15517         * frame-x.c (x_create_widgets):
15518         * redisplay-tty.c (term_get_fkeys_1):
15519         * objects-x.c (x_parse_nearest_color):
15520         * objects-x.c (x_valid_color_name_p):
15521         * objects-x.c (x_initialize_font_instance):
15522         * objects-x.c (x_list_fonts):
15523         * objects-x.c (x_find_charset_font):
15524         * tooltalk.c (Fadd_tooltalk_message_arg):
15525         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15526         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15527         * process-unix.c (unix_create_process):
15528         * ntproc.c (sys_spawnve):
15529         * sound.c (Fplay_sound_file):
15530         * sound.c (Fplay_sound):
15531         * buffer.c (init_initial_directory):
15532         * buffer.c (init_buffer):
15533         * editfns.c (init_editfns):
15534         * editfns.c (Ftemp_directory):
15535         * editfns.c (Fuser_full_name):
15536         * editfns.c (uncache_home_directory):
15537         * editfns.c (get_home_directory):
15538         * editfns.c (Fuser_home_directory):
15539         * editfns.c (Fformat_time_string):
15540         * editfns.c (Fcurrent_time_string):
15541         * gui-x.c (button_item_to_widget_value):
15542         * database.c (Fopen_database):
15543         * event-Xt.c (x_to_emacs_keysym):
15544         * event-Xt.c (x_event_to_emacs_event):
15545         * event-Xt.c (describe_event_window):
15546         * event-msw.c (mswindows_wnd_proc):
15547         * glyphs-eimage.c (jpeg_instantiate):
15548         * glyphs-eimage.c (gif_instantiate):
15549         * glyphs-eimage.c (png_instantiate):
15550         * glyphs-eimage.c (tiff_instantiate):
15551         * glyphs-x.c (xbm_instantiate_1):
15552         * glyphs-x.c (x_xbm_instantiate):
15553         * glyphs-x.c (x_xface_instantiate):
15554         * glyphs-x.c (autodetect_instantiate):
15555         * glyphs-x.c (cursor_font_instantiate):
15556         * glyphs-x.c (x_widget_instantiate):
15557         * glyphs-x.c (x_widget_set_property):
15558         * glyphs-x.c (x_widget_property):
15559         * glyphs-x.c (BUILD_GLYPH_INST):
15560         * print.c (write_string_to_stdio_stream):
15561         * print.c (output_string):
15562         * print.c (Falternate_debugging_output):
15563         * print.c (Fexternal_debugging_output):
15564         * glyphs-msw.c (extract_xpm_color_names):
15565         * glyphs-msw.c (mswindows_xpm_instantiate):
15566         * glyphs-msw.c (bmp_instantiate):
15567         * glyphs-msw.c (resource_name_to_resource):
15568         * glyphs-msw.c (mswindows_resource_instantiate):
15569         * glyphs-msw.c (xbm_instantiate_1):
15570         * glyphs-msw.c (mswindows_xbm_instantiate):
15571         * glyphs-msw.c (mswindows_xface_instantiate):
15572         * glyphs-msw.c (mswindows_widget_instantiate):
15573         * glyphs-msw.c (add_tree_item):
15574         * glyphs-msw.c (add_tab_item):
15575         * glyphs-msw.c (mswindows_combo_box_instantiate):
15576         * glyphs-msw.c (mswindows_widget_property):
15577         * glyphs-msw.c (mswindows_combo_box_property):
15578         * glyphs-msw.c (mswindows_widget_set_property):
15579         * console.c (stuff_buffered_input):
15580         * objects-msw.c (mswindows_initialize_color_instance):
15581         * objects-msw.c (mswindows_valid_color_name_p):
15582         * objects-msw.c (mswindows_list_fonts):
15583         * objects-msw.c (mswindows_font_instance_truename):
15584         * bytecode.c (optimize_compiled_function):
15585         * select-x.c (symbol_to_x_atom):
15586         * select-x.c (x_atom_to_symbol):
15587         * select-x.c (hack_motif_clipboard_selection):
15588         * select-x.c (selection_data_to_lisp_data):
15589         * select-x.c (lisp_data_to_selection_data):
15590         * select-x.c (Fx_get_cutbuffer_internal):
15591         * select-x.c (Fx_store_cutbuffer_internal):
15592         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15593         * buffer.h (TO_INTERNAL_FORMAT): New function.
15594         * emacs.c (make_arg_list_1):
15595         * emacs.c (make_argc_argv):
15596         * emacs.c (main_1):
15597         * emacs.c (Fdump_emacs):
15598         * emacs.c (split_string_by_emchar_1):
15599         * file-coding.h:
15600         * lisp.h:
15601         * lstream.h:
15602         * symsinit.h:
15603         * device-x.c (x_init_device):
15604         * device-x.c (Fx_valid_keysym_name_p):
15605         * device-x.c (Fx_get_font_path):
15606         * device-x.c (Fx_set_font_path):
15607         * glyphs.c (bitmap_to_lisp_data):
15608         * glyphs.c (pixmap_to_lisp_data):
15609         * alloc.c (make_ext_string): Use coding system arguments.  Update
15610         all callers.
15611         * alloc.c (build_string):
15612         * callproc.c (child_setup):
15613         * callproc.c (init_callproc):
15614         * fileio.c (lisp_strerror):
15615         * fileio.c (directory_file_name):
15616         * fileio.c (Fexpand_file_name):
15617         * fileio.c (Ffile_truename):
15618         * fileio.c (Fsysnetunam):
15619         * fileio.c (Fdo_auto_save):
15620         * sysdep.c (sys_readdir):
15621         * tests.c: New file.  Allow adding C tests.
15622         Replace GET_* macros with a more comprehensible and flexible
15623         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15624         Modify all calls.
15625         Any coding system can be used to do format conversion.
15626         Eliminate enum external_data_format.
15627         Eliminate convert_to_external_format.
15628         Eliminate convert_to_internal_format.
15629         Make sure file-name, keyboard, terminal, and ctext are always
15630         defined as coding systems or aliases.  Make
15631         file-name-coding-system, terminal-coding-system, and
15632         keyboard-coding-system magical variables that are equivalent to
15633         defining the corresponding coding system aliases.
15634
15635         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15636         * file-coding.c (Fcoding_system_alias_p): New function.
15637         * file-coding.c (Fcoding_system_aliasee): New function.
15638         * file-coding.c (append_suffix_to_symbol): New function.
15639         * file-coding.c (dangling_coding_system_alias_p): New function.
15640         * file-coding.c (Ffind_coding_system):
15641         * file-coding.c (Fcopy_coding_system):
15642         * file-coding.c (encode_coding_no_conversion):
15643         * file-coding.c (syms_of_file_coding):
15644         * file-coding.c (vars_of_file_coding):
15645         Rewrite coding system alias code.
15646         Allow nested aliases, like symbolic links.
15647         Allow redefinition of coding system aliases.
15648         Prevent existence of dangling coding system aliases.
15649
15650         * dired.c (Fuser_name_completion_1):
15651         * dired.c (Fuser_name_all_completions):
15652         A crash would happen if user did QUIT in the middle of building
15653         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15654
15655         * lisp.h:
15656         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15657
15658         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15659         an unsigned char *.  Update all callers.
15660
15661 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15662
15663         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15664
15665 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15666
15667         * elhash.c (hentry_description): Use more portable definition.
15668         (resize_hash_table): Initialize new hentries using
15669         xnew_array_and_zero, thereby simplifying the code.
15670
15671         * mule-charset.c (make_charset): Make sure entire object is
15672         initialized, to avoid Purify warnings.
15673
15674         * alloc.c (resize_string): Fix unlikely crash with big strings.
15675
15676 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15677
15678         * realpath.c (xrealpath):
15679         Don't call getwd().
15680
15681 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15682
15683         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15684
15685 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15686
15687         * unexelfsgi.c (unexec): Change the way we decide which segment
15688         should be extended.
15689
15690         Assumption that .bss section should be outside the PT_LOADable
15691         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15692         it's present) is inside the 'data' segment. This would fail the
15693         test which was used to find a segment to grow and cover new
15694         heap. Instead of this assumption, I created another one - on IRIX
15695         the segment to grow should start below .bss and it's address
15696         should extent above the end of .bss. Once this segment is
15697         identified, it's grown to accommodate the new heap and new
15698         zero-length .bss section is added at the end of .data2.
15699
15700 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15701
15702         * eval.c (Feval): Wrong number of arguments should use original
15703         function, not the indirect_function version of it.
15704
15705 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15706
15707         * glyphs-x.c (x_button_instantiate): Don't add image if
15708         it is not a pixmap.
15709         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15710         is relative.
15711
15712 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15713
15714         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15715         declaration.
15716         (DEFVAR_INT_MAGIC): Ditto.
15717         (DEFVAR_BOOL_MAGIC): Ditto.
15718         * glyphs.h: Reindent backslash.
15719
15720 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15721
15722         * glyphs-widget.c (layout_query_geometry):
15723         (layout_layout): Use correct types for gheight, gwidth.
15724
15725 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15726
15727         * EmacsManager.c (QueryGeometry): Purified.
15728
15729 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15730
15731         * alloc.c (make_float): Make sure entire object is initialized, to
15732         avoid Purify warnings.
15733         (pdump_register_sub): Remove useless assignment.
15734         (pdump): Use xmalloc, not malloc.
15735         (pdump_load): Use xmalloc, not malloc.
15736
15737 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15738
15739         * callproc.c:
15740         * dired-msw.c:
15741         * fileio.c:
15742         * process-nt.c:
15743         * redisplay-msw.c:
15744         * sysdep.c: Removed redundant #include <windows.h>
15745
15746 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15747
15748         * frame.c (delete_frame_internal): Do not delete device when its
15749         implementation so declares.
15750         (delete_frame_internal): Set device selected frame to nil when
15751         last frame goes away.
15752
15753         * device-msw.c (msprinter_device_system_metrics): Implemented.
15754         (mswindows_device_system_metrics): Added 'device-dpi property.
15755
15756         * device.c: (Fdevice_printer_p): Added.
15757         Added 'offset-workspace device metric.
15758
15759         * console.h (device_metrics): Declared DM_offset_workspace.
15760
15761 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15762
15763         * fileio.c (Ffile_truename): Remove pointless and confusing
15764         initialization of elen.
15765
15766         * glyphs-widget.c: Compiler warning fixes.
15767
15768 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15769
15770         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15771         instead of a Lisp_Object as argument to make it consistent with
15772         the other LIVE_P macros.
15773         (CHECK_LIVE_PROCESS): New macro.
15774
15775         * process.c: Declare Qprocess_live_p.
15776         (Fprocess_live_p): New function.
15777         (create_process): Use PROCESS_LIVE_P.
15778         (read_process_output): Ditto.
15779         (set_process_filter): Ditto.
15780         (Fdelete_process): Ditto.
15781         (kill_buffer_processes): Ditto
15782         (process_send_signal): Use CHECK_LIVE_PROCESS.
15783         (Fprocess_input_coding_system): Check whether process is still
15784         alive (fix PR#1061).
15785         (Fprocess_output_coding_system): Ditto.
15786         (Fprocess_coding_system): Ditto.
15787         (Fset_process_input_coding_system): Ditto.
15788         (Fset_process_output_coding_system): Ditto.
15789
15790 2000-01-23  Andy Piper  <andy@xemacs.org>
15791
15792         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15793         layout and widget.
15794
15795         * glyphs.c (mark_image_instance): take into account changed
15796         image_instance format.
15797         (image_instance_equal): ditto.
15798         (image_instance_hash): ditto.
15799
15800         * glyphs-widget.c (widget_instantiate): Incorporate layout
15801         instantiation here. Delay layout of the layout until later.
15802         (layout_instantiate): deleted.
15803         (layout_query_geometry): new function. get the geometry of a
15804         layout.
15805         (layout_layout): layout a layout dynamically.
15806         (image_instantiator_widget): New function - splitting up
15807         image_instantiator_format_create_glyphs_widget for netwinder
15808         compilation.
15809         (image_instantiator_buttons):
15810         (image_instantiator_edit_fields):
15811         (image_instantiator_combo_box):
15812         (image_instantiator_scrollbar):
15813         (image_instantiator_progress_guage):
15814         (image_instantiator_tree_view):
15815         (image_instantiator_tab_control):
15816         (image_instantiator_labels):
15817         (image_instantiator_layout): ditto.
15818         (image_instantiator_format_create_glyphs_widget): Call preceding
15819         functions.
15820
15821 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15822
15823         * process.c (Fset_process_coding_system):
15824         * device-x.c (Fx_keysym_hash_table):
15825         Docstring fixes.
15826
15827         * lstream.c (Lstream_write): Return documented value, not 0.
15828
15829         * fileio.c (directory_file_name):
15830         (Fsubstitute_in_file_name):
15831         (Fsubstitute_insert_file_contents_internal):
15832         (Fwrite_region_internal):
15833         * emacs.c:
15834         * sysdep.c:
15835         * getloadavg.c:
15836         * systty.h:
15837         Remove vestigial APOLLO-conditional code.
15838
15839 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15840
15841         * getpagesize.h: Add guard macros.
15842         * libsst.h: Add guard macros.
15843         * libst.h: Add guard macros.
15844         * line-number.h: Add guard macros.
15845         * ndir.h: Add guard macros.
15846         * sysfloat.h: Add guard macros.
15847         * sysfile.h: Add guard macros.
15848         * sysproc.h: Add guard macros.
15849         * syswait.h: Add guard macros.
15850         * xintrinsic.h: Add guard macros.
15851         * xintrinsicp.h: Add guard macros.
15852         * xmmanager.h: Add guard macros.
15853         * xmmanagerp.h: Add guard macros.
15854         * xmprimitive.h: Add guard macros.
15855         * xmu.h: Add guard macros.
15856         * gpmevent.h: Add copyright statement. Add guard macros.
15857         * miscplay.h: Add guard macros.
15858         * *.h: Use consistent C-standards-approved guard macro names.
15859
15860         * opaque.c (make_opaque): Switch parameter order.
15861         * opaque.h (make_opaque): Switch parameter order.
15862         Update all callers.
15863         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15864
15865         * config.h.in (type_checking_assert): Added.
15866         (bufpos_checking_assert): Added.
15867
15868 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15869
15870         * alloc.c: Harmless pdump changes.
15871         - Use countof().
15872         - spell alignment correctly.
15873         * sysdep.c: Use countof()
15874
15875 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15876
15877         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15878         initially_selected_for_input() console method, default to 0.
15879         (semi_canonicalize_console_connection): Try to delegate to
15880         canonicalize_console_connection if no such console method.
15881         (canonicalize_console_connection): Vice versa.
15882         (print_console): Do not print nil connection.
15883
15884         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15885         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15886         (XDEVIMPF_FRAMELESS_OK): Added.
15887         (CONSOLE_INHERITS_METHOD): Added.
15888
15889         * console-msw.c (mswindows_canonicalize_console_connection):
15890         Added.
15891         (mswindows_canonicalize_device_connection): Added.
15892
15893         * console-msw.h (struct msprinter_device): Added this struct and
15894         accessor macros.
15895         (mswindows_device): Made fontlist a lisp object.
15896
15897         * device.c (semi_canonicalize_device_connection):  Try to delegate
15898         to canonicalize_device_connection if no such console method.
15899         (canonicalize_device_connection): Vice versa.
15900         (print_device): Do not print nil connection.
15901
15902         * device-msw.c (mswindows_init_device): Call InitCommonControls
15903         when have widgets.
15904         (mswindows_delete_device): Removed fontlist deallocation.
15905         (mswindows_mark_device): Added.
15906
15907         * events.c (event_equal): Added abort() at unreached code.
15908         (event_hash): Ditto.
15909
15910         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15911         fallback tags of Windows devices.
15912
15913         * general.c (syms_of_general): Initialized Qmsprinter.
15914
15915         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15916         of fallback tags of Windows devices.
15917
15918         * lisp.h: Declared Qmsprinter.
15919
15920         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15921         of strings.
15922         (mswindows_list_fonts): Ditto.
15923         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15924         that it can be used by both mswindows and msprinter devices.
15925         (initialize_font_instance): Added.
15926         (mswindows_initialize_font_instance): Use it.
15927         (msprinter_initialize_font_instance): Added.
15928
15929         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15930         and implementation flags check.
15931         (redisplay_without_hooks): Changed the call to the above.
15932         (Fredraw_device): Ditto.
15933         (Fredisplay_device): Ditto.
15934
15935         * redisplay-msw.c (get_frame_dc): Implemented.
15936         (get_frame_compdc): Implemented.
15937         (many functions): Use the two functions above to get device
15938         contexts, ether for a window or a printer.
15939
15940 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15941
15942         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15943         initialization here.
15944         (init_symbols_once_early): Call it.
15945         * emacs.c (main_1): Call it.
15946         * symsinit.h: Declare it.
15947
15948 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15949
15950         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15951         Lisp_Object.
15952         (pdump_backtrace): Ditto.
15953         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15954         (pdump_get_entry): Abort if trying to register a null pointer.
15955         (pdump_dump_data): Cleanup types when relocating.
15956         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15957         (pdump_dump_rtables): Remove bad casts.
15958         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15959         Lisp_Object instead of a EMACS_INT for the hashtable
15960         reorganization.
15961
15962 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15963
15964         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15965
15966         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15967
15968         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15969
15970         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15971
15972 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15973
15974         * faces.h (FACE_STRIKETHRU_P): Added.
15975
15976         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15977         of font variants.
15978
15979         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15980         (mswindows_set_dc_font): New function, aware of font variants,
15981         separated from mswindows_update_dc.
15982
15983         * objects-msw.h (struct mswindows_font_instance_data): Added
15984         definition.
15985
15986         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15987         cached fonts and the data structure.
15988         (mswindows_initialize_font_instance): Added creation of font data
15989         structure.
15990         (mswindows_print_font_instance): Print at least something.
15991         (mswindows_create_font_variant): Implemented.
15992         (mswindows_get_hfont): Implemented.
15993
15994 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15995
15996         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15997         prototyping problem with msvc.
15998
15999         * emacs.c (main_1): added syms_of_gui_mswindows() call
16000
16001         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16002         syms_of_gui_mswindows() function
16003
16004         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16005
16006 2000-01-18  Martin Buchholz <martin@xemacs.org>
16007
16008         * XEmacs 21.2.27 is released.
16009
16010 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16011
16012         * glyphs-eimage.c (struct tiff_error_struct):
16013         (tiff_error_func):
16014         (tiff_warning_func):
16015         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16016
16017         * unexmips.c:
16018         * unexhp9k3.c:
16019         * unexfreebsd.c:
16020         * unexec.c: Remove vestigial Lucid C code.
16021         * unexalpha.c:
16022         * unexaix.c:
16023         * termcap.c:
16024         * libsst.c: Ansify.
16025         Remove declarations of errno and strerror().
16026
16027         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16028
16029         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16030
16031 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16032
16033         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16034         Optimize.
16035
16036 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16037
16038         * md5.c:
16039         * file-coding.c:
16040         * file-coding.h:
16041         Change enum eol_type to eol_type_t.
16042
16043 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16044
16045         * gui.c (get_gui_callback): Check cons before accessing car.
16046
16047 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16048
16049         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16050         (XSETSPECIFIER_TYPE): Ditto.
16051
16052 2000-01-17  Didier Verna  <didier@xemacs.org>
16053
16054         * redisplay.c (generate_fstring_runes): compute string size in
16055         characters, not bytes.
16056
16057 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16058
16059         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16060
16061 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16062
16063         * print.c (print_error_message): Call print_prepare().
16064
16065 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16066
16067         * .dbxrc: Renamed from dbxrc.
16068
16069         * events.c (event_to_character):
16070         Use `assert (foo)' instead of `if (!foo) abort()'
16071
16072         * .gdbinit (xtype): Add documentation.
16073         * .gdbinit (check-temacs): New function.
16074         * .gdbinit (check-xemacs): New function.
16075         * dbxrc (check-xemacs): New function.
16076         * dbxrc (check-xemacs): New function.
16077
16078 2000-01-14  Andy Piper  <andy@xemacs.org>
16079
16080         * glyphs-widget.c (widget_query_geometry): Make sure that we
16081         calculate default dimensions correctly.
16082
16083 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16084
16085         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16086
16087         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16088         pdump_wire'd variable.
16089
16090         * emacs.c: (main_1): Conditionalized calls to
16091         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16092
16093 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16094
16095         * window.c (Fset_window_configuration):
16096         * sysdep.c (_start):
16097         * input-method-motif.c (res):
16098         * event-Xt.c (Xt_process_to_emacs_event):
16099         Simple compiler warning fixes.
16100
16101         * bytecode.c (funcall_compiled_function): Use the original
16102         function symbol on the backtrace list in preference to the
16103         compiled_function object in error messages.
16104
16105 2000-01-13  Andy Piper  <andy@xemacs.org>
16106
16107         * glyphs-x.c (update_widget_face): Make sure we update the widget
16108         background as well as foreground.
16109
16110 2000-01-13  Andy Piper  <andy@xemacs.org>
16111
16112         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16113         fields to subwindow.
16114         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16115         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16116         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16117         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16118
16119         * glyphs-widget.c (check_valid_tab_orientation): new function.
16120         (initialize_widget_image_instance): zero orientation and
16121         justification.
16122         (widget_instantiate): pick up orientation.
16123         (tab_control_query_geometry): return appropriate values for
16124         vertical tabs.
16125
16126         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16127         appropriate creation flags for left, right and bottom tabs.
16128
16129         * s/cygwin32.h: add tab definitions.
16130
16131 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16132
16133         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16134         frame upon hiding a subwindow.
16135         (mswindows_button_instantiate): Changed the push button style to
16136         BS_PUSHBUTTON.
16137         (mswindows_button_instantiate): Removed button BS_NOTIFY
16138         style.
16139         (mswindows_button_instantiate): Removed redundant check for
16140         a disabled gui item.
16141         (mswindows_button_instantiate): Made use of WS_TABSTOP
16142         consistent: "operable" controls (edit, button, tree, scroll) have
16143         this style, "display-only" ones (static, progress gauge) do
16144         not. This style is currently ignored by XEmacs though. Also,
16145         removed the WS_EX_CONTROLPARENT style - it is not for children,
16146         it is for their parents!
16147         (mswindows_edit_field_instantiate): Ditto.
16148         (mswindows_progress_gauge_instantiate): Ditto.
16149         (mswindows_tree_view_instantiate): Ditto.
16150         (mswindows_tab_control_instantiate): Ditto.
16151         (mswindows_scrollbar_instantiate): Ditto.
16152         (mswindows_combo_box_instantiate): Ditto.
16153         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16154         style to the "clip" window.
16155         (mswindows_button_instantiate): Removed compilation warning by
16156         equally typing terms of the ?: operator.
16157
16158 2000-01-12  Didier Verna  <didier@xemacs.org>
16159
16160         * redisplay.c (generate_fstring_runes): new parameter holding the
16161         last modeline-format extent.
16162         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16163         extent, fill the glyph block with it.
16164         (generate_fstring_runes): handle these parameters.
16165         (generate_formatted_string_db): ditto.
16166
16167         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16168         glyphs'extents in the modeline.
16169
16170 1999-01-11  Mike Woolley  <mike@bulsara.com>
16171
16172         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16173         256Mb, as a workaround for the non-starting problem many people
16174         have experienced.
16175
16176 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16177
16178         * console-tty.c (Fset_console_tty_output_coding_system):
16179         Force redrawing tty frame.
16180
16181 2000-01-10  Didier Verna  <didier@xemacs.org>
16182
16183         * redisplay.c (generate_fstring_runes): fix size computation bug.
16184
16185 2000-01-09  William M. Perry <wmperry@aventail.com>
16186
16187         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16188
16189 2000-01-09  Andy Piper  <andy@xemacs.org>
16190
16191         * glyphs-msw.c: index -> i to avoid shadows.
16192         (xbm_create_bitmap_from_data): make static.
16193         (check_valid_string_or_int): deleted.
16194         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16195
16196         * glyphs-x.c (x_update_subwindow): remove unused args.
16197
16198         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16199         back pointer - this is done in allocate_image_instance.
16200         (query_string_font): return Qnil to make the compiler happy.
16201         (unmap_subwindow): set to ~0 to make the compiler happy.
16202         (glyph_query_geometry): comment out until used.
16203         (glyph_layout): ditto.
16204
16205 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16206
16207         * insdel.c (signal_after_change): Remove extraneous unbind_to().