update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Q_subsumptive): Renamed from Q_unified.
4         (Q_subsumptive_from): Renamed from Q_unified_from.
5         (Fchar_feature): Use `Q_subsumptive_from' instead of
6         `Q_unified_from'.
7         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
8         `Q_unified'.
9         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
10         `<-unified' to `<-subsumptive'.
11
12 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
15         inheritance itself; fix typo; stop recursive search if cyclic
16         inheritance is found.
17
18 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
19
20         * chartab.c (Q_denotational): New variable.
21         (Q_denotational_from): New variable.
22         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
23         (put_char_attribute): New function.
24         (Fput_char_attribute): Use `put_char_attribute'; regard
25         `->denotational' and `<-denotational' as same as `->unified' and
26         `<-unified'.
27         (syms_of_chartab): Add new symbols `->denotational' and
28         `<-denotational'.
29
30 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
33         `Fget_char_attribute'.
34         (Fchar_variants): Likewise.
35         (get_char_table): Likewise.
36         (Fchar_feature): New function.
37         (put_char_composition): Use `Fchar_feature' instead of
38         `Fget_char_attribute'.
39         (Fput_char_attribute): Likewise; don't put the target character
40         into its `->unified' value.
41         (syms_of_chartab): Add new builtin function `char-feature'.
42
43 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
44
45         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
46         `Fget_char_attribute'.
47         (char_encode_utf8): Likewise.
48
49         * chartab.h: Add an EXFUN for `Fchar_feature'.
50
51 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * chartab.c (Vnext_defined_char_id): New variable.
54         (Fput_char_attribute): Accept characters in `->unified'.
55         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
56         new characters which are not related with builtin char-id ranges.
57         (vars_of_chartab): Add new variable `next-defined-char-id'.
58
59 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * chartab.c (Q_unified): New variable.
62         (Q_unified_from): New variable.
63         (Fput_char_attribute): Add code for `->unified'.
64         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
65         XEmacs CHISE.
66
67 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
68
69         * mule-charset.c (decode_ccs_conversion): New function.
70         (decode_defined_char): Use `decode_ccs_conversion'.
71         (decode_builtin_char): Likewise.
72
73 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * char-ucs.h: Change some charset-ids of private coded-charsets.
76
77 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
80         (char_encode_as_entity_reference): Likewise.
81         (decode_coding_big5): Modify for `decode_defined_char' and
82         `DECODE_CHAR'.
83         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
84         avoid compiler warning.
85         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
86
87         * mule-charset.c (decode_defined_char): Add new argument
88         `without_inheritance'.
89         (Fdecode_char): Add new optional argument `without_inheritance'.
90         (Fdecode_builtin_char): Modify for `Fdecode_char'.
91
92         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
93         (simplify_char_spec): Likewise.
94
95         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
96         setting.
97
98         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
99         (map_char_table): Likewise.
100         (Fdefine_char): Use `Fdecode_char' without inheritance.
101         (Ffind_char): Modify for `Fdecode_char'.
102
103         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
104
105         * char-ucs.h (decode_defined_char): Add new argument
106         `without_inheritance'.
107         (DECODE_CHAR): Likewise.
108         (MAKE_CHAR): Modify for `DECODE_CHAR'.
109
110 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * chartab.c (Vchise_system_db_directory): New variable.
113         (vars_of_chartab): Add new variable `chise-system-db-directory'.
114
115 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * chartab.c: EXFUN `Fmount_char_attribute_table'.
118         (print_chartab_range): Don't define when `UTF2000' is defined.
119         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
120         `CHISE_DS_open'.
121
122 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
123
124         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
125         and optional argument `rehash' is specified, call
126         `open_chise_data_source_maybe' before
127         `chise_ds_foreach_char_feature_name' is called.
128
129 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * chartab.c (char_attribute_list_reset_map_func): New function
132         when HAVE_LIBCHISE is defined.
133         (Fchar_attribute_list): Add new optional argument `rehash' when
134         HAVE_LIBCHISE is defined.
135         (open_chise_data_source_maybe): Use "chise-db" instead of
136         "char-db".
137         (char_attribute_system_db_file): Likewise.
138         (Fload_char_attribute_table): Use
139         `chise_feature_foreach_char_with_value' instead of
140         `chise_char_feature_value_iterate'.
141
142 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
143
144         * chartab.c (Vchise_db_directory): New variable.
145         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
146
147 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
150         instead of HAVE_CHISE to specify using with libchise.
151
152         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
153
154         * chartab.h: Don't use HAVE_CHISE_CLIENT.
155
156         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
157         defined or HAVE_LIBCHISE_LIBCHISE is defined.
158         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
159         is defined.
160         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
161         HAVE_CHISE to specify using with libchise.
162         (syms_of_chartab): Don't define symbol `system-char-id' when
163         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
164
165 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
166
167         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
168         specify CHISE DB support.
169         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
170         of `char_attribute_system_db_file' to check feature DB file.
171
172         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
173         HAVE_CHISE_CLIENT to specify CHISE DB support.
174
175         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
176         specify CHISE DB support.
177         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
178         not defined.
179         (Freset_char_attribute_table): Use `chise_feature_setup_db'
180         instead of `char_attribute_system_db_file' to check feature DB
181         file.
182
183 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
186         `HAVE_CHISE_CLIENT'.
187
188 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
191         (Fsave_charset_mapping_table): Don't use
192         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
193
194         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
195         (HAVE_LIBCHISE): New macro.
196
197         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
198
199         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
200         (Fsave_char_attribute_table): Don't use
201         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
202
203 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
206         defined.
207         (save_uint16_byte_table): Likewise.
208         (save_byte_table): Likewise.
209         (char_table_get_db): Use `chise_ds_load_char_feature_value'
210         instead of `chise_char_load_feature_value'.
211         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
212
213 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * chartab.h (struct Lisp_Char_Table): Delete member
216         `feature_table' if CHISE is defined.
217
218         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
219         (Fcopy_char_table): Likewise.
220         (char_table_open_db_maybe): Likewise.
221         (char_table_close_db_maybe): Likewise.
222         (char_table_get_db): Likewise.
223         (Fmount_char_attribute_table): Likewise.
224         (Fload_char_attribute_table): Likewise.
225
226 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * mule-charset.c (load_char_decoding_entry_maybe): Use
229         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
230         `chise_ccs_decode'.
231
232 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
233
234         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
235         instead of `chise_open_data_source'.
236         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
237         `chise_ds_close'.
238
239 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
240
241         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
242         instead of `chise_ds_open_feature_table'.
243         (char_table_close_db_maybe): Don't use `chise_ft_close'.
244
245 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * mule-charset.c (Fsave_charset_mapping_table): Use
248         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
249         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
250         `chise_ccs_sync' instead of `chise_ccst_close'.
251         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
252
253         * chartab.c (open_chise_data_source_maybe): Modify for
254         `chise_open_data_source'.
255         (char_table_open_db_maybe): Modify for
256         `chise_ds_open_feature_table'.
257
258 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
259
260         * mule-charset.c (load_char_decoding_entry_maybe): Use
261         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
262         `chise_ccst_close'.
263
264 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
265
266         * mule-charset.c (Fsave_charset_mapping_table): Use
267         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
268         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
269         `chise_dt_put_char' and `chise_dt_close'.
270         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
271         `chise_ccs_decode' and `chise_ccst_close' instead of
272         `chise_ds_open_decoding_table', `chise_dt_get_char' and
273         `chise_dt_close'.
274
275         * chartab.c (char_table_get_db): Use
276         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
277         (load_char_attribute_table_map_func): Modify for
278         `chise_char_feature_value_iterate'.
279         (Fload_char_attribute_table): Use
280         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
281
282 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
285
286 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
287
288         * chartab.c (put_char_table): Modify for inherited coded-charsets
289         in XEmacs CHISE.
290
291 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
292
293         * chartab.c (Fput_char_table_map_function): Fixed.
294         (word_boundary_p): Don't check charset in XEmacs CHISE.
295
296 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
297
298         * mule-charset.c (Fsave_charset_mapping_table): Use
299         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
300         instead of `chise_open_decoding_table'; refer
301         `default_chise_data_source'; use `chise_dt_close' instead of
302         `chise_close_decoding_table'.
303         (load_char_decoding_entry_maybe): Likewise.
304
305         * chartab.c (default_chise_data_source): New variable when `CHISE'
306         is defined.
307         (Fcopy_char_table): `ct->ds' is deleted.
308         (open_chise_data_source_maybe): New function.
309         (Fclose_char_data_source): New function.
310         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
311         use `chise_ds_open_feature_table' instead of
312         `chise_open_feature_table'.
313         (char_table_close_db_maybe): Use `chise_ft_close' instead of
314         `chise_close_feature_table'; `cit->ds' is deleted.
315         (syms_of_chartab): Add new builtin function
316         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
317
318         * chartab.h (default_chise_data_source): New extern variable.
319         (open_chise_data_source_maybe): New prototype.
320         (struct Lisp_Char_Table): Delete `ds'.
321
322 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
323
324         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
325         `CHISE' is defined.
326
327 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
328
329         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
330         not defined; add code for non-libchise setting.
331         (char_table_close_db_maybe): Likewise.
332         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
333         defined.
334         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
335         even if `CHISE' is not defined.
336         (Freset_char_attribute_table): Likewise.
337         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
338         `char_table_close_db_maybe' even if `CHISE' is not defined; use
339         `char_table_get_db'.
340         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
341         `char_table_close_db_maybe' even if `CHISE' is not defined.
342
343 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
344
345         * chartab.c (char_table_open_db_maybe): New function.
346         (char_table_close_db_maybe): New function.
347         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
348         (Freset_char_attribute_table): Likewise.
349         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
350         `char_table_close_db_maybe'.
351         (Fload_char_attribute_table): Likewise.
352
353 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
354
355         * chartab.c: Don't include <chise.h> because it is included in
356         chartab.h.
357         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
358         defined.
359         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
360         `CHISE' is defined.
361         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
362         `CHISE' is defined.
363         (Fclose_char_attribute_table): Close `ct->feature_table' and
364         `ct->ds' when `CHISE' is defined.
365         (Freset_char_attribute_table): Likewise.
366         (load_char_attribute_maybe): Use `cit->ds' and
367         `cit->feature_table' when `CHISE' is defined.
368         (Fload_char_attribute_table): Likewise.
369
370         * chartab.h: Include <chise.h> when `CHISE' is defined.
371         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
372         when `CHISE' is defined.
373
374 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
375
376         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
377         is defined.
378         (char_table_description): Likewise.
379         (Fmake_char_table): Likewise.
380         (Fcopy_char_table): Likewise.
381         (Fmount_char_attribute_table): Likewise.
382         (Fclose_char_attribute_table): Likewise.
383         (Freset_char_attribute_table): Likewise.
384         (load_char_attribute_maybe): Likewise.
385         (Fload_char_attribute_table): Likewise.
386
387         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
388         defined.
389
390 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
391
392         * chartab.c (load_char_attribute_table_map_func): New function
393         when CHISE is defined.
394         (Qload_char_attribute_table_map_function): Don't define when CHISE
395         is defined.
396         (Fload_char_attribute_table_map_function): Likewise.
397         (Fload_char_attribute_table): Use libchise when `CHISE' is
398         defined.
399         (syms_of_chartab): Don't define
400         `load-char-attribute-table-map-function' when CHISE is defined.
401
402 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
403
404         * chartab.c: Include <chise.h> when `CHISE' is defined.
405         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
406
407 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
408
409         * mule-charset.c (charset_code_point): Fix problem when searching
410         in mother CCS fails with `defined_only' mode.
411
412 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
413
414         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
415         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
416         (put_char_composition): Likewise.
417         (Fput_char_attribute): Likewise.
418         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
419
420 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
421
422         * chartab.c (Q_ucs): Deleted.
423         (Fput_char_attribute): Don't refer `->ucs'.
424         (Fdefine_char): Likewise.
425         (Ffind_char): Likewise.
426         (syms_of_chartab): Delete `->ucs'.
427
428 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
429
430         * mule-charset.c (Qmap_cns11643_2): Renamed from
431         `Qchinese_cns11643_2'.
432         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
433         `chinese-cns11643-2'.
434         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
435         `=cns11643-2'.
436
437 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
438
439         * mule-charset.c (Qmap_cns11643_1): Renamed from
440         `Qchinese_cns11643_1'.
441         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
442         `chinese-cns11643-1'.
443         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
444         `=cns11643-1'.
445
446 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
447
448         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
449         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
450         `chinese-gb12345'.
451         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
452         `=gb12345'.
453
454 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
455
456         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
457         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
458         `chinese-gb2312'.
459         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
460         `=gb2312'.
461
462 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
463
464         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
465         (syms_of_mule_charset): Add new symbol `=big5' instead of
466         `chinese-big5'.
467         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
468
469 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
470
471         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
472         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
473         `korean-ksc5601'.
474         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
475         `=ks-x1001'.
476
477 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
478
479         * mule-charset.c (Qmap_jis_x0212): Renamed from
480         `Qjapanese_jisx0212'.
481         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
482         `japanese-jisx0212'.
483         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
484         `=jis-x0212'.
485
486 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
487
488         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
489         `Qjapanese_jisx0208'.
490         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
491         of `japanese-jisx0208'.
492         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
493         `=jis-x0208-1983'.
494
495 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
496
497         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
498         `Qjapanese_jisx0208_1978'.
499         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
500         of `japanese-jisx0208-1978'.
501         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
502         `=jis-x0208-1978'.
503
504 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
505
506         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
507         only for XEmacs CHISE.
508
509 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
510
511         * char-ucs.h: Compact non-ISO-IR charset-ids.
512         (LEADING_BYTE_UCS): Changed to -177.
513         (LEADING_BYTE_CONTROL_1): Changed to -77.
514         (LEADING_BYTE_UCS_BMP): Changed to -176.
515         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
516
517 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * mule-charset.c (Qiso_ir): New variable.
520         (Fmake_charset): Recognise new property `iso-ir'.
521         (syms_of_mule_charset): Add new symbol `iso-ir'.
522
523 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
524
525         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
526         n to -n; charset-id of non ISO-IR sets are changed to positive
527         numbers.
528
529 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
530
531         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
532         for &MCS-XXXXXXXX; values.
533
534 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
535
536         * mule.c (Vxemacs_chise_version): Renamed from
537         `Vutf_2000_version'.
538         (vars_of_mule): Add new variable `xemacs-chise-version'; define
539         `utf-2000-version' as an alias for `xemacs-chise-version'.
540
541 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
542
543         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
544         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
545         defined.
546
547         * config.h.in (CHISE): New macro.
548
549 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
550
551         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
552         of `ucs'.
553         (Qmap_ucs): New variable.
554         (syms_of_mule_charset): Add new symbol `=ucs'.
555         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
556
557         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
558         (simplify_char_spec): Likewise.
559
560         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
561
562         * char-ucs.h (Qmap_ucs): New extern variable.
563
564 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
565
566         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
567         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
568         don't define it when UTF2000 is not defined.
569         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
570         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
571         when UTF2000 is not defined.
572         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
573         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
574
575 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
578
579         * mule-charset.c (Vcharset_ucs_gb): Deleted.
580         (Qucs_gb): Deleted.
581         (syms_of_mule_charset): Delete `ucs-gb'.
582         (complex_vars_of_mule_charset): Likewise.
583
584 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
585
586         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
587
588         * mule-charset.c (Vcharset_ucs_cns): Deleted.
589         (Qucs_cns): Deleted.
590         (syms_of_mule_charset): Delete `ucs-cns'.
591         (complex_vars_of_mule_charset): Likewise.
592
593 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
594
595         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
596
597         * mule-charset.c (Vcharset_ucs_jis): Deleted.
598         (Qucs_jis): Deleted.
599         (syms_of_mule_charset): Delete `ucs-jis'.
600         (complex_vars_of_mule_charset): Likewise.
601
602 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
603
604         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
605
606         * mule-charset.c (Vcharset_ucs_ks): Deleted.
607         (Qucs_ks): Deleted.
608         (syms_of_mule_charset): Delete `ucs-ks'.
609         (complex_vars_of_mule_charset): Likewise.
610
611 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
612
613         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
614         (Qideograph_daikanwa_2): Deleted.
615         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
616         (complex_vars_of_mule_charset): Likewise.
617
618         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
619         (LEADING_BYTE_DAIKANWA_1): Deleted.
620         (LEADING_BYTE_DAIKANWA_2): Deleted.
621         (MIN_CHAR_DAIKANWA): Deleted.
622         (MAX_CHAR_DAIKANWA): Deleted.
623
624 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
625
626         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
627         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
628         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
629
630         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
631         (Vcharset_ideograph_daikanwa): Deleted.
632         (Qideograph_hanziku_{1..12}): Deleted.
633         (Qideograph_daikanwa): Deleted.
634         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
635         Vcharset_ideograph_daikanwa.
636         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
637         `ideograph-hanziku-{1..12}'.
638         (complex_vars_of_mule_charset): Likewise.
639
640 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
641
642         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
643
644         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
645         (Qideograph_gt_pj_{1..11}): Deleted.
646         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
647         (complex_vars_of_mule_charset): Likewise.
648
649 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
650
651         * mule-charset.c (Vcharset_ucs_big5): Deleted.
652         (Vcharset_ideograph_gt): Deleted.
653         (Qucs_big5): Deleted.
654         (Qideograph_gt): Deleted.
655         (syms_of_mule_charset): Delete symbol `ucs-big5' and
656         `ideograph-gt'.
657         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
658         and `ideograph-gt'.
659
660         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
661         (LEADING_BYTE_GT): Deleted.
662         (MIN_CHAR_GT): Deleted.
663         (MAX_CHAR_GT): Deleted.
664
665 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
666
667         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
668
669 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
672         (save_uint16_byte_table): Likewise.
673         (save_byte_table): Likewise; convert values by it.
674         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
675         for `ideographic-structure'.
676         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
677         as the filter for `ideographic-structure'.
678
679 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
680
681         * chartab.c (put_char_composition): New function.
682         (Fput_char_attribute): Use `put_char_composition'; use
683         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
684
685         * fns.c (simplify_char_spec): New function.
686         (char_ref_simplify_spec): New function.
687         (Fchar_refs_simplify_char_specs): New function.
688         (syms_of_fns): Add new builtin function
689         `char-refs-simplify-char-specs'.
690
691 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
692
693         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
694         (Qideograph_cbeta): Deleted.
695         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
696         (complex_vars_of_mule_charset): Likewise.
697
698         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
699         (MIN_CHAR_CBETA): Comment out.
700         (MAX_CHAR_CBETA): Likewise.
701
702 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
703
704         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
705         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
706         CHISE client feature.
707
708 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
709
710         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
711
712 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
713
714         * mule-charset.c (charset_lookup_description_1): Use
715         `NUM_LEADING_BYTES' in UTF-2000.
716
717 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
718
719         * char-ucs.h (GC_CHARSETP): Deleted.
720
721 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * char-ucs.h (MAX_CHAR_GT): Updated.
724
725 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
726
727         * text-coding.c: Sync with XEmacs 21.4.10.
728
729 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
730
731         * mule-charset.c (Vcharset_china3_jef): Deleted.
732         (Qchina3_jef): Deleted.
733         (syms_of_mule_charset): Don't define `china3-jef'.
734         (complex_vars_of_mule_charset): Likewise.
735
736         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
737         (MIN_CHAR_CHINA3_JEF): Comment out.
738         (MAX_CHAR_CHINA3_JEF): Comment out.
739
740 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
741
742         * mule-charset.c (Vcharset_ucs_gb): New variable.
743         (Qucs_gb): New variable.
744         (syms_of_mule_charset): Add new symbol `ucs-gb'.
745         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
746
747         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
748
749 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
750
751         * mule-charset.c (charset_code_point): if a coded-charset has a
752         final-byte, don't inherit the builtin range of the mother CCS.
753
754 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
755
756         * mule-charset.c (charset_code_point): Fix problem about
757         inheritance.
758
759 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
760
761         * mule-charset.c (decode_builtin_char): Reorganized.
762
763 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * text-coding.c (char_encode_as_entity_reference): Modify for
766         `charset_code_point'.
767         (char_encode_shift_jis): Likewise.
768         (char_encode_big5): Likewise.
769         (char_encode_utf8): Likewise.
770         (char_encode_iso2022): Likewise.
771
772         * mule-charset.c (charset_code_point): Add new argument
773         `defined_only'.
774         (Fencode_char): Add new optional argument `defined_only'.
775
776         * chartab.c (put_char_table): Modify for `charset_code_point'.
777
778         * char-ucs.h (charset_code_point): Add new argument
779         `defined_only'.
780         (encode_char_1): Modify for `charset_code_point'.
781
782 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
783
784         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
785         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
786
787 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
790         (Qjis_x0208): Likewise.
791         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
792         XCHARSET_FINAL(charset).
793         (charset_code_point): Modify condition for final-byte based
794         builtin-chars.
795         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
796         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
797         in UTF-2000; specify `=jis-x0208' as the mother of
798         `japanese-jisx0208-1978', `japanese-jisx0208' and
799         `japanese-jisx0208-1990' in UTF-2000.
800
801 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
802
803         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
804
805 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * text-coding.c (decode_coding_utf16): Support UTF-16.
808         (char_encode_utf16): Fixed.
809
810 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
811
812         * text-coding.c (Qutf16): New variable in MULE.
813         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
814         (Fcoding_system_type): Add `utf-16' in MULE.
815         (struct detection_state): Add a structure for utf16 in MULE.
816         (detect_coding_type): Setup st->utf16.mask in MULE.
817         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
818         MULE.
819         (reset_encoding_stream): Use `char_encode_utf16' and
820         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
821         (detect_coding_utf16): New function [incomplete].
822         (decode_coding_utf16): New function [support only UCS-2].
823         (char_encode_utf16): New function.
824         (char_finish_utf16): New function.
825         (syms_of_file_coding): Add new symbol `utf-16'; setup
826         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
827
828         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
829         UTF-2000.
830         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
831         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
832
833 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
834
835         * chartab.c (put_char_table): When a charset is specified as a
836         range in UTF-2000, don't support builtin characters.
837
838 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
839
840         * mule-charset.c (decode_defined_char): Don't refer external
841         database if Qunbound or Qnil are found.
842         (Fsave_charset_mapping_table): Don't define it if
843         HAVE_CHISE_CLIENT is not defined.
844         (Freset_charset_mapping_table): New function.
845         (load_char_decoding_entry_maybe): Store Qnil if a character is not
846         found in external database.
847         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
848         if HAVE_CHISE_CLIENT is not defined; add new builtin function
849         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
850
851 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
852
853         * text-coding.c (decode_coding_utf8): Check CCS is specified or
854         not.
855
856 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
857
858         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
859         Q_lowercase, Q_uppercase in UTF-2000.
860
861         * chartab.c (get_char_table): Add special code for the standard
862         case table to use character attribute `->downcase' and
863         `->uppercase' for case operations in UTF-2000.
864
865         * casetab.c (Qflippedcase): New variable in UTF-2000.
866         (Q_lowercase): Likewise.
867         (Q_uppercase): Likewise.
868         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
869         and `->uppercase' in UTF-2000.
870         (complex_vars_of_casetab): Assign attribute name `downcase' to
871         downcase and CANON table of Vstandard_case_table in UTF-2000;
872         assign attribute name `flippedcase' to upcase and EQV table of
873         Vstandard_case_table in UTF-2000.
874
875 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
876
877         * text-coding.c (decode_add_er_char): Support isolated-chars.
878         (char_encode_as_entity_reference): Likewise.
879
880 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
881
882         * emacs.c (Vutf_2000_lisp_directory): New variable.
883         (Vconfigure_utf_2000_lisp_directory): Likewise.
884         (complex_vars_of_emacs): Add new variable
885         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
886
887 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
888
889         * char-ucs.h (DECODE_CHAR): Delete special code for
890         `chinese-big5-1' and `chinese-big5-2'.
891
892         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
893         (Qbig5_2): Likewise.
894         (decode_defined_char): Support CONVERSION_BIG5_1 and
895         CONVERSION_BIG5_2.
896         (decode_builtin_char): Likewise.
897         (charset_code_point): Likewise.
898         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
899         'conversion in UTF-2000.
900         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
901         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
902         `chinese-big5-2' as children of `chinese-big5'.
903
904         * char-ucs.h (CONVERSION_BIG5_1): New macro.
905         (CONVERSION_BIG5_2): New macro.
906
907 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
908
909         * text-coding.c (char_encode_big5): Support entity-reference.
910
911 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
912
913         * text-coding.c (char_encode_as_entity_reference): New function.
914         (char_encode_utf8): Use `char_encode_as_entity_reference'.
915
916 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
917
918         * text-coding.c (decode_coding_big5): Support entity-reference
919         decoding feature.
920
921 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
922
923         * text-coding.c (allocate_coding_system): Initialize initial
924         charsets for CODESYS_UTF8.
925         (Fmake_coding_system): Accept charset-g0, charset-g1 and
926         charset-g2 for CODESYS_UTF8.
927         (decode_coding_utf8): Use charset-g0.
928         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
929         to force variants to map to UCS.
930
931 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
932
933         * text-coding.c (Qutf_8_mcs): New variable.
934         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
935         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
936         instead of `utf-8' in UTF-2000.
937
938 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
939
940         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
941         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
942         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
943         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
944         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
945         CONVERSION_96x96x96x96 are introduced.
946         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
947         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
948         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
949
950         * char-ucs.h (CONVERSION_94): New macro.
951         (CONVERSION_96): New macro.
952         (CONVERSION_94x94): New macro.
953         (CONVERSION_96x96): New macro.
954         (CONVERSION_94x94x94): New macro.
955         (CONVERSION_96x96x96): New macro.
956         (CONVERSION_94x94x94x60): New macro.
957         (CONVERSION_94x94x94x94): New macro.
958         (CONVERSION_96x96x96x96): New macro.
959
960 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
961
962         * chartab.c (Vcharacter_variant_table): Deleted.
963         (Fchar_variants): Use character-attribute `->ucs-variants' instead
964         of `Vcharacter_variant_table'.
965         (Fput_char_attribute): Likewise.
966         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
967         (complex_vars_of_chartab): Likewise.
968
969 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
970
971         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
972
973         * fns.c (Qideographic_structure): New variable.
974         (Qkeyword_char): New variable.
975         (ids_format_unit): New function.
976         (Fideographic_structure_to_ids): New function.
977         (syms_of_fns): Add new symbols `ideographic-structure' and
978         `:char'; add new builtin function `ideographic-structure-to-ids'.
979
980         * data.c (Fchar_ref_p): New function.
981         (syms_of_data): Add new builtin function `char-ref-p'.
982
983         * chartab.h: Add an EXFUN for `Ffind_char'.
984
985 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
986
987         * text-coding.c (Vcharacter_composition_table): Deleted.
988         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
989         in every UTF-2000.
990
991         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
992         UTF-2000.
993         (Vcharacter_composition_table): Deleted.
994         (Fget_composite_char): Use the implementation for external-DB
995         support in every UTF-2000.
996         (Fput_char_attribute): Likewise.
997         (char_attribute_system_db_file): Don't define if external-DB
998         feature is not available.
999         (Fsave_char_attribute_table): Likewise.
1000         (Fmount_char_attribute_table): Likewise.
1001         (Fclose_char_attribute_table): Likewise.
1002         (Freset_char_attribute_table): Likewise.
1003         (Fload_char_attribute_table): Likewise.
1004         (syms_of_chartab): Don't define `save-char-attribute-table',
1005         `mount-char-attribute-table', `reset-char-attribute-table',
1006         `close-char-attribute-table' and `load-char-attribute-table' if
1007         external-DB feature is not available.
1008         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1009
1010 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1011
1012         * text-coding.c (Qcomposition): Add extern if external-DB feature
1013         is supported.
1014         (Vcharacter_composition_table): Don't add extern if external-DB
1015         feature is supported.
1016         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1017         character composition rule if external-DB feature is supported.
1018
1019         * chartab.c (Vcharacter_composition_table): Don't define if
1020         external-DB feature is supported.
1021         (Qcomposition): New variable.
1022         (Fget_composite_char): New implementation for external-DB support.
1023         (Fput_char_attribute): Use `composition' property of each
1024         character instead of `Vcharacter_composition_table' to store
1025         character-composition rules if external-DB feature is supported.
1026         (syms_of_chartab): Add new symbol `composition'.
1027         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1028         external-DB feature is supported.
1029
1030 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1031
1032         * chartab.c (Vchar_db_stingy_mode): New variable.
1033         (load_char_attribute_maybe): Close database if
1034         Vchar_db_stingy_mode is not NIL.
1035         (Fload_char_attribute_table_map_function): Use
1036         `get_char_id_table_0' instead of `get_char_id_table'.
1037         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1038
1039         * chartab.h (get_char_id_table_0): New inline function.
1040         (get_char_id_table): Use `get_char_id_table_0'.
1041
1042 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1043
1044         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1045         and `COMPOSE_ADD_CHAR'.
1046         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1047
1048 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1049
1050         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1051         instead of `DECODE_ADD_UCS_CHAR'.
1052         (COMPOSE_ADD_CHAR): Likewise.
1053
1054 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1055
1056         * text-coding.c (decode_flush_er_chars): New inline function.
1057         (decode_add_er_char): New function.
1058         (decode_coding_utf8): Use `decode_flush_er_chars' and
1059         `decode_add_er_char'.
1060
1061 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1062
1063         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1064         done before `decode_output_utf8_partial_char'.
1065
1066         * mule-charset.c (complex_vars_of_mule_charset): Specify
1067         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1068         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1069
1070 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1071
1072         * mule-charset.c (decode_defined_char): New function; search
1073         mother.
1074         (decode_builtin_char): Don't search mother if
1075         XCHARSET_MAX_CODE(charset) == 0.
1076         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1077         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1078         (Fdecode_char): Use `decode_defined_char' instead of
1079         `DECODE_DEFINED_CHAR'.
1080         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1081         mother of `Vcharset_ucs_jis'.
1082
1083         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1084         instead of `DECODE_DEFINED_CHAR'.
1085
1086         * char-ucs.h (decode_defined_char): Renamed from
1087         `DECODE_DEFINED_CHAR'; changed to normal function.
1088         (DECODE_CHAR): Use `decode_defined_char' instead of
1089         `DECODE_DEFINED_CHAR'.
1090
1091         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1092
1093 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1094
1095         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1096
1097         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1098         variable.
1099         (Quse_entity_reference): New variable.
1100         (Qd): New variable.
1101         (Qx): New variable.
1102         (QX): New variable.
1103         (coding_system_description): Add description for
1104         `ccs_priority_list'.
1105         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1106         (allocate_coding_system): Initialize `ccs_priority_list' in
1107         UTF-2000.
1108         (Fmake_coding_system): Add description about
1109         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1110         (codesys).
1111         (Fcoding_system_property): Accept `disable-composition' and
1112         `use-entity-reference' in UTF-2000.
1113         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1114         in UTF-2000.
1115         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1116         (decode_coding_utf8): Decode entity-reference if
1117         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1118         (char_encode_utf8): Encode non-Unicode characters as
1119         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1120         (str->codesys).
1121         (syms_of_file_coding): Add new symbols `use-entity-reference',
1122         `d', `x', `X'.
1123         (vars_of_file_coding): Add new variable
1124         `coded-charset-entity-reference-alist'.
1125         (complex_vars_of_file_coding): Declare `disable-composition' and
1126         `use-entity-reference' to be coding-system-properties in UTF-2000.
1127
1128         * file-coding.h (struct Lisp_Coding_System): Add new member
1129         `use_entity_reference' and `ccs_priority_list'.
1130         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1131         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1132         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1133
1134 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1135
1136         * chartab.c (save_uint8_byte_table): Don't clear the table.
1137         (save_uint16_byte_table): Likewise.
1138         (save_byte_table): Likewise.
1139         (Fmount_char_attribute_table): New function.
1140         (syms_of_chartab): Add new builtin function
1141         `mount-char-attribute-table'.
1142
1143 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1144
1145         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1146         "w+" mode.
1147         (load_char_decoding_entry_maybe): Open database as read-only mode.
1148
1149         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1150         open database as "w+" mode.
1151         (load_char_attribute_maybe): Open database as read-only mode.
1152         (Fload_char_attribute_table): Likewise.
1153
1154 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1155
1156         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1157         (char_table_description): Delete member `db_file'.
1158         (Fmake_char_table): Don't refer `ct->db_file'.
1159         (Fcopy_char_table): Likewise.
1160         (Fsave_char_attribute_table): Likewise.
1161         (Fclose_char_attribute_table): Likewise.
1162         (Freset_char_attribute_table): Likewise.
1163         (load_char_attribute_maybe): Likewise.
1164         (Fload_char_attribute_table): Likewise.
1165
1166         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1167
1168 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1169
1170         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1171         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1172         `ct->db' is living.
1173         (load_char_attribute_maybe): Likewise.
1174         (Fload_char_attribute_table): Likewise.
1175
1176 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1177
1178         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1179         `ct->db_file' unconditionally.
1180
1181 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1182
1183         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1184         UTF-2000.
1185         (char_table_description): Add description for `db_file' and `db'
1186         in UTF-2000.
1187         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1188         UTF-2000.
1189         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1190         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1191         (Fclose_char_attribute_table): New function.
1192         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1193         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1194         and `cit->db'.
1195         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1196         (syms_of_chartab): Add new builtin function
1197         `Fclose_char_attribute_table'.
1198
1199 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1200
1201         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1202         `db' in UTF-2000.
1203         (load_char_attribute_maybe): Change interface.
1204         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1205
1206 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1207
1208         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1209
1210 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1211
1212         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1213         instead of `DECODE_CHAR' for mother; don't use special code for
1214         chinese-big5 to use code space of chinese-big5-1 and
1215         chinese-big5-2.
1216         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1217         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1218
1219         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1220         (MAX_CHAR_BIG5_CDP): Revival.
1221
1222 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1225         the XLFD registry-encoding name of `chinese-big5'.
1226
1227 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1228
1229         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1230         (Qchinese_big5_cdp): Deleted.
1231         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1232         (complex_vars_of_mule_charset): Delete coded-charset
1233         `chinese-big5-cdp'.
1234
1235         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1236         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1237         `CHARSET_ID_OFFSET - n' for private CCS.
1238         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1239         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1240         of `MIN_LEADING_BYTE'.
1241         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1242         `(CHARSET_ID_OFFSET - 97)'.
1243         (MIN_CHAR_BIG5_CDP): Deleted.
1244         (MAX_CHAR_BIG5_CDP): Deleted.
1245
1246 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1247
1248         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1249
1250 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1251
1252         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1253         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1254         chartab.c].
1255
1256         * chartab.c (Vutf_2000_version): Moved to mule.c.
1257         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1258
1259 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1260
1261         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1262         when HAVE_CHISE_CLIENT is not defined.
1263
1264         * mule.c (vars_of_mule): Provide feature `chise' when
1265         HAVE_CHISE_CLIENT is defined.
1266
1267 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1268
1269         * config.h.in (UTF2000): Add comment.
1270         (HAVE_CHISE_CLIENT): New macro.
1271
1272 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1273
1274         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1275         CONSP.
1276         (Fput_char_attribute): Likewise.
1277         (char_attribute_system_db_file): Encode file-name of attribute.
1278         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1279         the initial value.
1280
1281 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1282
1283         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1284         (Fsave_charset_mapping_table): Use
1285         `char_attribute_system_db_file'.
1286         (load_char_decoding_entry_maybe): Likewise.
1287
1288         * chartab.h (Qsystem_char_id): New external variable.
1289         (char_attribute_system_db_file): New prototype.
1290
1291         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1292         (char_attribute_system_db_file): New function.
1293         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1294         (Freset_char_attribute_table): Likewise.
1295         (load_char_attribute_maybe): Likewise.
1296         (Fload_char_attribute_table): Likewise.
1297         (syms_of_chartab): Add new symbol `system-char-id'.
1298
1299 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1300
1301         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1302         `XCHARSET_GRAPHIC(ccs)'.
1303
1304 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1305
1306         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1307
1308 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1309
1310         * chartab.c (Q_ucs_variants): New variable.
1311         (syms_of_chartab): Add new symbol `->ucs-variants'.
1312         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1313         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1314         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1315
1316         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1317
1318         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1319         `HAVE_DATABASE' is defined.
1320         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1321         `HAVE_DATABASE' is defined.
1322
1323 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1324
1325         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1326         attribute-table.
1327         (Freset_char_attribute_table): New function.
1328         (syms_of_chartab): Add new builtin function
1329         `reset-char-attribute-table'.
1330
1331 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1332
1333         * chartab.c (load_char_attribute_maybe): Don't make directories.
1334
1335 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1336
1337         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1338
1339         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1340         for decoding-table.
1341
1342 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1343
1344         * mule-charset.c (Fsave_charset_mapping_table): Use
1345         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1346
1347         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1348         instead of `XCHARSET_CHARS'.
1349
1350 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1351
1352         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1353         (XCHARSET_BYTE_SIZE): Likewise.
1354
1355         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1356         mule-charset.c].
1357         (XCHARSET_BYTE_SIZE): Likewise.
1358
1359 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1360
1361         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1362         data-directory to store database.
1363         (Fsave_char_attribute_table): Likewise.
1364         (load_char_attribute_maybe): Likewise.
1365         (Fload_char_attribute_table): Likewise.
1366
1367 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1368
1369         * mule-charset.c (Fsave_charset_mapping_table): New function.
1370         (syms_of_mule_charset): Add new builtin function
1371         `save-charset-mapping-table'.
1372
1373 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1374
1375         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1376         (get_ccs_octet_table): New inline function.
1377         (put_ccs_octet_table): Likewise.
1378         (decoding_table_put_char): Use `get_ccs_octet_table' and
1379         `put_ccs_octet_table'.
1380         (decoding_table_remove_char): Use `decoding_table_put_char'.
1381         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1382
1383         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1384         into encoding_table.
1385         (make_charset): Use Qunbound instead Qnil as initial value of
1386         decoding_table.
1387
1388 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1389
1390         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1391         element is Qunloaded.
1392         (map_over_uint16_byte_table): Likewise.
1393         (map_over_byte_table): Likewise.
1394         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1395         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1396         database support, load encoding-table of the specified
1397         coded-charset if it is not loaded yet.
1398         (save_uint8_byte_table): New function of UTF-2000 with external
1399         database support.
1400         (save_uint16_byte_table): Likewise.
1401         (save_byte_table): Likewise.
1402         (Fput_char_attribute): Don't store value into external database
1403         even if the external database feature is supported in UTF-2000;
1404         set `attribute' as name of char-table if the external database
1405         feature is supported.
1406         (Fsave_char_attribute_table): New function in UTF-2000.
1407         (syms_of_chartab): Add new builtin function
1408         `save-char-attribute-table' in UTF-2000.
1409
1410 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1411
1412         * chartab.c (char_attribute_table_to_put): New variable in
1413         UTF-2000.
1414         (Qput_char_table_map_function): Likewise.
1415         (value_to_put): Likewise.
1416         (Fput_char_table_map_function): New function in UTF-2000.
1417         (put_char_table): Use `Fmap_char_attribute' for
1418         CHARTAB_RANGE_CHARSET in UTF-2000.
1419         (Fput_char_attribute): Store symbol instead of string in
1420         `XCHAR_TABLE_NAME (table)'.
1421         (load_char_attribute_maybe): Likewise.
1422         (syms_of_chartab): Add new symbol/function
1423         `put-char-table-map-function'.
1424
1425 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1426
1427         * database.h: Add new EXFUN for `Fmap_database'.
1428
1429         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1430         (syms_of_database): Likewise.
1431
1432         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1433         UTF-2000.
1434         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1435         (XCHAR_TABLE_UNLOADED): Likewise.
1436
1437         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1438         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1439         HAVE_DATABASE is defined.
1440         (char_attribute_table_to_load): New variable of UTF-2000 with
1441         external database support.
1442         (Qload_char_attribute_table_map_function): Likewise.
1443         (Fload_char_attribute_table_map_function): New function of
1444         UTF-2000 with external database support.
1445         (Fload_char_attribute_table): New function of UTF-2000.
1446         (Fmap_char_attribute): Call Fload_char_attribute_table if
1447         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1448         (syms_of_chartab): Add new symbol and function
1449         `load-char-attribute-table-map-function' in UTF-2000 with external
1450         database support; add new function `load-char-attribute-table' in
1451         UTF-2000.
1452
1453 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1454
1455         * chartab.h (load_char_attribute_maybe): New prototype for
1456         UTF-2000 with DATABASE support.
1457         (get_char_id_table): Use `load_char_attribute_maybe' if
1458         HAVE_DATABASE is defined.
1459
1460         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1461         with DATABASE support.
1462
1463 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1464
1465         * chartab.c (Fput_char_attribute): Use S-expression as key of
1466         external database.
1467
1468         * chartab.h (get_char_id_table): Use S-expression as key of
1469         external database.
1470
1471 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1472
1473         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1474         if an element is not loaded, load the corresponding attributes
1475         from an external database.
1476         (map_over_uint16_byte_table): Likewise.
1477         (map_over_byte_table): Likewise.
1478         (map_char_table): Modify for `map_over_uint8_byte_table',
1479         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1480         element is not loaded, load the corresponding attributes from an
1481         external database.
1482         (Fput_char_attribute): Change initial values to Qunloaded.
1483
1484         * chartab.h (get_char_id_table): If a character attribute is not
1485         loaded and the attribute value is not found in an external
1486         database, store Qunbound as the attribute value.
1487
1488 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1489
1490         * chartab.c (BT_UINT8_unloaded): New macro.
1491         (UINT8_VALUE_P): Accept Qunloaded.
1492         (UINT8_ENCODE): Likewise.
1493         (UINT8_DECODE): Likewise.
1494         (BT_UINT16_unloaded): New macro.
1495         (UINT16_VALUE_P): Accept Qunloaded.
1496         (UINT16_ENCODE): Likewise.
1497         (UINT16_DECODE): Likewise.
1498         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1499         BT_UINT16_unloaded.
1500         (mark_char_table): Mark `ct->name' in UTF-2000.
1501         (char_table_description): Add `name' in UTF-2000.
1502         (Fmake_char_table): Initialize `ct->name'.
1503         (Fcopy_char_table): Copy `ct->name'.
1504         (Fput_char_attribute): Store value into an external database if
1505         HAVE_DATABASE is defined.
1506
1507         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1508         UTF-2000.
1509         (CHAR_TABLE_NAME): New macro in UTF-2000.
1510         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1511         (get_char_id_table): Try to read an external database if Qunloaded
1512         is stored in a table.
1513
1514         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1515         Qunloaded.
1516
1517 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1518
1519         * database.h: Add EXFUN definitions for Fopen_database,
1520         Fput_database, Fget_database and Fclose_database.
1521
1522         * data.c (Qunloaded): New variable in UTF-2000.
1523
1524         * lisp.h (Qunloaded): New variable in UTF-2000.
1525
1526 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1527
1528         * mule-charset.c (put_char_ccs_code_point): Modify for
1529         `decoding_table_remove_char' and `decoding_table_put_char'.
1530         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1531
1532         * char-ucs.h (decoding_table_remove_char): Change arguments to
1533         hide decoding_table vector.
1534         (decoding_table_put_char): Likewise.
1535
1536 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * mule-charset.c (decoding_table_remove_char): Moved to
1539         char-ucs.h.
1540         (decoding_table_put_char): Likewise.
1541
1542         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1543         from mule-charset.c].
1544         (decoding_table_remove_char): New inline function [moved from
1545         mule-charset.c].
1546         (decoding_table_put_char): Likewise.
1547
1548 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1549
1550         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1551         extension.
1552
1553 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1554
1555         * mule-charset.c (decode_builtin_char): Support mother charsets.
1556
1557 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1558
1559         * mule-charset.c (Q94x94x60): New variable.
1560         (charset_code_point): Support conversion `94x94x60'.
1561         (Fmake_charset): Likewise.
1562         (syms_of_mule_charset): Add new symbol `94x94x60'.
1563
1564         * char-ucs.h (CONVERSION_94x94x60): New macro.
1565
1566 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1567
1568         * mule-charset.c (charset_code_point): Unify code about
1569         `code-offset'.
1570
1571 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1572
1573         * mule-charset.c (charset_code_point): Merge code about builtin
1574         characters into code about mother charsets; don't use
1575         `range_charset_code_point'.
1576         (range_charset_code_point): Deleted.
1577
1578 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1579
1580         * mule-charset.c (Qcode_offset): New variable.
1581         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1582         `max-code'; accept new property `code-offset'.
1583         (syms_of_mule_charset): Add new symbol `code-offset'.
1584
1585 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1586
1587         * mule-charset.c (range_charset_code_point): Fixed.
1588
1589 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1590
1591         * mule-charset.c (decode_builtin_char): Change semantics of
1592         code-offset of coded-charset.
1593         (charset_code_point): Likewise.
1594         (range_charset_code_point): Likewise.
1595         (complex_vars_of_mule_charset): Modify for the change.
1596
1597 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1598
1599         * mule-charset.c (Fencode_char): Reverse arguments.
1600
1601         * mule-charset.c (charset_code_point): Fixed.
1602
1603 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1604
1605         * mule-charset.c (Vcharset_mojikyo): Deleted.
1606         (Vcharset_mojikyo_2022_1): Deleted.
1607         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1608         (Qmin_code): New variable in UTF-2000.
1609         (Qmax_code): Likewise.
1610         (Qmother): Likewise.
1611         (Qconversion): Likewise.
1612         (Q94x60): Likewise.
1613         (Qmojikyo): Deleted.
1614         (Qmojikyo_2022_1): Deleted.
1615         (Qmojikyo_pj_{1..22}): Deleted.
1616         (mark_charset): Mark `cs->mother'.
1617         (charset_description): Add description for `mother'.
1618         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1619         new arguments `mother' and `conversion'; use
1620         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1621         (charset_code_point): Moved from char-ucs.h; support `mother'
1622         charset feature.
1623         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1624         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1625         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1626         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1627         allow 2 as the value of `graphic' in UTF-2000; add new properties
1628         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1629         require `final' in UTF-2000; modify for `make_charset'.
1630         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1631         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1632         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1633         (Fencode_char): New function.
1634         (syms_of_mule_charset): Add new builtin function `encode-char' in
1635         UTF-2000; add new symbols `min-code', `max-code', `mother',
1636         `conversion' and `94x60'; delete symbols `mojikyo',
1637         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1638         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1639         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1640         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1641
1642         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1643         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1644
1645         * char-ucs.h (Vcharset_mojikyo): Deleted.
1646         (Vcharset_mojikyo_2022_1): Deleted.
1647         (LEADING_BYTE_MOJIKYO): Deleted.
1648         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1649         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1650         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1651         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1652         add new member `mother'; add new member `conversion'.
1653         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1654         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1655         (CHARSET_MOTHER): New macro.
1656         (CHARSET_CONVERSION): New macro.
1657         (CONVERSION_IDENTICAL): New macro.
1658         (CONVERSION_94x60): New macro.
1659         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1660         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1661         (XCHARSET_MOTHER): New macro.
1662         (XCHARSET_CONVERSION): New macro.
1663         (MIN_CHAR_MOJIKYO): Deleted.
1664         (MAX_CHAR_MOJIKYO): Deleted.
1665         (DECODE_MOJIKYO_2022): Deleted.
1666         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1667         (charset_code_point): Changed to non-inline function.
1668         (encode_char_1): Use `charset_code_point'.
1669         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1670
1671 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1672
1673         * lread.c (read_compiled_function): Fix prototype.
1674         (read_vector): Likewise.
1675
1676 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1677
1678         * lrecord.h (struct lrecord_header): Delete `older'.
1679         (set_lheader_implementation): Delete code for `older'.
1680         (set_lheader_older_implementation): Deleted.
1681         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1682         (OLDER_RECORD_P): Deleted.
1683         (OLDER_RECORD_HEADER_P): Deleted.
1684         (alloc_older_lcrecord): Deleted.
1685         (alloc_older_lcrecord_type): Deleted.
1686
1687         * alloc.c (all_older_lcrecords): Deleted.
1688         (alloc_older_lcrecord): Deleted.
1689         (disksave_object_finalization_1): Delete code for older objects.
1690         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1691         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1692
1693 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1694
1695         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1696         instead of `make_older_vector'.
1697         (put_char_ccs_code_point): Likewise.
1698         (mark_charset): Mark `cs->decoding_table'.
1699         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1700
1701         * lisp.h (make_older_vector): Deleted.
1702         (make_vector_newer): Deleted.
1703
1704         * config.h.in (HAVE_GGC): Deleted.
1705
1706         * alloc.c (make_older_vector): Deleted.
1707         (make_vector_newer_1): Deleted.
1708         (make_vector_newer): Deleted.
1709
1710 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1711
1712         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1713         (Qideograph_daikanwa_2): New variable.
1714         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1715         (complex_vars_of_mule_charset): Add new coded-charset
1716         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1717         `LEADING_BYTE_DAIKANWA'.
1718
1719         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1720         (LEADING_BYTE_DAIKANWA_1): New macro.
1721         (LEADING_BYTE_DAIKANWA_2): New macro.
1722         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1723
1724 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1725
1726         * mule-charset.c (complex_vars_of_mule_charset): Change
1727         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1728         the second revised version.
1729
1730 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * mule-charset.c (Vcharset_ucs_smp): New variable.
1733         (Vcharset_ucs_sip): New variable.
1734         (Qucs_smp): New variable.
1735         (Qucs_sip): New variable.
1736         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1737         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1738         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1739         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1740         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1741         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1742
1743         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1744         (LEADING_BYTE_UCS_SIP): New macro.
1745         (MIN_CHAR_SMP): New macro.
1746         (MAX_CHAR_SMP): New macro.
1747         (MIN_CHAR_SIP): New macro.
1748         (MAX_CHAR_SIP): New macro.
1749
1750 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1751
1752         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1753         utf-2000.
1754
1755 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1756
1757         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1758         value; don't store value into `encoding_table' of `Lisp_Charset'.
1759         (mark_charset): `encoding_table' was deleted.
1760         (charset_description): Likewise.
1761         (make_charset): Likewise.
1762         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1763         `put_char_ccs_code_point'.
1764
1765         * chartab.h (Fput_char_attribute): New EXFUN.
1766
1767         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1768         is unified with normal symbol space.
1769         (Fget_char_attribute): Likewise.
1770         (Fput_char_attribute): Likewise; behavior of
1771         `put_char_ccs_code_point' is changed.
1772
1773         * char-ucs.h: Include "elhash.h".
1774         (Vchar_attribute_hash_table): New external variable.
1775         (struct Lisp_Charset): Delete `encoding_table'.
1776         (CHARSET_ENCODING_TABLE): New implementation; refer
1777         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1778         `Lisp_Charset'.
1779
1780 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1781
1782         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1783         (cs) == 0.
1784
1785 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1786
1787         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1788         `chinese-big5'.
1789
1790 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1791
1792         * chartab.c (uint8_byte_table_description): New constant.
1793         (uint8-byte-table): Use `uint8_byte_table_description'.
1794         (uint16_byte_table_description): New constant.
1795         (uint16-byte-table): Use `uint16_byte_table_description'.
1796
1797 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1798
1799         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1800         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1801
1802 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * mule-charset.c (Vcharset_ucs_ks): New variable.
1805         (Qucs_ks): New variable.
1806         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1807         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1808
1809         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1810
1811 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1814         (Fdecode_char): Likewise.
1815
1816         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1817         chartab.h.
1818         (Fdefine_char): Modify for Fdecode_char.
1819         (Ffind_char): Likewise.
1820
1821         * mule-charset.c (Fdecode_char): Add new optional argument
1822         `defined-only'.
1823         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1824
1825 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1826
1827         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1828         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1829         (allocate_coding_system): Initialize initial-charsets of
1830         CODESYS_BIG5 in XEmacs UTF-2000.
1831         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1832         CODESYS_BIG5 in XEmacs UTF-2000.
1833         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1834         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1835
1836         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1837         variables.
1838         (Qideograph_hanziku_{1 .. 12}): Likewise.
1839         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1840         .. 12}'.
1841         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1842         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1843         `ideograph-hanziku-{1 .. 12}'.
1844
1845         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1846         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1847         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1848         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1849         (DECODE_DEFINED_CHAR): New inline function.
1850         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1851
1852 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1853
1854         * mule-charset.c (Vcharset_china3_jef): Renamed from
1855         `Vcharset_japanese_jef_china3'.
1856         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1857         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1858         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1859         (syms_of_mule_charset): Rename `china3-jef' from
1860         `japanese-jef-china3'.
1861         (complex_vars_of_mule_charset): Likewise; rename
1862         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1863
1864         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1865         `LEADING_BYTE_JEF_CHINA3'.
1866         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1867         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1868
1869 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1870
1871         * mule-charset.c (encode_builtin_char_1): Comment out special code
1872         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1873
1874         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1875         (MAX_CHAR_MOJIKYO_0): Comment out.
1876         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1877         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1878         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1879         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1880
1881 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1882
1883         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1884         (Qideograph_cbeta): New variable.
1885         (encode_builtin_char_1): Comment out special code for
1886         coded-charset `mojikyo' and `japanese-jef-china3'.
1887         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1888         (complex_vars_of_mule_charset): Add new coded-charset
1889         `ideograph-cbeta'.
1890
1891         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1892         (MIN_CHAR_CBETA): New macro.
1893         (MAX_CHAR_CBETA): New macro.
1894
1895 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1896
1897         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1898         (LEADING_BYTE_JEF_CHINA3): New macro.
1899         (MIN_CHAR_JEF_CHINA3): New macro.
1900         (MAX_CHAR_JEF_CHINA3): Likewise.
1901         (DECODE_CHAR): Fixed.
1902
1903 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1906         (Qjapanese_jef_china3): New variable.
1907         (encode_builtin_char_1): Support `japanese-jef-china3'.
1908         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1909         (complex_vars_of_mule_charset): Add new coded-charset
1910         `japanese-jef-china3'.
1911
1912 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1913
1914         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1915         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1916         94^4, 96^3, 96^4, 128^n and 256^n set.
1917         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1918         (map_char_table): Likewise.
1919
1920 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1921
1922         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1923         UTF-2000.
1924
1925 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1926
1927         * chartab.h (get_char_id_table): New inline function.
1928
1929         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1930         function.
1931
1932 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1933
1934         * chartab.h (decode_char_table_range): New prototype in XEmacs
1935         UTF-2000.
1936         (put_char_id_table): New inline function in XEmacs UTF-2000.
1937
1938         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1939         function.
1940         (decode_char_table_range): Delete static declaration in XEmacs
1941         UTF-2000.
1942
1943 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1944
1945         * chartab.c (put_char_id_table): Use `put_char_table'.
1946
1947 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1948
1949         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1950         (map_over_uint16_byte_table): Likewise.
1951         (map_over_byte_table): Likewise.
1952         (map_char_table): Modify for `map_over_uint8_byte_table',
1953         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1954         UTF-2000.
1955
1956 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1957
1958         * chartab.c (struct map_char_table_for_charset_arg): New
1959         structure.
1960         (map_char_table_for_charset_fun): New function.
1961         (map_char_table): Use `map_char_table' for encoding_table of
1962         `range->charset'.
1963
1964 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1965
1966         * chartab.c (map_char_table): Check a character is found in
1967         range->charset instead of non default value is defined in
1968         char-table when range is CHARTAB_RANGE_ROW.
1969
1970 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1971
1972         * chartab.c (map_char_id_table): Deleted.
1973         (Fmap_char_attribute): Use `map_char_table' instead of
1974         `map_char_id_table'.
1975
1976 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1977
1978         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1979         UTF-2000.
1980         (update_syntax_table): Deleted in XEmacs UTF-2000.
1981
1982         * syntax.c (find_defun_start): Use `syntax_table' instead of
1983         `mirror_syntax_table' in XEmacs UTF-2000.
1984         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1985         UTF-2000.
1986         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1987         XEmacs UTF-2000.
1988         (Fmatching_paren): Likewise.
1989         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1990         in XEmacs UTF-2000.
1991         (find_start_of_comment): Likewise.
1992         (find_end_of_comment): Likewise.
1993         (Fforward_comment): Likewise.
1994         (scan_lists): Likewise.
1995         (char_quoted): Likewise.
1996         (Fbackward_prefix_chars): Likewise.
1997         (scan_sexps_forward): Likewise.
1998         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1999         (update_syntax_table): Likewise.
2000
2001         * search.c (skip_chars): Use `syntax_table' instead of
2002         `mirror_syntax_table' in XEmacs UTF-2000.
2003         (wordify): Likewise.
2004         (Freplace_match): Likewise.
2005
2006         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2007         `mirror_syntax_table' in XEmacs UTF-2000.
2008         (WORDCHAR_P_UNSAFE): Likewise.
2009         (re_match_2_internal): Likewise.
2010
2011         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2012         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2013
2014         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2015         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2016
2017         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2018         XEmacs UTF-2000.
2019
2020         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2021         UTF-2000.
2022         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2023         (char_table_description): Delete `mirror_table' in XEmacs
2024         UTF-2000.
2025         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2026         UTF-2000.
2027         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2028         (Fcopy_char_table): Likewise.
2029         (put_char_table): Don't call `update_syntax_table' in XEmacs
2030         UTF-2000.
2031
2032         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2033         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2034         (casify_region_internal): Likewise.
2035
2036         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2037
2038         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2039         `mirror_syntax_table' in XEmacs UTF-2000.
2040
2041         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2042         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2043         (Fexpand_abbrev): Likewise.
2044
2045 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2046
2047         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2048
2049 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2050
2051         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2052         (map_over_uint16_byte_table): Likewise.
2053         (map_over_byte_table): Likewise.
2054         (get_char_id_table): Refer `cit->default_value'.
2055         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2056         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2057         of character-id ranges.
2058         (mark_char_table): Mark `ct->default_value'.
2059         (char_table_description): Add `default_value'.
2060         (fill_char_table): Use `default_value'.
2061         (decode_char_table_range): Decode `nil' as
2062         `CHARTAB_RANGE_DEFAULT'.
2063         (get_char_id_table): Refer `cit->default_value'.
2064         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2065         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2066         temporary hack; check value of char-table is bound or not.
2067         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2068
2069         * chartab.h (struct Lisp_Char_Table): Add new member
2070         `default_value' in XEmacs UTF-2000.
2071         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2072         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2073         UTF-2000.
2074
2075 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2076
2077         * chartab.h (Lisp_Char_ID_Table): Deleted.
2078
2079         * chartab.c (char_table_description): Fix typo.
2080         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2081         `Lisp_Char_ID_Table'.
2082
2083 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2084
2085         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2086         `CHAR_ID_TABLE_P'.
2087
2088         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2089         `CHAR_ID_TABLE_P'.
2090
2091         * chartab.h (XCHAR_ID_TABLE): Deleted.
2092         (XSETCHAR_ID_TABLE): Deleted.
2093         (CHAR_ID_TABLE_P): Deleted.
2094
2095         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2096         `CHAR_ID_TABLE_P'.
2097         (Fget_composite_char): Likewise.
2098         (put_char_table): Likewise.
2099         (add_char_attribute_alist_mapper): Fixed.
2100         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2101         `CHAR_ID_TABLE_P'.
2102         (Fget_char_attribute): Likewise.
2103         (Fget_char_attribute): Likewise.
2104         (Fmap_char_attribute): Likewise.
2105
2106         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2107         `CHAR_ID_TABLE_P'.
2108         (encode_char_1): Likewise.
2109
2110 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2111
2112         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2113         `XCHAR_ID_TABLE'.
2114
2115         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2116         instead of `XCHAR_ID_TABLE'.
2117         (remove_char_ccs): Likewise.
2118
2119         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2120         `XCHAR_ID_TABLE'.
2121         (Fget_composite_char): Likewise.
2122         (Fchar_variants): Likewise.
2123         (put_char_table): Likewise.
2124         (add_char_attribute_alist_mapper): Likewise.
2125         (Fchar_attribute_alist): Likewise.
2126         (Fget_char_attribute): Likewise.
2127         (Fput_char_attribute): Likewise.
2128         (Fmap_char_attribute): Likewise.
2129         (Fmap_char_attribute): Likewise.
2130
2131         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2132         `XCHAR_ID_TABLE'.
2133         (encode_char_1): Likewise.
2134
2135 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2136
2137         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2138         `Lisp_Char_ID_Table'.
2139         (mark_char_id_table): Deleted.
2140         (print_char_id_table): Likewise.
2141         (char_id_table_equal): Likewise.
2142         (char_id_table_hash): Likewise.
2143         (char_id_table_description): Likewise.
2144         (char_id_table): Likewise.
2145         (make_char_id_table): Use `Fmake_char_table' and
2146         `fill_char_table'.
2147         (get_char_id_table): Use `Lisp_Char_Table' instead of
2148         `Lisp_Char_ID_Table'.
2149         (put_char_id_table): Likewise.
2150         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2151         `XCHAR_ID_TABLE'.
2152         (Fremove_char_attribute): Likewise.
2153         (syms_of_chartab): Don't define type `char-id-table'.
2154
2155         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2156         (char_id_table): Likewise.
2157         (GC_CHAR_ID_TABLE_P): Likewise.
2158         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2159         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2160         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2161         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2162         (get_char_id_table): Use `Lisp_Char_Table' instead of
2163         `Lisp_Char_ID_Table'.
2164         (put_char_id_table_0): Likewise.
2165         (put_char_id_table): Likewise.
2166
2167 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2168
2169         * chartab.h: Lisp_Byte_Table related codes are moved from
2170         chartab.h.
2171
2172         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2173
2174 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2175
2176         * chartab.h: Don't include "chartab.h".
2177         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2178         (Lisp_Char_ID_Table): Likewise.
2179         (char_id_table): Likewise.
2180         (XCHAR_ID_TABLE): Likewise.
2181         (XSETCHAR_ID_TABLE): Likewise.
2182         (CHAR_ID_TABLE_P): Likewise.
2183         (GC_CHAR_ID_TABLE_P): Likewise.
2184         (get_char_id_table): Likewise.
2185
2186         * char-ucs.h: Include "chartab.h".
2187         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2188         (Lisp_Char_ID_Table): Likewise.
2189         (char_id_table): Likewise.
2190         (XCHAR_ID_TABLE): Likewise.
2191         (XSETCHAR_ID_TABLE): Likewise.
2192         (CHAR_ID_TABLE_P): Likewise.
2193         (GC_CHAR_ID_TABLE_P): Likewise.
2194         (get_char_id_table): Likewise.
2195
2196 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2197
2198         * chartab.c (copy_uint8_byte_table): New function.
2199         (copy_uint16_byte_table): New function.
2200         (copy_byte_table): New function.
2201         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2202         characters to call.
2203         (map_over_uint16_byte_table): Likewise.
2204         (map_over_byte_table): Likewise.
2205         (get_byte_table): Move prototype to chartab.h.
2206         (put_byte_table): Likewise.
2207         (put_char_id_table_0): Moved to chartab.h.
2208         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2209         (char_table_entry_equal): Likewise.
2210         (char_table_entry_hash): Likewise.
2211         (char_table_entry_description): Likewise.
2212         (char_table_entry): Likewise.
2213         (make_char_table_entry): Likewise.
2214         (copy_char_table_entry): Likewise.
2215         (get_non_ascii_char_table_value): Likewise.
2216         (map_over_charset_ascii): Likewise.
2217         (map_over_charset_control_1): Likewise.
2218         (map_over_charset_row): Likewise.
2219         (map_over_other_charset): Likewise.
2220         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2221         (print_char_table): Likewise.
2222         (char_table_equal): Likewise.
2223         (char_table_hash): Likewise.
2224         (char_table_description): Likewise.
2225         (fill_char_table): Likewise.
2226         (Fcopy_char_table): Likewise.
2227         (get_char_table): Likewise.
2228         (Fget_range_char_table): Likewise.
2229         (put_char_table): Likewise.
2230         (map_char_table): Likewise.
2231         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2232         UTF-2000.
2233
2234 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2235
2236         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2237         `Vauto_fill_chars' in XEmacs UTF-2000.
2238
2239         * chartab.h (get_byte_table): New prototype [moved from
2240         chartab.c].
2241         (put_byte_table): Likewise [moved from chartab.c].
2242         (put_char_id_table_0): New inline function [moved from chartab.c].
2243         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2244         (Lisp_Char_Table_Entry): Likewise.
2245         (char_table_entry): Likewise.
2246         (XCHAR_TABLE_ENTRY): Likewise.
2247         (XSETCHAR_TABLE_ENTRY): Likewise.
2248         (CHAR_TABLE_ENTRYP): Likewise.
2249         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2250         (NUM_ASCII_CHARS): Likewise.
2251         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2252         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2253
2254 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2255
2256         * chartab.c (get_char_id_table): Change interface.
2257         (put_char_id_table_0): New function.
2258         (put_char_id_table): Change interface; new implementation.
2259         (Fget_composite_char): Modify for interface change of
2260         `get_char_id_table'.
2261         (Fchar_variants): Likewise.
2262         (add_char_attribute_alist_mapper): Likewise.
2263         (Fchar_attribute_alist): Likewise.
2264         (Fget_char_attribute): Likewise.
2265         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2266         as same as character as the first argument like `put-char-table';
2267         modify for interface change of `put_char_id_table'.
2268         (Fremove_char_attribute): Modify for interface change of
2269         `put_char_id_table'.
2270
2271 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2272
2273         * text-coding.c: Sync up with XEmacs 21.2.41.
2274         (COMPOSE_ADD_CHAR): Modify for interface change of
2275         `get_char_id_table'.
2276
2277         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2278         change of `put_char_id_table'.
2279         (remove_char_ccs): Likewise.
2280
2281         * chartab.h (put_char_id_table): Change interface.
2282
2283         * char-ucs.h (get_char_id_table): Change interface.
2284         (charset_code_point): Modify for interface change of
2285         `get_char_id_table'.
2286         (encode_char_1): Likewise.
2287
2288 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2289
2290         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2291         argument `ccs'.
2292         (map_over_uint16_byte_table): Likewise.
2293         (map_over_byte_table): Likewise.
2294         (map_char_id_table): Add new argument `range' like
2295         `map_char_table'.
2296         (Fmap_char_attribute): Add new argument `range' like
2297         `Fmap_char_table'.
2298
2299 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2300
2301         * chartab.c (map_over_uint8_byte_table): Change interface of
2302         mapping function to use struct chartab_range instead of Emchar.
2303         (map_over_uint16_byte_table): Likewise.
2304         (map_over_byte_table): Likewise.
2305         (map_char_id_table): Likewise.
2306         (struct slow_map_char_id_table_arg): Deleted.
2307         (slow_map_char_id_table_fun): Deleted.
2308         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2309         function `slow_map_char_table_fun' instead of struct
2310         `slow_map_char_id_table_arg' and function
2311         `slow_map_char_id_table_fun'.
2312
2313 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2314
2315         * mule-charset.c: Move char-it-table related codes to chartab.c.
2316         (Vutf_2000_version): Moved to chartab.c.
2317         (Fdefine_char): Likewise.
2318         (Ffind_char): Likewise.
2319         (syms_of_mule_charset): Move types `uint8-byte-table',
2320         `uint16-byte-table', `byte-table' and `char-id-table' to
2321         chartab.c; move functions `char_attribute_list,
2322         `find_char_attribute_table, `char_attribute_alist,
2323         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2324         `map_char_attribute, `define_char, `find_char, `char_variants and
2325         `get_composite_char to chartab.c; move symbols `=>ucs',
2326         `->decomposition', `compat', `isolated', `initial', `medial',
2327         `final', `vertical', `noBreak', `fraction', `super', `sub',
2328         `circle', `square', `wide', `narrow', `small' and `font' to
2329         chartab.c.
2330         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2331         setting codes for `Vcharacter_composition_table' and
2332         `Vcharacter_variant_table' to chartab.c.
2333         (complex_vars_of_mule_charset): Move setting code for
2334         `Vchar_attribute_hash_table' to chartab.c.
2335
2336         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2337         (make_char_id_table): New prototype.
2338         (put_char_id_table): Likewise.
2339         (Fget_char_attribute): Likewise.
2340
2341         * chartab.c: Move char-id-table related code from mule-charset.c.
2342         (Vutf_2000_version): Moved from mule-charset.c.
2343
2344         * char-ucs.h (Qucs): New external variable.
2345         (put_char_ccs_code_point): New prototype.
2346         (remove_char_ccs): Likewise.
2347
2348 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2349
2350         * mule-charset.c (Vcharset_ucs_jis): New variable.
2351         (Qucs_jis): Likewise.
2352         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2353         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2354
2355         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2356
2357 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2358
2359         * mule-charset.c (map_over_uint8_byte_table): New function.
2360         (map_over_uint16_byte_table): Likewise.
2361         (map_over_byte_table): Likewise.
2362         (map_char_id_table): Likewise.
2363         (slow_map_char_id_table_fun): Likewise.
2364         (Fmap_char_attribute): Likewise.
2365         (syms_of_mule_charset): Add new function `map-char-attribute'.
2366
2367 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2368
2369         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2370         (syms_of_mule_charset): Add new function `find-char'.
2371
2372 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2373
2374         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2375         XEmacs UTF-2000.
2376         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2377         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2378         XEmacs UTF-2000.
2379         (complex_vars_of_mule_charset): Add new coded-charset
2380         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2381         `ideograph-gt-pj-*'.
2382
2383         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2384
2385 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2386
2387         * mule-charset.c (encode_builtin_char_1): Purge codes about
2388         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2389         {MIN|MAX}_CHAR_HEBREW.
2390         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2391         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2392
2393         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2394         (MAX_CHAR_GREEK): Purged.
2395         (MIN_CHAR_CYRILLIC): Purged.
2396         (MAX_CHAR_CYRILLIC): Purged.
2397         (MIN_CHAR_HEBREW): Commented out.
2398         (MAX_CHAR_HEBREW): Likewise.
2399
2400 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2401
2402         * mule-charset.c (Qto_ucs): New variable.
2403         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2404         (Fdefine_char): Likewise.
2405         (syms_of_mule_charset): Add new symbol `=>ucs'.
2406
2407 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2408
2409         * mule-charset.c (Fdecode_char): Fixed.
2410
2411 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2412
2413         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2414         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2415         "tcvn5712-1".
2416
2417 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2418
2419         * mule-charset.c (Vcharset_ucs_big5): New variable.
2420         (Qucs_big5): Likewise.
2421         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2422         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2423
2424         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2425
2426 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2427
2428         * mule-charset.c (decode_builtin_char): Check Big5 code range
2429         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2430
2431 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2434         (Qchinese_gb12345): Likewise.
2435         (Fdecode_builtin_char): Fixed.
2436         (syms_of_mule_charset): Add `chinese-gb12345'.
2437         (complex_vars_of_mule_charset): Add coded-charset
2438         `chinese-gb12345'.
2439
2440         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2441         (LEADING_BYTE_CHINESE_GB12345): New macro.
2442
2443 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2444
2445         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2446         and `latin-viscii-upper' for `latin-viscii'.
2447
2448 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2449
2450         * mule-charset.c (Fdecode_builtin_char): Comment out
2451         regularization code for ISO-IR GR representation.
2452
2453 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2454
2455         * mule-charset.c (decode_builtin_char): New function; renamed from
2456         `make_builtin_char'; return -1 instead of signal.
2457         (Fdecode_builtin_char): Use `decode_builtin_char'.
2458
2459         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2460         `make_builtin_char'.
2461         (DECODE_CHAR): Use `decode_builtin_char' instead of
2462         `make_builtin_char'; use mapping table of `chinese-big5' for
2463         `chinese-big5-{1,2}'.
2464
2465 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2466
2467         * text-coding.c (char_encode_big5): New function.
2468         (char_finish_big5): Likewise.
2469         (reset_encoding_stream): Use `char_encode_big5' and
2470         `char_finish_big5' for CODESYS_BIG5.
2471         (mule_encode): Don't use `encode_coding_big5'.
2472         (encode_coding_big5): Deleted.
2473
2474 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2475
2476         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2477         0x81- in XEmacs UTF-2000.
2478         (detect_coding_big5): Likewise.
2479
2480 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2481
2482         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2483         generate character-id if the CCS property does not have
2484         corresponding predefined character.
2485         (make_builtin_char): Return -1 if corresponding predefined
2486         character is not found.
2487         (Fdecode_char): Return nil if corresponding character is not
2488         found.
2489         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2490         don't map to builtin ucs space.
2491
2492 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2493
2494         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2495         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2496
2497 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2498
2499         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2500         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2501         (Qideograph_gt): Likewise.
2502         (Qideograph_gt_pj_{1..11}): Likewise.
2503         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2504         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2505         `ideograph-gt-pj-11'.
2506         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2507         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2508         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2509
2510         * char-ucs.h (LEADING_BYTE_GT): New macro.
2511         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2512         (MIN_CHAR_GT): Likewise.
2513         (MAX_CHAR_GT): Likewise.
2514
2515 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2516
2517         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2518         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2519
2520         * doprnt.c (unsigned_int_converters): Add `c'.
2521         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2522
2523         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2524         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2525         `MIN_CHAR_MOJIKYO'.
2526         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2527         (MAX_CHAR_MOJIKYO_0): New macro.
2528         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2529
2530 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2531
2532         * mule-charset.c (Fdefine_char): Delete cemented out code.
2533         (encode_builtin_char_1): Modify for new allocation of builtin
2534         Mojikyo characters.
2535
2536         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2537
2538 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2539
2540         * mule-charset.c (Vcharset_ucs_cns): New variable.
2541         (Qucs_cns): New variable.
2542         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2543         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2544
2545 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2546
2547         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2548
2549 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2550
2551         * search.c (search_buffer): Make `charset_base_code' as
2552         character-id >> 6 to eliminate the corresponding last byte in
2553         UTF-8 representation [I'm not sure it is right thing].
2554         (boyer_moore): Likewise.
2555
2556 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2557
2558         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2559         representation in MULE.
2560
2561 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2562
2563         * text-coding.c (Fmake_coding_system): Use
2564         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2565         `EXTERNAL_PROPERTY_LIST_LOOP'.
2566
2567 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2568
2569         * text-coding.c (decode_output_utf8_partial_char): New function.
2570         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2571
2572 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2573
2574         * text-coding.c (decode_coding_utf8): Output original byte
2575         sequence if it is broken; change order of conditions.
2576
2577         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2578         of conditions.
2579
2580         * mb-multibyte.h (BYTE_ASCII_P):
2581         Use bit ops for char-signedness safety.
2582         (BYTE_C0_P): Use bit ops for char-signedness safety.
2583         (BYTE_C1_P): Use bit ops for char-signedness safety.
2584
2585         * character.h: (XCHAR_OR_CHAR_INT):
2586         Always use inline function.
2587         Remove redundant type checking assert() - XINT will abort quite
2588         nicely.
2589
2590 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2591
2592         * text-coding.c: (Fencode_shift_jis_char):
2593         (Fencode_big5_char):
2594         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2595         Replace 0 with '\0' when working with bytes.
2596         Replace initial "(" with "\(" in docstrings.
2597
2598         (Fmake_coding_system):
2599         When type is ccl and value is vector, register it with a proper
2600         symbol.  And checks whether the given ccl program is valid.
2601         (mule_decode): When calling ccl_driver, if src indicates
2602         NULL pointer, set an empty string instead.
2603         (mule_encode): Likewise.
2604
2605         (detect_eol_type):
2606         (detect_coding_sjis):
2607         (decode_coding_sjis):
2608         (detect_coding_big5):
2609         (decode_coding_big5):
2610         (detect_coding_ucs4):
2611         (decode_coding_ucs4):
2612         (detect_coding_utf8):
2613         (decode_coding_utf8):
2614         (detect_coding_iso2022):
2615         (decode_coding_iso2022):
2616         (decode_coding_no_conversion):
2617         (mule_decode):
2618         Make all detecting and decoding functions take an Extbyte * arg.
2619         (text_encode_generic):
2620         (encode_coding_big5):
2621         (encode_coding_no_conversion):
2622         (mule_encode):
2623         Make all encoding functions take a Bufbyte * arg.
2624         Use size_t instead of unsigned int for memory sizes.
2625         Only cast to unsigned char whenever dereferencing Extbyte *.
2626
2627         (struct lrecord_description fcd_description_1): Use countof.
2628         (complex_vars_of_file_coding):
2629         Use countof instead of sizeof.
2630         Use CHECK_NATNUM instead of CHECK_INT.
2631
2632 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2633
2634         * mule-charset.c (Fget_char_attribute): Add new optional argument
2635         `default-value'.
2636         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2637         (remove_char_ccs): Likewise.
2638
2639 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2640
2641         * text-coding.c (char_encode_shift_jis): New implementation in
2642         UTF-2000.
2643         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2644         ...)'.
2645
2646         * mule-charset.c (Vcharset_chinese_big5): New variable in
2647         UTF-2000.
2648         (Qchinese_big5): New variable in UTF-2000.
2649         (BIG5_SAME_ROW): New macro in UTF-2000.
2650         (make_builtin_char): Use builtin characters of
2651         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2652         characters of `Vcharset_chinese_big5'.
2653         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2654         (complex_vars_of_mule_charset): Add new coded-charset
2655         `chinese-big5' in UTF-2000.
2656
2657         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2658         (Vcharset_chinese_big5): New external variable declaration.
2659         (Vcharset_japanese_jisx0208_1990): Likewise.
2660
2661 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2662
2663         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2664         function.
2665         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2666
2667 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2668
2669         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2670         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2671         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2672         `mojikyo-pj-*'.
2673
2674 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2675
2676         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2677
2678 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2679
2680         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2681         to 0.17.
2682
2683 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2684
2685         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2686         for `CHARSET_BY_ATTRIBUTES'.
2687         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2688         `CHARSET_BY_ATTRIBUTES'.
2689
2690         * text-coding.c (struct decoding_stream): Rename member `CH' to
2691         `CPOS'.
2692         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2693         (decode_coding_sjis): Likewise.
2694         (decode_coding_big5): Likewise.
2695         (decode_coding_ucs4): Likewise.
2696         (decode_coding_utf8): Likewise.
2697         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2698         `CHARSET_BY_ATTRIBUTES'.
2699         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2700         `str->counter'; decode 3, 4 bytes sets.
2701         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2702         sets.
2703         (decode_coding_no_conversion): Use `str->cpos' instead of
2704         `str->ch'.
2705
2706         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2707         (Qmojikyo_2022_1): New variable.
2708         (make_charset): Don't use `CHARSET_TYPE_*'.
2709         (range_charset_code_point): Support coded-charset
2710         `mojikyo-2022-1'.
2711         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2712         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2713         `CHARSET_BY_ATTRIBUTES'.
2714         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2715         `CHARSET_BY_ATTRIBUTES'.
2716         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2717         (complex_vars_of_mule_charset): Add new coded-charset
2718         `mojikyo-2022-1'.
2719
2720         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2721         interface; changed to inline function.
2722
2723         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2724         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2725         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2726         (CHARSET_TYPE_94): Deleted.
2727         (CHARSET_TYPE_94X94): Deleted.
2728         (CHARSET_TYPE_96): Deleted.
2729         (CHARSET_TYPE_96X96): Deleted.
2730         (CHARSET_TYPE_128): Deleted.
2731         (CHARSET_TYPE_128X128): Deleted.
2732         (CHARSET_TYPE_256): Deleted.
2733         (CHARSET_TYPE_256X256): Deleted.
2734         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2735         to inline function.
2736         (DECODE_MOJIKYO_2022): New inline function.
2737         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2738         `Vcharset_mojikyo_2022_1'.
2739
2740 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2741
2742         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2743         instead of `EQ'.
2744         (put_byte_table): Likewise.
2745         (char_id_table_equal): Use `get_byte_table' [new implementation].
2746
2747 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2748
2749         * mule-charset.c: Include <limits.h> in UTF-2000.
2750         (BT_UINT8_MIN): New macro in UTF-2000.
2751         (BT_UINT8_MAX): New macro in UTF-2000.
2752         (BT_UINT8_t): New macro in UTF-2000.
2753         (BT_UINT8_nil): New macro in UTF-2000.
2754         (BT_UINT8_unbound): New macro in UTF-2000.
2755         (INT_UINT8_P): New inline function in UTF-2000.
2756         (UINT8_VALUE_P): New inline function in UTF-2000.
2757         (UINT8_ENCODE): New inline function in UTF-2000.
2758         (UINT8_DECODE): New inline function in UTF-2000.
2759         (mark_uint8_byte_table): New function in UTF-2000.
2760         (print_uint8_byte_table): New function in UTF-2000.
2761         (uint8_byte_table_equal): New function in UTF-2000.
2762         (uint8_byte_table_hash): New function in UTF-2000.
2763         (make_uint8_byte_table): New function in UTF-2000.
2764         (uint8_byte_table_same_value_p): New function in UTF-2000.
2765         (BT_UINT16_MIN): New macro in UTF-2000.
2766         (BT_UINT16_MAX): New macro in UTF-2000.
2767         (BT_UINT16_t): New macro in UTF-2000.
2768         (BT_UINT16_nil): New macro in UTF-2000.
2769         (BT_UINT16_unbound): New macro in UTF-2000.
2770         (INT_UINT16_P): New inline function in UTF-2000.
2771         (UINT16_VALUE_P): New inline function in UTF-2000.
2772         (UINT16_ENCODE): New inline function in UTF-2000.
2773         (UINT16_DECODE): New inline function in UTF-2000.
2774         (UINT8_TO_UINT16): New inline function in UTF-2000.
2775         (mark_uint16_byte_table): New function in UTF-2000.
2776         (print_uint16_byte_table): New function in UTF-2000.
2777         (uint16_byte_table_equal): New function in UTF-2000.
2778         (uint16_byte_table_hash): New function in UTF-2000.
2779         (make_uint16_byte_table): New function in UTF-2000.
2780         (uint16_byte_table_same_value_p): New function in UTF-2000.
2781         (print_byte_table): New function in UTF-2000.
2782         (byte-table): Use `print_byte_table' as printer.
2783         (make_byte_table): Delete second argument `older'.
2784         (byte_table_same_value_p): New function in UTF-2000.
2785         (copy_byte_table): Deleted.
2786         (get_byte_table): New function in UTF-2000.
2787         (put_byte_table): New function in UTF-2000.
2788         (print_char_id_table): New function in UTF-2000.
2789         (char-id-table): Use `print_char_id_table' as printer.
2790         (make_char_id_table): Delete second argument `older'.
2791         (get_char_id_table): Use `get_byte_table [new implementation].
2792         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2793         implementation].
2794         (Ffind_char_attribute_table): New function in UTF-2000.
2795         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2796         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2797         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2798         (syms_of_mule_charset): Add new function
2799         `find-char-attribute-table' in UTF-2000.
2800
2801         * lrecord.h (enum lrecord_type): Add
2802         `lrecord_type_uint16_byte_table' and
2803         `lrecord_type_uint8_byte_table'.
2804
2805         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2806         (Lisp_Uint8_Byte_Table): New type.
2807         (XUINT8_BYTE_TABLE): New macro.
2808         (XSETUINT8_BYTE_TABLE): New macro.
2809         (UINT8_BYTE_TABLE_P): New macro.
2810         (GC_UINT8_BYTE_TABLE_P): New macro.
2811         (struct Lisp_Uint16_Byte_Table): New structure.
2812         (Lisp_Uint16_Byte_Table): New type.
2813         (XUINT16_BYTE_TABLE): New macro.
2814         (XSETUINT16_BYTE_TABLE): New macro.
2815         (UINT16_BYTE_TABLE_P): New macro.
2816         (GC_UINT16_BYTE_TABLE_P): New macro.
2817
2818 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2819
2820         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2821         (Vcharacter_ideographic_strokes_table): Deleted.
2822         (Vcharacter_total_strokes_table): Deleted.
2823         (Vcharacter_morohashi_daikanwa_table): Deleted.
2824         (Vcharacter_decomposition_table): Deleted.
2825         (Qname): Deleted because it is duplicated.
2826         (Qideographic_radical): Deleted.
2827         (Qideographic_strokes): Deleted.
2828         (Qtotal_strokes): Deleted.
2829         (Qmorohashi_daikanwa): Deleted.
2830         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2831         `ideographic-radical', `ideographic-strokes', `total-strokes',
2832         `morohashi-daikanwa' and `->decomposition'.
2833         (Fget_char_attribute): Likewise.
2834         (Fput_char_attribute): Likewise; use `make-vector' instead of
2835         `make_older_vector' for `->decomposition' value.
2836         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2837         `ideograph-daikanwa'.
2838         (syms_of_mule_charset): Delete builtin symbols `name',
2839         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2840         `morohashi-daikanwa'.
2841         (vars_of_mule_charset): Don't setup
2842         `Vcharacter_ideographic_radical_table',
2843         `Vcharacter_ideographic_strokes_table',
2844         `Vcharacter_total_strokes_table',
2845         `Vcharacter_morohashi_daikanwa_table' and
2846         `Vcharacter_decomposition_table'.
2847
2848 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2849
2850         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2851         `make_older_vector', `make_vector_newer_1' and
2852         `make_vector_newer'.
2853
2854         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2855         `make_older_vector' and `make_vector_newer'.
2856
2857         * config.h.in (HAVE_GGC): New macro.
2858
2859 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2860
2861         * mule-charset.c (struct char_attribute_list_closure): New
2862         structure in UTF-2000.
2863         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2864         (Fchar_attribute_list): Likewise.
2865         (Fset_charset_mapping_table): Use `make_vector_newer'.
2866         (Fdecode_builtin_char): New function in UTF-2000.
2867         (syms_of_mule_charset): Add new function `char-attribute-list' and
2868         `decode-builtin-char' in UTF-2000.
2869
2870         * lisp.h (make_vector_newer): New prototype.
2871
2872         * alloc.c (make_vector_newer_1): New function.
2873         (make_vector_newer): New function.
2874
2875 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2876
2877         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2878         50100)'.
2879
2880 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2881
2882         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2883         (Vcharacter_attribute_table): Deleted.
2884         (Vcharacter_name_table): Deleted.
2885         (put_char_attribute): Deleted.
2886         (remove_char_attribute): Deleted.
2887         (struct char_attribute_alist_closure): New structure.
2888         (add_char_attribute_alist_mapper): New function.
2889         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2890         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2891         (Fget_char_attribute): Likewise.
2892         (Fput_char_attribute): Likewise.
2893         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2894         of `remove_char_attribute'.
2895         (Fdefine_char): Return character.
2896         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2897         and `Vcharacter_name_table'.
2898         (complex_vars_of_mule_charset): Likewise
2899         `Vchar_attribute_hash_table'.
2900
2901 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2902
2903         * character.h (CHARC_CHARSET): New macro.
2904         (CHARC_CHARSET_ID): New macro.
2905         (CHARC_CODE_POINT): New macro.
2906         (CHARC_COLUMNS): New macro.
2907         (CHARC_TO_CHAR): New inline function.
2908         (CHARC_EQ): New inline function.
2909         (CHARC_ASCII_EQ): New inline function.
2910         (CHARC_IS_SPACE): New inline function.
2911         (ASCII_TO_CHARC): New inline function.
2912
2913         * char-ucs.h (encode_char_2): Deleted.
2914         (ENCODE_CHAR): Use `encode_char_1' again.
2915         (breakup_char_1): Likewise.
2916         (CHAR_TO_CHARC): New inline function.
2917
2918         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2919
2920 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2921
2922         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2923         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2924         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2925         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2926         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2927         `CHARC_IS_SPACE'.
2928         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2929
2930         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2931         `CHARC_CODE_POINT'.
2932         (x_output_display_block): Use `CHARC_CHARSET' and
2933         `CHARC_ASCII_EQ'.
2934
2935         * redisplay-tty.c (tty_output_display_block): Use
2936         `CHARC_ASCII_EQ'.
2937         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2938
2939         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2940
2941         * insdel.c (find_charsets_in_charc_string): Use
2942         `CHARC_CHARSET_ID'.
2943         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2944         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2945         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2946         (convert_charc_string_into_malloced_string): Likewise.
2947
2948 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2949
2950         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2951         instead of <Emchar_dynarr *> for buf; use
2952         `convert_bufbyte_string_into_charc_dynarr' instead of
2953         `convert_bufbyte_string_into_emchar_dynarr'; use
2954         `find_charsets_in_charc_string' instead of
2955         `find_charsets_in_emchar_string'.
2956
2957         * redisplay.h:
2958         - Include "character.h".
2959         (struct rune): New member `cglyph'; delete member `chr'.
2960
2961         * redisplay.c (redisplay_text_width_charc_string): New function;
2962         delete `redisplay_text_width_emchar_string'.
2963         (rtw_charc_dynarr): New variable; renamed from
2964         `rtw_emchar_dynarr'.
2965         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2966         `rtw_emchar_dynarr'; use
2967         `convert_bufbyte_string_into_charc_dynarr' instead of
2968         `convert_bufbyte_string_into_emchar_dynarr'; use
2969         `redisplay_text_width_charc_string' instead of
2970         `redisplay_text_width_emchar_string'.
2971         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2972         instead of `rtw_emchar_dynarr'; use
2973         `convert_bufbyte_string_into_charc_dynarr' instead of
2974         `convert_bufbyte_string_into_emchar_dynarr'.
2975         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2976         `redisplay_text_width_charc_string' instead of
2977         `redisplay_text_width_emchar_string'.
2978         (create_text_block): Modify for <struct rune> change.
2979         (generate_formatted_string_db): Likewise.
2980         (create_string_text_block): Likewise.
2981         (pixel_to_glyph_translation): Likewise.
2982
2983         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2984         instead of <const Emchar *>.
2985         (x_text_width): Likewise.
2986         (x_output_display_block): Use <Charc_dynarr *> instead
2987         <Emchar_dynarr *>; modify for <structure rune> change.
2988         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2989         *>.
2990
2991         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2992         <const Emchar *>; use `charc_string_displayed_columns' instead of
2993         `emchar_string_displayed_columns'.
2994         (tty_output_display_block): Use <Charc_dynarr *> instead of
2995         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2996         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2997         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2998         `tty_output_emchar_dynarr_dynarr'.
2999         (tty_output_charc_dynarr): New function; delete
3000         `tty_output_charc_dynarr'.
3001
3002         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3003         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3004         <Emchar_dynarr *> for buf; use
3005         `convert_bufbyte_string_into_charc_dynarr' instead of
3006         `convert_bufbyte_string_into_emchar_dynarr'.
3007
3008         * frame.c (title_string_charc_dynarr): New variable; renamed from
3009         `title_string_emchar_dynarr'.
3010         (generate_title_string): Use `title_string_charc_dynarr' instead
3011         of `title_string_emchar_dynarr'; use
3012         `convert_charc_string_into_malloced_string' instead of
3013         `convert_emchar_string_into_malloced_string'.
3014         (init_frame): Use `title_string_charc_dynarr' instead of
3015         `title_string_emchar_dynarr'.
3016
3017         * console.h:
3018         - Include "character.h".
3019         (struct console_methods): Use <const Charc *> instead of <const
3020         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3021         <Emchar_dynarr *> in output_string_method.
3022
3023         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3024         <Emchar_dynarr *>.
3025
3026         * console-stream.c (stream_text_width): Use <const Charc *>
3027         instead of <const Emchar *>.
3028
3029         * character.h (Charc_dynarr): New type.
3030
3031         * char-ucs.h (structure Charc): New structure; define new type
3032         `Charc'.
3033
3034         * char-lb.h (DECODE_CHAR): New inline function.
3035         (encode_char_1): New inline function.
3036         (ENCODE_CHAR): New macro.
3037         (structure Charc): New structure; define new type `Charc'.
3038
3039         * char-1byte.h (Vcharset_control_1): New macro.
3040         (Vcharset_latin_iso8859_1): New macro.
3041         (DECODE_CHAR): New inline function.
3042         (encode_char_1): New inline function.
3043         (ENCODE_CHAR): New macro.
3044         (structure Charc): New structure; define new type `Charc'.
3045
3046         * insdel.c (find_charsets_in_charc_string): New function; delete
3047         `find_charsets_in_emchar_string'.
3048         (charc_string_displayed_columns): New function; delete
3049         `emchar_string_displayed_columns'.
3050         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3051         `convert_bufbyte_string_into_emchar_dynarr'.
3052         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3053         `convert_charc_string_into_bufbyte_dynarr'.
3054         (convert_charc_string_into_malloced_string): New function; delete
3055         `convert_charc_string_into_malloced_string'.
3056
3057         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3058         `find_charsets_in_emchar_string'.
3059         (charc_string_displayed_columns): New prototype; delete
3060         `emchar_string_displayed_columns'.
3061         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3062         `convert_charc_string_into_bufbyte_dynarr'.
3063         (convert_charc_string_into_malloced_string): New prototype; delete
3064         `convert_charc_string_into_malloced_string'.
3065
3066 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3067
3068         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3069
3070 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3071
3072         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3073
3074         * char-ucs.h: Use <short> for <Charset_ID>.
3075
3076         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3077         <Charset_ID>.
3078
3079 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3080
3081         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3082         to 0.16.
3083
3084 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3085
3086         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3087         variable.
3088         (Qmorohashi_daikanwa): New variable.
3089         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3090         for `morohashi-daikanwa' attribute.
3091         (Fget_char_attribute): Likewise.
3092         (Fput_char_attribute): Likewise.
3093         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3094         has the same value of `ideograph-daikanwa'.
3095         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3096         (vars_of_mule_charset): Setup
3097         `Vcharacter_morohashi_daikanwa_table'.
3098
3099 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3100
3101         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3102         attributes.
3103         (add_charset_to_list_mapper): Add `key' instead of
3104         `XCHARSET_NAME (value)' to return aliases.
3105
3106 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3107
3108         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3109         variable.
3110         (Vcharacter_ideographic_strokes_table): New variable.
3111         (Qideographic_radical): New variable.
3112         (Qideographic_strokes): New variable.
3113         (Fchar_attribute_alist): Use
3114         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3115         attribute; use `Vcharacter_ideographic_strokes_table' for
3116         `ideographic-strokes' attribute.
3117         (Fget_char_attribute): Likewise.
3118         (Fput_char_attribute): Likewise.
3119         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3120         `ideographic-strokes'.
3121         (vars_of_mule_charset): Setup
3122         `Vcharacter_ideographic_radical_table' and
3123         `Vcharacter_ideographic_strokes_table'.
3124
3125 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3126
3127         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3128         (Qtotal_strokes): New variable.
3129         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3130         `total-strokes' attribute.
3131         (Fget_char_attribute): Likewise.
3132         (Fput_char_attribute): Likewise.
3133         (syms_of_mule_charset): Add new symbol `total-strokes'.
3134         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3135
3136 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3137
3138         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3139         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3140         are found.
3141         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3142         `->decomposition' attribute.
3143         (Fput_char_attribute): Likewise.
3144         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3145
3146 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3147
3148         * mule-charset.c (decoding_table_check_elements): New function.
3149         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3150
3151 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3152
3153         * mule-charset.c (Fset_charset_mapping_table): Use
3154         `put_char_ccs_code_point'.
3155
3156 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3157
3158         * mule-charset.c (decoding_table_put_char): New inline function.
3159         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3160
3161 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3162
3163         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3164         (XCHARSET_BYTE_SIZE): New macro.
3165         (decoding_table_remove_char): New inline function.
3166         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3167         `decoding_table_remove_char'.
3168         (remove_char_ccs): Use `decoding_table_remove_char'.
3169         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3170
3171 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3172
3173         * mule-charset.c (Vcharacter_name_table): New variable.
3174         (Qname): New variable.
3175         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3176         attribute.
3177         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3178         `Vcharacter_name_table' for `name' attribute.
3179         (Fremove_char_attribute): Use function `remove_char_ccs'.
3180         (put_char_ccs_code_point): New function.
3181         (remove_char_ccs): New function.
3182         (syms_of_mule_charset): Add new symbol `name'.
3183         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3184
3185 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3186
3187         * mule-charset.c (make_byte_table): Add new argument `older'.
3188         (make_char_id_table): Likewise.
3189         (copy_char_id_table): Comment out because it is not used.
3190         (put_char_id_table): Modify for `make_byte_table'.
3191         (Fput_char_attribute): Make encoding_table as older object;
3192         inherit older bit of `Vcharacter_composition_table'.
3193         (mark_charset): Don't mark `cs->encoding_table'.
3194         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3195         normal object; make `Vcharacter_composition_table' as an older
3196         object; delete staticpro for `Vcharacter_composition_table'; make
3197         `Vcharacter_variant_table' as a normal object.
3198
3199         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3200         (mark_object): Don't check older object in UTF-2000.
3201
3202         * lrecord.h (struct lrecord_header): Add new member `older' in
3203         UTF-2000.
3204         (set_lheader_implementation): Setup `SLI_header->older' in
3205         UTF-2000.
3206         (set_lheader_older_implementation): New macro in UTF-2000.
3207         (OLDER_RECORD_P): New macro in UTF-2000.
3208         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3209         (alloc_older_lcrecord): New prototype in UTF-2000.
3210         (alloc_older_lcrecord_type): New macro in UTF-2000.
3211
3212 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3213
3214         * mule-charset.c (byte_table_description): Use
3215         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3216         (char_id_table_description): Delete bogus `, 1'.
3217         (Fget_char_attribute): Refer encoding_table of each coded-charset
3218         to get value of coded-charset attribute of a character.
3219         (Fput_char_attribute): Use `make_older_vector' instead of
3220         `make_vector'; use encoding_table of each coded-charset to store
3221         value of coded-charset attribute of a character.
3222         (Fremove_char_attribute): Use encoding_table of each coded-charset
3223         to store value of coded-charset attribute of a character.
3224         (mark_charset): Mark `cs->encoding_table'; don't mark
3225         `cs->decoding_table'.
3226         (charset_description): Add description of new member
3227         `encoding_table'.
3228         (make_charset): Initialize `encoding_table'.
3229
3230         * char-ucs.h (struct Lisp_Charset): Add new member
3231         `encoding_table'.
3232         (CHARSET_ENCODING_TABLE): New macro.
3233         (XCHARSET_ENCODING_TABLE): New macro.
3234         (charset_code_point): New implementation.
3235         (encode_char_1): Likewise.
3236
3237         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3238         (disksave_object_finalization_1): Call finalizers of
3239         `all_older_lcrecords' in UTF-2000.
3240         (make_older_vector): New function in UTF-2000.
3241         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3242         UTF-2000.
3243
3244         * lisp.h (make_older_vector): New prototype in UTF-2000.
3245
3246 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3247
3248         * lrecord.h (enum lrecord_type): Rename
3249         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3250
3251         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3252         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3253         `get_char_code_table'.
3254
3255         * mule-charset.c (mark_char_id_table): Renamed from
3256         `mark_char_code_table'.
3257         (char_id_table_equal): Renamed from `char_code_table_equal'.
3258         (char_id_table_hash): Renamed from `char_code_table_hash'.
3259         (make_char_id_table): Renamed from `make_char_code_table'.
3260         (copy_char_id_table): Renamed from `copy_char_code_table'.
3261         (get_char_id_table): Renamed from `get_char_code_table'.
3262         (put_char_id_table): Renamed from `put_char_code_table'.
3263         (to_char_id): Renamed from `to_char_code'.
3264
3265         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3266         `Lisp_Char_Code_Table'.
3267         (char_id_table): Renamed from `char_code_table'.
3268         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3269         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3270         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3271         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3272         (get_char_id_table): Renamed from `get_char_code_table'.
3273
3274 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3275
3276         * lrecord.h (enum lrecord_type): Rename
3277         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3278
3279         * mule-charset.c (mark_byte_table): Renamed from
3280         `mark_char_byte_table'.
3281         (byte_table_equal): Renamed from `char_byte_table_equal'.
3282         (byte_table_hash): Renamed from `byte_table_hash'.
3283         (make_byte_table): Renamed from `make_byte_table'.
3284         (copy_byte_table): Renamed from `copy_char_byte_table'.
3285
3286         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3287         `Lisp_Char_Byte_Table'.
3288         (byte_table): Renamed from `char_byte_table'.
3289         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3290         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3291         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3292         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3293
3294 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3295
3296         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3297         (dfc_convert_to_internal_format): Likewise.
3298         
3299         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3300         * text-coding.c (Fcoding_system_alias_p): New function.
3301         * text-coding.c (Fcoding_system_aliasee): New function.
3302         * text-coding.c (append_suffix_to_symbol): New function.
3303         * text-coding.c (dangling_coding_system_alias_p): New function.
3304         * text-coding.c (Ffind_coding_system):
3305         * text-coding.c (Fcopy_coding_system):
3306         * text-coding.c (encode_coding_no_conversion):
3307         * text-coding.c (syms_of_file_coding):
3308         * text-coding.c (vars_of_file_coding):
3309         Rewrite coding system alias code.
3310         Allow nested aliases, like symbolic links.
3311         Allow redefinition of coding system aliases.
3312         Prevent existence of dangling coding system aliases.
3313         Eliminate convert_to_external_format.
3314         Eliminate convert_to_internal_format.
3315         
3316         * text-coding.c: Change enum eol_type to eol_type_t.
3317
3318 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3319
3320         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3321         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3322
3323         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3324         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3325
3326 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3327
3328         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3329         `ideograph-daikanwa'.
3330
3331         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3332         (Vcharset_ucs_bmp): Likewise.
3333         (Vcharset_mojikyo): Add new extern variable definition.
3334         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3335         (Vcharset_latin_iso8859_3): Likewise.
3336         (Vcharset_latin_iso8859_4): Likewise.
3337         (Vcharset_latin_iso8859_9): Likewise.
3338         (Vcharset_latin_viscii_lower): Likewise.
3339         (Vcharset_latin_viscii_upper): Likewise.
3340         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3341         `mojikyo' code-point is used to decode.
3342         (encode_char_2): New function [to convert `mojikyo' code-point to
3343         Mojikyo font encoding].
3344         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3345         (breakup_char_1): Likewise.
3346         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3347
3348 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * text-coding.c (Fmake_coding_system): Add document about
3351         `disable-composition' property.
3352
3353 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3354
3355         * text-coding.c (Qdisable_composition): New variable; delete
3356         `Qcomposite'.
3357         (Fmake_coding_system): Add new property `disable-composite';
3358         delete property `composite'.
3359         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3360         instead of `!CODING_SYSTEM_COMPOSITE'.
3361         (syms_of_file_coding): Add new symbol `disable-composition';
3362         delete symbol `composite'.
3363
3364         * file-coding.h (struct Lisp_Coding_System): Add
3365         `disable_composition'; delete `enable_composition'.
3366         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3367         `CODING_SYSTEM_COMPOSITE'.
3368         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3369         `XCODING_SYSTEM_COMPOSITE'.
3370
3371 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3372
3373         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3374         to 0.15.
3375
3376 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3377
3378         * text-coding.c (Qcomposite): New variable.
3379         (Fmake_coding_system): Add new property `composite'.
3380         (struct decoding_stream): Add `combined_char_count',
3381         `combined_chars' and `combining_table' in UTF-2000.
3382         (COMPOSE_FLUSH_CHARS): New macro.
3383         (COMPOSE_ADD_CHAR): New macro.
3384         (reset_decoding_stream): Reset `str->combined_char_count' and
3385         `str->combining_table' in UTF-2000.
3386         (decode_coding_iso2022): Modify for character-decomposition.
3387         (syms_of_file_coding): Add new symbol `composite'.
3388
3389 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3390
3391         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3392         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3393         of `Vcharacter_composition_table' if `->decomposition' property
3394         has only 1 element.
3395         (Qlatin_tcvn5712): New variable.
3396         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3397         (complex_vars_of_mule_charset): Add new coded-charset
3398         `latin-tcvn5712'.
3399
3400         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3401
3402 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3403
3404         * file-coding.h (struct Lisp_Coding_System): Add
3405         `enable_composition'.
3406         (CODING_SYSTEM_COMPOSITE): New macro.
3407         (XCODING_SYSTEM_COMPOSITE): New macro.
3408
3409 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3410
3411         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3412
3413 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3414
3415         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3416         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3417
3418 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3419
3420         * mule-charset.c (Vcharset_mojikyo): New variable.
3421         (Fdefine_char): Don't use coded-charset which does not have
3422         non-builtin character range to allocate character-id.
3423         (Qmojikyo): New variable.
3424         (syms_of_mule_charset): Add new symbol `mojikyo'.
3425         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3426
3427         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3428         (LEADING_BYTE_MOJIKYO): New macro.
3429         (MIN_CHAR_MOJIKYO): New macro.
3430         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3431         (MAX_CHAR_MOJIKYO): New macro.
3432
3433 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3434
3435         * mule-charset.c (remove_char_attribute): Fixed.
3436
3437 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3438
3439         * mule-charset.c (remove_char_attribute): New function.
3440         (Fremove_char_attribute): New function.
3441         (encode_builtin_char_1): Comment out builtin-support for
3442         greek-iso8859-7 and cyrillic-iso8859-5.
3443         (Fdecode_char): Check `code' is an integer.
3444         (syms_of_mule_charset): Add `remove-char-attribute'.
3445         (MIN_CHAR_GREEK): Deleted.
3446         (MAX_CHAR_GREEK): Likewise.
3447         (MIN_CHAR_CYRILLIC): Likewise.
3448         (MAX_CHAR_CYRILLIC): Likewise.
3449         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3450         MAX_CHAR_GREEK for `greek-iso8859-7'.
3451
3452         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3453         (MAX_CHAR_GREEK): Likewise.
3454         (MIN_CHAR_CYRILLIC): Likewise.
3455         (MAX_CHAR_CYRILLIC): Likewise.
3456
3457 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3458
3459         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3460         format is used without `ucs' property.
3461         (Fdecode_char): Fix problem with GR representation.
3462         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3463         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3464
3465 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3466
3467         * mule-charset.c (make_builtin_char): New function.
3468         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3469         (Fset_charset_mapping_table): Modify for new representation of
3470         code-point.
3471         (Fdecode_char): New function.
3472         (syms_of_mule_charset): Add new builtin function `decode-char' in
3473         UTF-2000.
3474
3475         * char-ucs.h (make_builtin_char): New prototype.
3476         (DECODE_CHAR): New inline function.
3477         (MAKE_CHAR): Use `DECODE_CHAR'.
3478
3479 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3480
3481         * text-coding.c (parse_charset_conversion_specs): Use
3482         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3483         `XCHARSET_TYPE'.
3484         (iso2022_designate): Likewise.
3485
3486         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3487         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3488
3489         * mule-charset.c (Vcharset_ucs): New variable.
3490         (print_charset): Change design; use `CHARSET_CHARS' and
3491         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3492         (make_charset): Change signature to specify `chars' and
3493         `dimension' instead of `type'.
3494         (range_charset_code_point): Modify for 256^n-set.
3495         (encode_builtin_char_1): Encode as `ucs' in default.
3496         (Fmake_charset): Modify for `make_charset'.
3497         (Fmake_reverse_direction_charset): Likewise.
3498         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3499         UTF-2000.
3500         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3501         for `make_charset'.
3502
3503         * char-ucs.h (Vcharset_ucs): New variable.
3504         (LEADING_BYTE_UCS): New macro.
3505         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3506         and `chars' to `unsigned short' from `unsigned int'.
3507         (CHARSET_TYPE): Deleted.
3508         (XCHARSET_TYPE): Deleted.
3509
3510 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3511
3512         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3513
3514         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3515         (ENCODE_CHAR): New macro.
3516
3517 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3518
3519         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3520         to 0.14 (Kawachi-Katakami).
3521
3522 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3523
3524         * text-coding.c (char_encode_shift_jis): Modify for
3525         `charset_code_point'.
3526         (char_encode_iso2022): Likewise.
3527
3528         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3529         (integer) instead of list of <Lisp_Object>s (integers) as the
3530         format of code-point of a coded-charset.
3531         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3532         (encode_builtin_char_1): New function; delete
3533         `split_builtin_char'.
3534         (charset_code_point): Return <int> instead of <Lisp_Object>.
3535         (Fsplit_char): Don't use `SPLIT_CHAR'.
3536
3537         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3538         prototype for `split_builtin_char'.
3539         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3540         (charset_code_point): Likewise.
3541         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3542         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3543
3544 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3545
3546         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3547         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3548
3549 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3550
3551         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3552
3553         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3554         (MAX_CHAR_OBS_94x94): Deleted.
3555
3556 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3557
3558         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3559
3560         * char-ucs.h (MAX_CHAR_BMP): New macro.
3561
3562 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3563
3564         * text-coding.c: Sync with r21-2-24.
3565
3566 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3567
3568         * file-coding.c: Modify for UTF-2000.
3569
3570 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3571
3572         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3573         to 0.13 (Takaida).
3574
3575 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3576
3577         * mule-charset.c (split_builtin_char): Delete builtin support for
3578         `katakana-jisx0201'.
3579         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3580         BMP area in builtin representation.
3581
3582         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3583         `Vcharset_katakana_jisx0201'.
3584
3585 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3586
3587         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3588         (Qisolated): New variable.
3589         (Qinitial): New variable.
3590         (Qmedial): New variable.
3591         (Qfinal): New variable.
3592         (Qvertical): New variable.
3593         (Qsmall): New variable.
3594         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3595         `Qvertical' and `Qsmall'.
3596         (Qmojikyo_pj_[1 .. 21]): New variable.
3597         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3598         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3599         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3600         .. 21]'.
3601
3602 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3603
3604         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3605         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3606         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3607
3608 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3609
3610         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3611         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3612         BMP.
3613         (Qjapanese_jisx0208_1990): New variable.
3614         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3615         (complex_vars_of_mule_charset): Add new coded-charset
3616         `japanese-jisx0208-1990'.
3617
3618         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3619         (MIN_CHAR_JIS_X0208_1990): New macro.
3620         (MAX_CHAR_JIS_X0208_1990): New macro.
3621
3622 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3623
3624         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3625         coded-charset is not found.
3626
3627 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3628
3629         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3630         (Fdefine_char): Use `Fmake_char'.
3631
3632 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3633
3634         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3635         (Vcharset_hiragana_jisx0208): Deleted.
3636         (Vcharset_katakana_jisx0208): Deleted.
3637         (Qideograph_daikanwa): New variable.
3638         (Qhiragana_jisx0208): Deleted.
3639         (Qkatakana_jisx0208): Deleted.
3640         (split_builtin_char): Split `ideograph-daikanwa'.
3641         (Fsplit_char): New implementation for UTF-2000.
3642         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3643         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3644         (complex_vars_of_mule_charset): Add new coded-charset
3645         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3646         `katakana-jisx0208'.
3647
3648         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3649         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3650         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3651         (MIN_CHAR_DAIKANWA): New macro.
3652         (MAX_CHAR_DAIKANWA): New macro.
3653
3654 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3655
3656         * data.c (Fstring_to_number): Don't recognize floating point if
3657         base is not 10.
3658
3659 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3660
3661         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3662
3663 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3664
3665         * mule-charset.c (Qsquare): New variable.
3666         (to_char_code): Add `Qsquare'.
3667         (syms_of_mule_charset): Add new symbol `square'.
3668
3669 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3670
3671         * mule-charset.c (Qcircle): New variable.
3672         (to_char_code): Add `Qcircle'.
3673         (syms_of_mule_charset): Add new symbol `circle'.
3674
3675 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3676
3677         * mule-charset.c (Qfont): New variable.
3678         (to_char_code): Add `Qfont'.
3679         (syms_of_mule_charset): Add new symbol `font'.
3680
3681 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3682
3683         * mule-charset.c (Qsub): New variable.
3684         (to_char_code): Add `Qsub'.
3685         (syms_of_mule_charset): Add new symbol `sub'.
3686
3687 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3688
3689         * mule-charset.c (Fput_char_attribute): Convert each element of
3690         VALUE to GL position if ATTRIBUTE is a GR-set,
3691
3692 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3693
3694         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3695         coded-charset is a GR-set.
3696
3697 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3698
3699         * mule-charset.c (Fput_char_attribute): Check each element of
3700         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3701
3702 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3703
3704         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3705         UTF-2000.
3706         (Qethiopic_ucs): New variable in UTF-2000.
3707         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3708         (complex_vars_of_mule_charset): Add new coded-charset
3709         `ethiopic-ucs' in UTF-2000.
3710
3711         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3712         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3713         9)'.
3714         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3715         10)'.
3716         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3717
3718 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3719
3720         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3721         `ascii'.
3722
3723 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3724
3725         * mule-charset.c (Vcharacter_variant_table): New variable.
3726         (Q_ucs): New variable.
3727         (Fchar_variants): New function.
3728         (Fput_char_attribute): Register `->ucs' value to
3729         `Vcharacter_variant_table'.
3730         (syms_of_mule_charset): Add new function `char-variants' and new
3731         symbol `->ucs'.
3732         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3733
3734 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3735
3736         * mule-charset.c (get_char_code_table): Allow negative character
3737         code.
3738         (put_char_code_table): Likewise.
3739         (Vcharacter_composition_table): New variable.
3740         (Q_decomposition): New variable.
3741         (Qwide): New variable.
3742         (Qnarrow): New variable.
3743         (Qcompat): New variable.
3744         (QnoBreak): New variable.
3745         (Qsuper): New variable.
3746         (Qfraction): New variable.
3747         (to_char_code): New function.
3748         (Fget_composite_char): New function.
3749         (Fput_char_attribute): Register `->decomposition' value to
3750         `Vcharacter_composition_table'.
3751         (syms_of_mule_charset): Add new function `get-composite-char', new
3752         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3753         `super' and `fraction'.
3754         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3755
3756 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3757
3758         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3759         character; copy the return value.
3760
3761 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3762
3763         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3764
3765         * mule-charset.c (range_charset_code_point): Must use make_int.
3766         (split_builtin_char): New function.
3767
3768 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3769
3770         * mule-charset.c (char_byte_table): Change name from
3771         "char-code-table" to "char-byte-table".
3772         (mark_char_code_table): New function.
3773         (char_code_table_equal): New function.
3774         (char_code_table_hash): New function.
3775         (char_code_table_description): New constant.
3776         (char_code_table): New type.
3777         (make_char_code_table): New function.
3778         (copy_char_code_table): New function.
3779         (get_char_code_table): Modify for `char_code_table' type.
3780         (put_char_code_table): Likewise.
3781         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3782         (Kashiwara).
3783
3784         * char-ucs.h (char_code_table): New type.
3785         (XCHAR_CODE_TABLE): New macro.
3786         (XSETCHAR_CODE_TABLE): New macro.
3787         (CHAR_CODE_TABLE_P): New macro.
3788         (GC_CHAR_CODE_TABLE_P): New macro.
3789         (struct Lisp_Char_Code_Table): New structure.
3790
3791 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3792
3793         * mule-charset.c (Fmake_charset): Setup byte_offset for
3794         {94|96}^n-set.
3795
3796 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3797
3798         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3799         character.
3800
3801 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3802
3803         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3804         is found.
3805
3806 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3807
3808         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3809         charset, it is regarded as a charset.
3810         (put_char_attribute): New function in UTF-2000.
3811         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3812         charset, mapping-table of the charset is modified.
3813         (Fdefine_char): New function in UTF-2000.
3814         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3815         `Fput_char_attribute'.
3816         (syms_of_mule_charset): Add new function `define-char' and new
3817         symbol `ucs' in UTF-2000.
3818         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3819
3820 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3821
3822         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3823         non-UTF-2000 configuration.
3824
3825 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3826
3827         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3828         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3829
3830         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3831         deleted.
3832         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3833         (Fset_charset_mapping_table): Likewise.
3834
3835         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3836         (CHARSET_ENCODING_TABLE): Delete.
3837         (XCHARSET_ENCODING_TABLE): Delete.
3838         (charset_code_point): New interface.
3839
3840 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3841
3842         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3843         instead of `charset_get_byte1' and `charset_get_byte2'.
3844
3845         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3846         (charset_get_byte2): Deleted.
3847
3848 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3849
3850         * char-ucs.h (SPLIT_CHAR): New inline function.
3851         (breakup_char_1): Use `SPLIT_CHAR'.
3852
3853         * mule-charset.c (range_charset_code_point): New function.
3854         (charset_code_point): New function.
3855
3856         * char-ucs.h (range_charset_code_point): New interface.
3857         (breakup_char_1): Use `range_charset_code_point'.
3858
3859 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3860
3861         * mule-charset.c (Fmake_charset): Delete unused local variable
3862         `code_offset'.
3863
3864         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3865         (breakup_char_1): Find a charset and code-point in
3866         `Vcharacter_attribute_table'.
3867
3868 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3869
3870         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3871         to 0.10 (Yao).
3872
3873 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3874
3875         * mule-charset.c (Vcharacter_attribute_table): New variable.
3876         (Fchar_attribute_alist): New function.
3877         (Fget_char_attribute): New function.
3878         (Fput_char_attribute): New function.
3879         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3880         too.
3881         (syms_of_mule_charset): Add new function `char-attribute-alist',
3882         `get-char-attribute' and `put-char-attribute'.
3883         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3884
3885 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3886
3887         * mule-charset.c (Fmake_charset): Just use
3888         `get_unallocated_leading_byte'.
3889
3890         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3891         sets; don't use final-byte based number for private sets.
3892
3893 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3894
3895         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3896         integer.
3897
3898 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3899
3900         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3901         to 0.9.
3902
3903 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3904
3905         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3906         of `CHAR_LEADING_BYTE' in UTF-2000.
3907
3908         * insdel.c (find_charsets_in_bufbyte_string): Use
3909         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3910         (find_charsets_in_emchar_string): Likewise.
3911
3912         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3913         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3914
3915         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3916         (CHAR_CHARSET_ID): New macro.
3917
3918 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3919
3920         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3921         charset-id - MIN_LEADING_BYTE.
3922         (put_char_table): Likewise.
3923
3924 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3925
3926         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3927         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3928         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3929         (CHARSET_ID_OFFSET): New macro.
3930         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3931         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3932         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3933         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3934         4).
3935         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3936         5).
3937         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3938         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3939         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3940         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3941         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3942
3943 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3944
3945         * mule-charset.c (next_allocated_leading_byte): New variable in
3946         UTF-2000.
3947         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3948         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3949         (get_unallocated_leading_byte): Simply use
3950         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3951         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3952         UTF-2000.
3953
3954         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3955         (MAX_LEADING_BYTE_PRIVATE): New macro.
3956         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3957         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3958
3959 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3960
3961         * mule-charset.c (Fmake_charset): Allocate final-byte based
3962         charset-id for 94-set, 96-set and 94x94-set.
3963
3964 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3965
3966         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3967         ambiguous `else'.
3968         (Fmake_charset): Likewise.
3969         (complex_vars_of_mule_charset): Modify the font registry of
3970         `ucs-bmp' not to match `Ethiopic-Unicode'.
3971
3972 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3973
3974         * mule-charset.c (complex_vars_of_mule_charset): Add font
3975         registory of `ucs-bmp'.
3976
3977 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3978
3979         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3980         coded-charsets in `default-coded-charset-priority-list' when
3981         breaking up a character.
3982
3983         * mule-charset.c (Vcharset_latin_viscii): New variable.
3984         (Qlatin_viscii): New variable.
3985         (make_charset): Don't use `decoding_table'.
3986         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3987         byte_offset.
3988         (Fset_charset_mapping_table): New implementation.
3989         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3990         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3991         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3992         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3993         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3994         charset `latin_viscii'.
3995
3996         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3997         (CHARSET_TYPE_94X94): Change to 1 from 2.
3998         (CHARSET_TYPE_96): Change to 2 from 1.
3999         (CHARSET_TYPE_128): New macro.
4000         (CHARSET_TYPE_128X128): Change to 5 from 4.
4001         (CHARSET_TYPE_256): New macro.
4002         (CHARSET_TYPE_256X256): Change to 7 from 5.
4003         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4004
4005 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4006
4007         * text-coding.c (char_encode_shift_jis): Refer
4008         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4009         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4010
4011         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4012         (char_byte_table_equal): New function in UTF-2000.
4013         (char_byte_table_hash): New function in UTF-2000.
4014         (char_byte_table_description): New constant in UTF-2000.
4015         (char_byte_table): New type in UTF-2000.
4016         (make_char_byte_table): New function in UTF-2000.
4017         (copy_char_byte_table): New function in UTF-2000.
4018         (make_char_code_table): New macro in UTF-2000.
4019         (get_char_code_table): New function in UTF-2000.
4020         (put_char_code_table): New function in UTF-2000.
4021         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4022         (charset_description): Add setting in UTF-2000.
4023         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4024         `CHARSET_TO_BYTE1_TABLE(cs)'.
4025         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4026         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4027         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4028         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4029         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4030         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4031         `CHARSET_TO_BYTE2_TABLE(cs)'.
4032
4033         * char-ucs.h (char_byte_table): New type.
4034         (XCHAR_BYTE_TABLE): New macro.
4035         (XSETCHAR_BYTE_TABLE): New macro.
4036         (CHAR_BYTE_TABLE_P): New macro.
4037         (GC_CHAR_BYTE_TABLE_P): New macro.
4038         (struct Lisp_Char_Byte_Table): New structure.
4039         (get_char_code_table): New interface.
4040         (Emchar_to_byte_table): Deleted.
4041         (get_byte_from_character_table): Deleted.
4042         (struct Lisp_Charset): Add `encoding_table'; delete
4043         `to_byte1_table' and `to_byte2_table'.
4044         (CHARSET_ENCODING_TABLE): New macro.
4045         (CHARSET_TO_BYTE1_TABLE): Deleted.
4046         (CHARSET_TO_BYTE2_TABLE): Deleted.
4047         (XCHARSET_ENCODING_TABLE): New macro.
4048         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4049         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4050
4051 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4052
4053         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4054         `vietnamese-viscii-*'.
4055
4056 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4057
4058         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4059         (Qvietnamese_viscii_upper): New variable.
4060         (Fdefine_charset_alias): New function.
4061         (syms_of_mule_charset): Add new function `define-charset-alias'.
4062         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4063         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4064         `latin-viscii-*'.
4065
4066 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4067
4068         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4069         (MAX_CHAR_OBS_94x94): New macro.
4070         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4071         for 94x94 sets.
4072
4073         * mule-charset.c (put_byte_from_character_table): Change unit size
4074         from 128 to 256.
4075         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4076         not defined.
4077         (Fmake_reverse_direction_charset): Modify dummy argument of
4078         `make_charset' for non-UTF-2000 environment.
4079
4080 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4081
4082         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4083
4084         * mule-charset.c (destroy_byte_from_character_table): New macro.
4085         (latin_jisx0201_to_ucs): Deleted.
4086         (latin_iso8859_2_to_ucs): Deleted.
4087         (latin_iso8859_3_to_ucs): Deleted.
4088         (latin_iso8859_4_to_ucs): Deleted.
4089         (latin_iso8859_9_to_ucs): Deleted.
4090         (latin_viscii_lower_to_ucs): Deleted.
4091         (latin_viscii_upper_to_ucs): Deleted.
4092         (mark_charset): Mark `cs->decoding_table'.
4093         (Fcharset_mapping_table): Fix DOC-string.
4094         (Fset_charset_mapping_table): New function.
4095         (syms_of_mule_charset): Add nwe function
4096         `set-charset-mapping-table'.
4097         (complex_vars_of_mule_charset): Don't setup and use
4098         `latin_*_to_ucs'.
4099
4100 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4101
4102         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4103         charset.
4104
4105 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4106
4107         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4108         (Vcharset_katakana_jisx0208): New variable.
4109         (Qhiragana_jisx0208): New variable.
4110         (Qkatakana_jisx0208): New variable.
4111         (make_charset): Add new argument `byte_offset'.
4112         (charset_get_byte1): Modify for new coded-charset definition; use
4113         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4114         `XCHARSET_BYTE_OFFSET'.
4115         (Fmake_charset): Modify for `make_charset'.
4116         (Fmake_reverse_direction_charset): Likewise.
4117         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4118         `katakana-jisx0208'.
4119         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4120         `.'  in font registry of charset `katakana-jisx0201',
4121         `latin-jisx0201', `vietnamese-viscii-lower' and
4122         `vietnamese-viscii-upper'; modify DOC-string of charset
4123         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4124         registry of charset `japanese-jisx0208' not to use font for JIS
4125         X0208:1990; add new charset `hiragana-jisx0208' and
4126         `katakana-jisx0208'.
4127
4128         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4129         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4130         (struct Lisp_Charset): Add `byte_offset'.
4131         (CHARSET_BYTE_OFFSET): New macro.
4132         (XCHARSET_UCS_MIN): New macro.
4133         (XCHARSET_UCS_MAX): New macro.
4134         (XCHARSET_CODE_OFFSET): New macro.
4135         (XCHARSET_BYTE_OFFSET): New macro.
4136         (MIN_CHAR_HIRAGANA): New macro.
4137         (MAX_CHAR_HIRAGANA): New macro.
4138         (MIN_CHAR_KATAKANA): New macro.
4139         (MAX_CHAR_KATAKANA): New macro.
4140         (MAKE_CHAR): Modify for new coded-charset definition; use
4141         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4142         `XCHARSET_BYTE_OFFSET'.
4143
4144 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4145
4146         * mule-charset.c (CHAR96): Deleted.
4147         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4148         <Lisp_Object>.
4149         (latin_iso8859_2_to_ucs): Likewise.
4150         (latin_iso8859_3_to_ucs): Likewise.
4151         (latin_iso8859_4_to_ucs): Likewise.
4152         (latin_iso8859_9_to_ucs): Likewise.
4153         (latin_viscii_lower_to_ucs): Likewise.
4154         (latin_viscii_upper_to_ucs): Likewise.
4155         (latin_tcvn5712_to_ucs): Commented out.
4156         (make_charset): Change type of argument `decoding_table' from
4157         <Emchar*> to <Lisp_Object> [vector of characters].
4158         (Fmake_charset): Modify for `make_charset'.
4159         (Fmake_reverse_direction_charset): Likewise.
4160         (Fcharset_mapping_table): New function in UTF-2000.
4161         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4162         UTF-2000.
4163         (complex_vars_of_mule_charset): Modify for type change of
4164         `*_to_ucs'; modify for `make_charset'.
4165
4166         * char-ucs.h (struct Lisp_Charset): Change type of
4167         `decoding_table' from <Emchar*> to <Lisp_Object>.
4168         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4169
4170 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4171
4172         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4173         error with non-UTF-2000-Mule.
4174
4175 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4176
4177         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4178         in lisp again].
4179         (Vcharset_chinese_cns11643_4): Likewise.
4180         (Vcharset_chinese_cns11643_5): Likewise.
4181         (Vcharset_chinese_cns11643_6): Likewise.
4182         (Vcharset_chinese_cns11643_7): Likewise.
4183         (Qchinese_cns11643_3): Likewise.
4184         (Qchinese_cns11643_4): Likewise.
4185         (Qchinese_cns11643_5): Likewise.
4186         (Qchinese_cns11643_6): Likewise.
4187         (Qchinese_cns11643_7): Likewise.
4188         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4189         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4190         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4191         (complex_vars_of_mule_charset): Likewise.
4192
4193 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4194
4195         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4196         96-set.
4197         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4198         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4199
4200 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4201
4202         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4203         0xFF60.
4204         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4205         (breakup_char_1): Likewise.
4206
4207         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4208         one of them includes the specified character.
4209
4210 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4211
4212         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4213
4214 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4215
4216         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4217
4218 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4219
4220         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4221         definition for non-UTF-2000 Mule.
4222         (latin_iso8859_3_to_ucs): Likewise.
4223         (latin_iso8859_4_to_ucs): Likewise.
4224         (latin_iso8859_9_to_ucs): Likewise.
4225         (latin_jisx0201_to_ucs): Likewise.
4226         (MIN_CHAR_THAI): Likewise.
4227         (MAX_CHAR_THAI): Likewise.
4228         (MIN_CHAR_GREEK): Likewise.
4229         (MAX_CHAR_GREEK): Likewise.
4230         (MIN_CHAR_HEBREW): Likewise.
4231         (MAX_CHAR_HEBREW): Likewise.
4232         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4233         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4234         (MIN_CHAR_CYRILLIC): Likewise.
4235         (MAX_CHAR_CYRILLIC): Likewise.
4236
4237 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4238
4239         * char-ucs.h (breakup_char_1): Use
4240         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4241         thai-tis620 and katakana-jisx0201 area.
4242
4243 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4244
4245         * char-ucs.h (breakup_char_1): Use
4246         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4247         area.
4248
4249         * text-coding.c (reset_encoding_stream): Fixed.
4250         (char_encode_ucs4): Delete `& 255'.
4251
4252         * char-ucs.h (breakup_char_1): Use
4253         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4254
4255 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4256
4257         * file-coding.c (Fmake_coding_system): Don't set up
4258         `codesys->fixed.size'.
4259         (encode_coding_no_conversion): Don't refer
4260         `str->codesys->fixed.size'.
4261
4262 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4263
4264         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4265         (latin_a_char_to_byte1): Deleted.
4266         (latin_a_char_to_byte2): Deleted.
4267
4268 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4269
4270         * mule-charset.c (make_charset): Add new argument `ucs_min',
4271         `ucs_max' and `code_offset'.
4272         (charset_get_byte1): New implementation [delete specific charset
4273         depended implementations].
4274         (Fmake_charset): Modify for `make_charset'.
4275         (Fmake_reverse_direction_charset): Likewise.
4276         (complex_vars_of_mule_charset): Likewise.
4277
4278         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4279         `code_offset'.
4280         (CHARSET_UCS_MIN): New macro.
4281         (CHARSET_UCS_MAX): New macro.
4282         (CHARSET_CODE_OFFSET): New macro.
4283         (MAKE_CHAR): Delete charset depended definitions [except
4284         katakana-jisx0201].
4285
4286 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4287
4288         * char-ucs.h (breakup_char_1): Use
4289         `Vdefault_coded_charset_priority_list' for C0-Controls,
4290         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4291
4292 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4293
4294         * char-ucs.h (charset_get_byte1): New function.
4295         (XCHARSET_GET_BYTE1): Deleted.
4296         (charset_get_byte2): New function.
4297         (XCHARSET_GET_BYTE2): Deleted.
4298         (Vdefault_coded_charset_priority_list): New external variable.
4299         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4300         `Vdefault_preferred_coded_charset_list'.
4301
4302         * mule-charset.c (charset_get_byte1): New function.
4303         (charset_get_byte2): New function.
4304         (Vdefault_coded_charset_priority_list): New variable.
4305         (vars_of_mule_charset): Add new variable
4306         `default-coded-charset-priority-list'.
4307
4308 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4309
4310         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4311         (XCHARSET_GET_BYTE2): New inline function.
4312         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4313         `XCHARSET_GET_BYTE2'.
4314
4315 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4316
4317         * mule-charset.c (make_charset): Initialize
4318         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4319         NULL if table is not defined.
4320
4321 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4322
4323         * text-coding.c (char_encode_shift_jis): Use
4324         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4325         `ucs_to_latin_jisx0201'.
4326
4327         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4328         (ucs_to_latin_iso8859_2): Deleted.
4329         (ucs_to_latin_iso8859_3): Deleted.
4330         (ucs_to_latin_iso8859_4): Deleted.
4331         (ucs_to_latin_iso8859_9): Deleted.
4332         (ucs_to_latin_viscii_lower): Deleted.
4333         (ucs_to_latin_viscii_upper): Deleted.
4334         (ucs_to_latin_tcvn5712): Deleted.
4335         (make_charset): Add new argument `decoding_table'; set up
4336         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4337         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4338         `decoding_table' is defined in UTF-2000.
4339         (Fmake_charset): Modify for `make_charset'.
4340         (Fmake_reverse_direction_charset): Likewise.
4341         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4342         and `GENERATE_96_SET'.
4343
4344         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4345         (ucs_to_latin_jisx0201): Deleted.
4346         (latin_iso8859_2_to_ucs): Deleted.
4347         (ucs_to_latin_iso8859_2): Deleted.
4348         (latin_iso8859_3_to_ucs): Deleted.
4349         (ucs_to_latin_iso8859_3): Deleted.
4350         (latin_iso8859_4_to_ucs): Deleted.
4351         (ucs_to_latin_iso8859_4): Deleted.
4352         (latin_iso8859_9_to_ucs): Deleted.
4353         (ucs_to_latin_iso8859_9): Deleted.
4354         (latin_viscii_lower_to_ucs): Deleted.
4355         (ucs_to_latin_viscii_lower): Deleted.
4356         (latin_viscii_upper_to_ucs): Deleted.
4357         (ucs_to_latin_viscii_upper): Deleted.
4358         (struct Lisp_Charset): Renamed `encoding_table' to
4359         `to_byte1_table'; add `to_byte2_table'.
4360         (CHARSET_DECODING_TABLE): New macro.
4361         (CHARSET_TO_BYTE1_TABLE): New macro.
4362         (CHARSET_TO_BYTE2_TABLE): New macro.
4363         (XCHARSET_DECODING_TABLE): New macro.
4364         (XCHARSET_TO_BYTE1_TABLE): New macro.
4365         (XCHARSET_TO_BYTE2_TABLE): New macro.
4366         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4367         tables.
4368         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4369         don't use `ucs_to_*' tables.
4370
4371 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4372
4373         * text-coding.c (Fmake_coding_system): Don't set up
4374         `codesys->fixed.size'.
4375         (encode_coding_no_conversion): Use `if' instead of `switch'.
4376
4377         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4378
4379 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4380
4381         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4382         (Fmake_charset): Modify for `make_charset'.
4383         (Fmake_reverse_direction_charset): Likewise.
4384         (complex_vars_of_mule_charset): Likewise.
4385
4386 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4387
4388         * text-coding.c (char_encode_shift_jis): Use table
4389         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4390
4391 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4392
4393         * text-coding.c (text_encode_generic): Use `if' instead of
4394         `switch'.
4395         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4396         decode JIS-Latin.
4397
4398 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4399
4400         * text-coding.c (encode_coding_sjis): Deleted.
4401         (char_encode_shift_jis): New function.
4402         (char_finish_shift_jis): New function.
4403         (reset_encoding_stream): Set up `encode_char' and `finish' for
4404         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4405         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4406         (char_encode_utf8): Treat `eol_type'.
4407
4408 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4409
4410         * file-coding.c (decode_coding_iso2022): Use
4411         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4412
4413 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4414
4415         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4416         to 0.7 (Hirano).
4417
4418 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4419
4420         * char-lb.h (CHAR_COLUMNS): New macro.
4421
4422 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4423
4424         * text-coding.c (char_encode_ucs4): New function.
4425         (char_finish_ucs4): New function.
4426         (encode_coding_ucs4): Deleted.
4427         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4428         (text_encode_generic): Delete local variable `charset' and `half'.
4429         (ucs_to_mule_table): Deleted.
4430         (mule_to_ucs_table): Deleted.
4431         (Fset_ucs_char): Deleted.
4432         (ucs_to_char): Deleted.
4433         (Fucs_char): Deleted.
4434         (Fset_char_ucs): Deleted.
4435         (Fchar_ucs): Deleted.
4436         (decode_ucs4): Deleted.
4437         (mule_char_to_ucs4): Deleted.
4438         (encode_ucs4): Deleted.
4439         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4440         (decode_coding_utf8): Likewise.
4441         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4442         (char_encode_iso2022): Fixed.
4443         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4444         `Fset_char_ucs' and `Fchar_ucs'.
4445         (complex_vars_of_file_coding): Don't initialize
4446         `ucs_to_mule_table'.
4447
4448         * objects-tty.c (tty_initialize_font_instance): Don't use
4449         `XCHARSET_COLUMNS'.
4450
4451         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4452         UTF-2000.
4453
4454         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4455         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4456
4457         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4458         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4459         (emchar_string_displayed_columns): Likewise.
4460
4461         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4462         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4463         (string_column_at_point): Likewise.
4464         (Fmove_to_column): Likewise.
4465
4466         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4467         `encoding_table' and `decoding_table'.
4468         (CHARSET_REP_BYTES): Deleted.
4469         (XCHARSET_REP_BYTES): Deleted.
4470         (XCHARSET_COLUMNS): Deleted.
4471         (CHAR_COLUMNS): New macro.
4472         (lookup_composite_char): Deleted unconditionally.
4473         (composite_char_string): Likewise.
4474
4475 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4476
4477         * char-ucs.h (Emchar_to_byte_table): New type.
4478         (get_byte_from_character_table): New function interface.
4479         (Vcharset_latin_jisx0201): New variable.
4480         (latin_jisx0201_to_ucs): New variable.
4481         (ucs_to_latin_jisx0201): New variable.
4482         (Vcharset_latin_iso8859_2): New variable.
4483         (latin_iso8859_2_to_ucs): New variable.
4484         (ucs_to_latin_iso8859_2): New variable.
4485         (Vcharset_latin_iso8859_3): New variable.
4486         (latin_iso8859_3_to_ucs): New variable.
4487         (ucs_to_latin_iso8859_3): New variable.
4488         (Vcharset_latin_iso8859_4): New variable.
4489         (latin_iso8859_4_to_ucs): New variable.
4490         (ucs_to_latin_iso8859_4): New variable.
4491         (Vcharset_latin_iso8859_9): New variable.
4492         (latin_iso8859_9_to_ucs): New variable.
4493         (ucs_to_latin_iso8859_9): New variable.
4494         (Vcharset_latin_viscii_lower): New variable.
4495         (latin_viscii_lower_to_ucs): New variable.
4496         (ucs_to_latin_viscii_lower): New variable.
4497         (Vcharset_latin_viscii_upper): New variable.
4498         (latin_viscii_upper_to_ucs): New variable.
4499         (ucs_to_latin_viscii_upper): New variable.
4500         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4501         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4502         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4503         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4504         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4505         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4506         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4507         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4508         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4509         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4510
4511         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4512         (Vcharset_latin_viscii_upper): New variable.
4513         (make_byte_from_character_table): New function.
4514         (put_byte_from_character_table): New function.
4515         (get_byte_from_character_table): New function.
4516         (CHAR96): New macro.
4517         (ucs_to_latin_jisx0201): New variable.
4518         (latin_jisx0201_to_ucs): New variable.
4519         (ucs_to_latin_iso8859_2): New variable.
4520         (latin_iso8859_2_to_ucs): New variable.
4521         (ucs_to_latin_iso8859_3): New variable.
4522         (latin_iso8859_3_to_ucs): New variable.
4523         (ucs_to_latin_iso8859_4): New variable.
4524         (latin_iso8859_4_to_ucs): New variable.
4525         (ucs_to_latin_iso8859_9): New variable.
4526         (latin_iso8859_9_to_ucs): New variable.
4527         (ucs_to_latin_viscii_lower): New variable.
4528         (latin_viscii_lower_to_ucs): New variable.
4529         (ucs_to_latin_viscii_upper): New variable.
4530         (latin_viscii_upper_to_ucs): New variable.
4531         (ucs_to_latin_tcvn5712): New variable.
4532         (latin_tcvn5712_to_ucs): New variable.
4533         (Qlatin_viscii_lower): New variable.
4534         (Qlatin_viscii_upper): New variable.
4535         (syms_of_mule_charset): Set up new symbol
4536         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4537         (complex_vars_of_mule_charset): Set up new charset
4538         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4539         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4540         `ucs_to_<CHARSET>' tables.
4541
4542 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4543
4544         * text-coding.c: New file.
4545
4546 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4547
4548         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4549
4550         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4551         (MAKE_CHAR): Modify for `ucs-bmp'.
4552         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4553         non-MULE characters of BMP.
4554
4555 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4556
4557         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4558         to 0.6.
4559
4560 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4561
4562         * lstream.h:
4563         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4564         - Include character.h for `CHAR_ASCII_P'.
4565
4566         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4567
4568         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4569         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4570
4571         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4572         (BYTE_C0_P): Likewise.
4573         (BYTE_C1_P): Likewise.
4574         (Lstream_get_emchar_1): Likewise.
4575         (Lstream_fput_emchar): Likewise.
4576         (Lstream_funget_emchar): Likewise.
4577         (copy_internal_to_external): Likewise.
4578         (copy_external_to_internal): Likewise.
4579
4580         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4581         (BYTE_C0_P): Likewise.
4582         (BYTE_C1_P): Likewise.
4583         (Lstream_get_emchar_1): Likewise.
4584         (Lstream_fput_emchar): Likewise.
4585         (Lstream_funget_emchar): Likewise.
4586         (copy_internal_to_external): Likewise.
4587         (copy_external_to_internal): Likewise.
4588
4589         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4590         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4591
4592         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4593         (BYTE_ASCII_P): Moved to mb-1byte.h.
4594
4595 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4596
4597         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4598
4599         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4600         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4601         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4602         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4603         (VALIDATE_CHARPTR_FORWARD): Likewise.
4604         (simple_charptr_emchar): Moved to mb-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): Moved to mb-*byte.h.
4611         (set_charptr_emchar): Likewise.
4612         (charptr_copy_char): Likewise.
4613
4614         * mb-1byte.h, mb-multibyte.h: New files.
4615
4616 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4617
4618         * mb-utf-8.h (MULTIBYTE): New macro.
4619         (MAX_EMCHAR_LEN): Moved from buffer.h.
4620         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4621
4622         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4623
4624         * mb-lb.h, multibyte.h: New files.
4625
4626         * char-1byte.h (Charset_ID): Moved from buffer.h.
4627         (MIN_LEADING_BYTE): Likewise.
4628         (LEADING_BYTE_ASCII): Likewise.
4629         (NUM_LEADING_BYTES): Likewise.
4630         (CHARSETP): Likewise.
4631         (CHARSET_BY_LEADING_BYTE): Likewise.
4632         (XCHARSET_LEADING_BYTE): Likewise.
4633         (XCHARSET_GRAPHIC): Likewise.
4634         (XCHARSET_COLUMNS): Likewise.
4635         (XCHARSET_DIMENSION): Likewise.
4636         (CHAR_CHARSET): Likewise.
4637         (CHAR_LEADING_BYTE): Likewise.
4638         (BREAKUP_CHAR): Likewise.
4639         (Vcharset_ascii): Likewise.
4640
4641         * buffer.h: Include multibyte.h unconditionally.
4642         (VALID_CHARPTR_P): Moved to multibyte.h.
4643         (ASSERT_VALID_CHARPTR): Likewise.
4644         (REAL_INC_CHARPTR): Likewise.
4645         (REAL_INC_CHARBYTIND): Likewise.
4646         (REAL_DEC_CHARPTR): Likewise.
4647         (INC_CHARPTR): Likewise.
4648         (INC_CHARBYTIND): Likewise.
4649         (DEC_CHARPTR): Likewise.
4650         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4651         (VALIDATE_CHARPTR_FORWARD): Likewise.
4652         (charptr_n_addr): Likewise.
4653         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4654         (simple_charptr_emchar): Moved to multibyte.h.
4655         (simple_set_charptr_emchar): Likewise.
4656         (simple_charptr_copy_char): Likewise.
4657         (non_ascii_charptr_emchar): Likewise.
4658         (non_ascii_set_charptr_emchar): Likewise.
4659         (non_ascii_charptr_copy_char): Likewise.
4660         (charptr_emchar): Likewise.
4661         (set_charptr_emchar): Likewise.
4662         (charptr_copy_char): Likewise.
4663         (charptr_emchar_n): Likewise.
4664         (Charset_ID): Moved to char-1byte.h.
4665         (Vcharset_ascii): Likewise.
4666         (CHAR_CHARSET): Likewise.
4667         (CHAR_LEADING_BYTE): Likewise.
4668         (LEADING_BYTE_ASCII): Likewise.
4669         (NUM_LEADING_BYTES): Likewise.
4670         (MIN_LEADING_BYTE): Likewise.
4671         (CHARSETP): Likewise.
4672         (CHARSET_BY_LEADING_BYTE): Likewise.
4673         (XCHARSET_LEADING_BYTE): Likewise.
4674         (XCHARSET_GRAPHIC): Likewise.
4675         (XCHARSET_COLUMNS): Likewise.
4676         (XCHARSET_DIMENSION): Likewise.
4677         (BREAKUP_CHAR): Likewise.
4678
4679 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4680
4681         * character.h: Add document about interface for characters.
4682
4683         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4684         (MAKE_CHAR): Delete comment about
4685         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4686         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4687         (BREAKUP_CHAR): Modify name of arguments.
4688         (CHAR_CHARSET): Modify name of argument.
4689
4690         * buffer.h: Delete document about Emchar accessors.
4691
4692 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4693
4694         * character.h (CHAR_INTP): Moved from buffer.h
4695         (CHAR_OR_CHAR_INTP): Likewise.
4696         (XCHAR_OR_CHAR_INT): Likewise.
4697         (CHECK_CHAR_COERCE_INT): Likewise.
4698
4699         * buffer.h (CHAR_INTP): Moved to character.h
4700         (CHAR_OR_CHAR_INTP): Likewise.
4701         (XCHAR_OR_CHAR_INT): Likewise.
4702         (CHECK_CHAR_COERCE_INT): Likewise.
4703
4704 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4705
4706         * character.h:
4707         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4708         - Include char-1byte.h, char-lb.h or char-ucs.h.
4709
4710         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4711
4712         * buffer.h: Include character unconditionally.
4713         (valid_char_p): Moved to char-*.h.
4714         (non_ascii_valid_char_p): Moved to char-lb.h.
4715
4716         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4717
4718 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4719
4720         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4721         in UTF-2000 because it is not ported yet and not to use
4722         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4723         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4724         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4725
4726         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4727         (CHAR_ASCII_P): Moved from character.h.
4728
4729         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4730         (CHAR_ASCII_P): Likewise.
4731         (CHAR_FIELD1_MASK): Deleted.
4732         (CHAR_FIELD2_MASK): Deleted.
4733         (CHAR_FIELD3_MASK): Deleted.
4734         (MAX_CHAR_BASIC_LATIN): New macro.
4735         (CHAR_FIELD1): Deleted.
4736         (CHAR_FIELD2_INTERNAL): Deleted.
4737         (CHAR_FIELD3_INTERNAL): Deleted.
4738         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4739         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4740         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4741         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4742         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4743         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4744         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4745         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4746         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4747         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4748         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4749         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4750         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4751         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4752         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4753         (MIN_CHAR_COMPOSITION): Deleted.
4754         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4755         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4756
4757 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4758
4759         * buffer.h: Include mb-utf-8.h in UTF-2000.
4760
4761         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4762
4763         * mb-utf-8.h: New file.
4764
4765 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4766
4767         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4768         instead of `int'.
4769
4770         * mule-charset.h, buffer.h (Charset_ID): New type.
4771
4772 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4773
4774         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4775         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4776         instead of `MULE_CHAR_PRIVATE_OFFSET',
4777         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4778         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4779         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4780
4781         * character.h (Vcharset_japanese_jisx0212): New variable
4782         definition.
4783
4784 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4785
4786         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4787         (charset_by_attributes): Delete array about direction.
4788         (latin_a_char_to_charset): New variable in UTF-2000.
4789         (latin_a_char_to_byte1): New variable in UTF-2000.
4790         (latin_a_char_to_byte2): New variable in UTF-2000.
4791         (Qucs_bmp): New variable.
4792         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4793         `Bufbyte'.
4794         (next_allocated_2_byte_leading_byte): Likewise.
4795         (non_ascii_set_charptr_emchar): Likewise.
4796         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4797         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4798         `charset_by_attributes'.
4799         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4800         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4801         and `CHARSET_BY_LEADING_BYTE'.
4802         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4803         `utf-2000-version' to `vars_of_mule_charset'.
4804         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4805         define `leading-code-private-11' in UTF-2000; move setting of
4806         `utf-2000-version' from `syms_of_mule_charset'.
4807         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4808         UTF-2000.
4809
4810         * character.h (Charset_ID): New type.
4811         (LEADING_BYTE_UCS_BMP): New macro.
4812         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4813         (CHARSET_ID_OFFSET_94): New macro.
4814         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4815         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4816         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4817         final-byte.
4818         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4819         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4820         (CHARSET_ID_OFFSET_96): New macro.
4821         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4822         CHARSET_ID_OFFSET_96 and final-byte.
4823         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4824         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4825         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4826         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4827         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4828         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4829         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4830         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4831         (LEADING_BYTE_THAI_TIS620): Likewise.
4832         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4833         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4834         (CHARSET_ID_OFFSET_94x94): New macro.
4835         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4836         CHARSET_ID_OFFSET_94x94 and final-byte.
4837         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4838         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4839         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4840         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4841         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4842         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4843         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4844         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4845         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4846         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4847         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4848         (CHARSET_TYPE_128X128): New macro.
4849         (CHARSET_TYPE_256X256): New macro.
4850         (XCHARSET_PRIVATE_P): Delete unconditionally.
4851         (charset_by_attributes): Delete array about direction.
4852         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4853         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4854         (MIN_CHAR_94): New macro.
4855         (MAX_CHAR_94): New macro.
4856         (MIN_CHAR_96): New macro.
4857         (MAX_CHAR_96): New macro.
4858         (MIN_CHAR_94x94): New macro.
4859         (MAX_CHAR_94x94): New macro.
4860         (MIN_CHAR_96x96): New macro.
4861         (MAX_CHAR_96x96): New macro.
4862         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4863         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4864         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4865         - 32)'.
4866         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4867         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4868         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4869         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4870         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4871         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4872         `XCHARSET_LEADING_BYTE' to make code-point.
4873         (latin_a_char_to_charset): New variable.
4874         (latin_a_char_to_byte1): New variable.
4875         (latin_a_char_to_byte2): New variable.
4876         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4877         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4878         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4879
4880         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4881         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4882         (find_charsets_in_emchar_string): Likewise.
4883         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4884
4885         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4886         `int'.
4887         (decode_coding_iso2022): Likewise.
4888
4889         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4890         of `unsigned char'.
4891
4892         * redisplay.c (redisplay_text_width_emchar_string): Use
4893         `Charset_ID' instead of `unsigned char'.
4894         (redisplay_frame_text_width_string): Likewise.
4895
4896         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4897         `unsigned char'.
4898
4899         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4900         instead of `unsigned char'.
4901         (face_cachel_charset_font_metric_info): Likewise.
4902
4903         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4904         (get_non_ascii_char_table_value): Likewise.
4905         (get_char_table): Likewise.
4906         (put_char_table): Likewise.
4907         (map_over_other_charset): Likewise.
4908         (map_char_table): Likewise.
4909
4910         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4911         instead of `unsigned char'.
4912
4913 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4914
4915         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4916         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4917
4918         * mule-charset.c (leading_code_private_11): Don't define in
4919         UTF-2000.
4920
4921         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4922         in UTF-2000 because it is not ported yet and not to use
4923         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4924
4925 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4926
4927         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4928
4929 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4930
4931         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4932         in UTF-2000.
4933
4934         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4935         of unsigned char to store leading-byte.
4936
4937         * chartab.c (get_non_ascii_char_table_value): Don't use
4938         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4939
4940         * file-coding.c (encode_coding_big5): Delete bogus implementation
4941         in UTF2000.
4942
4943         * character.h (LEADING_BYTE_*): Delete definition for
4944         non-UTF-2000.
4945         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4946         (LEADING_BYTE_PREFIX_P): Deleted.
4947         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4948         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4949         (BUFBYTE_LEADING_BYTE_P): Deleted.
4950         (CHARSET_PRIVATE_P): Deleted unconditionally.
4951         (rep_bytes_by_first_byte): Deleted unconditionally.
4952         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4953         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4954         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4955         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4956         (CHAR_FIELD2): Deleted.
4957         (CHAR_FIELD3): Deleted.
4958         (MAKE_CHAR): Delete definition for non-UTF-2000.
4959         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4960         (breakup_char_1): New implementation.
4961         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4962         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4963
4964 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4965
4966         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4967         condition.
4968
4969 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4970
4971         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4972         (CHARSET_PRIVATE_P): Likewise.
4973         (XCHARSET_PRIVATE_P): Likewise.
4974         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4975
4976         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4977         UTF2000.
4978         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4979
4980 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4981
4982         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4983         (NUM_LEADING_BYTES): Changed from 128 to 256.
4984         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4985         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4986         UTF2000.
4987         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4988
4989         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4990         UTF2000.
4991         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4992         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4993         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4994         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4995         (Qchinese_cns11643_3): New variable in UTF2000.
4996         (Qchinese_cns11643_4): New variable in UTF2000.
4997         (Qchinese_cns11643_5): New variable in UTF2000.
4998         (Qchinese_cns11643_6): New variable in UTF2000.
4999         (Qchinese_cns11643_7): New variable in UTF2000.
5000         (syms_of_mule_charset): Define `chinese-cns11643-3',
5001         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5002         and `chinese-cns11643-7' in UTF2000.
5003         (vars_of_mule_charset): Initialize
5004         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5005         + 1 in UTF2000.
5006         (complex_vars_of_mule_charset): Setup charset
5007         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5008         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5009
5010 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5011
5012         * mule-charset.c: Move setting for `leading-code-private-11' from
5013         `syms_of_mule_charset' to `vars_of_mule_charset'.
5014
5015 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5016
5017         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5018         and `NUM_LEADING_BYTES' in assert.
5019
5020 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5021
5022         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5023         instead of 128.
5024         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5025         `NUM_LEADING_BYTES' instead of 128.
5026
5027 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5028
5029         * mule-charset.h (charset_by_leading_byte): Use
5030         `NUM_LEADING_BYTES' instead of 128.
5031         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5032
5033         * mule-charset.c (charset_by_leading_byte): Use
5034         `NUM_LEADING_BYTES' instead of 128.
5035         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5036
5037         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5038         128.
5039
5040 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5041
5042         * mule-charset.c (syms_of_mule_charset): Update to
5043         0.4 (Shin-Imamiya).
5044
5045 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5046
5047         * file-coding.c (encode_coding_sjis): New implementation for
5048         UTF2000.  (decode_coding_sjis): Ditto.
5049
5050 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5051
5052         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5053         Don't define in UTF2000.
5054
5055         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5056         defined.
5057
5058         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5059         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5060         MULE.
5061
5062 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5063
5064         * config.h.in (CHAR_IS_UCS4): New macro.
5065
5066         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5067         conventional MULE representation.
5068         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5069
5070         * mule-charset.h: Reverted to original.
5071
5072         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5073         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5074         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5075
5076         * character.h: New file.
5077
5078         * file-coding.c (Fmake_coding_system): Set 1 to
5079         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5080         defined.
5081         (encode_coding_no_conversion): New implementation for UTF2000.
5082
5083         * file-coding.h (struct Lisp_Coding_System): Add new member
5084         `fixed.size'.
5085
5086 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5087
5088         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5089         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5090         (encode_coding_iso2022): New implementation for UTF2000.
5091
5092 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5093
5094         * mule-canna.c (c2mu): New implementation for UTF2000.
5095         (m2c): Likewise.
5096
5097 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5098
5099         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5100
5101 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5102
5103         * file-coding.c (reset_encoding_stream): Set 0 to
5104         `str->iso2022.current_char_boundary' in UTF2000.
5105         (encode_utf8): Don't define in UTF2000.
5106         (encode_coding_utf8): New implementation for UTF-8 representation
5107         of UTF2000.
5108         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5109
5110 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5111
5112         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5113
5114         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5115         UTF2000.
5116         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5117
5118         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5119
5120         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5121         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5122         as UTF-8 in UTF2000.
5123         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5124         (non_ascii_valid_char_p): Don't define in UTF2000.
5125         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5126         (Lstream_get_emchar_1): Likewise.
5127         (utf-2000-version): New variable in UTF2000.
5128
5129         * lread.c (read_escape): Add new reader `u'.
5130
5131         * insdel.c (three_to_one_table): Don't define in UTF2000.
5132         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5133         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5134         UTF2000.
5135         (bytind_to_bufpos_func): Likewise.
5136         (buffer_mule_signal_inserted_region): Likewise.
5137         (vars_of_insdel): Don't initialize `three_to_one_table'.
5138         (init_buffer_text): Use `buf->text->mule_size' instead of
5139         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5140         UTF2000.
5141
5142         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5143         UTF-8 representation in UTF2000.
5144         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5145         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5146         (decode_coding_iso2022): Don't define local variable `lb' in
5147         UTF2000; don't use LEADING_BYTE in UTF2000; use
5148         `DECODE_ADD_UCS_CHAR' in UTF2000.
5149         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5150
5151         * config.h.in (UTF2000): New macro.
5152
5153         * buffer.h (struct buffer_text): Add new member `mule_size' and
5154         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5155         (valid_char_p): Return always 1 in UTF2000.
5156         (MAX_EMCHAR_LEN): 6 in UTF2000.
5157         (three_to_one_table): Don't define in UTF2000.
5158         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5159         UTF2000.
5160         (real_bytind_to_bufpos): Likewise.
5161
5162         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5163
5164 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5165
5166         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5167         representation change.
5168         (Vutf_2000_version): New variable.
5169         (leading_code_private_11): New variable.
5170         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5171         `leading-code-private-11'.
5172
5173         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5174         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5175         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5176         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5177         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5178         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5179         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5180         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5181         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5182         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5183         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5184         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5185         (MIN_CHAR_GREEK): New macro.
5186         (MAX_CHAR_GREEK): New macro.
5187         (MIN_CHAR_CYRILLIC): New macro.
5188         (MAX_CHAR_CYRILLIC): New macro.
5189         (MIN_CHAR_HEBREW): New macro.
5190         (MAX_CHAR_HEBREW): New macro.
5191         (MIN_CHAR_THAI): New macro.
5192         (MAX_CHAR_THAI): New macro.
5193         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5194         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5195         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5196         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5197         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5198         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5199         (CHAR_FIELD2): New inline function.
5200         (CHAR_FIELD3): New inline function.
5201         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5202         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5203         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5204         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5205         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5206         (MIN_CHAR_COMPOSITION): Likewise.
5207         (CHAR_LEADING_BYTE): Modified for character representation change.
5208         (MAKE_CHAR): Likewise.
5209
5210         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5211         (Vcharset_greek_iso8859_7): Likewise.
5212         (Vcharset_cyrillic_iso8859_5): Likewise.
5213         (Vcharset_hebrew_iso8859_8): Likewise.
5214         (Vcharset_thai_tis620): Likewise.
5215         (Vcharset_katakana_jisx0201): Likewise.
5216
5217 2003-09-03  Vin Shelton <acs@xemacs.org>
5218
5219         * XEmacs 21.4.14 is released
5220
5221 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5222
5223         * config.h.in (REGEX_MALLOC): Make it configure'able.
5224
5225 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5226
5227         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5228         linking.
5229         * sysdll.c (dll_init):
5230         * sysdll.c (dll_open):
5231         * sysdll.c (dll_close):
5232         * sysdll.c (dll_function):
5233         * sysdll.c (dll_variable):
5234         * sysdll.c (dll_error):
5235         Add support for loading bundles using Darwin/MacOSX
5236         native API.
5237
5238 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5239
5240         * process.c (start-process-internal): Document coding systems.
5241
5242 2003-07-30  Jerry James  <james@xemacs.org>
5243
5244         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5245
5246 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5247
5248         * event-msw.c (mswindows_enqueue_mouse_button_event):
5249         * event-msw.c (mswindows_wnd_proc):
5250           enqueue button event when scrollwheel event isn't handled by 
5251           mswindows_handle_mousewheel_event, such as when the scrollbars
5252           are not showing.
5253
5254 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5255
5256         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5257
5258 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5259
5260         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5261
5262 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5263
5264         * regex.c (re_match_2_internal): Fix matching degenerate word
5265         boundaries.
5266
5267 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5268
5269         * XEmacs 21.4.13 is released
5270
5271 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5272
5273         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5274         * lisp.h (<inttypes.h>):
5275         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5276         the definition.
5277
5278 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5279
5280         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5281         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5282         Result: "temacs can only be run in -batch mode."
5283         Fix: Check xemacs executable candidate for directory-ness.
5284
5285 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5286
5287         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5288           they conflict with <sys/types.h>.
5289
5290 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5291
5292         * database.c: Berkeley DB wants __STDC__ to be defined.
5293
5294 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5295
5296         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5297
5298 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5299
5300         * process-unix.c (unix_send_process): Fix C++ compile error.
5301
5302 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5303
5304         * Added .dylib as an acceptable shared library file extension
5305         * to support MacOSX.
5306
5307 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5308
5309         * EmacsFrameP.h (EmacsFramePart):
5310         Kludge to allow compiling with Motif1, but linking with Motif2.
5311
5312 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5313
5314         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5315
5316
5317 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5318
5319         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5320
5321 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5322
5323         * sysdll.c: Included lisp.h to define needed alloca_array.
5324
5325 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5326
5327         Make XEmacs redisplay 10 times faster.
5328         If, that is, you're using a slow X connection and MoveOpaque.
5329         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5330         Use compress_motion = TRUE.
5331         * EmacsFrame.c (emacsFrameClassRec): 
5332         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5333         * EmacsManager.c (emacsManagerClassRec):
5334         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5335
5336 2003-01-30  Vin Shelton  <acs@xemacs.org>
5337
5338         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5339
5340 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5341
5342         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5343         Patch by Martin Buchholz.
5344
5345 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5346
5347         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5348         Thanks to icc for warning and Martin Buchholz for reporting.
5349
5350 2003-01-29  Vin Shelton <acs@xemacs.org>
5351
5352         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5353
5354         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5355         remember to multiply by the element size.
5356
5357 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5358
5359         * XEmacs 21.4.12 "Portable Code" is released.
5360
5361 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5362
5363         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5364         * s/cygwin.sc: new linker file.
5365
5366 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5367
5368         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5369
5370         * redisplay-x.c (x_output_string): Use X11-specified types.
5371         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5372         * emacs.c (__free_hook): Use typeof with Intel compiler.
5373         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5374
5375 2003-01-08  Andy Piper  <andy@xemacs.org>
5376
5377         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5378         reserve size during unexec().
5379
5380 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5381
5382         * process-unix.c (unix_create_process): Don't let outchannel block.
5383
5384 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5385
5386         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5387         Needed for IsBadReadPtr().
5388
5389 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5390
5391         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5392
5393 2002-12-14  Ben Wing  <ben@xemacs.org>
5394
5395         * callint.c: Declaration error.
5396         * dumper.c (pdump):
5397         * dumper.c (pdump_load): Warning fix.
5398         * process.c: GCPRO error.
5399         * glyphs.c (unmap_subwindow):
5400         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5401         * event-stream.c (maybe_kbd_translate): Wrong argument to
5402         character_to_event().
5403
5404         * alloc.c (garbage_collect_1):
5405         * emacs.c:
5406         * emacs.c (debug_can_access_memory):
5407         * emacs.c (fatal_error_signal):
5408         * emacs.c (mswindows_handle_hardware_exceptions):
5409         * emacs.c (main_1):
5410         * emacs.c (main):
5411         * emacs.c (assert_failed):
5412         * emacs.c (syms_of_emacs):
5413         * lisp.h:
5414         * print.c:
5415         * print.c (std_handle_out_va):
5416         * print.c (write_string_to_stdio_stream):
5417         * print.c (write_fmt_string):
5418         * print.c (printing_badness):
5419         * print.c (printing_major_badness):
5420         * print.c (print_internal):
5421         * print.c (debug_print_no_newline):
5422         * print.c (debug_backtrace):
5423         Be more defensive in handling bad values when printing.  Add code
5424         from trunk involving inhibit_non_essential_printing_operations.
5425         When going down or in debug_print(), don't do external conversion
5426         and such and try really, really hard when printing to avoid core
5427         dumping.  Add force-debugging-signal, debug_break().
5428
5429 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5430
5431         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5432         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5433
5434 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5435
5436         * database.c: Fix open_database. Berkeley DB API has changed in
5437         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5438
5439 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5440
5441         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5442
5443 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5444
5445         * event-Xt.c (Xt_timeout):
5446         (Xt_timeout_callback):
5447         (emacs_Xt_add_timeout):
5448         (emacs_Xt_remove_timeout):
5449         (Xt_timeout_to_emacs_event):
5450         Turn completed_timeouts from a stack into a queue.  Fixes
5451         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5452
5453 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5454
5455         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5456         * emacs.c (main): Assert that mmap'd allocation is disabled.
5457
5458 2002-10-14  Andy Piper  <andy@xemacs.org>
5459
5460         * glyphs-widget.c (layout_query_geometry): add in fiddle
5461         factor. Include border text in width layout calculation.
5462         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5463
5464 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5465
5466         * XEmacs 21.4.10 "Military Intelligence" is released.
5467
5468 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5469
5470         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5471         using the NAS private array SoundFileInfo that no longer exists in
5472         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5473         and earlier.  This is broken for some versions between 1.5a and
5474         1.5f.
5475
5476 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5477
5478         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5479
5480         * emacs.c (shut_down_emacs): Improve crash message.
5481
5482 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5483
5484         * file-coding.c (determine_real_coding_system): Check for coding
5485         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5486         shebangs and Python PEP 263.
5487
5488 2002-10-08  Andy Piper  <andy@xemacs.org>
5489
5490         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5491         if static sizes haven't been set.
5492
5493 2002-08-30  Mike Alexander  <mta@arbortext.com>
5494
5495         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5496         to close a socket.
5497
5498 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5499
5500         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5501
5502 2002-09-20  Mike Sperber <mike@xemacs.org>
5503
5504         (This partially gets back my patch from 2002-07-20 without the
5505         bug.)
5506         * callproc.c (child_setup): Remove Ben's comment noting confusion
5507         over the file descriptors >= 3: close_process_descs() doesn't
5508         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5509         * process-unix.c (unix_create_process): Call
5510         begin_dont_check_for_quit to inhibit unwanted interaction (and
5511         thus breaking of X event synchronicity) in the child.
5512
5513 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5514
5515         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5516         widget.
5517
5518 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5519
5520         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5521         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5522         the xemacs process did not exit, but looped infinitely here.  This
5523         fixes that problem.
5524
5525 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5526
5527         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5528         (find_context): Improve comments.
5529
5530         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5531         (re_match_2): An XCHAR_TABLE operation was missing.
5532
5533         Many of the following changes were inspired by Andy Piper's (now
5534         obsolete) patch to make syntax-table text property lookup optional.
5535
5536         [Documentation]
5537
5538         * syntax.h (top level): Document semantics of syntax flags.
5539         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5540         * syntax.c, syntax.h (top level): Document syntax cache better in
5541         comments.
5542
5543         [Instrument syntax caching (temporary change)]
5544
5545         * syntax.h (enum syntax_cache_statistics_functions, struct
5546         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5547         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5548         * syntax.c (scan_words, Fforward_comment, scan_lists,
5549         Fbackward_prefix_characters):
5550         * font-lock.c (find_context):
5551         Use them to instrument syntax caching. 
5552         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5553         syntax_cache_statistics_function_names): New type and variables.
5554         * syntax.c (update_syntax_cache): Update and report statistics.
5555
5556         [Major syntax cache optimizations]
5557
5558         syntax.c (lookup_syntax_properties): Default off.
5559
5560         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5561         * syntax.c (update_syntax_cache):
5562         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5563
5564         [Minor syntax cache optimizations and code clarifications]
5565
5566         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5567         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5568         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5569         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5570         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5571         (Code clarification.)
5572
5573         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5574         scan_lists): Compute code from syncode, use Boolean macros instead
5575         of redundant masking operations.  (Code clarification; any decent
5576         compiler can do this optimization.)
5577
5578         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5579         for clarity.
5580
5581         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5582         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5583         use F*_single_property_change instead of F*_extent_change.
5584         Currently F*_single_property_change is _much_ less efficient.
5585
5586         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5587         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5588         syntax_cache.object properly, don't leave Qt or Qnil.
5589         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5590         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5591         tests for Qt or Qnil.
5592
5593 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5594
5595         * redisplay.c (point_in_line_start_cache): 
5596         * extents.c (print_extent_1):
5597         Fix warnings.
5598
5599         * extents.c (Fset_extent_property): Document `syntax-table' property.
5600
5601         * extents.h (Fnext_single_property_change): EXFUN it.
5602
5603 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5604
5605         * search.c (clear_unused_search_regs): New static function.
5606         (search_buffer): 
5607         (simple_search): 
5608         (boyer_moore):
5609         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5610         Minor clarifications in comments.
5611
5612         * regex.c (re_match_2_internal): Ensure no stale submatches.
5613
5614 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5615
5616         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5617
5618 2002-08-29  Jerry James  <james@xemacs.org>
5619
5620         * lisp.h: structrures -> structures.
5621
5622 2002-06-03  Andy Piper  <andy@xemacs.org>
5623
5624         * frame.c (frame_conversion_internal): add conversion appropriate
5625         for setting frame dimensions in pixels.
5626
5627         * console.h (struct console_methods): add device-specific widget
5628         layout functions.
5629
5630         * emacs.c (main_1): initialize glyph vars.
5631
5632         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5633         (handle_focus_event_2): new function. Allow focus to
5634         be set to a particular window and widget.
5635         (enqueue_focus_event): new function. Create a
5636         synthetic focus event.
5637         (emacs_Xt_handle_magic_event): call
5638         handle_focus_event_2.
5639
5640         * frame.c (Fset_frame_pixel_height): new function. Allow
5641         pixel-based sizing. Does the right thing on character-oriented
5642         displays.
5643         (Fset_frame_pixel_width): ditto.
5644         (Fset_frame_pixel_size): ditto.
5645         (syms_of_frame): declare.
5646
5647         * general-slots.h: add :vertically-justify and
5648         :horizontally-justify.
5649
5650         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5651         (mswindows_widget_border_width): new function.
5652         (mswindows_combo_box_instantiate): set border widths.
5653         (console_type_create_glyphs_mswindows): declare.
5654
5655         * glyphs-widget.c:
5656         (check_valid_justification): allow vertical and horizontal
5657         justification.
5658         (widget_border_width): new function. Call device methods.
5659         (widget_instance_border_width): ditto.
5660         (logical_unit_height): new function. Determine the height of a
5661         logical-unit. Logical units are intended to provide grid-like
5662         layout for subcontrols in a layout. If the layout is
5663         :vertically-justify top then subcontrols will be positioned on
5664         logical-unit boundaries, thus allowing adjacent subcontrols to
5665         line up.
5666         (widget_logical_unit_height): ditto for widgets.
5667         (redisplay_widget): misc cleanup.
5668         (widget_spacing): new function. Call device specific
5669         methods. Intended to be the default gap between adjacent widgets.
5670         (widget_query_geometry): use new spacing functions to determine
5671         appropriate geometry.
5672         (initialize_widget_image_instance): initialize horizontal and
5673         vertical justification.
5674         (widget_instantiate): use logica-units where appropriate for
5675         sizing large widgets.
5676         (button_query_geometry): use widget_instance_border_width.
5677         (tree_view_query_geometry): ditto.
5678         (tab_control_query_geometry): ditto.
5679         (edit_field_query_geometry): new function.
5680         (layout_update): pick up :justify, :horizontally-justify and
5681         :vertically-justify none of which worked previously. :justify is
5682         used as a fallback for both horizontal and vertical justification.
5683         (layout_query_geometry): use logical units to size appropriately.
5684         (layout_layout): ditto.
5685         (Fwidget_logical_to_character_width): new function. Allow users to
5686         convert from logical units to characters so that frame sizes can
5687         be set appropriately.
5688         (Fwidget_logical_to_character_height): ditto.
5689         (syms_of_glyphs_widget): declare.
5690         (image_instantiator_edit_fields): add edit_field_query_geometry.
5691         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5692         :horizontally-justify.
5693         (specifier_vars_of_glyphs_widget): new function. Declare
5694         Vwidget_border_width which is not yet used.
5695
5696         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5697         (x_widget_border_width): new function.
5698         (x_widget_instantiate): create a sensible name for widgets.
5699         (console_type_create_glyphs_x): declare x_widget_border_width.
5700
5701         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5702         (struct Lisp_Image_Instance): add :vertically-justify and
5703         :horizontally-justify.
5704         (LAYOUT_JUSTIFY_TOP): new.
5705         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5706         (ROUND_UP): new macro. Round argument up to next integral
5707         interval.
5708
5709         * redisplay-output.c (redisplay_output_layout): misc formatting.
5710
5711         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5712
5713 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5714
5715         * XEmacs 21.4.9 "Informed Management" is released.
5716
5717 2002-08-19  Andy Piper  <andy@xemacs.org>
5718
5719         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5720         win32 format.
5721
5722         * realpath.c (xrealpath): normalize drive spec also so that dir
5723         sep chars are not mixed on cygwin.
5724
5725 2002-08-06  Jerry James  <james@xemacs.org>
5726
5727         * window.c (Fsplit_window): Count only half of the divider width
5728         against the left window when splitting horizontally. 
5729
5730 2002-06-24  Andy Piper  <andy@xemacs.org>
5731
5732         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5733         toolbar was cleared.
5734
5735         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5736         function. Split out from mswindows_output_frame_toolbars.
5737         (mswindows_output_frame_toolbars): move clear pieces to
5738         mswindows_output_frame_toolbars.
5739
5740         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5741         out from gtk_output_frame_toolbars.
5742         (gtk_output_frame_toolbars): move clear pieces to
5743         gtk_clear_frame_toolbars.
5744
5745         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5746         the frame is cleared. How this ever worked before is a mystery.
5747         (x_output_frame_toolbars): Only output toolbars.
5748         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5749
5750         * gutter.c (update_gutter_geometry):
5751         Mark frame layout changed.
5752         (update_frame_gutter_geometry, update_frame_gutters):
5753         Respect frame_layout_changed.
5754
5755         * console.h (struct console_methods): add
5756         clear_frame_toolbars_method.
5757
5758         * redisplay.c (redisplay_frame): call
5759         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5760
5761         * toolbar.h: declare update_frame_toolbars_geometry.
5762
5763         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5764         out from update_frame_toolbars.  Call clear_frame_toolbars.
5765         (update_frame_toolbars): only output, do not change geometry.
5766
5767         * redisplay.c: add frame_layout_changed.
5768
5769         * redisplay.h: add frame_layout_changed.
5770         (CLASS_RESET_CHANGED_FLAGS): set it.
5771         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5772         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5773         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5774
5775         * device.h (struct device): add frame_layout_changed.
5776         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5777
5778         * frame.h (struct frame): add frame_layout_changed.
5779         (MARK_FRAME_LAYOUT_CHANGED): new.
5780
5781 2002-06-30  Mike Alexander  <mta@arbortext.com>
5782
5783         * event-msw.c (mswindows_need_event): Don't wait for a new message
5784         if the queue is not empty.  Suggested by Paul Moore.
5785
5786 2002-06-12  Andy Piper  <andy@xemacs.org>
5787
5788         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5789         for printing on accurately.
5790
5791 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5792
5793         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5794         WM_ACTIVATE message. Make sure that the frame is visible if the
5795         window is visible. This seemss to fix the problem where XEmacs
5796         appears to freeze after switching desktops with certain virtual
5797         window managers.
5798         (debug_output_mswin_message): Added code to output message
5799         parameters for WM_WINDOWPOSCHANGED, 
5800         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5801
5802 2002-05-25  Andy Piper  <andy@xemacs.org>
5803
5804         * select-x.c (vars_of_select_x): Fix docstring of
5805         x-selection-strict-motif-ownership
5806
5807 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5808
5809         * keymap.c (get_keymap):
5810         Add comment about do_autoload GCPROs own args.
5811
5812 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5813
5814         * bytecode.c (execute_optimized_program): check_opcode ifdef
5815         ERROR_CHECK_BYTE_CODE.
5816
5817 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5818
5819         Thanks to Ben Wing and Michael Sperber.
5820
5821         * eval.c (Fcommand_execute):
5822         (Feval):
5823         (Ffuncall):
5824         (Fmacroexpand_internal):
5825         (function_argcount):
5826         callint.c (Fcall_interactively):
5827         Add comment about do_autoload GCPROs own args.
5828
5829         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5830
5831         * eval.c (Ffuncall): Extra braces to placate GCC.
5832
5833 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5834
5835         * backtrace.h (grow_specpdl):
5836         (SPECPDL_RESERVE):
5837         * EmacsFrame.c (EmacsFrameSetValues):
5838         * eval.c (grow_specpdl):
5839         * ExternalShell.c (hack_event_masks_1):
5840         * glyphs-x.c (convert_EImage_to_XImage): 
5841         (x_finalize_image_instance):
5842         * ralloc.c (page_size):
5843         (r_alloc_sbrk):
5844         * xgccache.c (gc_cache_hash):
5845         Fix unsigned comparison warnings.
5846
5847 2002-07-29  Jerry James  <james@xemacs.org>
5848
5849         * lread.c (locate_file): Any nonnegative return value indicates
5850         success if MODE is nonnegative.
5851
5852 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5853
5854         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5855         argument. 
5856
5857 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5858
5859         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5860
5861         * dumper.c (pdump_get_indirect_count):
5862         (pdump_scan_by_alignment):
5863         (pdump_dump_root_struct_ptrs):
5864         (pdump_dump_rtables):
5865         (pdump_dump_root_objects):
5866         (pdump):
5867         * nas.c (WaveOpenDataForReading):
5868         * fns.c (print_bit_vector):
5869         * font-lock.c (SINGLE_SYNTAX_STYLE):
5870         * glyphs.c (check_for_ignored_expose):
5871         (find_matching_subwindow):
5872         * glyphs-eimage.c:
5873         * imgproc.c (get_histogram):
5874         * redisplay.c (point_in_line_start_cache):
5875         * redisplay-output.c (redisplay_unmap_subwindows):
5876         * symbols.c (defsymbol_massage_name_1):
5877         (defkeyword_massage_name):
5878         (deferror_massage_name_and_message):
5879         * redisplay-x.c (x_output_string): 
5880         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5881         * frame.h (struct frame):
5882         * filelock.c (current_lock_owner):
5883         * doprnt.c (emacs_doprnt_1):
5884         * lisp.h (struct Lisp_Bit_Vector):
5885         (DO_REALLOC):
5886         Fix warnings.
5887
5888 2002-02-13  Ben Wing  <ben@xemacs.org>
5889
5890         * event-stream.c (reset_key_echo):
5891         * event-stream.c (reset_this_command_keys):
5892         * event-stream.c (execute_command_event):
5893         If console is dead as a result of C-x 5 0, then post-command stuff
5894         needs to be careful and do only non-console-specific stuff.
5895
5896 2002-07-01  Mike Sperber <mike@xemacs.org>
5897
5898         * process-unix.c (unix_send_process): Mark coding_outstream as
5899         non-open upon SIGPIPE.
5900
5901         * event-stream.c (Fnext_event): Reorder switch cases to something
5902         that makes sense.
5903
5904 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5905
5906         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5907         Don't bogusly reinitialize ascii_character property.
5908
5909 2002-07-08  Mike Sperber <mike@xemacs.org>
5910
5911         * process.c (Fstart_process_internal): Do error checking before we
5912         fork off the child, so the child can't muck with the state of the
5913         parent.
5914
5915 2002-07-08  Mike Sperber <mike@xemacs.org>
5916
5917         * ralloc.c (init_ralloc): Allocate properly for pdump.
5918
5919 2002-06-12  Andy Piper  <andy@xemacs.org>
5920
5921         * glyphs.c (query_string_geometry): check the string.
5922
5923         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5924         widget names.
5925
5926 2002-06-17  Jerry James  <james@xemacs.org>
5927
5928         * sysdll.c: Remove RTLD_GLOBAL initialization.
5929         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5930
5931 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5932
5933         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5934
5935 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5936
5937         * sysdep.c (sys_rename): Make sys_rename work for the case where
5938         Windows rename sets errno to EACCES if target file exists.
5939
5940 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5941
5942         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5943         Fix detection of metric units to work on Win95
5944
5945 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5946
5947         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5948
5949 2002-04-25  Andy Piper  <andy@xemacs.org>
5950
5951         * redisplay.c (create_text_block): Remove extra comment trailer.
5952
5953 2002-04-24  Andy Piper  <andy@xemacs.org>
5954
5955         * redisplay.c (create_text_block): Don't actually add propagation
5956         data if the line ends after we have added a glyph.
5957
5958 2002-04-22  Andy Piper  <andy@xemacs.org>
5959
5960         * extents.c (extent_fragment_update): check for glyphs we have
5961         previously displayed.
5962         * extents.c (print_extent_1): warning removal.
5963         * extents.h: change prototype.
5964         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5965         widths correctly for wide glyphs.
5966         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5967         * redisplay.c (prop_type): add PROP_GLYPH.
5968         * redisplay.c (struct prop_block): add glyph type
5969         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5970         to the propagation data.
5971         * redisplay.c (create_text_block): if there is a glyph in the
5972         propagation data use it to salt extent_fragment_update.
5973         * redisplay.c (create_string_text_block): ditto.
5974
5975 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5976
5977         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5978         * redisplay-output.c (compare_runes): Compare them.
5979         * redisplay.c: Update copyright date.
5980         * redisplay.c (pos_data): Add need_baseline_computation field.
5981         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5982         need_baseline_computation; zero yoffset. Set max_pixmap_height
5983         for all pixmaps, not just automatically positioned ones.
5984         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5985         * redisplay.c (calculate_baseline): New, compute textual baseline.
5986         * redisplay.c (add_glyph_rune): Call them.
5987         * redisplay.c (create_text_block): Likewise.
5988         * redisplay.c (create_overlay_glyph_block): Likewise.
5989         * redisplay.c (add_margin_runes): Likewise.
5990         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5991
5992         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5993         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5994         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5995         * redisplay-msw.c (mswindows_output_string): Likewise.
5996         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5997         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5998         * redisplay-x.c (x_output_display_block): Likewise.
5999
6000 2002-03-28  Ben Wing  <ben@xemacs.org>
6001
6002         * redisplay.c: Fixed bug in redisplay
6003         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6004         and down of the lines, since they're bigger than the line
6005         size. (It was seen most obviously when there's a horizontal scroll
6006         bar, e.g. do C-h a glyph or something like that.) The problem was
6007         that the glyph-contrib-p setting on glyphs was ignored even if it
6008         was set properly, which it wasn't until now.
6009
6010 2002-04-24  Andy Piper  <andy@xemacs.org>
6011
6012         * lisp.h (Dynarr_end): Fix definition.
6013
6014 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6015
6016         * redisplay.c (mark_redisplay): Remove call to
6017         update_frame_window_mirror.
6018
6019 2001-11-15  Andy Piper  <andy@xemacs.org>
6020
6021         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6022         cygwin (again).
6023
6024 2002-02-13  Andy Piper  <andy@xemacs.org>
6025
6026         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6027         we did in fact enqueue the XM_MAPFRAME event.
6028
6029 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6030
6031         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6032         to fix problem switching between virtual desktops under virtuawin
6033         virtual window manager.
6034
6035 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6036
6037         * event-msw.c: Typo fix.
6038         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6039         magic XM_MAPFRAME event has been sent.
6040
6041 2001-11-23  Andy Piper  <andy@xemacs.org>
6042
6043         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6044
6045 2001-11-21  Andy Piper  <andy@xemacs.org>
6046
6047         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6048         mouse events outside the frame.
6049
6050 2002-03-20  Andy Piper  <andy@xemacs.org>
6051
6052         * menubar-msw.c (mswindows_popup_menu): warning removal.
6053         * dialog-msw.c (dialog_popped_down): ditto.
6054
6055 2001-12-11  Andy Piper  <andy@xemacs.org>
6056
6057         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6058         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6059         popup_up_p.
6060         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6061         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6062         * menubar-msw.c (mswindows_popup_menu): ditto.
6063
6064 2001-10-29  Andy Piper  <andy@xemacs.org>
6065
6066         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6067         cancels.
6068
6069 2002-01-03  Andy Piper  <andy@xemacs.org>
6070
6071         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6072         letters.
6073         (xrealpath): ditto.
6074
6075 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6076
6077         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6078         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6079         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6080         Detect and handle case where machine is set up for metric units
6081
6082 2002-04-02  Andy Piper  <andy@xemacs.org>
6083
6084         * dired-msw.c (mswindows_get_files): 
6085         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6086         completely handled by XEmacs. Suggested by Thomas Vogler
6087         <mail@thomas-vogler.de>.
6088
6089 2001-11-14  Andy Piper  <andy@xemacs.org>
6090
6091         * nt.c (REG_ROOT): change registry key to XEmacs.
6092
6093 2002-04-27  Andy Piper  <andy@xemacs.org>
6094
6095         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6096
6097 2002-04-26  Andy Piper  <andy@xemacs.org>
6098
6099         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6100         behavior.
6101
6102 2002-03-14  Mike Alexander  <mta@arbortext.com>
6103
6104         * event-msw.c (mswindows_unwait_process): New, remove process from
6105         wait list
6106         * process-nt.c (nt_finalize_process_data): Call
6107         mswindows_unwait_process
6108         * console-msw.h: Declare mswindows_unwait_process
6109
6110 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6111
6112         * editfns.c (Fdecode_time):
6113         (Fformat_time_string):
6114         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6115         (make_time): Warning elimination (change arg name).
6116
6117 2001-11-24  Andy Piper  <andy@xemacs.org>
6118
6119         * window.c (Fsplit_window): Doc return type.
6120
6121 2002-04-01  Andy Piper  <andy@xemacs.org>
6122
6123         * emacs.c (Fkill_emacs): Only output message box in interactive
6124         mode.
6125
6126 2002-04-26  Andy Piper  <andy@xemacs.org>
6127  
6128         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6129         cygwin.
6130
6131 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6132
6133         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6134         bit platform.
6135
6136 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6137
6138         * XEmacs 21.4.8 "Honest Recruiter" is released.
6139
6140 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6141
6142         Supersedes 2002-04-17 patch.
6143
6144         * process.h (PROCESS_LIVE_P): Use the process status as
6145         evidence of health, not the state of the input stream.
6146         (PROCESS_READABLE_P): Say if the process is readable
6147         from. (It may be dead nonetheless.)
6148         (CHECK_READABLE_PROCESS): Test for that condition.
6149
6150         * process.c (create_process): Use PROCESS_READABLE_P.
6151         (read_process_output, set_process_filter): Likewise.
6152
6153         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6154         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6155
6156         This code is #if 0'd, this is not the time to add new functions:
6157
6158         * process.c (Fprocess_readable_p): Report readability status.
6159         * process.c (Qprocess_readable_p): New, associated symbol...
6160         * process.c (syms_of_process): ... initialize it.
6161
6162 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6163
6164         * XEmacs 21.4.7 "Economic Science" is released.
6165
6166 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6167
6168         * process.h (PROCESS_LIVE_P): Use the process status as
6169         evidence of health, not the state of the input stream.
6170
6171 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6172
6173         * sysdep.c (sys_siglist): change "signum" to "signal"
6174
6175 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6176
6177         * s/darwin.h: New file.
6178         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6179         
6180 2002-04-23  Andreas Jaeger  <aj@suse.de>
6181
6182         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6183         which use lib64 for 64-bit libs.
6184         (START_FILES): Likewise.
6185
6186 2002-02-11  Mike Sperber  <mike@xemacs.org>
6187
6188         * device-x.c: 
6189         (x_IO_error_handler):
6190         (x_init_device): Temporarily keep device in static variable
6191         `device_being_initialized' so we can recover gracefully from
6192         internal XOpenDevice failure.  (XOpenDevice is documented to
6193         return NULL on failure, but sometimes calls the IO error handler
6194         instead.)
6195
6196 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6197
6198         * dired.c (Ffile_name_all_completions): Change documentation --
6199         remove reference to completion-ignored-extensions.
6200         * dired.c (vars_of_dired): Change documentation for
6201         completion-ignored-extensions -- remove reference to
6202         file-name-all-completions.
6203
6204 2002-03-06  Jerry James  <james@xemacs.org>
6205
6206         * emodules.c (emodules_load): Fix multiple loading of same module.
6207
6208 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6209         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6210         RTLD_LAZY to avoid incorrect symbol binding when using nested
6211         shared libraries on Solaris.
6212
6213 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6214
6215         * fileio.c (Ffind_file_name_handler): Improve docstring.
6216
6217 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6218
6219         * fns.c (Fmapconcat): Improve docstring.
6220
6221 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6222
6223         * device-gtk.c: Add prototype for
6224         emacs_gtk_selection_clear_event_handle.
6225         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6226         selection.  Setup signal handler for "selection_clear_event"
6227         (emacs_gtk_selection_clear_event_handle).
6228
6229         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6230         other applications owning the clipboard (based on
6231         x_handle_selection_clear).
6232
6233 2001-12-23  William M. Perry  <wmperry@gnu.org>
6234
6235         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6236         
6237 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6238
6239         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6240
6241 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6242
6243         * XEmacs 21.4.6 "Common Lisp" is released.
6244
6245 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6246
6247         * search.c (Freplace_match): Add missing sub-expression functionality.
6248
6249         * buffer.c (decode_buffer): Add a check for pointer type to
6250         decode_buffer, before gcc's CSE optimization reorders a
6251         dereference in front of the allow_string test.
6252
6253 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6254
6255         * window.c (window_loop): Fix bug that sometimes prevented
6256         window_loop() from iterating across multiple devices.  Also, at
6257         Ben's request, changed infloop-detecting code to abort() instead
6258         of silently terminating window_loop().
6259
6260 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6261
6262         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6263         * editfns.c (make_time): New function.
6264         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6265         * lisp.h (make_time): Prototype and comment it.
6266         * dired.c (wasteful_word_to_lisp): Deprecate.
6267         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6268
6269 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6270
6271         * fileio.c (auto_save_1): Use current coding system, not
6272         escape-quoted.
6273
6274 2001-11-13  Ben Wing  <ben@xemacs.org>
6275
6276         * window.c:
6277         * window.c (window_truncation_on):
6278         * window.c (syms_of_window):
6279         truncate-partial-width-windows should respect the buffer being
6280         displayed, like other redisplay vars.
6281
6282 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6283
6284         * event-stream.c (Fread_key_sequence): save current buffer.
6285
6286 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6287
6288         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6289
6290 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6291
6292         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6293
6294 2001-10-26  Mike Alexander  <mta@arbortext.com>
6295
6296         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6297
6298 2001-10-25  Andy Piper  <andy@xemacs.org>
6299
6300         * ChangeLog:
6301         * dialog-msw.c (handle_directory_proc): new function.
6302          (handle_directory_dialog_box): new fucntion.
6303          (handle_file_dialog_box): use new directory dialog support.
6304          (mswindows_make_dialog_box_internal): ditto.
6305         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6306         handling.
6307         (mswindows_find_frame): make global.
6308         * fileio.c (Fexpand_file_name): build fix.
6309         * general-slots.h: add Qdirectory.
6310         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6311         handling.
6312         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6313         cygwin not leaving win32 paths unchanged.
6314         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6315         cygwin runtime to do path conversion.
6316         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6317         (syms_of_win32): add new function.
6318         * window.c (window_loop): build fix.
6319
6320 2001-10-15  Andy Piper  <andy@xemacs.org>
6321
6322         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6323
6324 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6325
6326         * XEmacs 21.4.5 "Civil Service" is released.
6327
6328 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6329
6330         * glyphs-x.c: Force buffer-tab highlight update when moving the
6331         buffer, avoiding an ugly black border, used for keyboard focus
6332         indication, on a widget that can never have keyboard focus, the
6333         buffer tab.
6334
6335 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6336
6337         * process-unix.c (unix_open_multicast_group): Remove too much
6338         conversion between host and network byte order.
6339
6340 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6341
6342         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6343         before replacing them.
6344
6345         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6346         operation.
6347
6348         * src/window.c (undedicate_windows): Use it.
6349         * src/window.h: Add prototype.
6350
6351 2001-09-17  Ben Wing  <ben@xemacs.org>
6352
6353         * fileio.c (normalize_filename):
6354         * fileio.c (Fexpand_file_name):
6355         Fix various C++ compile errors in Andy's recent code.
6356         
6357         * callint.c (Fcall_interactively):
6358         * editfns.c (Ftemp_directory):
6359         * editfns.c (Fuser_full_name):
6360         * emacs.c (argmatch):
6361         * lread.c (locate_file_map_suffixes):
6362         * redisplay-x.c (x_ring_bell):
6363         Fix sign-compare warnings.
6364         
6365 2001-09-08  Andy Piper  <andy@xemacs.org>
6366
6367         * fileio.c (normalize_filename): copied from nt.c
6368         * (Ffile_name_directory): enable win32 paths under cygwin.
6369         * (Ffile_name_nondirectory): ditto.
6370         * (directory_file_name): ditto.
6371         * (Fexpand_file_name): ditto.
6372         * (Ffile_truename): ditto.
6373         * (Fsubstitute_in_file_name): ditto.
6374         * (Ffile_name_absolute_p): ditto.
6375         * (Ffile_readable_p): ditto.
6376
6377 2001-09-08  Andy Piper  <andy@xemacs.org>
6378
6379         * device-msw.c (mswindows_finish_init_device): remove dde
6380         initialization.
6381         * device-msw.c (mswindows_init_dde): factor out from
6382         mswindows_finish_init_device()
6383         * device-msw.c (init_mswindows_very_early): new function
6384         initialize but don't enable dde.
6385         * emacs.c (main_1): call init_mswindows_very_early.
6386         * event-msw.c:
6387         * event-msw.c (mswindows_dde_callback): only execute when we are
6388         ready.
6389         * symsinit.h: declare init_mswindows_very_early.
6390
6391 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6392
6393         [sjt: This has been in 21.5 for months with no complaints.]
6394
6395         * console.h (struct console_methods): Added flags member.
6396         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6397         (CONMETH_IMPL_FLAG):
6398         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6399         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6400
6401         * device.c (window_system_pixelated_geometry): Use the above macros.
6402
6403         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6404         implememntation flag.
6405         * device.h (DEVICE_DISPLAY_P): Use it.
6406
6407         * frame.c (delete_frame_internal): Use the above macro.
6408
6409         * redisplay.c (redisplay_device): Use it.
6410         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6411         (redisplay_frame): Ditto.
6412
6413         * device-msw.c (mswindows_device_implementation_flags): Removed.
6414         (msprinter_device_implementation_flags): Removed.
6415         (console_type_create_device_mswindows): Removed references to
6416         implementation_flags methods, set implementation flags here.
6417         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6418
6419         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6420         (console_type_create_device_gtk): Removed method declaration.
6421         Added commented out statement which semantically matches the
6422         commented out statement in the above removed method.
6423
6424 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6425
6426         The attached patch fixes a few warnings. 
6427
6428         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6429         * src/frame-gtk.c: guard against GNOME calls in GTK only
6430         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6431         * src/select-gtk.c: prototype lisp_to_time
6432
6433 2001-06-08  Ben Wing  <ben@xemacs.org>
6434
6435         ------ gc-in-window-procedure fixes ------
6436         
6437         * alloc.c:
6438         * alloc.c (struct post_gc_action):
6439         * alloc.c (register_post_gc_action):
6440         * alloc.c (run_post_gc_actions):
6441         * alloc.c (garbage_collect_1):
6442         Create "post-gc actions", to avoid those dreaded "GC during window
6443         procedure" problems.
6444
6445         * event-msw.c:
6446         Abort, clean and simple, when GC in window procedure.  We want
6447         to flush these puppies out.
6448
6449         * glyphs-msw.c:
6450         * glyphs-msw.c (finalize_destroy_window):
6451         * glyphs-msw.c (mswindows_finalize_image_instance):
6452         Use a post-gc action when destroying subwindows.
6453
6454         * lisp.h:
6455         Declare register_post_gc_action().
6456
6457         * scrollbar-msw.c:
6458         * scrollbar-msw.c (unshow_that_mofo):
6459         Use a post-gc action when unshowing scrollbar windows, if in gc.
6460
6461         * redisplay.c (mark_redisplay):
6462         Add comment about the utter evilness of what's going down here.
6463
6464         ------ cygwin setitimer fixes ------
6465         
6466         * Makefile.in.in (sheap_objs):
6467         * Makefile.in.in (profile_objs):
6468         * Makefile.in.in (objs):
6469         Compile profile.c only when HAVE_SETITIMER.
6470         
6471         * nt.c (mswindows_sigset):
6472         * nt.c (mswindows_sighold):
6473         * nt.c (mswindows_sigrelse):
6474         * nt.c (mswindows_sigpause):
6475         * nt.c (mswindows_raise):
6476         * nt.c (close_file_data):
6477         Style fixes.
6478         
6479         * nt.c:
6480         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6481         
6482         * profile.c:
6483         * profile.c (Fstart_profiling):
6484         * profile.c (Fstop_profiling):
6485         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6486         instead of just plain setitimer().
6487         
6488         * signal.c:
6489         * signal.c (set_one_shot_timer):
6490         * signal.c (alarm):
6491         Define qxe_setitimer() as an encapsulation around setitimer() --
6492         call setitimer() directly unless Cygwin or MS Win, in which case
6493         we use our simulated version in win32.c.
6494         
6495         * systime.h:
6496         * systime.h (struct itimerval):
6497         * systime.h (ITIMER_REAL):
6498         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6499         comment about "qxe" and the policy regarding encapsulation.
6500
6501         * win32.c:
6502         * win32.c (setitimer_helper_proc):
6503         * win32.c (setitimer_helper_period):
6504         * win32.c (setitimer_helper):
6505         * win32.c (mswindows_setitimer):
6506         Move setitimer() emulation here, so Cygwin can use it.
6507         Rename a couple of functions and variables to be longer and more
6508         descriptive.  In setitimer_helper_proc(), send the signal
6509         using either mswindows_raise() or (on Cygwin) kill().  If for
6510         some reason we are still getting lockups, we'll change the kill()
6511         to directly invoke the signal handlers.
6512
6513         ------ windows shell fixes ------
6514         
6515         * callproc.c:
6516         * ntproc.c:
6517         Comments about how these two files must die.
6518
6519         * callproc.c (init_callproc):
6520         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6521         not just COMSPEC. (more correct and closer to FSF.) Don't
6522         force a value for SHELL into the environment. (Comments added
6523         to explain why not.)
6524         
6525         * nt.c (init_user_info):
6526         Don't shove a fabricated SHELL into the environment.  See above.
6527
6528 2001-06-01  Ben Wing  <ben@xemacs.org>
6529
6530         * Makefile.in.in (ldflags):
6531         eliminate that pesky "defaulting to 00401000" warning.
6532         * nt.h:
6533         eliminate warnings.
6534
6535 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6536
6537         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6538         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6539
6540 2001-04-24  Jerry James <james@xemacs.org>
6541
6542         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6543         correct order.
6544
6545 2001-06-01  Ben Wing  <ben@xemacs.org>
6546
6547         * event-msw.c (debug_mswin_messages):
6548         conditionalize the messages that were causing compile errors.
6549         (if only macros could generate #ifdef statements ...)
6550
6551 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6552
6553         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6554
6555 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6556
6557         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6558
6559 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6560
6561         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6562         * process-unix.c (unix_canonicalize_host_name):
6563         sysdep.c (init_system_name):
6564         Use it to conditionally support IPv6 canonicalization.
6565
6566 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6567
6568         * event-msw.c:
6569         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6570
6571 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6572
6573         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6574         attempt is made to scroll when no scroll bar is available.
6575
6576 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6577
6578         * input-method-motif.c (XIM_delete_frame): New callback.
6579         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6580         got deleted from 21.4.3.)
6581
6582 2001-06-01  Ben Wing  <ben@xemacs.org>
6583
6584         * nt.c (mswindows_utime):
6585         * nt.c (close_file_data):
6586         fix off-by-one-indirection error.
6587
6588 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6589
6590         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6591         because set_file_times() now takes Lisp_Object path, instead of
6592         char*.
6593         * nt.c: Include buffer.h.
6594         * nt.c (convert_from_time_t): New.
6595         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6596         not set mtime correctly.
6597         * nt.h: Declare mswindows_utime().
6598         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6599         path, instead of char*.
6600         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6601
6602 2001-05-30  Ben Wing  <ben@xemacs.org>
6603
6604         For 21.4:
6605
6606         (Stephen, just take all event-msw.c patches.  This includes
6607         the "iconify" fix below.)
6608
6609         * event-msw.c:
6610         * event-msw.c (mswindows_dequeue_dispatch_event):
6611         * event-msw.c (assert):
6612         * event-msw.c (emacs_mswindows_quit_p):
6613         * event-msw.c (debug_mswin_messages):
6614         * event-msw.c (debug_output_mswin_message):
6615         * event-msw.c (vars_of_event_mswindows):
6616         Fix yet more problems with C-g handling.
6617         Implement debug-mswindows-events.
6618         
6619 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6620
6621         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6622         
6623 2001-05-23  Ben Wing  <ben@xemacs.org>
6624
6625         * event-msw.c (winsock_writer):
6626         * event-msw.c (winsock_closer):
6627         prior kludgy code was clobbering the buffer, thinking it was
6628         "unused" space to store an unneeded return value; instead, use
6629         the variable we've already got staring us in the face.
6630
6631 2001-05-17  Andy Piper  <andy@xemacs.org>
6632
6633         * sysfile.h: don't assume that file attributes are boolean
6634
6635 2001-05-23  Ben Wing  <ben@xemacs.org>
6636
6637         * device-msw.c (msprinter_init_device):
6638         signal an error rather than crash with an unavailable network
6639         printer (from Mike Alexander).
6640         
6641         * event-msw.c:
6642         * event-msw.c (struct winsock_stream):
6643         * event-msw.c (winsock_writer):
6644         * event-msw.c (winsock_closer):
6645         * event-msw.c (make_winsock_stream_1):
6646         cleanup headers.  fix (hopefully) an error with data corruption
6647         when sending to a network connection.
6648
6649         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6650         to handle the ~user prefix by (a) always assuming we're referencing
6651         ourselves and not even verifying the user -- hence any file with
6652         a tilde as its first char is invalid! (b) if there wasn't a slash
6653         following the filename, the pointer was set *past* the end of
6654         file and we started reading from uninitialized memory.  Now we
6655         simply treat these as files, always.
6656
6657         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6658         
6659 2001-05-19  Ben Wing  <ben@xemacs.org>
6660
6661         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6662
6663         * process-nt.c:
6664         * process-nt.c (vars_of_process_nt):
6665         remove unused mswindows-quote-process-args.  rec for 21.4.
6666         
6667 2001-05-12  Ben Wing  <ben@xemacs.org>
6668
6669         * event-msw.c (mswindows_dde_callback):
6670         * event-msw.c (mswindows_wnd_proc):
6671         eliminate cygwin warnings.
6672
6673 2001-05-06  Ben Wing  <ben@xemacs.org>
6674
6675         * console-msw.h:
6676         * device-msw.c:
6677         * device-msw.c (print_dialog_worker):
6678         * device-msw.c (mswindows_handle_print_dialog_box):
6679         * device-msw.c (syms_of_device_mswindows):
6680         * dialog-msw.c (mswindows_make_dialog_box_internal):
6681         * general-slots.h:
6682         implement printing the selection when it's selected.
6683
6684 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6685
6686         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6687
6688 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6689
6690         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6691         EMACS_INT is signed.
6692
6693 2001-04-15  Michael Lausch  <mla@1012surf.net>
6694
6695         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6696         gtk_widget_request_size() to give scrollbar >0 width for
6697         GTK >1.2.8.
6698
6699 2001-05-30  William M. Perry  <wmperry@gnu.org>
6700
6701         * event-gtk.c: Check for buttons as modifier keys.
6702
6703 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6704
6705         * s\mingw32.h:
6706         Properly find MinGW's <process.h> inside Cygwin's restructured
6707         include directories.  Don't try to include <cygwin/version.h>
6708         since we are dropping support for MinGW in versions of Cygwin
6709         earlier than b21.
6710         * nt.c:
6711         Drop support for MinGW in versions of Cygwin before b21.
6712         * sysdep.c:
6713         Properly find MinGW's <process.h> inside Cygwin's restructured
6714         include directories.
6715         * syswindows.h:
6716         Drop support for MinGW in versions of Cygwin before b21.
6717         * unexcw.c:
6718         Even though a.out.h is no longer detected by configure, allow
6719         MinGW to use it until we figure out how to do the job with Win32.
6720
6721 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6722
6723         * syntax.c (find_start_of_comment):
6724         Fix `unbalanced parentheses' bug when dealing with mixed comment
6725         styles in c++/java/etc. mode
6726
6727 2001-05-29  Mike Alexander  <mta@arbortext.com>
6728
6729         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6730         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6731
6732 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6733
6734         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6735
6736 2001-03-31  Mike Sperber <mike@xemacs.org>
6737
6738         * search.c (Freplace_match): Support FSF-style specification of
6739         match subexpression when applied to a buffer.
6740
6741 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6742
6743         * event-stream.c (is_scrollbar_event): add missing semicolon
6744
6745 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6746
6747         * Makefile.in.in: Use TAR macro instead of hardcoding
6748           tar.  Allows use of GNU tar instead of system tar
6749
6750 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6751
6752         * event-stream.c (is_scrollbar_event): add missing semicolon
6753
6754 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6755
6756         * XEmacs 21.4.3 "Academic Rigor" is released.
6757
6758 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6759
6760         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6761
6762 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6763
6764         * buffer.c (Vcase_fold_search): Remove obsolete
6765           comment about non ASCII case-fold-search.  This
6766           bug has been fixed by case-table changes.
6767
6768 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6769
6770         * event-msw.c: Restore include of events-mod.h.
6771
6772 2001-04-22   zhaoway  <zw@debian.org>
6773
6774         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6775         !HAVE_SCROLLBARS.
6776
6777 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6778
6779         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6780
6781 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6782
6783         * mule-charset.c (Fmake_charset): Add missing else.
6784
6785 2001-04-23  Ben Wing  <ben@xemacs.org>
6786
6787         * event-msw.c (FAKE_MOD_QUIT):
6788         * event-msw.c (mswindows_dequeue_dispatch_event):
6789         * event-msw.c (mswindows_wnd_proc):
6790         * event-msw.c (emacs_mswindows_quit_p):
6791         Get critical quit working.
6792
6793 2001-05-05  Ben Wing  <ben@xemacs.org>
6794
6795         * console-msw.h:
6796         * device-msw.c:
6797         * device-msw.c (mswindows_get_default_margin):
6798         * frame-msw.c (mswindows_size_frame_internal):
6799         * frame-msw.c (msprinter_init_frame_1):
6800         * frame-msw.c (vars_of_frame_mswindows):
6801         Change top/bottom margin defaults to 0.5 inches.
6802
6803 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6804
6805         Fix link error with gcc 3.0 on Linux.
6806         * terminfo.c (UP): Remove.
6807         * terminfo.c (BC): Remove.
6808         * terminfo.c (PC): Remove.
6809         They weren't used, and in any case, these symbols should be
6810         defined in the *library*.
6811
6812 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6813
6814         * s/aix4.h: Fix crash with xlc -O3.
6815         Improve comment explaining how -O3 works.
6816
6817 2001-04-15  Ben Wing  <ben@xemacs.org>
6818
6819         * event-stream.c:
6820         * event-stream.c (Fnext_event):
6821         * event-stream.c (is_scrollbar_event):
6822         * event-stream.c (execute_command_event):
6823         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6824         crash' problem.  His fix introduces other problems.  We filter
6825         out scrollbar events specifically, making them somewhat invisible
6826         to command-building, and not appearing in `this-command-keys'.
6827         More work is still needed (see comments in event-stream.c), but
6828         this fixes all the major problems.
6829
6830 2001-04-20  Ben Wing  <ben@xemacs.org>
6831
6832         * .cvsignore: Added stuff for Windows.
6833
6834 2001-04-28  Ben Wing  <ben@xemacs.org>
6835
6836         * buffer.c (Ferase_buffer):
6837         * editfns.c (buffer_insert1):
6838         * editfns.c (Finsert_before_markers):
6839         * editfns.c (Finsert_string):
6840         * editfns.c (Finsert_char):
6841         * editfns.c (Fdelete_region):
6842         * editfns.c (Fwiden):
6843         * editfns.c (Fnarrow_to_region):
6844         remove bogus lines setting zmacs_region_stays to 0.
6845         
6846 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6847
6848         * process-unix.c (unix_open_network_stream): If connect() fails
6849         invalidate file descriptor after closing it.
6850
6851 2001-03-08  Mike Alexander  <mta@arbortext.com>
6852
6853         * event-msw.c (mswindows_need_event_in_modal_loop):
6854         Don't dispatch a message if we didn't get one.
6855         (mswindows_need_event):
6856         Terminate the correct process when one exits instead of the first
6857         one on Vprocess_list and look for process termination when in
6858         mswindows_protect_modal_loop.
6859
6860 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6861
6862         * XEmacs 21.4.1 "Copyleft" is released.
6863
6864 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6865
6866         * input-method-motif.c (XIM_delete_frame): New callback.
6867         (XIM_init_frame): Register it.
6868
6869 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6870
6871         * XEmacs 21.4.0 "Solid Vapor" is released.
6872
6873 2001-04-15  Ben Wing  <ben@xemacs.org>
6874
6875         * cmdloop.c (call_command_loop):
6876         Fix braino in bit-rotting code.
6877         
6878 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6879
6880         * extents.c (Fset_extent_endpoints): Force creation of extent info
6881         in buffer_or_string.
6882
6883         * extents.c (process_extents_for_insertion_mapper): Correctly
6884         check for open-open zero-length extents.
6885
6886 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6887
6888         * lisp.h: New typedefs Memory_count, Element_count.
6889         * regex.c:
6890         * regex.h:
6891         Sign-compare warning elimination: several unsigned -> signed.
6892         Based on work by Ben Wing <ben@xemacs.org>.
6893
6894 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6895
6896         * XEmacs 21.2.47 "Zephir" is released.
6897
6898 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6899
6900         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6901
6902 2001-04-03  Mike Sperber <mike@xemacs.org>
6903
6904         * search.c: Revert previous patch due because of release.
6905
6906 2001-03-30  Ben Wing  <ben@xemacs.org>
6907
6908         * s\cygwin32.h:
6909         Add missing killpg prototype.
6910
6911         * elhash.c:
6912         Add a comment about fixing problems when a new entry is added
6913         while mapping.
6914
6915         * frame-msw.c (mswindows_init_frame_1):
6916         Fix compile warnings.
6917
6918         * menubar.c (vars_of_menubar):
6919         Provide `menu-accelerator-support' to indicate that we properly
6920         support %_ in menu specifications, so that package code can
6921         conditionalize on this (and remove %_ from menu specifications
6922         on older versions).
6923
6924         * event-msw.c:
6925         * scrollbar-msw.c:
6926         * scrollbar-msw.c (can_scroll):
6927         * scrollbar-msw.h:
6928         Fix handling of mouse wheel under Windows to follow standards --
6929         now scrolls window under pointer, not selected window.
6930
6931 2001-03-31  Mike Sperber <mike@xemacs.org>
6932
6933         * search.c (Freplace_match): Support FSF-style specification of
6934         match subexpression when applied to a buffer.
6935
6936 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6937
6938         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6939         function to modify KEYMAP, so map over a copy of the hash table.
6940
6941 2001-03-21  Martin Buchholz <martin@xemacs.org>
6942
6943         * XEmacs 21.2.46 "Urania" is released.
6944
6945 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6946
6947         * realpath.c (xrealpath): Make file-truename work with symlinks to
6948         /cygdrive paths on cygwin. Always lowercase drive-letters on
6949         native windows.
6950         (cygwin_readlink): Don't try to find canonical filename unless
6951         file exists.
6952
6953 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6954
6955         * ChangeLog: Log GTK merge.
6956
6957         * dumper.c:
6958         * select-x.c:
6959         * specifier.c:
6960         * symeval.h:
6961         Revert gratuitous whitespace changes from GTK merge.
6962
6963         * emacs.c: Document end of complex #ifdef @ l. 1495.
6964
6965
6966 2001-03-12  Andy Piper  <andy@xemacs.org>
6967
6968         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6969         have to do likewise.
6970
6971 2001-03-12  Andy Piper  <andy@xemacs.org>
6972
6973         * sysdep.c: we only support mingw now.
6974
6975 2001-03-09  Andy Piper  <andy@xemacs.org>
6976
6977         * unexcw.c (copy_executable_and_dump_data_section): making approx
6978         overrun a warning only.
6979
6980 2001-03-10  William M. Perry  <wmperry@aventail.com>
6981
6982         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6983         satisfy Stephen's identical-after-cpp plea.
6984
6985 2001-03-02  Ben Wing  <ben@xemacs.org>
6986
6987         * cmds.c:
6988         * cmds.c (Fforward_char):
6989         * syntax.c:
6990         * window.c:
6991
6992         Augment documentation of the most common motion commands to make
6993         note of the shifted-motion support.
6994         
6995 2001-03-02  Ben Wing  <ben@xemacs.org>
6996
6997         * nt.c (mswindows_fstat):
6998         * nt.c (mswindows_stat):
6999         * search.c (boyer_moore):
7000         Fix compile warnings under Windows.
7001         
7002         * sysdep.c (sys_readdir):
7003         Fix buggy filename-conversion code under Mule.
7004
7005 2001-03-09  William M. Perry  <wmperry@aventail.com>
7006
7007         * Makefile.in.in:
7008         * config.h.in:
7009         * console.c:
7010         * console.h:
7011         * device.c:
7012         * device.h:
7013         * dragdrop.c:
7014         * emacs.c:
7015         * event-stream.c:
7016         * events.c:
7017         * events.h:
7018         * faces.c:
7019         * frame.h:
7020         * general-slots.h:
7021         * glyphs.c:
7022         * gutter.c:
7023         * inline.c:
7024         * lisp.h:
7025         * lrecord.h:
7026         * make-src-depend:
7027         * redisplay-output.c:
7028         * redisplay.c:
7029         * symsinit.h:
7030         * sysfile.h:
7031         * toolbar.c:
7032         * window.c:
7033         The Great GTK Merge.
7034
7035         * ChangeLog.GTK:
7036         * console-gtk.c:
7037         * console-gtk.h:
7038         * device-gtk.c:
7039         * emacs-marshals.c:
7040         * emacs-widget-accessors.c:
7041         * event-gtk.c:
7042         * frame-gtk.c:
7043         * gccache-gtk.c:
7044         * gccache-gtk.h:
7045         * glade.c:
7046         * glyphs-gtk.c:
7047         * glyphs-gtk.h:
7048         * gtk-glue.c:
7049         * gtk-xemacs.c:
7050         * gtk-xemacs.h:
7051         * gui-gtk.c:
7052         * gui-gtk.h:
7053         * menubar-gtk.c:
7054         * native-gtk-toolbar.c:
7055         * objects-gtk.c:
7056         * objects-gtk.h:
7057         * redisplay-gtk.c:
7058         * scrollbar-gtk.c:
7059         * scrollbar-gtk.h:
7060         * select-gtk.c:
7061         * toolbar-gtk.c:
7062         * ui-byhand.c:
7063         * ui-gtk.c:
7064         * ui-gtk.h:
7065         The Great GTK Merge: new files.
7066
7067 2001-02-26  Ben Wing  <ben@xemacs.org>
7068
7069         Reapplied Lstream change.
7070
7071 2001-02-26  Ben Wing  <ben@xemacs.org>
7072
7073         Undid the last change, since it is more controversial than I
7074         thought.  It should be back in at some point soon.
7075         
7076 2001-02-25  Ben Wing  <ben@xemacs.org>
7077
7078         * buffer.c:
7079         * callproc.c (Fold_call_process_internal):
7080         * event-msw.c (ntpipe_slurp_reader):
7081         * event-msw.c (ntpipe_shove_writer):
7082         * event-msw.c (winsock_reader):
7083         * event-msw.c (winsock_writer):
7084         * file-coding.c:
7085         * file-coding.c (detect_eol_type):
7086         * file-coding.c (detect_coding_type):
7087         * file-coding.c (determine_real_coding_system):
7088         * file-coding.c (Fdetect_coding_region):
7089         * file-coding.c (decoding_reader):
7090         * file-coding.c (decoding_writer):
7091         * file-coding.c (mule_decode):
7092         * file-coding.c (Fdecode_coding_region):
7093         * file-coding.c (encoding_reader):
7094         * file-coding.c (encoding_writer):
7095         * file-coding.c (mule_encode):
7096         * file-coding.c (Fencode_coding_region):
7097         * file-coding.c (detect_coding_sjis):
7098         * file-coding.c (decode_coding_sjis):
7099         * file-coding.c (encode_coding_sjis):
7100         * file-coding.c (detect_coding_big5):
7101         * file-coding.c (decode_coding_big5):
7102         * file-coding.c (encode_coding_big5):
7103         * file-coding.c (detect_coding_ucs4):
7104         * file-coding.c (decode_coding_ucs4):
7105         * file-coding.c (encode_coding_ucs4):
7106         * file-coding.c (detect_coding_utf8):
7107         * file-coding.c (decode_coding_utf8):
7108         * file-coding.c (encode_coding_utf8):
7109         * file-coding.c (detect_coding_iso2022):
7110         * file-coding.c (decode_coding_iso2022):
7111         * file-coding.c (encode_coding_iso2022):
7112         * file-coding.c (decode_coding_no_conversion):
7113         * file-coding.c (encode_coding_no_conversion):
7114         * glyphs-x.c (write_lisp_string_to_temp_file):
7115         * gpmevent.c (tty_get_foreign_selection):
7116         * lisp.h:
7117         * lstream.c:
7118         * lstream.c (Lstream_flush_out):
7119         * lstream.c (Lstream_adding):
7120         * lstream.c (Lstream_write_1):
7121         * lstream.c (Lstream_write):
7122         * lstream.c (Lstream_raw_read):
7123         * lstream.c (Lstream_read_more):
7124         * lstream.c (Lstream_read):
7125         * lstream.c (Lstream_unread):
7126         * lstream.c (Lstream_fputc):
7127         * lstream.c (stdio_reader):
7128         * lstream.c (stdio_writer):
7129         * lstream.c (filedesc_reader):
7130         * lstream.c (filedesc_writer):
7131         * lstream.c (lisp_string_reader):
7132         * lstream.c (struct fixed_buffer_stream):
7133         * lstream.c (make_fixed_buffer_input_stream):
7134         * lstream.c (make_fixed_buffer_output_stream):
7135         * lstream.c (fixed_buffer_reader):
7136         * lstream.c (fixed_buffer_writer):
7137         * lstream.c (struct resizing_buffer_stream):
7138         * lstream.c (resizing_buffer_writer):
7139         * lstream.c (dynarr_writer):
7140         * lstream.c (lisp_buffer_reader):
7141         * lstream.c (lisp_buffer_writer):
7142         * lstream.h:
7143         * lstream.h (lstream_implementation):
7144         * lstream.h (struct lstream):
7145         * md5.c (Fmd5):
7146         * process-nt.c (nt_send_process):
7147         * process-unix.c (unix_send_process):
7148         
7149         Correct Lstream lossage due to mixing of signed and unsigned
7150         quantities.  All Lstream uses of size_t and ssize_t are now a
7151         single signed data type Lstream_data_count.  This fixes problems
7152         under Windows with sending large quantities of data to a process,
7153         and may well fix other subtle bugs.
7154
7155 2001-02-23  Martin Buchholz <martin@xemacs.org>
7156
7157         * XEmacs 21.2.45 "Thelxepeia" is released.
7158
7159 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7160
7161         * lisp-union.h (XSETINT): 
7162         (XSETCHAR):
7163         (XSETOBJ): 
7164         Reverse previous change of 2001-02-06.
7165
7166 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7167
7168         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7169         buffers.
7170         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7171         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7172         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7173         * regex.c (POS_AS_IN_BUFFER): removed
7174         * regex.c (re_search_2):
7175         * regex.c (re_match_2):
7176         Don't use an offset of 1 when calculating buffer positions, since
7177         `BI_BUF_BEGV' does it already.
7178
7179 2001-02-18  Wim Dumon  <wim@easics.be>
7180
7181         * insdel.c (prepare_to_modify_buffer): Also check for
7182         supersession when clash-detection is enabled. 
7183
7184 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7185
7186         * regex.c (re_match_2_internal):
7187         Convert temp characters from 'const unsigned char' to 're_char'.
7188         Fix crashing bug with extended characters under mule.
7189         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7190         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7191         font-lock, pdump, and new syntax-table code.
7192         * syntax.c (find_start_of_comment):
7193         (find_end_of_comment):
7194         (forward-comment):
7195         Fix crashing bugs involving moving beyond end of buffer.
7196         * syntax.c (find_start_of_comment):
7197         Fixed logic to allow proper detection of cases where the same
7198         character is used to end both a two-char comment start and a
7199         two-char comment end sequence. Fixes `(forward-comment -1)'.
7200         * syntax.c (find_start_of_comment):
7201         Return position just past last comment-end character for all cases
7202         (previously was only done for two-char comment-end sequences).
7203         * syntax.c (forward-comment):
7204         Take value returned from `find_end_of_comment', rather than
7205         incrementing it.
7206         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7207         Properly deal with BUFFERP (syntax_cache.object)
7208
7209 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7210
7211         * alloc.c (Fgarbage_collect): 
7212         * alloc.c (make_bit_vector_from_byte_vector):
7213         -Wsign-compare-correctness.
7214
7215 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7216
7217         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7218         (XSETCHAR): Likewise.
7219         (XSETOBJ): Likewise.
7220
7221 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7222
7223         * mule-canna.c (canna-func-delete_previous): 
7224         Rename to canna-func-delete-previous.
7225
7226 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7227
7228         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7229
7230 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7231
7232         * font-lock.c (find_context): Fix C++ compile errors introduced by
7233         recent patch
7234
7235 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7236
7237         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7238         pragma, but earlier ones barf on the same pragma.
7239
7240 2001-02-06  Mike Sperber <mike@xemacs.org>
7241
7242         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7243         `configure-mule-lisp-directory'.
7244
7245 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7246
7247         Make sure dump-id.c is compiled in the same way as other .c's.
7248         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7249         * dump-id.h: Remove.
7250         * emacs.c: Move dump-id.h into dumper.h.
7251         * dumper.h: Move dump-id.h into dumper.h.
7252         * Makefile.in.in:
7253         Use standard .c.o rule for building dump-id.o.
7254         Remove preprocessor flags from link command.
7255         Add dump-id.o to ${otherobjs} if PDUMP.
7256
7257 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7258
7259         Port FSF 20.7 syntax table improvements.
7260         * syntax.c.
7261         * syntax.h.
7262
7263         Fixups for new syntax table stuff.
7264         * dired.c: Include syntax.c.
7265         (Fdirectory_files): Initialize regex_match_object and
7266         regex_emacs_buffer.
7267         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7268         and Fget_char_property.
7269
7270         Use ported FSF 20.7 syntax table improvements.
7271         * font-lock.c.
7272         * regex.c.
7273         * search.c.
7274         
7275 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7276
7277         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7278         Unixware's enum boolean from sys/types.h.
7279
7280 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7281
7282         Fix support for building with latest Purify.
7283         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7284         (PURIFY_FLAGS): Likewise.
7285
7286 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7287
7288         * fileio.c (lisp_string_set_file_times): New.
7289         * fileio.c (Fcopy_file): Use it.
7290         Fixes bug:
7291         (copy-file filename non-ascii-filename t t)
7292         ==> No such file or directory, non-ascii-filename
7293
7294 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7295
7296         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7297         USHRT_MAX seems clearer than ~0 anyways.
7298
7299 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7300
7301         dumper improvements.  Inspired by Olivier.
7302         * dumper.c (pdump_max_align): New.
7303         * dumper.c (pdump_add_entry): Use pdump_max_align.
7304         * dumper.c (pdump_get_entry_list): Likewise.
7305         * dumper.c (pdump_scan_by_alignment): Likewise.
7306         Don't iterate through unnecessary alignments.
7307         * dumper.c (pdump_file_get): No need to align result of malloc().
7308         * dumper.c (pdump_mallocadr): Remove.  
7309         The result of malloc() is guaranteed to be maximally aligned.
7310         * dumper.c: s/elmt/elt/g;
7311         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7312         * dumper.c (pdump_alert_undump_object): Likewise.
7313         * dumper.c (pdump_align_table): 
7314         Don't support alignments > 64.
7315         Store ALIGNOF's, not shift counts, in table.
7316
7317 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7318
7319         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7320         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7321         * systime.h: Use HAVE_UTIME.
7322         * sysdep.c (struct utimbuf): Remove.
7323         * sysdep.c (set_file_times): Prefer utime() to utimes().
7324         * config.h.in (HAVE_UTIME): New.
7325         * config.h.in (HAVE_UTIME_H): Remove.
7326         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7327
7328 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7329
7330         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7331
7332 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7333
7334         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7335
7336 2001-02-08  Martin Buchholz <martin@xemacs.org>
7337
7338         * XEmacs 21.2.44 "Thalia" is released.
7339
7340 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7341
7342         Fixes crashes in kill-emacs on some systems.
7343         * process-unix.c (unix_kill_child_process):
7344         It's OK for kill() to fail with ESRCH.
7345
7346 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7347
7348         Contortions to make .gdbinit tricks work on most systems.
7349         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7350         * alloc.c (dbg_valmask): Make non-const.
7351         * alloc.c (dbg_typemask): Make non-const.
7352         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7353         * alloc.c (dbg_valbits): Make non-const.
7354         * alloc.c (dbg_gctypebits): Make non-const.
7355         * .gdbinit (decode_object): Make it work with AIX cc.
7356
7357 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7358
7359         * elhash.c (make_general_lisp_hash_table):
7360         Use simpler and more efficient calloc to clear entries.
7361
7362 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7363
7364         * window.c (window_scroll): Work around an AIX C compiler bug.
7365         Fixes 'scroll-up' does nothing problem with xlC.
7366
7367 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7368
7369         * .gdbinit: Remove obsolete comment.
7370
7371 2001-01-31  Mike Alexander  <mta@arbortext.com>
7372
7373         * select.c (Fown_selection_internal): Set owned_p for device
7374         method correctly.
7375
7376 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7377
7378         Port to g++ 2.97.
7379         "not" cannot be used as a macro name as it is an operator in C++
7380         * config.h.in: Stop #defining `not'.
7381         * chartab.c (check_category_char): not ==> not_p
7382         * chartab.h: Likewise.
7383         * regex.c (re_match_2_internal): Likewise.
7384
7385 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7386
7387         * lisp-disunion.h: Fix up comments.
7388
7389 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7390
7391         * keymap.c (define_key_check_and_coerce_keysym):
7392         (syms_of_keymap):
7393         Support mouse-6 and mouse-7 bindings in the obvious way.
7394
7395 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7396
7397         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7398
7399 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7400
7401         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7402         Previous patch missed DEFVAR_INT_MAGIC.
7403         Make sure future DEFVAR_foo use correct types.
7404         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7405         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7406         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7407         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7408         * (DEFVAR_INT): Likewise.
7409         * redisplay.c (vertical_clip): Should be of type Fixnum.
7410         * redisplay.c (horizontal_clip): Likewise.
7411         * lisp.h (dump_add_opaque_int): New.
7412         (dump_add_opaque_fixnum): New.
7413
7414 2001-01-29  Andy Piper  <andy@xemacs.org>
7415
7416         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7417         since they can be eval'ed
7418
7419 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7420
7421         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7422         Oops, XEmacs redefines `class'.  Use `typename' instead.
7423
7424 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7425
7426         * dumper.c: Fix C++ compile errors.
7427
7428 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7429
7430         * tparam.c: Use correct prototypes.
7431
7432 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7433
7434         * sysproc.h: #include util.h for NetBSD's openpty.
7435
7436 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7437
7438         More 64-bit correctness.
7439         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7440         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7441         Fix up comments.
7442         This finally finishes the 64-bit SGI port.
7443         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7444         * symbols.c: Fix up comments and type casts.
7445         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7446         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7447         * symeval.h (Fixnum): New type.
7448         * symeval.h (symbol_value_type): Fix up comment.
7449
7450         * commands.h:
7451         * nt.c:
7452         * emacs.c:
7453         * data.c:
7454         * redisplay.c:
7455         * abbrev.c:
7456         * dired-msw.c:
7457         * event-Xt.c:
7458         * eldap.c:
7459         * window.c:
7460         * sound.c:
7461         * event-stream.c:
7462         * eval.c:
7463         * buffer.c:
7464         * mule-canna.c: A million DEFVAR_INTs here...
7465         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7466         * extents.c:
7467         * cmdloop.c:
7468         * lisp.h:
7469         * select-x.c:
7470         * console-x.h:
7471         * event-msw.c:
7472         * mule-wnnfns.c:
7473         * hpplay.c:
7474         * ralloc.c:
7475         * alloc.c:
7476         * keymap.c:
7477         * profile.c:
7478         s/int/Fixnum/g in DEFVAR_INT declarations.
7479
7480 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7481
7482         Port pdump to SGI alignment-sensitive environment.
7483         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7484         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7485         properly aligned.
7486         Define and use aligned reading and writing macros.
7487         Use buffered stdio instead of posix i/o for faster dumping.
7488         Eliminate kludgy 256 byte space for header.
7489         Read and write from dump file using structs for alignment safety.
7490         * dumper.c (pdump_align_stream): New.
7491         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7492         * dumper.c (PDUMP_READ_ALIGNED): New.
7493         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7494         * dumper.c (pdump_static_Lisp_Object): New struct.
7495         * dumper.c (pdump_static_pointer): New struct.
7496         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7497         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7498         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7499         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7500
7501         * dumper.c (pdump_backtrace):
7502         * dumper.c (pdump_get_indirect_count):
7503         * dumper.c (pdump_register_object):
7504         * dumper.c (pdump_register_struct):
7505         * dumper.c (pdump_reloc_one):
7506         * dumper.c (pdump_scan_by_alignment):
7507         * dumper.c (pdump_dump_from_root_struct_ptrs):
7508         * dumper.c (pdump_dump_opaques):
7509         * dumper.c (pdump_dump_rtables):
7510         * dumper.c (pdump_dump_from_root_objects):
7511         * dumper.c (pdump):
7512         * dumper.c (pdump_load_finish):
7513         Use aligned reading and writing.
7514
7515         * dumper.c (pdump_free): Make static.
7516         * dumper.c (pdump_hFile): Likewise.
7517         * dumper.c (pdump_hMap): Likewise.
7518
7519 2001-01-26  Martin Buchholz <martin@xemacs.org>
7520
7521         * XEmacs 21.2.43 "Terspichore" is released.
7522
7523 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7524
7525         Type fiddling for window_config.saved_windows_count
7526         * window.c (struct window_config): 
7527         Make saved_windows_count member unsigned.
7528         * window.c (sizeof_window_config_for_n_windows): 
7529         Make parameter unsigned.
7530         * window.c (mark_window_config):
7531         * window.c (window_config_equal):
7532         * window.c (free_window_configuration):
7533         * window.c (Fset_window_configuration):
7534         * window.c (count_windows):
7535         * window.c (Fcurrent_window_configuration):
7536         * window.c (reinit_vars_of_window):
7537         Update all callers and users.
7538
7539 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7540
7541         Alignment correctness for flexible arrays.
7542         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7543         Make alignment-correct. Add interesting comments.
7544         * alloc.c (size_vector):
7545         * alloc.c (make_vector_internal):
7546         * alloc.c (make_bit_vector_internal):
7547         * alloc.c (sweep_bit_vectors_1):
7548         * fns.c (size_bit_vector):
7549         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7550         * window.c (sizeof_window_config_for_n_windows): 
7551         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7552
7553 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7554
7555         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7556
7557 2001-01-23  Andy Piper  <andy@xemacs.org>
7558
7559         * select.c (Fown_selection_internal): pass owned_p
7560
7561         * select-msw.c (mswindows_own_selection): New Signature.
7562
7563         * console.h (struct console_methods): add owned_p to
7564         _own_selection.
7565
7566         * select-x.c (x_own_selection): pass owned_p
7567         (hack_motif_clipboard_selection): use owned_p
7568         (vars_of_select_x): new variable -
7569         x_selection_strict_motif_ownership.
7570
7571 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7572
7573         * specifier.h (specifier_data_offset): Remove pointless parens.
7574         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7575
7576 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7577
7578         Make Lisp_Object sizeof methods be alignment-correct.
7579         pdump must restore objects to the same alignment as the C compiler
7580         assumes.  It really matters on SGIs.
7581         * lstream.c (aligned_sizeof_lstream): New.
7582         (sizeof_lstream): Use aligned_sizeof_lstream.
7583         (Lstream_new): Likewise.
7584         * opaque.c (aligned_sizeof_opaque): New.
7585         (sizeof_opaque): Use aligned_sizeof_opaque.
7586         (make_opaque): Likewise.
7587         * specifier.c (aligned_sizeof_specifier): New.
7588         (sizeof_specifier): Use aligned_sizeof_specifier.
7589         (make_specifier_internal): Likewise.
7590
7591 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7592
7593         * lstream.h (struct lstream): Use max_align_t for trailing data.
7594         * specifier.h (struct Lisp_Specifier): Likewise.
7595
7596 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7597
7598         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7599         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7600         (CCL_SUSPEND): Likewise.
7601         (CCL_INVALID_CMD): Likewise.
7602         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7603         (ccl_driver): Likewise.
7604         (CCL_WRITE_CHAR): Macro hygiene.
7605         (CCL_WRITE_STRING): Macro hygiene.
7606
7607 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7608
7609         Port "portable" dumper to SunOS 4 and HP-UX.
7610         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7611         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7612         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7613
7614 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7615
7616         * lisp.h (ALIGNOF): A better definition for C++.
7617
7618 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7619
7620         Macro hygiene.
7621         Fix printf warnings: int format, long int arg.
7622         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7623         (PUSH_FAILURE_POINT): Use correct printf formats.
7624         (POP_FAILURE_POINT): Use correct printf formats.  
7625         Use do {...} while (0)
7626
7627 2001-01-20  Martin Buchholz <martin@xemacs.org>
7628
7629         * XEmacs 21.2.42 "Poseidon" is released.
7630
7631 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7632
7633         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7634
7635 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7636
7637         De-kludgify FIXED_TYPE free list frobbing.
7638         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7639         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7640         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7641         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7642         * alloc.c (LRECORD_FREE_P): New.
7643         * alloc.c (MARK_LRECORD_AS_FREE): New.
7644         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7645         * alloc.c (STRUCT_FREE_P): Deleted.
7646         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7647         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7648         * alloc.c (STRING_CHARS_FREE_P): New.
7649         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7650         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7651         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7652         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7653         * alloc.c (resize_string): Use new definitions.
7654         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7655         * alloc.c (verify_string_chars_integrity): Use new definitions.
7656         * alloc.c (compact_string_chars): Use new definitions.
7657         * alloc.c: Update monster comments.
7658         * lrecord.h (lrecord_type): Add some new lrecord types for
7659         alloc.c's use.
7660
7661 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7662
7663         Improve alignment hackery.
7664         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7665         (max_align_t): Moved from opaque.h - general purpose.
7666         (ALIGN_PTR): Use size_t, not long.
7667         * opaque.h (max_align_t): Move to lisp.h.
7668
7669 2001-01-18  Norbert Koch  <nk@LF.net>
7670
7671         * gui.h: Fix and add prototypes to fix build problems.
7672
7673 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7674
7675         temacs is going away, so `dump-temacs' is now a bad name.
7676         * .dbxrc (dump-temacs): Rename to `dmp'.
7677         * .gdbinit (dump-temacs): Rename to `dmp'.
7678
7679 2001-01-17  Andy Piper  <andy@xemacs.org>
7680
7681         * glyphs.c (print_image_instance): comment to make martin happy.
7682
7683         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7684         change.
7685
7686         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7687         activation.
7688         (mswindows_tab_control_redisplay): warning suppression.
7689
7690         * glyphs-widget.c (widget_update): re-write to cope with updated
7691         items.
7692         (widget_instantiate): use new gui_item functions.
7693         (tab_control_update): deleted.
7694         (progress_gauge_update): deleted.
7695         (image_instantiator_progress_guage): take out update reference.
7696         (image_instantiator_tree_view): ditto.
7697         (image_instantiator_tab_control): ditto.
7698
7699         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7700         Right the new way.
7701         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7702         return whether anything was changed.
7703         (update_gui_item_keywords): as it sounds.
7704
7705         * gui.h: declare widget_gui_parse_item_keywords.
7706
7707         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7708         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7709
7710 2001-01-17  Martin Buchholz <martin@xemacs.org>
7711
7712         * XEmacs 21.2.41 "Polyhymnia" is released.
7713
7714 2001-01-16  Didier Verna  <didier@xemacs.org>
7715
7716         * glyphs.c (image_instantiate): don't use fallbacks when
7717         instantiating a face's background pixmap by inheritance.
7718
7719 2001-01-14  Mike Sperber <mike@xemacs.org>
7720
7721         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7722         Conditionalize accordingly.
7723
7724 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7725
7726         * dumper.c (pdump_file_get): Fix a compiler warning.
7727
7728 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7729
7730         Make Purify happy when pdumping.
7731         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7732         iniitalizing all bits of new lisp object memory.
7733         * symbols.c (Fmake_local_variable): Likewise.
7734         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7735         * symbols.c (Fdefvaralias): Likewise.
7736         * mule-charset.c (vars_of_mule_charset): Likewise.
7737
7738 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7739         Add the `-nd' flag when running pre-dump operations under the debugger.
7740         * .dbxrc (run-temacs): Add `-nd'.
7741         * .dbxrc (update-elc): Likewise.
7742         * .dbxrc (dump-temacs): Likewise.
7743         * .gdbinit (run-temacs): Likewise.
7744         * .gdbinit (check-temacs): Likewise.
7745         * .gdbinit (update-elc): Likewise.
7746         * .gdbinit (dump-temacs): Likewise.
7747
7748 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7749
7750         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7751         export OBJECT_MODE=64
7752         configure --pdump --use-union-type=no
7753         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7754         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7755
7756         * miscplay.c (sndcnv8U_2mono):
7757         Avoid two uses of `++' in the same expression.
7758         Suppresses a GCC warning.
7759
7760 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7761
7762         Make sure future compilers don't miscompile alloc.c.
7763         * alloc.c:
7764         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7765         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7766
7767 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7768
7769         * dumper.c: A little post-pdump-rename comment fixup.
7770
7771 2001-01-09  Jerry James  <james@eecs.ku.edu>
7772
7773         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7774
7775 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7776
7777         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7778         script:
7779         #!/bin/sh
7780         replace_symbol () {
7781           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7782         }
7783
7784         replace_symbol pdump_wire_lists pdump_weak_object_chains
7785         replace_symbol pdump_wire_list dump_add_weak_object_chain
7786
7787         replace_symbol pdump_wires pdump_root_objects
7788         replace_symbol pdump_wire dump_add_root_object
7789
7790         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7791         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7792
7793         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7794         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7795         replace_symbol dumpstructinfo pdump_root_struct_ptr
7796         replace_symbol dumpstruct dump_add_root_struct_ptr
7797
7798         replace_symbol dumpopaque dump_add_opaque
7799         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7800         replace_symbol dumpopaqueinfos pdump_opaques
7801         replace_symbol dumpopaqueinfo pdump_opaque
7802
7803         replace_symbol nb_structdump nb_root_struct_ptrs
7804         replace_symbol nb_opaquedump nb_opaques
7805
7806         replace_symbol align_table pdump_align_table
7807         replace_symbol dump_header pdump_header
7808
7809         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7810         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7811
7812
7813 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7814
7815         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7816         optimizing bytecount_to_charcount().
7817
7818 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7819
7820         * config.h.in:
7821         (HAVE_DLFCN_H): Removed.
7822         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7823
7824 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7825
7826         Portable dumper maintainability improvements.
7827         * alloc.c (staticpro):
7828         * alloc.c (staticpro_nodump):
7829         * alloc.c (garbage_collect_1):
7830         * alloc.c (reinit_alloc_once_early):
7831         * alloc.c (init_alloc_once_early):
7832         * alloc.c: Move dumper functions to alloc.c.
7833         * dumper.c (pdump_backtrace):
7834         * dumper.c (pdump_dump_structs):
7835         * dumper.c (pdump_dump_opaques):
7836         * dumper.c (pdump_dump_rtables):
7837         * dumper.c (pdump_dump_wired):
7838         * dumper.c (pdump):
7839         * dumper.c (pdump_load_check):
7840         * dumper.c (pdump_load_finish):
7841         * dumper.c (pdump_file_unmap):
7842         * dumper.c (pdump_file_get):
7843         * dumper.c (pdump_resource_free):
7844         * dumper.c (pdump_resource_get):
7845         * dumper.c (pdump_file_free):
7846         * dumper.c (pdump_file_try):
7847         * dumper.c (pdump_load):
7848         Remove fixed size limits on staticpro(), staticpro_nodump(),
7849         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7850         Remove custom code for dumping lrecord_implementations_table - use
7851         dumpopaque instead.
7852         Remove (most of the) custom code for dumping staticpros - dump it
7853         like any other dynarr.
7854
7855         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7856         * dumper.c: Moved functions from alloc.c.
7857         * alloc.c (dumpstruct): Moved to dumper.c.
7858         * alloc.c (dumpopaque): Likewise.
7859         * alloc.c (pdump_wire): Likewise.
7860         * alloc.c (pdump_wire_list): Likewise.
7861
7862         * lisp.h (Dynarr_sizeof): New.
7863         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7864         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7865         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7866
7867         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7868         * lisp.h (dumpopaque): ditto.
7869         * lisp.h (pdump_wire): ditto.
7870         * lisp.h (pdump_wire_list): ditto.
7871
7872 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7873
7874         * make-src-depend (PrintPatternDeps):
7875         Use `sort' to make output independent of perl version.
7876
7877 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7878
7879         Port to Netbsd 1.5.
7880         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7881         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7882
7883 2001-01-03  Didier Verna  <didier@xemacs.org>
7884
7885         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7886         that `focus_frame' is alive before thinking of calling
7887         `redisplay_redraw_cursor' on it.
7888
7889 2001-01-08  Martin Buchholz <martin@xemacs.org>
7890
7891         * XEmacs 21.2.40 is released.
7892
7893 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7894
7895         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7896
7897 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7898
7899         * alloc.c (dbg_valmask): Make const.
7900         * alloc.c (dbg_typemask): Make const.
7901         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7902         * alloc.c (dbg_valbits): Make const.
7903         * alloc.c (dbg_gctypebits): Make const.
7904
7905 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7906
7907         * redisplay-x.c (x_bevel_area):
7908         redisplay.h (struct rune):
7909         Typo fixes in comments.
7910
7911 2001-01-05  Andy Piper  <andy@xemacs.org>
7912
7913         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7914         adjustment.
7915
7916         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7917
7918 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7919
7920         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7921
7922         * mule-ccl.c (stack_idx_of_map_multiple):
7923         Non const global data must not be initialized!
7924         Found by MIYASHITA Hisashi.
7925
7926 2001-01-02  Andy Piper  <andy@xemacs.org>
7927
7928         * frame.c (change_frame_size): make sure frame size is always
7929         marked as changed.
7930
7931         * glyphs.c (image_instance_layout): minor code reuse.
7932
7933         * window.c (Fcurrent_window_configuration): revert previous
7934         change.
7935
7936 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7937
7938         * glyphs.h:
7939         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7940
7941 2000-12-31  Andy Piper  <andy@xemacs.org>
7942
7943         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7944         when widget gets unmapped.
7945
7946         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7947         function. Make sure widgets losing focus don't just drop it.
7948         (handle_focus_event_1): record the widget with focus.
7949
7950 2000-12-31  Andy Piper  <andy@xemacs.org>
7951
7952         * window.c (allocate_window): use
7953         make_image_instance_cache_hash_table.
7954         (make_dummy_parent): ditto.
7955         (Fset_window_configuration): ditto.
7956
7957         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7958
7959         * glyphs.c (process_image_string_instantiator): use
7960         INSTANTIATOR_TYPE.
7961         (get_image_instantiator_governing_domain): ditto.
7962         (normalize_image_instantiator): ditto.
7963         (instantiate_image_instantiator): ditto.
7964         (make_image_instance_1): ditto.
7965         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7966         (instantiator_eq_equal): new function for use with instance hash
7967         tables.
7968         (instantiator_eq_hash): ditto.
7969         (make_image_instance_cache_hash_table): create a suitable hash
7970         table for storing image instances.
7971
7972         * elhash.h (hash_table_weakness): new internal weakness type
7973         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7974         declare new functions.
7975
7976         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7977         another weakness type for glyphs.
7978         (make_standard_lisp_hash_table): new function split out from
7979         make_general_lisp_hash_table.
7980         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7981         (hash_table_instantiate): ditto.
7982         (Fmake_hash_table): ditto.
7983
7984 2000-12-31  Martin Buchholz <martin@xemacs.org>
7985
7986         * XEmacs 21.2.39 is released.
7987
7988 2000-12-29  Andy Piper  <andy@xemacs.org>
7989
7990         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7991
7992         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7993         the frame has changed so that we pick up geometry changes such as
7994         menubar visibility.
7995
7996 2000-12-28  Andy Piper  <andy@xemacs.org>
7997
7998         * lastfile.c (my_ebss): make a char array so we can pad the
7999         bss. Fixes cygwin unexec.
8000
8001         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8002
8003 2000-12-26  Andy Piper  <andy@xemacs.org>
8004
8005         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8006         comments and try and be more precise about a non-/SIGIO world.
8007         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8008         SIGIO.
8009
8010         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8011         we don't normalize to zero width or height.
8012
8013 2000-12-24  Andy Piper  <andy@xemacs.org>
8014
8015         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8016
8017 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8018
8019         * s/sco5.h: SCO 5 has pty support.
8020
8021 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8022
8023         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8024         input-method-xlib.c contains whole contents of input-method-xfs.c,
8025         so we can use input-method-xlib.c's code for USE_XFONTSET
8026         using #ifdefs.
8027         * input-method-xfs.c: removed.
8028
8029 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8030
8031         * file-coding.h (enum coding_category_type): reorder enumerators to
8032         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8033         (now one greater than largest real coding_category_type enumerator).
8034         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8035         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8036         Fcoding_category_list, Fset_coding_priority_list,
8037         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8038         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8039
8040 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8041
8042         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8043         * redisplay-output.c (redisplay_output_window): Clear top of window
8044         when face is changed.
8045         * redisplay-x.c (x_redraw_exposed_window): Call
8046         redisplay_clear_top_of_window.
8047         * redisplay.h: Publish redisplay_clear_top_of_window.
8048
8049 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8050
8051         * buffer.c (Fkill_buffer): Map over all devices.
8052         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8053         (list_windows): New function.
8054         (list_all_windows): Ditto.
8055         (Freplace_buffer_in_windows): Use them.
8056
8057 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8058
8059         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8060         (Fopen_database): Use `db_create' instead of `db_open'.
8061         (syms_of_database): Initialize Qqueue.
8062
8063 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8064
8065         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8066         buffer_local_face_property.
8067         * buffer.h (struct buffer): New member buffer_local_face_property.
8068         * window.c (Fset_window_buffer):  Mark window's face as changed
8069         when buffer has buffer local face.
8070         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8071         * objects.c (color_after_change): Set buffer_local_face_property
8072         when locale of face specifier is buffer.
8073         * objects.c (font_after_change): Ditto.
8074         * objects.c (face_boolean_after_change): Ditto.
8075         * glyphs.c (image_after_change): Ditto.
8076
8077 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8078
8079         * nt.c (mswindows_fstat): Report file permissions, volume serial
8080         number, etc. Code adapted from FSF Emacs 20.7.
8081
8082 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8083
8084         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8085         of stat when we don't have symbolic links, to make sure
8086         mswindows_stat is called on mswindows.
8087
8088 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8089
8090         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8091
8092 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8093
8094         * doprnt.c (emacs_doprnt_1): More printing fixes.
8095         Make printing of numbers compatible with libc and FSF Emacs.
8096         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8097         Use the system printf to do most of the hard work of formatting,
8098         instead of doprnt_1().
8099         Calculate memory to allocate for format string.
8100         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8101         (doprnt_1): Cleaner code and documentation.
8102
8103 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8104
8105         * Makefile.in.in: Use the loop variable to install headers.
8106
8107 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8108
8109         * window.c (Fsplit_window): Don't invalidate face cache.
8110
8111 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8112
8113         * minibuf.c (Fall_completions): Undo the previous change
8114         which removed checking elements start with space.
8115
8116 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8117
8118         * mule-canna.c: Didier suppression.
8119
8120 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8121
8122         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8123         (warning suppression).  Add English comment translations.
8124
8125 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8126
8127         * unexelfsgi.c (unexec): Better test for mmap failure.
8128
8129 2000-12-05  Martin Buchholz <martin@xemacs.org>
8130
8131         * XEmacs 21.2.38 is released.
8132
8133 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8134
8135         * redisplay.c (bar-cursor): Make a user variable.
8136
8137         * symsinit.h: Add init_postgresql_from_environment.
8138
8139 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8140
8141         * regex.c: Convert to clean C.
8142
8143 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8144
8145         * realpath.c:
8146         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8147         initialization.
8148         (sys_readlink): renamed to system_readlink to avoid conflict with
8149         the other sys_readlink.
8150
8151 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8152
8153         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8154
8155 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8156
8157         * postgresql.c (init_postgresql_from_environment): new function.
8158         (vars_of_postgresql): Move code initializing Lisp variables out and
8159         into init_postgresql_from_environment.
8160         emacs.c (main_1): Call init_postgresql_from_environment if and only
8161         if running a dumped XEmacs.
8162
8163 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8164
8165         * buffer.c: Make find-file-compare-truenames default to true on
8166         windows.
8167
8168         * realpath.c (win32_abs_start):
8169         (cygwin_readlink):
8170         (win32_readlink): New functions.
8171         (xrealpath): Return really real filenames on windows.
8172
8173         * fileio.c (Ffile_truename): Make file-truename work on windows.
8174
8175 2000-11-29  Didier Verna  <didier@xemacs.org>
8176
8177         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8178         * faces.c (update_face_cachel_data): use it.
8179         * faces.c (add_face_cachel): use it. Complete background pixmap
8180         frobbing in face cache if `update_face_cachel_data' has not done so.
8181
8182 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8183
8184         * search.c (string_match_1): Don't set last_thing_searched
8185         when search failed.
8186
8187 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8188
8189         * buffer.c: Include casetab.h
8190         (common_init_complex_vars_of_buffer): Use new case-table object.
8191         * buffer.h: Include casetab.h
8192         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8193         (DOWNCASE_TABLE_OF): Ditto.
8194         * bufslots.h: Remove char-tables and add case-table.
8195         * casetab.c: Include casetab.h
8196         (CASE_TABLE_P): Removed.
8197         (mark_case_table): New function.
8198         (allocate_case_table): New function.
8199         (Fcase_table_p): Use new case-table.
8200         (case_table_char): New function.
8201         (Fget_case_table): Ditto.
8202         (Fput_case_table): Ditto.
8203         (Fput_case_table_pair): Ditto.
8204         (Fcopy_case_table): Ditto.
8205         (Fcurrent_case_table): Return case-table.
8206         (Fstandard_case_table): Return case-table.
8207         (Fset_case_table): Fix doc-string.
8208         (set_case_table): Use case-table
8209         (syms_of_casetab): DEFSUBR new functions.
8210         (complex_vars_of_casetab): Set up standard case-table.
8211         * casetab.h: New file.
8212         * editfns.c: Include casetab.h
8213         (Fcompare_buffer_substrings): Use case-table.
8214         * inline.c: Include casetab.h
8215         * lisp.h: Remove bogus extern.
8216         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8217         * search.c: Include casetab.h
8218         (TRANSLATE_ASCII): Removed.
8219         (TRANSLATE): Unconditionally translate character.
8220         (looking_at_1): Use case-table.
8221         (string_match_1): Ditto.
8222         (fast_string_match): Ditto.
8223         (search_command): Ditto.
8224         (search_buffer): Separate boyer_moore.  Check whether
8225         boyer_moore is possible.
8226         (simple_search): New function.
8227         (boyer_moore): Separated from search_buffer. Translate char.
8228
8229 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8230
8231         * regex.c (RE_TR_ASCII): Removed.
8232         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8233         (PATFETCH): Call PATFETCH_RAW.
8234         (PATFETCH_RAW): Fetch Emchar.
8235         (PATUNFETCH): Decrement charptr.
8236         (GET_BUFFER_SPACE): Rename b to buf_end.
8237         (BUF_PUSH): Ditto.
8238         (BUF_PUSH_2): Ditto.
8239         (BUF_PUSH_3): Ditto.
8240         (EXTEND_BUFFER): Ditto.
8241         (SET_LIST_BIT): Ditto.
8242         (regex_compile): Ditto.  Translate non ASCII char.
8243         (compile_range): Ditto.
8244         (re_search_2): Ditto.
8245         (re_match_2_internal): Compare Emchar.
8246         (bcmp_translate): Ditto.
8247
8248 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8249
8250         * lisp.h (basic char/int typedefs):  comment improvement.
8251
8252 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8253
8254         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8255         unstomp inhibit_site_lisp.  Improve comments.
8256
8257 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8258
8259         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8260
8261 2000-11-28  Andy Piper  <andy@xemacs.org>
8262
8263         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8264         clipped display for windows in the gutter also.
8265         (redisplay_display_boxes_in_window_p): change semantics of return
8266         codes to be more intuitive.
8267
8268         * gutter.h: declare display_boxes_in_gutter_p.
8269
8270         * gutter.c (display_boxes_in_gutter_p): new function for
8271         redisplay.
8272
8273 2000-11-22  Andy Piper  <andy@xemacs.org>
8274
8275         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8276         autodetect domain.
8277
8278 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8279
8280         * callproc.c (Fold_call_process_internal):
8281         * gpm.c (Freceive_gpm_event):
8282         (tty_get_foreign_selection): Might be just warning supression.
8283         * fileio.c (Fwrite_region_internal):
8284         (Fset_visited_file_modtime):
8285         * keymap.c (event_matches_key_specifier_p):
8286         Initialize GCPROed variable.
8287
8288         * menubar-x.c (command_builder_find_menu_accelerator):
8289         Initialize before use.
8290
8291 2000-11-23  Andy Piper  <andy@xemacs.org>
8292
8293         * unexcw.c (unexec): make the resulting executable executable.
8294
8295 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8296
8297         * doc.c (get_doc_string):
8298         Use size_t, not int, for result of XSTRING_LENGTH.
8299
8300         * cmds.c (Fdelete_char):
8301         * cmds.c (Fpoint_at_eol):
8302         * cmds.c (Fself_insert_command):
8303         Use EMACS_INT, not int, for result of XINT.
8304         Someday, someone will want to insert more than 2**31 identical characters.
8305
8306         * cmds.c (Fdelete_char):
8307         * cmds.c (Fdelete_backward_char):
8308         * syntax.c (Fforward_word):
8309         * syntax.c (Fforward_comment):
8310         Make COUNT argument optional, for consistency with forward-char et al.
8311
8312 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8313
8314         * lisp.h:
8315         * print.c (long_to_string):
8316         Return a useful value: the pointer at end of data written.
8317
8318         * doprnt.c:
8319         Use `static const char * const' for constant strings.
8320         (union printf_arg): Delete `i', `ui' members.
8321         (get_doprnt_args):
8322         (emacs_doprnt_1):
8323         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8324         Do all printf-ing via the `l' specifier.
8325         Use EMACS_INT instead of int.
8326         Optimize.
8327
8328 2000-11-20  Didier Verna  <didier@xemacs.org>
8329
8330         * faces.c (update_face_cachel_data): don't frob the background
8331         pixmap when the window is being created. The face is needed but
8332         does not exist yet.
8333
8334 2000-11-20  Andy Piper  <andy@xemacs.org>
8335
8336         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8337         messing with a debug environment.
8338
8339 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8340
8341         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8342
8343 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8344
8345         * casetab.c (Fcase_table_p): Fix compile error and crash.
8346
8347 2000-11-18  Philip Aston  <philipa@mail.com>
8348
8349         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8350
8351 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8352
8353         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8354         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8355
8356 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8357
8358         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8359         * unexelf.c: Use HAVE_ELF_H.
8360         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8361         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8362         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8363         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8364         for testing.
8365         So this is an unexelfsgi.c from a different line of development.
8366
8367 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8368
8369         * regex.c (RE_TR_ASCII): New function.
8370         (RE_TRANSLATE): Call it.
8371
8372 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8373
8374         * buffer.h (TRT_TABLE_OF): Remove assert.
8375         (IN_TRT_TABLE_DOMAIN): Removed.
8376
8377 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8378
8379         * free-hook.c (log_gcpro):
8380         (show_gcprohist): Add support for GCPRO5.
8381
8382 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8383
8384         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8385
8386 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8387
8388         * symeval.h: Declare flush_all_buffer_local_cache.
8389
8390         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8391         (flush_buffer_local_cache): Added.
8392         (flush_all_buffer_local_cache): Added.
8393
8394         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8395
8396         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8397         (pdump_dump_data): Ditto.
8398         (pdump_reloc_one): Ditto.
8399         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8400         before dumping.
8401
8402
8403 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8404
8405         * buffer.c: Remove if 0'ed entry.
8406         * buffer.h: Rewrite TRT to use char-table.
8407         * bufslots.h: Remove mirror tables.
8408         * casetab.c: Remove mirror tables.
8409         (CASE_TABLE_P): New macro.
8410         (Fcase_table_p): Element of a case table is string or char-table.
8411         (make_mirror_trt_table): Removed.
8412         (set_case_table): Setup char-table from strings for backward
8413         compatibility.
8414         * dired.c (Fdirectory_files):
8415         * dired-msw.c: (mswindows_get_files):
8416         * lisp.h: Change prototype of re_pattern_buffer.
8417         * regex.c: (RE_TRANSLATE): New macro.
8418         (TRANSLATE_P): Ditto.
8419         Change translate to type RE_TRANSLATE_TYPE.
8420         * regex.h: Define RE_TRANSLATE_TYPE
8421         * search.c (TRANSLATE): New macro.
8422         (TRANSLATE_ASCII): New macro.
8423         Translate table is changed to Lisp_Object.
8424         (signal_failure): Inhibit return.
8425
8426 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8427
8428         * device-msw.c:
8429         * eldap.c:
8430         * event-Xt.c:
8431         * event-stream.c:
8432         * print.c:
8433         Do UNGCPRO before return.
8434
8435 2000-11-14  Martin Buchholz <martin@xemacs.org>
8436
8437         * XEmacs 21.2.37 is released.
8438
8439 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8440
8441         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8442         Add comments about discarded return value.
8443
8444 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8445
8446         * callint.c:
8447         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8448
8449 2000-10-27  Andy Piper  <andy@xemacs.org>
8450
8451         * gutter.c (Fset_default_gutter_position): default left and right
8452         gutters to visible.
8453         (calculate_gutter_size): calculate resonable heuristic for left
8454         and right gutter sizes.
8455         (specifier_vars_of_gutter): change left and right gutter sizes to
8456         autodetect.
8457         (calculate_gutter_size_from_display_lines): new function.
8458         (output_gutter): check for resizing on left and right gutters.
8459         (clear_gutter): don't special case top and left gutters.
8460         (specifier_vars_of_gutter): use new signature for
8461         set_specifier_caching.
8462
8463         * glyphs-x.c (x_redisplay_widget): spelling fix.
8464         * glyphs.c (specifier_vars_of_glyphs):
8465         * menubar.c (specifier_vars_of_menubar):
8466         * redisplay.c (specifier_vars_of_redisplay):
8467         * toolbar.c (specifier_vars_of_toolbar):
8468         * window.c (specifier_vars_of_window):
8469         * scrollbar.c (specifier_vars_of_scrollbar):
8470         (complex_vars_of_scrollbar): use new signature for
8471         set_specifier_caching.
8472
8473         * specifier.c (set_specifier_caching): include recompute flag.
8474         (recompute_one_cached_specifier_in_window): always recompute if
8475         flag set.
8476         (recompute_one_cached_specifier_in_frame): ditto.
8477
8478         * specifier.h (struct specifier_caching): add recompute flag.
8479
8480 2000-10-24  Andy Piper  <andy@xemacs.org>
8481
8482         * unexcw.c (copy_executable_and_dump_data_section): add new
8483         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8484         5.0 happy.
8485
8486 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8487
8488         * console-x.h (x_device): New member modifier_release_time.
8489         * event-Xt.c (x_handle_sticky_modifiers):
8490         Bound interval modifier keys are sticky.
8491         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8492         * events.h: extern it.
8493
8494 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8495
8496         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8497
8498 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8499
8500         * event-stream.c (execute_command_event): Preserve current_events
8501         and the like when event is misc-user-event.
8502         Inhibit quit during the call to maybe_echo_keys.
8503
8504 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8505
8506         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8507         symlink when buffer is killed.
8508         (inhibit_clash_detection): New variable.
8509
8510 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8511
8512         * console.c (Fset_input_method): Trigger redisplay on tty.
8513
8514 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8515
8516         * process.c (Fprocess_status): Revert to previous behavior:
8517         (process-status "nosuchprocess") ==> nil
8518
8519 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8520
8521         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8522         Work around another GCC 2.95.2 optimizer bug.
8523
8524 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8525
8526         * process.c (Fget_process): Use LIST_LOOP_2.
8527         (kill_buffer_processes): Use LIST_LOOP_2.
8528
8529         * minibuf.c (Fall_completions):
8530         Delete old non-functional code for FSF fourth argument.
8531
8532         * frame.c (frame_matches_frame_spec):
8533         Renamed from `frame_matches_frametype'.  Update all callers.
8534         (device_matches_device_spec):
8535         Renamed from 'device_matches_console_spec'.  Update all callers.
8536
8537         * doc.c (Fsubstitute_command_keys):
8538         Remove buffer overflow crash.  Small code cleanups.
8539
8540         * casetab.c (check_case_table): Simpler code.
8541
8542         * window.c (Freplace_buffer_in_windows):
8543         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8544         (and similar implementation) as Fdelete_windows_on.
8545         Update all callers.
8546
8547         * alloc.c (Fmake_list):
8548         * alloc.c (make_vector):
8549         * alloc.c (Fmake_vector):
8550         * alloc.c (make_bit_vector):
8551         * alloc.c (Fmake_bit_vector):
8552         * alloc.c (Fbit_vector):
8553         * alloc.c (Fmake_string):
8554         * alloc.c (Fpurecopy):
8555         * alloc.c (Fmemory_limit):
8556         * buffer.c:
8557         * buffer.c (Fget_buffer):
8558         * buffer.c (Fkill_buffer):
8559         * buffer.c (complex_vars_of_buffer):
8560         * bytecode.c (Fcompiled_function_stack_depth):
8561         * callint.c (Fprefix_numeric_value):
8562         * event-stream.c:
8563         * event-stream.c (Fread_key_sequence):
8564         * casetab.c:
8565         * casetab.c (Fcase_table_p):
8566         * casetab.c (check_case_table):
8567         * casetab.c (Fset_case_table):
8568         * casetab.c (Fset_standard_case_table):
8569         * chartab.c:
8570         * chartab.c (Fchar_table_type):
8571         * chartab.c (Freset_char_table):
8572         * chartab.c (Fget_char_table):
8573         * chartab.c (Fget_range_char_table):
8574         * chartab.c (Fput_char_table):
8575         * chartab.c (Fmap_char_table):
8576         * chartab.c (Fcategory_table_p):
8577         * chartab.c (Fcheck_category_at):
8578         * chartab.c (Fchar_in_category_p):
8579         * chartab.c (Fcategory_table):
8580         * chartab.c (Fcopy_category_table):
8581         * chartab.c (Fset_category_table):
8582         * chartab.c (Fcategory_designator_p):
8583         * chartab.c (Fcategory_table_value_p):
8584         * cmds.c (Fdelete_char):
8585         * cmds.c (Fdelete_backward_char):
8586         * cmds.c (Fself_insert_command):
8587         * cmds.c (Fself_insert_internal):
8588         * console.c (Fvalid_console_type_p):
8589         * console.c (Fcdfw_console):
8590         * console.c (Fconsole_type):
8591         * console.c (Fconsole_name):
8592         * console.c (Fconsole_device_list):
8593         * console.c (Fconsole_on_window_system_p):
8594         * data.c:
8595         * data.c (Feq):
8596         * data.c (Fold_eq):
8597         * data.c (Fsubr_interactive):
8598         * data.c (Fchar_to_int):
8599         * data.c (Fint_to_char):
8600         * data.c (Fsetcar):
8601         * data.c (Fsetcdr):
8602         * data.c (Fnumber_to_string):
8603         * data.c (Fstring_to_number):
8604         * data.c (Frem):
8605         * database.c (mark_database):
8606         * database.c (finalize_database):
8607         * database.c (Fdatabase_live_p):
8608         * database.c (Fdatabasep):
8609         * device-x.c (Fx_get_resource):
8610         * device.c (Fdfw_device):
8611         * dired.c:
8612         * dired.c (Ffile_name_completion):
8613         * dired.c (Ffile_name_all_completions):
8614         * dired.c (Fuser_name_completion):
8615         * dired.c (Fuser_name_completion_1):
8616         * dired.c (Fuser_name_all_completions):
8617         * doc.c (Fdocumentation):
8618         * doc.c (Fdocumentation_property):
8619         * doc.c (Fsubstitute_command_keys):
8620         * editfns.c:
8621         * editfns.c (Fchar_to_string):
8622         * editfns.c (Fstring_to_char):
8623         * editfns.c (Ftemp_directory):
8624         * editfns.c (Finsert_char):
8625         * editfns.c (Fbuffer_substring_no_properties):
8626         * editfns.c (Fnarrow_to_region):
8627         * editfns.c (Fchar_equal):
8628         * editfns.c (Fchar_Equal):
8629         * editfns.c (Ftranspose_regions):
8630         * emacs.c (Fdump_emacs):
8631         * eval.c (Fthrow):
8632         * eval.c (Fcommand_execute):
8633         * eval.c (Fautoload):
8634         * eval.c (Fbacktrace):
8635         * eval.c (Fbacktrace_frame):
8636         * events.c:
8637         * events.c (Fcopy_event):
8638         * events.c (Fcharacter_to_event):
8639         * events.c (Fevent_button):
8640         * events.c (Fevent_process):
8641         * extents.c:
8642         * extents.c (Fnext_extent_change):
8643         * extents.c (Fextent_property):
8644         * faces.c (Ffacep):
8645         * faces.c (Fmake_face):
8646         * file-coding.c:
8647         * file-coding.c (Fencode_shift_jis_char):
8648         * file-coding.c (Fencode_big5_char):
8649         * fileio.c (Ffile_name_directory):
8650         * fileio.c (Ffile_name_nondirectory):
8651         * fileio.c (Ffile_name_as_directory):
8652         * fileio.c (Fdirectory_file_name):
8653         * fileio.c (Ffile_truename):
8654         * fileio.c (Fsubstitute_in_file_name):
8655         * fileio.c (Ffile_modes):
8656         * fileio.c (Fset_file_modes):
8657         * fileio.c (Fset_default_file_modes):
8658         * fileio.c (Fverify_visited_file_modtime):
8659         * floatfns.c (Facos):
8660         * floatfns.c (Fasin):
8661         * floatfns.c (Fatan):
8662         * floatfns.c (Fcos):
8663         * floatfns.c (Fsin):
8664         * floatfns.c (Ftan):
8665         * floatfns.c (Fbessel_j0):
8666         * floatfns.c (Fbessel_j1):
8667         * floatfns.c (Fbessel_jn):
8668         * floatfns.c (Fbessel_y0):
8669         * floatfns.c (Fbessel_y1):
8670         * floatfns.c (Fbessel_yn):
8671         * floatfns.c (Ferf):
8672         * floatfns.c (Ferfc):
8673         * floatfns.c (Flog_gamma):
8674         * floatfns.c (Fexp):
8675         * floatfns.c (Fexpt):
8676         * floatfns.c (Flog):
8677         * floatfns.c (Flog10):
8678         * floatfns.c (Fsqrt):
8679         * floatfns.c (Fcube_root):
8680         * floatfns.c (Facosh):
8681         * floatfns.c (Fasinh):
8682         * floatfns.c (Fatanh):
8683         * floatfns.c (Fcosh):
8684         * floatfns.c (Fsinh):
8685         * floatfns.c (Ftanh):
8686         * floatfns.c (Fabs):
8687         * floatfns.c (Ffloat):
8688         * floatfns.c (Flogb):
8689         * floatfns.c (Fceiling):
8690         * floatfns.c (Ffloor):
8691         * floatfns.c (Fround):
8692         * floatfns.c (Ftruncate):
8693         * floatfns.c (Ffceiling):
8694         * floatfns.c (Fffloor):
8695         * floatfns.c (Ffround):
8696         * floatfns.c (Fftruncate):
8697         * fns.c (Fstring_equal):
8698         * fns.c (Fstring_lessp):
8699         * fns.c (concat2):
8700         * fns.c (concat3):
8701         * fns.c (vconcat2):
8702         * fns.c (vconcat3):
8703         * fns.c (Fsubstring):
8704         * fns.c (Fassoc):
8705         * fns.c (Fold_assoc):
8706         * fns.c (assoc_no_quit):
8707         * fns.c (Fassq):
8708         * fns.c (Fold_assq):
8709         * fns.c (assq_no_quit):
8710         * fns.c (Frassoc):
8711         * fns.c (Fold_rassoc):
8712         * fns.c (Frassq):
8713         * fns.c (Fold_rassq):
8714         * fns.c (rassq_no_quit):
8715         * fns.c (Fremassoc):
8716         * fns.c (remassoc_no_quit):
8717         * fns.c (Fremassq):
8718         * fns.c (remassq_no_quit):
8719         * fns.c (Fremrassoc):
8720         * fns.c (Fremrassq):
8721         * fns.c (remrassq_no_quit):
8722         * fns.c (Fsort):
8723         * fns.c (Fplist_get):
8724         * fns.c (Fplist_put):
8725         * fns.c (Fplist_remprop):
8726         * fns.c (Fplist_member):
8727         * fns.c (Flax_plist_get):
8728         * fns.c (Flax_plist_put):
8729         * fns.c (Flax_plist_remprop):
8730         * fns.c (Flax_plist_member):
8731         * fns.c (Fequal):
8732         * fns.c (Fold_equal):
8733         * fns.c (Frequire):
8734         * fns.c (Fbase64_encode_region):
8735         * fns.c (Fbase64_encode_string):
8736         * fns.c (Fbase64_decode_region):
8737         * frame.c:
8738         * frame.c (frame_matches_frame_spec):
8739         * frame.c (device_matches_device_spec):
8740         * frame.c (next_frame):
8741         * frame.c (previous_frame):
8742         * frame.c (Fnext_frame):
8743         * frame.c (Fprevious_frame):
8744         * frame.c (Fframe_property):
8745         * frame.c (Fset_frame_height):
8746         * frame.c (Fset_frame_size):
8747         * frame.h:
8748         * glyphs.c:
8749         * glyphs.c (if):
8750         * glyphs.c (decode_error_behavior_flag):
8751         * glyphs.c (Fmake_image_instance):
8752         * indent.c (Findent_to):
8753         * intl.c (Fignore_defer_gettext):
8754         * keymap.c (Fkeymapp):
8755         * keymap.c (Flookup_key):
8756         * lread.c:
8757         * lread.c (Fload_internal):
8758         * lread.c (Feval_buffer):
8759         * lread.c (Feval_region):
8760         * macros.c (Fexecute_kbd_macro):
8761         * marker.c (set_marker_internal):
8762         * marker.c (Fset_marker):
8763         * marker.c (set_marker_restricted):
8764         * marker.c (Fcopy_marker):
8765         * marker.c (noseeum_copy_marker):
8766         * menubar.c:
8767         * menubar.c (Fpopup_menu):
8768         * minibuf.c:
8769         * mule-charset.c (Fcharset_name):
8770         * mule-charset.c (Fchar_charset):
8771         * mule-charset.c (Fchar_octet):
8772         * mule-charset.c (Fsplit_char):
8773         * mule-wnnfns.c (Fwnn_open):
8774         * mule-wnnfns.c (Fwnn_dict_comment):
8775         * mule-wnnfns.c (Fwnn_quit_henkan):
8776         * mule-wnnfns.c (Fwnn_word_toroku):
8777         * mule-wnnfns.c (Fwnn_word_sakujo):
8778         * mule-wnnfns.c (Fwnn_word_use):
8779         * mule-wnnfns.c (Fwnn_hindo_set):
8780         * objects.c:
8781         * objects.c (Fmake_color_instance):
8782         * objects.c (Fmake_font_instance):
8783         * print.c (Fwrite_char):
8784         * process.c:
8785         * process.c (mark_process):
8786         * process.c (print_process):
8787         * process.c (get_process_from_usid):
8788         * process.c (Fprocessp):
8789         * process.c (Fprocess_live_p):
8790         * process.c (Fget_process):
8791         * process.c (Fget_buffer_process):
8792         * process.c (get_process):
8793         * process.c (Fprocess_id):
8794         * process.c (Fprocess_name):
8795         * process.c (Fprocess_command):
8796         * process.c (init_process_io_handles):
8797         * process.c (start_process_unwind):
8798         * process.c (Fstart_process_internal):
8799         * process.c (Fopen_multicast_group_internal):
8800         * process.c (Fset_process_window_size):
8801         * process.c (read_process_output):
8802         * process.c (send_process):
8803         * process.c (Fprocess_tty_name):
8804         * process.c (Fset_process_buffer):
8805         * process.c (Fprocess_buffer):
8806         * process.c (Fprocess_mark):
8807         * process.c (set_process_filter):
8808         * process.c (Fset_process_filter):
8809         * process.c (Fprocess_filter):
8810         * process.c (Fprocess_send_region):
8811         * process.c (Fprocess_send_string):
8812         * process.c (exec_sentinel):
8813         * process.c (Fset_process_sentinel):
8814         * process.c (Fprocess_sentinel):
8815         * process.c (status_notify):
8816         * process.c (Fprocess_status):
8817         * process.c (Fprocess_exit_status):
8818         * process.c (process_send_signal):
8819         * process.c (Fprocess_send_eof):
8820         * process.c (deactivate_process):
8821         * process.c (remove_process):
8822         * process.c (Fdelete_process):
8823         * process.c (kill_buffer_processes):
8824         * process.c (Fprocess_kill_without_query):
8825         * process.c (Fprocess_kill_without_query_p):
8826         * rangetab.c:
8827         * rangetab.c (Fget_range_table):
8828         * rangetab.c (Fput_range_table):
8829         * rangetab.c (Fremove_range_table):
8830         * rangetab.c (Fclear_range_table):
8831         * search.c:
8832         * search.c (Fskip_chars_forward):
8833         * search.c (Fskip_chars_backward):
8834         * search.c (Fskip_syntax_forward):
8835         * search.c (Fskip_syntax_backward):
8836         * search.c (search_command):
8837         * search.c (Freplace_match):
8838         * search.c (Fregexp_quote):
8839         * select.c (Fown_selection_internal):
8840         * select.c (Fselection_owner_p):
8841         * select.c (Fselection_exists_p):
8842         * select.c (Fget_selection_internal):
8843         * specifier.c:
8844         * symbols.c:
8845         * symbols.c (Fintern):
8846         * symbols.c (Fintern_soft):
8847         * symbols.c (Funintern):
8848         * symbols.c (Fapropos_internal):
8849         * symbols.c (Fset_default):
8850         * syntax.c:
8851         * syntax.c (Fsyntax_table_p):
8852         * syntax.c (Fcopy_syntax_table):
8853         * syntax.c (Fset_syntax_table):
8854         * syntax.c (Fchar_syntax):
8855         * syntax.c (syntax_match):
8856         * syntax.c (Fmatching_paren):
8857         * syntax.c (Fforward_word):
8858         * syntax.c (scan_lists):
8859         * syntax.c (Fscan_lists):
8860         * syntax.c (Fscan_sexps):
8861         * syntax.c (Fparse_partial_sexp):
8862         * toolbar.c (Fcheck_toolbar_button_syntax):
8863         * tooltalk.doc:
8864         * window.c:
8865         * window.c (Fwindowp):
8866         * window.c (Fwindow_live_p):
8867         * window.c (Fwindow_point):
8868         * window.c (Fdelete_window):
8869         * window.c (Fnext_window):
8870         * window.c (Fprevious_window):
8871         * window.c (Fother_window):
8872         * window.c (window_loop):
8873         * window.c (Fget_lru_window):
8874         * window.c (Fsplit_window):
8875         * window.c (Fenlarge_window):
8876         * window.c (Fenlarge_window_pixels):
8877         * window.c (Fshrink_window):
8878         * window.c (Fshrink_window_pixels):
8879         * window.c (change_window_height):
8880         * window.c (Fwindow_configuration_p):
8881         * window.c (Fcurrent_window_configuration):
8882         * window.h:
8883         * casefiddle.c (casify_object):
8884         * casefiddle.c (Fupcase):
8885         * casefiddle.c (Fdowncase):
8886         * casefiddle.c (Fcapitalize):
8887         * casefiddle.c (Fupcase_initials):
8888         * casefiddle.c (casify_region_internal):
8889         * casefiddle.c (casify_region):
8890         * casefiddle.c (Fupcase_region):
8891         * casefiddle.c (Fdowncase_region):
8892         * casefiddle.c (Fcapitalize_region):
8893         * casefiddle.c (Fupcase_initials_region):
8894         * casefiddle.c (Fupcase_word):
8895         * casefiddle.c (Fdowncase_word):
8896         * casefiddle.c (Fcapitalize_word):
8897         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8898         Replace 0 with '\0' when working with bytes.
8899         Replace initial "(" with "\(" in docstrings.
8900
8901 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8902
8903         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8904
8905         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8906
8907 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8908
8909         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8910
8911 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8912
8913         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8914         correctly.
8915
8916 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8917
8918         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8919         (inhibit_auto_save_session): New variable.
8920         (vars_of_fileio): Declare and initialize them.
8921         * fileio.c (Fdo_auto_save): Don't create session file if
8922         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8923
8924 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8925
8926         * sgiplay.c (play_internal): C++ compilability.
8927         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8928         * callproc.c (Fold_call_process_internal):
8929         Remove unused vars `env', `first'.
8930         * scrollbar.c (update_scrollbar_instance):
8931         #### unused var `current_window'.
8932         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8933         etc. within #ifdef NOT_YET.
8934         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8935         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8936         * specifier.c (specifier_instance):
8937         #### unused var `tag'.
8938         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8939
8940 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8941
8942         * fns.c (Fbutlast):
8943         * fns.c (list_sort):
8944         * fns.c (Ffillarray):
8945         * fns.c (bytecode_nconc2):
8946         * fns.c (Fnconc):
8947         * fns.c (mapcar1):
8948         * fns.c (Fmapconcat):
8949         Be pedantically 64-bit correct.  For the time when someone will
8950         want to have a list with length > 2**32.
8951
8952         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8953         Work around MIPSpro compiler bug.
8954
8955         * process-unix.c (unix_kill_child_process): Add snarky comment.
8956         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8957
8958         * config.h.in: Oops, _getpt ==> _getpty
8959
8960 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8961
8962         * config.h.in:
8963         * regex.c:
8964         Use void*, not char*, as return type of alloca().
8965
8966         * alloc.c (free_marker): Side effect inside assert expression!
8967
8968 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8969
8970         * mule-charset.c (Fset_charset_ccl_program): To check
8971         if the given ccl program is valid, use setup_ccl_program()
8972         instead of CHECK_VECTOR().
8973         (Fmake_charset): Likewise.
8974
8975 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8976
8977         * faces.c (get_extent_fragment_face_cache_index):
8978         Fix cachel.merged_faces memory leak.
8979
8980 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8981
8982         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8983         Reset MSB of octets obtained by DECODE_SJIS
8984         because of the incompatibility with Emacs.
8985         (ccl_driver)<CCL_ENCODE_SJIS>:
8986         Set MSB of octets before passing them to
8987         ENCODE_SJIS because of the incompatibility
8988         with Emacs.
8989
8990 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8991
8992         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8993         (DECLARE_LRECORD): Undo the last change.
8994         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8995
8996 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8997
8998         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8999         the implementation to lrecord_implementations_table.
9000
9001 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9002
9003         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9004         initial value of `lrecord_type_##c_name' and
9005         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9006         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9007         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9008         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9009         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9010
9011 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9012
9013         * miscplay.c (sndcnv8S_2mono):
9014         (sndcnv2monounsigned):
9015         (sndcnvULaw_2linear):
9016         (sndcnv16swap):
9017         Remove implementation-defined behavior.
9018
9019 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9020
9021         * input-method-xlib.c: Warning suppression.
9022
9023 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9024
9025         * mule-ccl.c: Sync up with Emacs 21.0.90.
9026         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9027         Do nothing.
9028         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9029         Likewise.
9030         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9031         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9032         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9033         leading char belongs to official 2-dimensional charset.
9034         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9035         write the given character as is.  Otherwise,
9036         if it is a multibyte char, convert it by
9037         non_ascii_set_charptr_emchar, then write it.
9038         (CCL_WRITE_STRING): Likewise.
9039         (ccl_get_compiled_code): New function.
9040         (setup_ccl_program): When ccl_prog is invalid,
9041         return -1.
9042         (Fregister_code_conversion_map): New function.
9043         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9044
9045         * mule-ccl.h: Sync up with Emacs 21.0.90.
9046         (Fregister_ccl_program): export it.
9047
9048         * redisplay-msw.c (separate_textual_runs):
9049         If ccl program is not valid, don't do ccl conversion.
9050
9051         * redisplay-x.c (separate_textual_runs): Ditto.
9052
9053         * file-coding.c (Fmake_coding_system):
9054         When type is ccl and value is vector, register it
9055         with a proper symbol.  And checks whether the
9056         given ccl program is valid.
9057         (mule_decode): When calling ccl_driver, if src indicates
9058         NULL pointer, set an empty string instead.
9059         (mule_encode): Likewise.
9060
9061 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9062
9063         The following large batch of changes gets us back to a state of
9064         C++ compilability.  Extbyte is now a char, which means that
9065         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9066
9067         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9068
9069         * sound.c (Fplay_sound): Type correctness.
9070
9071         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9072         (x_get_window_property): Type correctness.
9073         (receive_incremental_selection): unsigned char ==> Extbyte
9074         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9075         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9076         (Fx_store_cutbuffer_internal): Type correctness.
9077
9078         * process-unix.c (try_to_initialize_subtty): Type correctness.
9079
9080         * objects-x.c (x_print_color_instance): Type correctness.
9081         (x_print_font_instance): Type correctness.
9082         (x_list_fonts): SExtbyte ==> Extbyte.
9083         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9084         (x_find_charset_font): SExtbyte ==> Extbyte.
9085         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9086         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9087         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9088         Use bufbyte_strcmp.
9089
9090         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9091         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9092         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9093         (BYTE_C0_P): Use bit ops for char-signedness safety.
9094         (BYTE_C1_P): Use bit ops for char-signedness safety.
9095         (CHARSET_BY_LEADING_BYTE):
9096         (CHARSET_BY_ATTRIBUTES):
9097         Always use inline function.
9098         Use type_checking_assert.
9099         Hide chlook.
9100
9101         * mule-charset.c (non_ascii_charptr_copy_char):
9102         Modify to work with both ASCII and non-ASCII characters.
9103         Improve docs and variable names.
9104         Replace over-clever fall-through switch with a simple loop.
9105         (Lstream_get_emchar_1):
9106         Replace over-clever fall-through switch with a simple loop.
9107
9108         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9109         Warning suppression.
9110
9111         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9112         the return value of Lstream_getc, which could be EOF as well.
9113
9114         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9115
9116         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9117         APIs can be used on Extbytes without casts.  Risky!
9118         (SExtbyte): Remove.
9119         (UExtbyte): Remove.
9120
9121         * input-method-xlib.c (XIM_init_device):
9122         Use Xlib.h instead of IntrinsicP.h.
9123         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9124         which will break in X11R7.
9125         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9126         to call XRegisterIMInstantiateCallback with correct types.
9127
9128         * gui-x.c (button_item_to_widget_value): Type correctness.
9129
9130         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9131
9132         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9133         (xbm_instantiate_1): Type correctness.
9134         (BUILD_GLYPH_INST):  Type correctness.
9135
9136         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9137
9138         * file-coding.c:
9139         (decode_coding_sjis):
9140         (decode_coding_big5):
9141         (decode_coding_ucs4):
9142         (decode_coding_utf8):
9143         (decode_coding_iso2022):
9144         (decode_coding_no_conversion):
9145         Make all decoding functions take an Extbyte * arg.
9146         (encode_coding_sjis):
9147         (encode_coding_big5):
9148         (encode_coding_ucs4):
9149         (encode_coding_utf8):
9150         (encode_coding_iso2022):
9151         (encode_coding_no_conversion):
9152         Make all encoding functions take a Bufbyte * arg.
9153         Use size_t instead of unsigned int for memory sizes.
9154         Only cast to unsigned char whenever dereferencing Extbyte *.
9155
9156         * doc.c (unparesseuxify_doc_string): Type correctness.
9157
9158         * console-x.c (split_up_display_spec):
9159         Rewrite without using details of internal string representation.
9160         (x_semi_canonicalize_device_connection): Type correctness.
9161
9162         * config.h.in:
9163         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9164         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9165         (HAVE_XFREE386): Removed.
9166
9167         * buffer.h (DEC_CHARPTR): `const' correctness.
9168         (bufbyte_strcmp): New.
9169         (bufbyte_memcmp): New.
9170
9171         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9172
9173         * buffer.h (XCHAR_OR_CHAR_INT):
9174         Always use inline function.
9175         Remove redundant type checking assert() - XINT will abort quite nicely.
9176
9177 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9178
9179         * search.c (Freplace_match): Set newtext to an empty string.
9180
9181 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9182
9183         * s/decosf1-3.h: Remove #include of stropts.h
9184         * s/ptx.h: Remove #include of stropts.h
9185         * s/usg5-4.h: Remove #include of stropts.h
9186         * sysproc.h:
9187         * config.h.in:
9188         Use stropts.h, not sys/stropts.h.
9189         Use strtio.h, not sys/strtio.h.
9190
9191 2000-10-04  Martin Buchholz <martin@xemacs.org>
9192
9193         * XEmacs 21.2.36 is released.
9194
9195 2000-09-21  Andy Piper  <andy@xemacs.org>
9196
9197         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9198         changes still involve copying the widget tree.
9199         (update_widget_face): make sure a change is register in the widget
9200         tree. Call update_tab_widget_face appropriately.
9201         (update_tab_widget_face): ditto.
9202         (x_tab_control_redisplay): make sure non-structural changes still
9203         involve copying the widget tree.
9204
9205 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9206
9207         * lread.c (locate_file): Check the path element is non-nil.
9208
9209 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9210
9211         * lisp.h: Warning suppression for SCO compilers.
9212
9213         * redisplay-tty.c (reset_tty_modes): Fix crash.
9214         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9215
9216 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9217
9218         Big signal/process handling overhaul.  Bugs fixed:
9219         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9220         M-x comint-kill-subjob should work for both values nil and t of
9221         process-connection-type. It was broken on most platforms.
9222         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9223         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9224         * process-unix.c: Signal/Process handling overhaul.
9225         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9226         (allocate_pty): Use all available modern methods of allocating
9227         ptys, falling back to old style BSD allocation as a last resort.
9228         Use allegedly more secure Unix98 pty allocation by default.
9229         (allocate_pty_the_old_fashioned_way): New. the last resort.
9230         (unix_create_process): Push ptem, ldterm, ttcompat where
9231         available.  Autoconfiscate.
9232         (try_to_initialize_subtty): New.
9233         (unix_kill_child_process): Proper signal handling for ptys on most
9234         platforms, using special knowledge of AIX, BSD, etc...
9235         (unix_create_process): Always disconnect_controlling_terminal() for
9236         subprocesses, whether using ptys or not.
9237         * process.h: Remove old getpt-dependent PTY code.
9238         * process.c (Fprocess_send_signal): New, obvious generic function.
9239         (decode_signal): New.
9240         (Finterrupt_process):
9241         (Fkill_process):
9242         (Fquit_process):
9243         (Fstop_process):
9244         (Fcontinue_process):
9245         (Fsignal_process): Use decode_signal.
9246         (process_send_signal):
9247         Many docstring corrections.
9248         Allow any signal to be sent to a process object.
9249         * config.h.in: Add symbols for big signal/process overhaul.
9250         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9251         * sysproc.h: Include process-related headers, where available:
9252         sys/stropts.h sys/strtio.h pty.h libutil.h
9253         * s/irix4-0.h:
9254         * s/irix5-0.h:
9255         * s/cygwin32.h:
9256         * s/gnu.h:
9257         * s/linux.h:
9258         * s/hpux.h:
9259         * s/aix3-1.h:
9260         Remove old S&M pty stuff.
9261         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9262         * systty.h: Simplify cpp hackery, improve comments.
9263         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9264
9265         * editfns.c (Fformat_time_string):
9266         Be a little more paranoid with the return value of ctime.
9267
9268         * fileio.c (check_executable):
9269         (check_writable):
9270         Use symbolic constants X_OK, W_OK.
9271
9272         * console-x.c (split_up_display_spec): Fix a warning.
9273
9274 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9275
9276         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9277         * ntproc.c (sys_spawnve): make_string ==> build_string
9278         Small clarity improvements.
9279
9280 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9281
9282         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9283
9284         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9285
9286         * config.h.in (HAVE_STRCASECMP): Remove.
9287
9288 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9289
9290         * redisplay-output.c (redisplay_output_pixmap):
9291         Cleaner and possibly more 64-bit correct code.
9292
9293 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9294
9295         * dumper.c (pdump_load_finish): move restoration of
9296         `noninteractive1' to emacs.c (main_1).
9297         * emacs.c (main_1): protect LISP-visible command-line flags
9298         from pdump_load().
9299
9300 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9301
9302         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9303         DUMP_TARGET instead of literal program names.
9304
9305 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9306
9307         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9308
9309 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9310
9311         * *: Spelling mega-patch
9312
9313 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9314
9315         * fns.c (bad_bad_turtle):
9316         Delete "Eek!" comment, since we fixed the bug to which it refers.
9317
9318 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9319
9320         * alloca.c: Replace REGISTER with register.
9321
9322 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9323
9324         * file-coding.c (ucs_to_char): Use countof.
9325
9326 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9327
9328         * file-coding.c: (ucs_to_char):
9329         (complex_vars_of_file_coding):
9330         Use countof instead of sizeof.
9331         Use CHECK_NATNUM instead of CHECK_INT.
9332
9333         * sysdep.c (strcasecmp): Remove.
9334         * device-x.c (ascii_strcasecmp): New.
9335         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9336         Avoid using non-standard non-portable strcasecmp.
9337
9338 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9339
9340         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9341         * font-lock.c: remove reference to emacsfns.h.
9342         * search.c: small doc improvement.
9343         * event-Xt.c: correct file names in comments.
9344         * console-x.h Correct file names in comments.
9345         * frame.c: Correct file names in comments.
9346         * event-stream.c: remove Energize from comments.
9347
9348 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9349
9350         * symeval.h (DEFERROR_STANDARD):
9351         (DEFERROR):
9352         (DEFSYMBOL):
9353         (DEFSYMBOL_NO_DUMP):
9354         (DEFSYMBOL_MULTIWORD_PREDICATE):
9355         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9356         (DEFKEYWORD):
9357         The construct &##name is not sensible C.
9358         Fixes compilation errors with Unixware native compiler.
9359
9360 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9361
9362         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9363         (next_frame_internal): Removed.  We now just have next_frame.
9364         (next_frame):
9365         Write a simpler and cleaner one-pass algorithm.
9366         Remove called_from_delete_device arg and #ifdefed-out code.
9367         (previous_frame):
9368         Renamed from prev_frame.  Update callers.
9369         Cleaned up to have an analogous implementation to next_frame.
9370         (other_visible_frames_internal): Remove the
9371         called_from_delete_device bogus arg, and hence, remove this
9372         function.  Just use other_visible_frames().
9373
9374         * window.c (Fnext_window):
9375         Prettify docstring.
9376         Since next_frame() is guaranteed to return a frame, remove check
9377         for nil inserted in previous patch.
9378         (Fprevious_window):
9379         Prettify docstring.
9380         Make code look more like Fnext_window.
9381         (window_loop):
9382         Respect the `console' arg when iterating through windows.
9383         Fixes bug: (get-buffer-window buffer t device) not respecting
9384         the `device' arg.
9385         This function needs more work, as others have pointed out.
9386
9387         * frame.h: Rename prev_frame to previous_frame.
9388         device_matches_console_spec no longer takes a `frame' arg.
9389
9390         * s/gnu.h:
9391         * s/linux.h:
9392         * s/hpux.h:
9393         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9394         From "Golubev I. N." <gin@mo.msk.ru>.
9395
9396         * make-src-depend: Fix typo.
9397
9398 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9399
9400         * window.c (Fnext_window):
9401         next_frame() might return nil, not a frame.
9402         Fixes this crash:
9403         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9404
9405         * frame.c (next_frame_internal):
9406         We've passed a frame if we've passed its device.
9407         Fixes this crash:
9408         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9409 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9410
9411 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9412
9413         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9414         Allow option to suppress accelerators in menu/dialog items.
9415         (populate_or_checksum_helper): Pass dialog title through above.
9416
9417 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9418
9419         * event-msw.c (mswindows_key_to_emacs_keysym):
9420         Add "pause" key, fix "menu" key.
9421
9422 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9423
9424         * eval.c (reinit_vars_of_eval):
9425         Increase max_lisp_eval_depth to 1000,
9426         required for thai-xtis.el to byte-compile under some circumstances.
9427
9428 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9429
9430         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9431         From Kenichi Handa.
9432
9433 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9434
9435         * make-src-depend: Make the generated Makefiles smaller.
9436
9437         * s/hpux.h (SETUP_SLAVE_PTY):
9438         Provide a %d in the format string for the errno argument.
9439
9440         * editfns.c (Ftemp_directory):
9441         Warning fix.
9442         Avoid buffer overrun on very long file name.
9443
9444         * input-method-xlib.c (XIM_init_device):
9445         6th parameter of XRegisterIMInstantiateCallback has different
9446         pointer types on different OSes, so simply cast to (void *).
9447
9448         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9449
9450         * sysdll.c (dll_open):
9451         shl_load will hang hard if passed a NULL filename.
9452         Simply return NULL for compatibility with dlopen.
9453         * sysdll.c: Conform to XEmacs coding standards.
9454
9455         * sysdep.c (get_pty_max_bytes):
9456         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9457
9458 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9459
9460         * tooltalk.c: Add #include <syssignal.h>
9461
9462 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9463
9464         * s/hpux.h: Don't use undefined function sigunblock().
9465
9466 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9467
9468         * config.h.in: Add HAVE_BALLOON_HELP.
9469         * emacs.c: Use HAVE_BALLOON_HELP.
9470         * Makefile.in.in (x_objs):
9471         Make Balloon Help conditional on finding shape.h.
9472
9473 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9474
9475         * syntax.c (regex_emacs_buffer_p): New variable.
9476         * syntax.h (regex_emacs_buffer_p): extern.
9477         * search.c (looking_at_1):
9478         (string_match_1):
9479         (fast_string_match):
9480         (search_buffer): Set regex_emacs_buffer_p.
9481         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9482         when before_dot, at_dot, after_dot.
9483
9484 2000-08-23  Andy Piper  <andy@xemacs.org>
9485
9486         * gui-x.c (popup_selection_callback): Only set action_occurred
9487         when we really have an image instance.
9488         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9489
9490 2000-08-23  Andy Piper  <andy@xemacs.org>
9491
9492         * gui-msw.c (mswindows_handle_gui_wm_command): set
9493         action_occurred.
9494         * gui-x.c (popup_selection_callback): ditto.
9495
9496         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9497         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9498         (struct Lisp_Image_Instance): add action_occurred flag.
9499
9500         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9501         (image_instance_changed): ditto.
9502         (reset_frame_subwindow_instance_cache): only unmap windows - do
9503         not remove them from the cache also.
9504
9505         * glyphs-widget.c (tab_control_update): better debug.
9506         (progress_gauge_update): ditto.
9507         (layout_update): ditto.
9508         (layout_instantiate): ditto.
9509         (tab_control_order_only_changed): cope with null pending items.
9510
9511         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9512         debug. Force selection of an item when an action occurred. Cope
9513         with null pending_items.
9514         (mswindows_progress_gauge_redisplay): better debug.
9515         * glyphs-x.c (x_tab_control_redisplay): ditto.
9516
9517         * redisplay.c (redisplay_frame): reset the frame cache if the
9518         frame is garbaged.
9519
9520         * window.c (Fset_window_configuration): potentially re-enable
9521         frame cache reset.
9522         (window_unmap_subwindows): need to finalize instances here since
9523         it is only used in mark_window_as_deleted.
9524
9525 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9526
9527         * nas.c (SndOpenDataForReading):
9528         nas.c (WaveOpenDataForReading):
9529         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9530         Somehow escaped from the 2000-08-14 patch.
9531
9532 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9533
9534         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9535         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9536
9537 2000-08-21  Andy Piper  <andy@xemacs.org>
9538
9539         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9540         window if it is not already displayed.
9541
9542         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9543         it is not already displayed.
9544
9545         * window.c (Fset_window_configuration): don't reset the frame
9546         cache.
9547
9548         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9549         instances from the frame cache if we are actually finalizing them.
9550         (reset_frame_subwindow_instance_cache): reset frame cache only
9551         after unmapping everything.
9552         (map_subwindow): set displayed flag after mapping.
9553
9554 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9555
9556         * data.c (indirect_function):
9557         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9558
9559         * eval.c (function_argcount):
9560         Use original function when signaling errors.
9561
9562 2000-08-18  Andy Piper  <andy@xemacs.org>
9563
9564         * frame.c (delete_frame_internal): use new
9565         free_frame_subwindow_instances name.
9566
9567         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9568         (add_tab_item): make return type correct.
9569         (mswindows_tab_control_instantiate): assert index of tab.
9570         (mswindows_tab_control_redisplay): Re-code to use
9571         gui_item_equal_sans_selected and gui_item_list_find_selected.
9572
9573         * glyphs-widget.c (tab_control_update): Correct comment.
9574
9575         * window.c (window_unmap_subwindows): use new
9576         unmap_subwindow_instance_cache_mapper.
9577         (window_unmap_subwindows_cache_mapper): deleted.
9578         (Fset_window_configuration): comparisons should now be with
9579         EQ. Preserve the subwindow instance cache across configuration
9580         changes.
9581         (allocate_window): ditto.
9582         (make_dummy_parent): ditto.
9583
9584         * glyphs.c (free_frame_subwindow_instances): rename from
9585         free_frame_subwindow_instance_cache. finalize all instances rather
9586         than just those in the display cache.
9587         (finalize_all_subwindow_instances): walk windows unmapping and
9588         finalizing subwindows.
9589         (unmap_subwindow_instance_cache_mapper): moved from
9590         window.c. Allow finalization as well as unmapping.
9591
9592         * gui.c (gui_item_list_find_selected): new function.
9593
9594         * gui.h (gui_item_list_find_selected): declare.
9595
9596         * glyphs-x.c (x_tab_control_redisplay): pick tab
9597         explicitly. Re-code to use gui_item_equal_sans_selected and
9598         gui_item_list_find_selected.
9599
9600         * glyphs-x.h: add lwlib-utils.h
9601
9602         * buffer.c (Frecord_buffer): undo previous change.
9603
9604 2000-08-09  Vin Shelton  <acs@xemacs.org>
9605
9606         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9607         possible.  Create temporary files more securely.  The patch was
9608         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9609         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9610         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9611         for details.
9612
9613 2000-08-07  Ben Wing  <ben@xemacs.org>
9614
9615         * getloadavg.c: remove duplicate (and windows-breaking)
9616         includes of fcntl.h and sys/file.h.
9617
9618         * nt.c: remove duplicate getloadavg() definition.
9619
9620         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9621         encodings.
9622
9623 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9624
9625         * eval.c (function_argcount): If function needs to be autoloaded
9626         actually use the loaded definition.
9627         GCPRO function.
9628
9629 2000-08-05  Ben Wing  <ben@xemacs.org>
9630
9631         * getloadavg.c: add prototype for getloadavg().  remove
9632         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9633         of the code).  remove duplicate header includes.
9634
9635         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9636
9637         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9638         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9639         useful load average.
9640
9641         * alloc.c (reinit_alloc_once_early): removed references to
9642         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9643         the lisp vars are the only things referencing the malloc_sbrk_*
9644         vars, and they were already if 0'd out.  these vars only exist
9645         in the older malloc.c, which is basically unused, and they're
9646         only for informational purposes.
9647
9648         * m\*.h: removed useless VIRT_ADDR_VARIES.
9649
9650         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9651
9652 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9653
9654         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9655         color if the image is a mono pixmap.
9656
9657 2000-07-30  Ben Wing  <ben@xemacs.org>
9658
9659         * Makefile.in.in (release):
9660         Remove stray @.
9661
9662         * buffer.c (directory_is_current_directory):
9663         * dired-msw.c (mswindows_get_files):
9664         * dired.c:
9665         * dired.c (Fdirectory_files):
9666         * dired.c (file_name_completion_stat):
9667         * dired.c (Ffile_attributes):
9668         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9669         preprocessor tricks, to avoid problems on some machines
9670         (e.g. SCO).
9671
9672         * callproc.c (egetenv): GC docs.
9673
9674         * console-msw.h:
9675         * console-msw.h (struct mswindows_dialog_id):
9676         * lrecord.h (lrecord_type):
9677         New object for use with MSW dialogs.
9678
9679         * console.h (struct console_methods):
9680         New enable/disable frame methods, for proper modal dialogs.
9681
9682         * device-msw.c (msprinter_default_printer): Fix to follow
9683         proper Mule conventions.
9684
9685         * device-msw.c:
9686         * device-msw.c (signal_open_printer_error):
9687         * device-msw.c (msprinter_init_device):
9688         * device-msw.c (ensure_not_printing):
9689         * device-msw.c (plist_get_margin):
9690         * device-msw.c (Fmsprinter_select_settings):
9691         * device-msw.c (finalize_devmode):
9692         * device-msw.c (Fmsprinter_settings_despecialize):
9693         * device-msw.c (signal_enum_priner_error):
9694         * extents.c (decode_extent):
9695         * extents.c (decode_map_extents_flags):
9696         * extents.c (decode_extent_at_flag):
9697         * extents.c (Fextent_at):
9698         * extents.c (Fextents_at):
9699         * extents.c (symbol_to_glyph_layout):
9700         [[[[2]]]] Use structured errors.
9701
9702         * dialog-msw.c:
9703         * dialog-msw.c (mswindows_is_dialog_msg):
9704         * dialog-msw.c (mark_mswindows_dialog_id):
9705         * dialog-msw.c (dialog_proc):
9706         * dialog-msw.c (handle_question_dialog_box):
9707         * dialog-msw.c (syms_of_dialog_mswindows):
9708         Define new object to clean up marking; use it as a dialog identifier.
9709         Call new delete-dialog-box-hook.
9710
9711         * dialog-x.c (dbox_selection_callback):
9712         * dialog-x.c (dbox_descriptor_to_widget_value):
9713         * dialog-x.c (x_make_dialog_box_internal):
9714         Call new delete-dialog-box-hook.
9715         Return an id.
9716
9717         * dialog.c:
9718         * dialog.c (syms_of_dialog):
9719         * dialog.c (vars_of_dialog):
9720         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9721
9722         * eval.c:
9723         * eval.c (signal_call_debugger):
9724         when noninteractive, output stack traces on the console instead
9725         of in a (never-seen) buffer.
9726
9727         * eval.c (signal_type_error):
9728         * eval.c (invalid_argument_2):
9729         * lisp.h:
9730         new funs for use w/structured errors.
9731
9732         * event-Xt.c:
9733         * event-Xt.c (x_to_emacs_keysym):
9734         * event-Xt.c (describe_event):
9735         * event-Xt.c (emacs_Xt_event_handler):
9736         * event-Xt.c (vars_of_event_Xt):
9737         * event-msw.c:
9738         * event-msw.c (mswindows_wnd_proc):
9739         * event-msw.c (vars_of_event_mswindows):
9740         rename {x,mswindows}-debug-events to debug-{}-events for
9741         consistency with other debug-foo variables.
9742
9743         * event-stream.c:
9744         document next-event more clearly.
9745
9746         * fileio.c (Ffile_name_directory):
9747         * fileio.c (Ffile_name_nondirectory):
9748         * fileio.c (Funhandled_file_name_directory):
9749         * fileio.c (file_name_as_directory):
9750         * fileio.c (Ffile_name_as_directory):
9751         * fileio.c (directory_file_name):
9752         * fileio.c (Fdirectory_file_name):
9753         * fileio.c (Fmake_temp_name):
9754         * fileio.c (Ffile_truename):
9755         * fileio.c (Fsubstitute_in_file_name):
9756         * fileio.c (expand_and_dir_to_file):
9757         * fileio.c (barf_or_query_if_file_exists):
9758         * fileio.c (check_executable):
9759         * fileio.c (Ffile_exists_p):
9760         * fileio.c (Ffile_writable_p):
9761         * fileio.c (Ffile_directory_p):
9762         * fileio.c (Ffile_regular_p):
9763         * fileio.c (Ffile_modes):
9764         * fileio.c (Ffile_newer_than_file_p):
9765         * fileio.c (Fverify_visited_file_modtime):
9766         * fileio.c (Fset_visited_file_modtime):
9767         * fileio.c (auto_save_1):
9768         (1). (2).
9769         fix up gcpro's.
9770
9771         * frame-msw.c:
9772         * frame-msw.c (mswindows_init_frame_1):
9773         * frame-msw.c (mswindows_enable_frame):
9774         * frame-msw.c (error_frame_unsizable):
9775         * frame-msw.c (msprinter_init_frame_1):
9776         * frame-msw.c (msprinter_init_frame_3):
9777         * frame-msw.c (console_type_create_frame_mswindows):
9778         (2).
9779         implement new enable/disable frame methods.
9780
9781         * frame-x.c:
9782         * frame-x.c (x_enable_frame):
9783         * frame-x.c (console_type_create_frame_x):
9784         implement new enable/disable frame methods.
9785
9786         * frame.c:
9787         * frame.c (Fdisable_frame):
9788         * frame.c (syms_of_frame):
9789         * frame.h (struct frame):
9790         implement new enable/disable frame methods/functions.
9791
9792         * general-slots.h:
9793         add initial-focus.
9794
9795         * glyphs-msw.c (mswindows_widget_instantiate):
9796         comment that initial-focus should be implemented.
9797
9798         * glyphs-widget.c:
9799         * glyphs-widget.c (check_valid_instantiator):
9800         * glyphs-widget.c (check_valid_orientation):
9801         * glyphs-widget.c (check_valid_tab_orientation):
9802         * glyphs-widget.c (check_valid_justification):
9803         * glyphs-widget.c (check_valid_border):
9804         * glyphs-widget.c (check_valid_callback):
9805         * glyphs-widget.c (check_valid_int_or_function):
9806         * glyphs-widget.c (check_valid_string_or_vector):
9807         * glyphs-widget.c (check_valid_item_list_1):
9808         * glyphs-widget.c (widget_validate):
9809         * glyphs-widget.c (combo_box_validate):
9810         * glyphs-widget.c (widget_instantiate):
9811         * glyphs-widget.c (syms_of_glyphs_widget):
9812         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9813         * glyphs-widget.c (image_instantiator_combo_box):
9814         * glyphs-widget.c (image_instantiator_scrollbar):
9815         * glyphs-widget.c (image_instantiator_tab_control):
9816         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9817         (2).
9818         support (unimplemented) keyword initial-focus.
9819         reindent long macros.
9820
9821         * glyphs-x.c (x_redisplay_widget):
9822         * glyphs-x.c (x_button_instantiate):
9823         * glyphs-x.c (x_button_redisplay):
9824         * glyphs-x.c (x_progress_gauge_instantiate):
9825         * glyphs-x.c (x_edit_field_instantiate):
9826         * glyphs-x.c (x_combo_box_instantiate):
9827         * glyphs-x.c (x_tab_control_instantiate):
9828         * glyphs-x.c (x_label_instantiate):
9829         * gui-x.c:
9830         * gui-x.c (button_item_to_widget_value):
9831         * gui-x.c (gui_items_to_widget_values_1):
9832         * gui-x.c (gui_item_children_to_widget_values):
9833         * gui-x.c (gui_items_to_widget_values):
9834         * gui-x.h:
9835         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9836         add new flag to gui-parsing routines to indicate whether
9837         accelerator specs should be supported.
9838
9839         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9840
9841         * glyphs.h (struct Lisp_Image_Instance):
9842         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9843         add initial-focus flag.
9844
9845         * gui.c:
9846         * gui.c (syms_of_gui):
9847         * gui.c (vars_of_gui):
9848         clean up menu-no-selection-hook.
9849
9850         * gui.h:
9851         support delete-dialog-box-hook.
9852
9853         * lread.c (Fload_internal):
9854         * lread.c (locate_file_in_directory_mapper):
9855         (1).
9856
9857         * lrecord.h:
9858         * lrecord.h (struct toolbar_button):
9859         * lrecord.h (syms_of_toolbar):
9860         document how to create a new object.
9861
9862         * menubar-msw.c (mswindows_char_is_accelerator):
9863         may be called on frames w/o menus.
9864
9865         * menubar.c (vars_of_menubar):
9866         clean up :filter docs.
9867
9868         * nt.c (readdir):
9869         * ntproc.c:
9870         (1).
9871
9872         * process-nt.c:
9873         * process-nt.c (validate_signal_number):
9874         * process-nt.c (signal_cannot_launch):
9875         * process-nt.c (nt_create_process):
9876         * process-nt.c (nt_send_process):
9877         * process-nt.c (nt_kill_child_process):
9878         * process-nt.c (nt_open_network_stream):
9879         * process-nt.c (syms_of_process_nt):
9880         (2).
9881         delete quote-handling.  call new lisp code that does it better.
9882
9883         * process-unix.c (connect_to_file_descriptor):
9884         * process-unix.c (allocate_pty):
9885         * process-unix.c (unix_send_process):
9886         * process-unix.c (unix_kill_child_process):
9887         * process-unix.c (unix_open_network_stream):
9888         * process-unix.c (unix_open_multicast_group):
9889         (1). (2).
9890
9891         * process.c:
9892         * process.c (Fstart_process_internal):
9893         (2).  need to canonicalize process path even if absolute.
9894
9895         * select-msw.c (symbol_to_ms_cf):
9896         * select-msw.c (ms_cf_to_symbol):
9897         * select-msw.c (cf_is_autofreed):
9898         * select-msw.c (mswindows_destroy_selection):
9899         * select.c:
9900         * select.c (syms_of_select):
9901         * select.h:
9902         support dibv5, fix bugs. (from Mike Alexander)
9903
9904         * select.c (Fget_selection_internal):
9905         * select.c (select_convert_out):
9906
9907         * sysdep.c:
9908         * sysdep.c (xemacs_stat):
9909         renamed.
9910
9911         * sysdep.c (mkdir):
9912         * sysdep.c (rmdir):
9913         but keep original stat() here because we provide encapsulation
9914         around these funs.
9915
9916         * sysfile.h:
9917         * sysfile.h (fstat):
9918         remove stat garbage.
9919
9920         * syswindows.h:
9921         fix X/MSW conflict.
9922         don't include tchar.h.  it's inappropriate because it makes
9923         compile-time distinctions when we want runtime distinctions.
9924         (we provide our own tchar replacements)
9925
9926         * toolbar.c:
9927         use default object printer for toolbar-button.
9928
9929         * unexcw.c:
9930         make sure we don't encapsulate.
9931
9932         * window.c (vars_of_window):
9933         emphasize that temp-buffer-show-hook is obsolete.
9934
9935 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9936
9937         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9938         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9939
9940         * events.c (Fevent_timestamp_lessp):
9941         Not 64-bit clean.  Use EMACS_INT, not int.
9942
9943 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9944
9945         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9946         unsigned int and changed the last enum to
9947         lrecord_type_last_built_in_type.
9948         (lrecord_implementations_table): changed prototype to know how
9949         long the array is supposed to be.
9950         (lrecord_type_count): new unsigned int to keep track of the
9951         current number of lisp lrecord types.
9952         (DEFINE_EXTERNAL_LRECORD):
9953         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9954         dynamic-modules to declare new lisp types. They are the same
9955         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9956         int for each new type, and increment lrecord_type_count by 1.
9957
9958         * alloc.c (lrecord_implementations_table): Changed to reference
9959         lrecord_type_last_built_in_type for the size of the array.
9960         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9961
9962 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9963
9964         * glyphs.h (check_valid_item_list): Renamed from
9965         check_valid_item_list_1.
9966
9967 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9968
9969         * select.c (Qselect_coerce): New.
9970         * select.c (Vselection_coercion_alist): New.
9971         * select.c (syms_of_select): Declare.
9972         * select.c (get-selection-internal): Use it.
9973         Use the new select-coerce functionality.
9974
9975         * select.c (select_coerce): New.
9976         * select.h (select_coerce): Declare.
9977         New function to coerce one type of data into another.
9978
9979 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9980
9981         * callproc.c (Fcall_process_internal):
9982         (Fcall_process_internal):
9983         * process-unix.c (unix_create_process):
9984         Save and restore the value of errno, so that error messages are accurate.
9985
9986 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9987
9988         * elhash.c (print_hash_table):
9989         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9990         Prettify docstrings and indentation.
9991
9992 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9993
9994         * window.c (Fwindow_pixel_edges): Subtract frame border and
9995         gutter size.
9996
9997 2000-07-31  Andy Piper  <andy@xemacs.org>
9998
9999         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10000         will acknowledge the change.
10001
10002         * glyphs.h: declare tab_control_order_only_changed.
10003
10004         * glyphs-x.c (x_tab_control_redisplay): use
10005         tab_control_order_only_changed.
10006
10007         * glyphs-widget.c (tab_control_order_only_changed): new function.
10008
10009         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10010         tab_control_order_only_changed.
10011
10012         * gui.c (gui_item_equal_sans_selected): new function.
10013         (gui_item_equal): use it.
10014
10015         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10016         :properties in favor of :items..
10017
10018         * glyphs-widget.c (check_valid_item_list): rename from
10019         check_valid_item_list_1.
10020         (check_valid_item_list_1): renamed.
10021         (combo_box_validate): deprecate :properties in favor of :items.
10022         (widget_instantiate): ditto.
10023         (tab_control_update): ditto.
10024         (image_instantiator_combo_box): ditto.
10025         (image_instantiator_tree_view): ditto.
10026         (image_instantiator_tab_control): ditto.
10027         (layout_post_instantiate): remove dead code.
10028
10029         * print.c (debug_print_no_newline): only write to debugger if in
10030         WIN32_NATIVE.
10031
10032         * elhash.c (Fmake_hash_table): update doc string.
10033
10034         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10035         messages whilst in GC. This at least stops XEmacs crashing but has
10036         the potential for wierd behaviour.
10037
10038 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10039
10040         * config.h.in:
10041         Make existence of s&m files optional.
10042
10043         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10044         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10045         * s/gnu.h: Remove HAVE_GETLOADAVG.
10046         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10047         * s/sol2.h: Remove HAVE_GETLOADAVG.
10048         * lisp.h: Remove getloadavg() declaration.
10049         * fns.c:
10050         Include <sys/loadavg.h> if available.
10051         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10052         * config.h.in:  Group together getloadavg()-related macros.
10053         Use only configure-time tests to detect getloadavg().
10054
10055 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10056
10057         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10058
10059 2000-07-25  Andy Piper  <andy@xemacs.org>
10060
10061         * syswindows.h: add tchar.h for native builds.
10062
10063         * frame.c (syms_of_frame): remove set-glyph-image.
10064
10065         * general-slots.h: add Qset_glyph_image.
10066
10067         * glyphs-widget.c (layout_update): add domain arg to
10068         set-glyph-image.
10069         (syms_of_glyphs_widget): remove set-glyph-image.
10070
10071 2000-07-23  Ben Wing  <ben@xemacs.org>
10072
10073         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10074         Vpopup_frame_list.
10075
10076 2000-07-22  Andy Piper  <andy@xemacs.org>
10077
10078         * symsinit.h: add syms_of_win32().
10079
10080         * gui-msw.c (syms_of_gui_mswindows): remove
10081         Fmswindows_shell_execute.
10082         (Fmswindows_shell_execute): moved to win32.c.
10083
10084         * emacs.c (main_1): add syms_of_win32 ().
10085
10086         * win32.c (init_potentially_nonexistent_functions): rewrite in
10087         compiler-friendly terms.
10088         (Fmswindows_shell_execute): move here from gui-msw.c.
10089         (syms_of_win32): new.
10090
10091         * device-msw.c (Fmswindows_printer_list): clean up args to
10092         EnumPrinters.
10093         Don't include tchar under cygwin or mingw.
10094         (msprinter_default_printer): make cygwin-friendly.
10095
10096 2000-07-21  Andy Piper  <andy@xemacs.org>
10097
10098         * glyphs-widget.c (image_instantiator_tree_view): use tab
10099         control's update function.
10100         (layout_property): new function. Retrieve items.
10101
10102         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10103         function. Re-populate the tree view from the pending items.
10104
10105         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10106         is designated the parent if the domain is an image instance. This
10107         is needed so that dirtiness can be cascade up the hierarchy and
10108         thus for layout children to be redisplayed correctly.
10109         (allocate_image_instance): rename glyph -> parent.
10110
10111         * redisplay.h: change redisplay_output_layout signature.
10112
10113         * redisplay-msw.c (mswindows_output_display_block): use domain
10114         arg.
10115
10116         * redisplay-x.c (x_output_display_block): use domain arg.
10117
10118 2000-07-10  Andy Piper  <andy@xemacs.org>
10119
10120         * window.c (Fset_window_configuration): add comment.
10121
10122         * redisplay-output.c (compare_runes):
10123         (redisplay_output_subwindow): redisplay rather than update subwindow.
10124         (redisplay_output_layout): ditto.
10125
10126         * redisplay-msw.c (mswindows_frame_output_end):
10127         (mswindows_frame_output_end): make defer window pos optional.
10128
10129         * lisp.h: add Flast.
10130
10131         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10132         normalize method. Change update method to be for changed
10133         instantiators. Add redisplay method. Change signature of layout
10134         method.
10135         (struct Lisp_Image_Instance): add instantiator.
10136         (IMAGE_INSTANCE_INSTANTIATOR): new.
10137         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10138         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10139         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10140
10141         * glyphs.c:
10142         (find_instantiator_differences): new function.
10143         (Fset_instantiator_property): new convenience function.
10144         (check_image_instance_structure): strictly check for vector
10145         instantiators.
10146         (normalize_image_instantiator): make non-static.
10147         (instantiate_image_instantiator): pass on dest_mask and use new
10148         signatures for image_instance_layout and friends.
10149         (mark_image_instance): mark the instantiator. Mark the subwindow
10150         face not the widget face.
10151         (image_instance_equal): add instantiator.
10152         (image_instance_hash): ditto.
10153         (allocate_image_instance): ditto.
10154         (Fset_image_instance_property): removed.
10155         (Fimage_instance_file_name): ditto.
10156         (Fcolorize_image_instance): ditto.
10157         (image_instance_layout): add offsets to be set.
10158         (update_image_instance): new function. update an image instance
10159         from its changed instantiator.
10160         (inherit_normalize): add dest_mask.
10161         (xbm_normalize): ditto.
10162         (xface_normalize): ditto.
10163         (xpm_normalize): ditto.
10164         (text_update): set_property -> update.
10165         (image_instantiate): use the glyph identity as a hash key, not the
10166         instantiator.
10167         (glyph_width): use new image_instance_layout signature.
10168         (glyph_ascent): ditto.
10169         (glyph_descent): ditto.
10170         (glyph_height): ditto.
10171         (glyph_query_geometry): ressurrect.
10172         (glyph_layout): ditto.
10173         (redisplay_subwindow): update -> redisplay.
10174         (syms_of_glyphs): add Fset_instantiator_property.
10175         (image_instantiator_format_create): set_property -> update.
10176
10177         * glyphs-x.c:
10178         (autodetect_normalize): add dest_maks to signature.
10179         (x_redisplay_subwindow): update -> redisplay.
10180         (x_redisplay_widget): ditto.
10181         (x_button_redisplay): ditto.
10182         (x_progress_gauge_redisplay): ditto.
10183         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10184         stacking order.
10185         (console_type_create_glyphs_x): update -> redisplay.
10186         (image_instantiator_format_create_glyphs_x): ditto.
10187
10188         * glyphs-widget.c:
10189         (check_valid_instantiator): disallow glyphs in the instantiator,
10190         they must now be vectors.
10191         (check_valid_instantiator_list): ditto.
10192         (glyph_instantiator_to_glyph): use internal symbol rather than
10193         intern.
10194         (widget_update): renamed from widget_set_property. Call cascaded
10195         update methods.
10196         (redisplay_widget): renamed from update_widget.
10197         (widget_layout): image_instance_layout now takes position as well
10198         as size.
10199         (widget_normalize): ditto.
10200         (widget_instantiate): ditto.
10201         (tab_control_query_geometry) ditto.:
10202         (tab_control_update): renamed from tab_control_set_property.
10203         (progress_gauge_update): set_property -> update.
10204         (layout_normalize): rewrite so that child instantiators are
10205         normalized also.
10206         (layout_update): new function. Create glyphs from the normalized
10207         children and cope with any other layout keywords. We do not
10208         instantiate children here that will be take care of by
10209         redisplay_output_layout.
10210         (layout_instantiate): call layout_update and not much else.
10211         (layout_post_instantiate): not sure whether this is needed
10212         anymore.
10213         (layout_query_geometry): query glyph geometry rather than
10214         image_instance geometry.
10215         (layout_layout): set offsets from pass in parameters. Use glyph
10216         geometry and layout functions rather than image instance ones.
10217         (native_layout_layout): ditto.
10218         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10219         (image_instantiator_widget): set_property -> update.
10220         (image_instantiator_buttons): ditto.
10221         (image_instantiator_progress_guage): ditto.
10222         (image_instantiator_tab_control): ditto.
10223         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10224         (image_instantiator_layout): add update method.
10225
10226         * glyphs-msw.c (bmp_normalize):
10227         (mswindows_resource_normalize): add dest_mask so that it can be
10228         proprogated by layout_normalize.
10229         (begin_defer_window_pos): make optional because it may not be the
10230         right thing to do and it introduces differences with X.
10231         (mswindows_unmap_subwindow): ditto.
10232         (mswindows_map_subwindow): ditto.
10233         (mswindows_redisplay_subwindow): renamed from
10234         mswindows_update_subwindow.
10235         (mswindows_redisplay_widget): ditto.
10236         (mswindows_button_redisplay): renamed from
10237         mswindows_button_update. Update is now what the instantiation
10238         function does for a changed instantiator.
10239         (mswindows_progress_gauge_instantiate): set the progress value
10240         here if appropriate.
10241         (mswindows_tab_control_redisplay): cope with re-ordering of the
10242         members of the tab widget by simply selecting the new top
10243         widget. This makes things appear ok if you click on a tab.
10244         (mswindows_combo_box_instantiate): image_instance_layout now takes
10245         position as well as size.
10246         (mswindows_progress_gauge_redisplay): renamed from
10247         mswindows_progress_gauge_update.
10248         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10249         (image_instantiator_format_create_glyphs_mswindows): ditto.
10250
10251         * glyphs-eimage.c (jpeg_normalize):
10252         (gif_normalize):
10253         (png_normalize):
10254         (tiff_normalize): add dest_mask so that it can be proprogated by
10255         layout_normalize.
10256
10257         * elhash.c:
10258         (print_hash_table):
10259         (hash_table_weakness_validate):
10260         (decode_hash_table_weakness):
10261         (Fhash_table_weakness):
10262         (Fhash_table_type):
10263         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10264
10265         * console.h (struct console_methods): move update_* to
10266         redisplay_*.
10267
10268 2000-07-20  Ben Wing  <ben@xemacs.org>
10269
10270         * *.[ch] (XSETOBJ): remove unused middle argument.
10271         lisp-disunion.h: correct wrap_object() to one argument.
10272
10273 2000-07-15  Ben Wing  <ben@xemacs.org>
10274
10275         * s/cygwin32.h:
10276         * s/cygwin32.h (CYGWIN_CONV_PATH):
10277         Add missing logb prototype for v1.1.
10278         Use post-b20 names and alias to pre-b20 names when pre-b20.
10279
10280         * s/windowsnt.h: [5].
10281
10282 2000-07-15  Ben Wing  <ben@xemacs.org>
10283
10284         * Makefile.in.in (x_objs):
10285         * Makefile.in.in (sheap_objs):
10286         * Makefile.in.in (objs):
10287         added win32.o, cosmetic cleanups.
10288
10289         * alloc.c (Fmake_byte_code):
10290         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10291         etc. macros which declare their own args now.
10292
10293         * alloc.c (syms_of_alloc):
10294         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10295
10296         * buffer.c:
10297         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10298
10299         * buffer.c (Fget_file_buffer):
10300         Fixed GCPRO problem.
10301
10302         * buffer.c (get_truename_buffer):
10303         Fixed comment about GC checking.
10304
10305         * buffer.c (syms_of_buffer):
10306         Undeclared those dedicated frame funs.
10307         [2].
10308
10309         * buffer.h:
10310         Define convenience macros for internal/external conversions.
10311         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10312         and Qenvironment_variable_encoding for cleaner code.
10313
10314         * bufslots.h:
10315         Remove dedicated-frame; in lisp.
10316
10317         * bytecode.c (funcall_compiled_function):
10318         [1].
10319
10320         * bytecode.c (syms_of_bytecode):
10321         [2].
10322
10323         * console-msw.c:
10324         * console-msw.c (mswindows_show_console): Rewrote.
10325
10326         * console-msw.c (Fmswindows_debugging_output): New.
10327         Sends to OutputDebugString (special MSWin debugger interface).
10328
10329         * console-msw.c (Fmswindows_message_box):
10330         Fixed stupid bugs so it works when called from kill-emacs.
10331
10332         * console-msw.c (syms_of_console_mswindows):
10333         Declare Fmswindows_debugging_output.
10334
10335         * console-msw.h:
10336         New MSWin prototypes.
10337
10338         * console-msw.h (struct mswindows_frame):
10339         New entry last-click-mods for improved button-modifier support.
10340
10341         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10342         New struct entry `popup' with corresponding accessor.
10343
10344         * console-x.c:
10345         * console-x.c (split_up_display_spec):
10346         * console-x.c (get_display_arg_connection):
10347         * console-x.c (x_semi_canonicalize_console_connection):
10348         * console-x.c (x_canonicalize_device_connection):
10349         [[[6]]]: Change char to more specific type.
10350         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10351
10352         * console-x.c (x_semi_canonicalize_console_connection):
10353         * console-x.c (x_canonicalize_device_connection):
10354         [[[9]]]: Fix up error signalling to use new structured error system.
10355
10356         * console-x.h:
10357         [[[4]]]: Define codesys aliases:
10358         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10359         Qx_color_name_encoding, Qx_display_name_encoding.
10360
10361         * console.h (struct console_methods):
10362         New method make_dialog_box_internal supersedes older
10363         popup_dialog_box method.
10364
10365         * data.c:
10366         Define many new errors, part of new structured errors.
10367
10368         * data.c (init_errors_once_early):
10369         * data.c (syms_of_data):
10370         [2].
10371
10372         * device-msw.c (mswindows_init_device):
10373         [[[5]]]: Cleanup to support NT 3.51.
10374
10375         * device-msw.c (decode_devmode): Cleanup.
10376
10377         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10378         * device-msw.c (mswindows_handle_print_dialog_box):
10379         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10380         * device-msw.c (syms_of_device_mswindows):
10381         Delete the dialog box primitives recently introduced by Kirill and
10382         instead interface to general dialog box interface.
10383
10384         * device-x.c:
10385         * device-x.c (compute_x_app_name):
10386         * device-x.c (x_init_device):
10387         * device-x.c (Fx_valid_keysym_name_p):
10388         * device-x.c (Fx_set_font_path):
10389         [6].
10390         [7].
10391
10392         * device.h (wrap_device): New.
10393         First of its kind; meant to replace XSETDEVICE.
10394
10395         * dialog-msw.c: Many file-dialog symbols.
10396
10397         * dialog-msw.c (mswindows_register_popup_frame): New.
10398         * dialog-msw.c (mswindows_is_dialog_msg): New.
10399         For supporting kbd traversal in dialog boxes.
10400
10401         * dialog-msw.c (dialog_proc):
10402         Support hitting ESC in dialogs.
10403
10404         * dialog-msw.c (struct):
10405         Common dialog box errors.
10406
10407         * dialog-msw.c (handle_file_dialog_box): New.
10408         Add file dialog code.
10409
10410         * dialog-msw.c (handle_question_dialog_box):
10411         Redo existing code to support new question dialog syntax.
10412
10413         * dialog-msw.c (console_type_create_dialog_mswindows):
10414         We support new dialog console method.
10415
10416         * dialog-msw.c (syms_of_dialog_mswindows):
10417         * dialog-msw.c (vars_of_dialog_mswindows):
10418         New file dialog symbols, vars.
10419
10420         * dialog-x.c:
10421         * dialog-x.c (maybe_run_dbox_text_callback):
10422         * dialog-x.c (dbox_descriptor_to_widget_value):
10423         * dialog-x.c (x_make_dialog_box_internal):
10424         * dialog-x.c (console_type_create_dialog_x):
10425         Mule-ize entire file.
10426         Redo to support question dialog syntax.
10427         [6].
10428
10429         * dialog.c:
10430         * dialog.c (Fmake_dialog_box_internal):
10431         * dialog.c (syms_of_dialog):
10432         Kill old popup-dialog-box, replace with new primitive.
10433         Just call device method or signal error.
10434
10435         * eldap.c (Fldap_open):
10436         * eldap.c (Fldap_search_basic):
10437         * eldap.c (Fldap_add):
10438         * eldap.c (Fldap_modify):
10439         [1].
10440         [7].
10441
10442         * emacs.c:
10443         * emacs.c (make_arg_list_1):
10444         * emacs.c (make_arg_list):
10445         Mule-ize call to dll_init().
10446         [6].
10447         [8].
10448
10449         * emacs.c (make_argc_argv):
10450         * emacs.c (free_argc_argv):
10451         * emacs.c (init_cmdargs):
10452         * emacs.c (main_1):
10453         * emacs.c (Fkill_emacs):
10454         * emacs.c (Fdump_emacs):
10455         Update comments about what can be used in syms_* etc.
10456         Call init_win32() when necessary.
10457         Fix up MS Win dialog box in kill-buffer to actually work right.
10458         [7].
10459
10460         * eval.c:
10461         * eval.c (For):
10462         * eval.c (Fand):
10463         * eval.c (Fprogn):
10464         * eval.c (Fprog1):
10465         * eval.c (Fprog2):
10466         * eval.c (FletX):
10467         * eval.c (Flet):
10468         * eval.c (condition_case_3):
10469         * eval.c (Feval):
10470         * eval.c (function_argcount):
10471         * eval.c (funcall_lambda):
10472         [1].
10473
10474         * eval.c (type_error): New.
10475         * eval.c (maybe_type_error): New.
10476         * eval.c (continuable_type_error): New.
10477         * eval.c (maybe_continuable_type_error): New.
10478         * eval.c (type_error_with_frob): New.
10479         * eval.c (maybe_type_error_with_frob): New.
10480         * eval.c (continuable_type_error_with_frob): New.
10481         * eval.c (maybe_continuable_type_error_with_frob): New.
10482         New functions for use with structured errors.
10483
10484         * event-Xt.c:
10485         * event-Xt.c (x_event_to_emacs_event):
10486         Buttons are now modifiers too.
10487
10488         * event-Xt.c (emacs_Xt_current_event_timestamp):
10489         Implement new event method.
10490         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10491
10492         * event-msw.c:
10493         * event-msw.c (ntpipe_shove_writer): [5].
10494         * event-msw.c (mswindows_enqueue_mouse_button_event):
10495         * event-msw.c (mswindows_drain_windows_queue):
10496         * event-msw.c (mswindows_wnd_proc): [7].
10497         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10498         * event-msw.c (mswindows_modifier_state):
10499         Throughout: support new button modifiers.
10500
10501         * event-msw.c (emacs_mswindows_current_event_timestamp):
10502         Implement new event method.
10503         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10504
10505         * event-stream.c:
10506         * event-stream.c (event_stream_current_event_timestamp): New.
10507         * event-stream.c (maybe_kbd_translate): New functionality.
10508         * event-stream.c (vars_of_event_stream):
10509         Document new kbd-translate-table functionality.
10510
10511         * event-stream.c (Fcurrent_event_timestamp): New.
10512         New primitive for use in fabricated events.
10513         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10514
10515         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10516
10517         * events.c:
10518         * events.c (Fmake_event):
10519         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10520         [1].
10521         [9].
10522
10523         * events.c (format_event_object): fix gcc warnings.
10524
10525         * events.c (Fevent_timestamp): Document new primitives.
10526
10527         * events.c (TIMESTAMP_HALFSPACE): New.
10528
10529         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10530         comparing timestamps correctly (half-space algorithm).
10531
10532         * events.c (Fevent_modifier_bits): Doc fix.
10533
10534         * events.c (Fevent_modifiers): Major doc addition.
10535         * events.c (event_x_y_pixel_internal): Typo fix.
10536         * events.c (syms_of_events): Declare new primitives.
10537
10538         * events.h:
10539         Update long comment for button modifiers, timestamps.
10540
10541         * events.h (struct event_stream):
10542         New current_event_timestamp method.
10543
10544         * extents.c:
10545         * extents.c (extent_in_region_p):
10546         * extents.c (decode_extent):
10547         * extents.c (Fset_extent_parent):
10548         * extents.c (decode_map_extents_flags):
10549         Fix gcc warnings.
10550         [9].
10551
10552         * extents.c (struct extent_at_arg):
10553         * extents.c (decode_extent_at_flag):
10554         * extents.c (extent_at_mapper):
10555         * extents.c (extent_at_bytind):
10556         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10557         * extents.c (Fextents_at): New primitive. [9].
10558         * extents.c (symbol_to_glyph_layout): [9].
10559         Support new primitive `extents-at'.
10560
10561
10562         * extents.c (get_text_property_bytind):
10563         extent_at_bytind has another arg.
10564         [9].
10565
10566         * extents.c (syms_of_extents): New primitive.
10567
10568         * file-coding.c (Fmake_coding_system): [1].
10569         * file-coding.c (subsidiary_coding_system): fix gcc warning
10570         * file-coding.c (syms_of_file_coding): [2].
10571
10572         * fileio.c (Fexpand_file_name):
10573         * fileio.c (Fsysnetunam):
10574         * fileio.c (Ffile_exists_p):
10575         * fileio.c (Ffile_executable_p):
10576         * fileio.c (Fverify_visited_file_modtime):
10577         Clean up GCPROing.
10578
10579         * fileio.c (syms_of_fileio): [2].
10580
10581         * filelock.c (lock_file_1):
10582         * filelock.c (current_lock_owner):
10583         * filelock.c (lock_if_free):
10584         * filelock.c (lock_file):
10585         * filelock.c (unlock_file):
10586         Clean up GCPROing.
10587
10588         * fns.c (concat): Fix gcc warning.
10589
10590         * fns.c (Fmember):
10591         * fns.c (Fold_member):
10592         * fns.c (Fmemq):
10593         * fns.c (Fold_memq):
10594         * fns.c (memq_no_quit):
10595         * fns.c (Fassoc):
10596         * fns.c (Fold_assoc):
10597         * fns.c (Fassq):
10598         * fns.c (Fold_assq):
10599         * fns.c (assq_no_quit):
10600         * fns.c (Frassoc):
10601         * fns.c (Fold_rassoc):
10602         * fns.c (Frassq):
10603         * fns.c (Fold_rassq):
10604         * fns.c (rassq_no_quit):
10605         * fns.c (Fdelete):
10606         * fns.c (Fold_delete):
10607         * fns.c (Fdelq):
10608         * fns.c (Fold_delq):
10609         * fns.c (delq_no_quit):
10610         * fns.c (Fremassoc):
10611         * fns.c (Fremassq):
10612         * fns.c (remassq_no_quit):
10613         * fns.c (Fremrassoc):
10614         * fns.c (Fremrassq):
10615         * fns.c (remrassq_no_quit):
10616         * fns.c (Freverse):
10617         * fns.c (mapcar1):
10618         [1].
10619
10620         * frame-msw.c (mswindows_init_frame_1):
10621         * frame-msw.c (mswindows_delete_frame):
10622         Register popups with dialog code so keyboard traversing works.
10623
10624         * frame-tty.c (tty_raise_frame_no_select): [1].
10625
10626         * frame-x.c:
10627         * frame-x.c (x_set_frame_text_value):
10628         * frame-x.c (x_set_frame_properties):
10629         * frame-x.c (x_create_widgets):
10630         [7].
10631
10632         * frame.c:
10633         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10634
10635         * frame.h (wrap_frame): New.
10636         Macro like wrap_device.
10637
10638         * general.c:
10639         * general.c (SYMBOL):
10640         * general.c (syms_of_general):
10641         Major reorg.  This is now just a wrapper and symbols themselves
10642         are listed in general-slots.h.
10643
10644         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10645         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10646
10647         * glyphs-msw.c (mswindows_native_layout_instantiate):
10648         Add DS_CONTROL so keyboard traversal will work.
10649
10650         * glyphs-widget.c:
10651         * glyphs-widget.c (syms_of_glyphs_widget):
10652         Move some symbols to general-slots.h.
10653
10654         * glyphs-x.c:
10655         * glyphs-x.c (xbm_instantiate_1):
10656         * glyphs-x.c (x_xbm_instantiate):
10657         * glyphs-x.c (x_xface_instantiate):
10658         * glyphs-x.c (autodetect_instantiate):
10659         * glyphs-x.c (cursor_font_instantiate):
10660         * glyphs-x.c (x_update_widget):
10661         * glyphs-x.c (x_widget_instantiate):
10662         * glyphs.c (bitmap_to_lisp_data):
10663         * glyphs.c (pixmap_to_lisp_data):
10664         [7].
10665
10666         * glyphs.c (syms_of_glyphs):
10667         [2].
10668
10669         * gui-x.c:
10670         * gui-x.c (print_widget_value):
10671         * gui-x.c (menu_separator_style_and_to_external):
10672         * gui-x.c (add_accel_and_to_external):
10673         * gui-x.c (button_item_to_widget_value):
10674         * gui-x.c (gui_items_to_widget_values_1):
10675         * gui-x.c (gui_items_to_widget_values):
10676         * gui-x.c (syms_of_gui_x):
10677         * gui-x.c (vars_of_gui_x):
10678         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10679         [9].
10680
10681         * gui-x.h:
10682         Muleize, prototype changes matching gui-x.c.
10683
10684         * gui.c:
10685         * gui.c (separator_string_p):
10686         * gui.c (gui_item_add_keyval_pair):
10687         * gui.c (make_gui_item_from_keywords_internal):
10688         * gui.c (signal_too_long_error):
10689         * gui.c (parse_gui_item_tree_item):
10690         * gui.c (syms_of_gui):
10691         * gui.c (vars_of_gui):
10692         * gui.h:
10693         menu-no-selection-hook moved here (used by MSWin).
10694         Move some symbols to general-slots.h.
10695         [6].
10696         [9].
10697
10698         * insdel.c (get_buffer_pos_char):
10699         * insdel.c (get_buffer_range_char):
10700         Add GC comments.
10701
10702         * keymap.c (keymap_lookup_directly):
10703         * keymap.c (keymap_store):
10704         * keymap.c (ensure_meta_prefix_char_keymapp):
10705         * keymap.c (describe_map):
10706         * keymap.h:
10707         Support new button modifiers.
10708
10709         * lisp-disunion.h (wrap_object):
10710         * lisp-disunion.h (XSETOBJ):
10711         Rename make_obj to wrap_object.
10712
10713         * lisp-union.h:
10714         * lisp-union.h (make_int):
10715         * lisp-union.h (make_char):
10716         Support wrap_object.
10717
10718         * lisp.h:
10719         * lisp.h (LIST_LOOP):
10720         * lisp.h (EXTERNAL_LIST_LOOP):
10721         * lisp.h (LIST_LOOP_2):
10722         * lisp.h (EXTERNAL_LIST_LOOP_1):
10723         * lisp.h (EXTERNAL_LIST_LOOP_2):
10724         * lisp.h (EXTERNAL_LIST_LOOP_3):
10725         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10726         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10727         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10728         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10729         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10730         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10731         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10732         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10733         * lisp.h (struct Lisp_Symbol):
10734         * lisp.h (maybe_continuable_error_with_frob):
10735         Fix up section comments.
10736         Add new types for char to indicate usage.
10737         Delete symbols auto-generated from general-slots.h.
10738         Add prototypes for structured error functions.
10739         Add long comments describing looping macros and change interface
10740         so that lvalues are automatically declared.
10741         Add NO_DECLARE macro in case callers want to declare lvalues
10742         themselves.
10743
10744         * lread.c (read_syntax_error):
10745         * lread.c (continuable_read_syntax_error):
10746         * lread.c (read_structure):
10747         * lread.c (sequence_reader):
10748         * lread.c (read_list_conser):
10749         * lread.c (read_compiled_function):
10750         Rename syntax_error and continuable_syntax_error to avoid clash
10751         with same-named structured error functions.
10752
10753         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10754         * menubar-msw.c (populate_menu_add_item):
10755         * menubar-msw.c (populate_or_checksum_helper):
10756         [5].
10757         [9].
10758
10759         * menubar-x.c:
10760         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10761         Mule-ize whole file.
10762
10763         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10764
10765         * mule-charset.c (Fmake_charset):
10766         * mule-wnnfns.c (Fwnn_set_param):
10767         [1].
10768
10769         * ntproc.c (create_child):
10770         * ntproc.c (Fwin32_set_current_locale):
10771         Add comments portending doom.
10772
10773         * objects-msw.c:
10774         * objects-msw.c (old_font_enum_callback_2):
10775         * objects-msw.c (font_enum_callback_1):
10776         * objects-msw.c (mswindows_enumerate_fonts):
10777         [5].
10778
10779         * objects-x.c:
10780         * objects-x.c (allocate_nearest_color):
10781         * objects-x.c (x_parse_nearest_color):
10782         * objects-x.c (x_initialize_color_instance):
10783         * objects-x.c (x_print_color_instance):
10784         * objects-x.c (x_finalize_color_instance):
10785         * objects-x.c (x_valid_color_name_p):
10786         * objects-x.c (x_initialize_font_instance):
10787         * objects-x.c (x_print_font_instance):
10788         * objects-x.c (valid_x_font_name_p):
10789         * objects-x.c (truename_via_FONT_prop):
10790         * objects-x.c (truename_via_random_props):
10791         * objects-x.c (truename_via_XListFonts):
10792         * objects-x.c (x_font_truename):
10793         * objects-x.c (x_font_instance_truename):
10794         * objects-x.c (x_font_instance_properties):
10795         * objects-x.c (x_list_fonts):
10796         * objects-x.c (x_find_charset_font):
10797         Mule-ize entire file.
10798         [7].
10799
10800         * objects-x.h:
10801         Mule-verify.
10802
10803         * print.c:
10804         * print.c (std_handle_out_external):
10805         * print.c (debug_print_no_newline):
10806         * print.c (syms_of_print):
10807         Output to all debugger kinds in debug-print.
10808         Fix console-output code under MSWin to actually work.
10809
10810         * process-nt.c (send_signal):
10811         * process-nt.c (nt_create_process):
10812         Use newer Unicode macros.
10813
10814         * process-unix.c (unix_create_process):
10815         * process-unix.c (unix_canonicalize_host_name):
10816         * process-unix.c (unix_open_network_stream):
10817         [7].
10818
10819         * scrollbar-x.c:
10820         Mule-verify.
10821
10822         * search.c (syms_of_search):
10823         [2].
10824
10825         * select-msw.c (mswindows_destroy_selection):
10826         Use LIST_LOOP_2.
10827
10828         * select-x.c (symbol_to_x_atom):
10829         [7].
10830
10831         * select.c (syms_of_select):
10832         [2].
10833
10834         * sound.c (Fplay_sound_file):
10835         [7].
10836
10837         * specifier.c:
10838         * specifier.c (decode_specifier_type):
10839         * specifier.c (Fvalid_specifier_locale_type_p):
10840         * specifier.c (check_valid_locale_or_locale_type):
10841         * specifier.c (decode_locale):
10842         * specifier.c (decode_locale_type):
10843         * specifier.c (decode_locale_list):
10844         * specifier.c (check_valid_domain):
10845         * specifier.c (decode_specifier_tag_set):
10846         * specifier.c (Fcanonicalize_tag_set):
10847         * specifier.c (Fdefine_specifier_tag):
10848         * specifier.c (Fspecifier_tag_predicate):
10849         * specifier.c (check_valid_inst_list):
10850         * specifier.c (check_valid_spec_list):
10851         * specifier.c (decode_how_to_add_specification):
10852         * specifier.c (check_modifiable_specifier):
10853         * specifier.c (specifier_add_spec):
10854         * specifier.c (boolean_validate):
10855         * specifier.c (display_table_validate):
10856         [9].
10857
10858         * specifier.c (syms_of_specifier):
10859         Move some symbols to general-slots.h.
10860         [2].
10861
10862         * symbols.c:
10863         * symbols.c (Fmapatoms):
10864         * symbols.c (Fapropos_internal):
10865         Add GCPROs.
10866
10867         * symbols.c (set_default_buffer_slot_variable):
10868         * symbols.c (set_default_console_slot_variable):
10869         [1].
10870
10871         * symbols.c (defsymbol_massage_name_1):
10872         * symbols.c (defkeyword_massage_name):
10873         * symbols.c (deferror_1):
10874         * symbols.c (deferror):
10875         * symbols.c (deferror_massage_name_and_message):
10876         * symeval.h:
10877         * symeval.h (DEFSYMBOL):
10878         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10879
10880         * symbols.c (syms_of_symbols):
10881         [2].
10882
10883         * symsinit.h:
10884         * symsinit.h (init_win32): New.
10885         Also new is syms_of_dialog_mswindows.
10886
10887         * syswindows.h:
10888         Add new Unicode macros, missing Cygwin wide-char functions,
10889         convenience conversion macros for Qmswindows_tstr, macros for
10890         encapsulating required MSWin <-> Cygwin filename conversions,
10891         prototype for dynamically-extracted (not in NT 3.51) functions.
10892
10893         * toolbar-x.c:
10894         Mule-verify.
10895
10896         * tooltalk.c (Fadd_tooltalk_message_arg):
10897         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10898         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10899         [7].
10900
10901         * tooltalk.c (syms_of_tooltalk):
10902         [2].
10903
10904         * unexnt.c:
10905         * unexnt.c (unexec):
10906         Fix up headers, declaration of unexec() to be more standard.
10907
10908 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10909
10910         * offix.h: Revert change to guard macros - they're used in offix.c!
10911
10912 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10913
10914         * lisp.h: Defsubred Fdelete.
10915
10916         * console-msw.h:  (msprinter_default_printer): Added.
10917
10918         * console-msw.c (msprinter_canonicalize_console_connection):
10919         (msprinter_canonicalize_device_connection): Added.
10920
10921         * device-msw.c (msprinter_default_printer):
10922         (Fmswingows_get_default_printer):
10923         (signal_enum_priner_error):
10924         (Fmswingows_printer_list): Added.
10925
10926 2000-07-19  Martin Buchholz <martin@xemacs.org>
10927
10928         * XEmacs 21.2.35 is released.
10929
10930 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10931
10932         * select-x.c (x_handle_selection_request):
10933         Text selected in xemacs and pasted into xterm failed to appear.
10934         Spelling fixes and cosmetic changes.
10935
10936 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10937
10938         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10939         XEmacs frame (fix for doubling chars in dialog boxes).
10940
10941 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10942
10943         * select.c (select_convert_in, select_convert_out):
10944         Don't call intern() every time.
10945
10946         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10947         * select.c (vars_of_select): Initialise them.
10948
10949 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10950
10951         * select.c (selection-coercible-types): New.
10952
10953         * select.c (own-selection-internal):
10954         * select.c (get-selection-internal):
10955         MULE bug fix - these should default to COMPOUND_TEXT and not
10956         STRING for MULE. I think.
10957
10958         * select.c (select_convert_out): Use selection-coercible-types
10959         to find types that we can attempt to perform coercions on.
10960
10961 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10962
10963         * mule-wnnfns.c:
10964         * mule-canna.c:
10965         Add coding: cookie to identify encoding.
10966
10967         * mule-canna.c (CANNA_mode_keys): make static.
10968         Use proper prototypes, even for functions of no arguments.
10969         Remove external prototype for Fding().
10970
10971         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10972
10973         * select.c (syms_of_select): Add missing DEFSUBR.
10974
10975 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10976
10977         * select.c (get_selection_internal, own_selection_internal):
10978         Make the type default to STRING, rather than placing a nil type
10979         into Vselection_alist.
10980
10981 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10982
10983         * gpmevent.c (tty_selection_exists_p):
10984         * gpmevent.c (tty_own_selection):
10985         Updated parameter lists.
10986
10987 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10988
10989         * select.h (selection-alist): Removed declaration.
10990
10991         * select.h (get_local_selection):
10992         * select.c (get_local_selection):
10993         Made static.
10994
10995         * select.h (convert_selection): Removed declaration.
10996         * select.c (convert_selection): Removed.
10997         This function belongs in Lisp.
10998
10999         * select.h (select_convert_in): Declare.
11000         * select.h (select_convert_out): Declare.
11001         * select.c (select_convert_in): New.
11002         * select.c (select_convert_out): New.
11003         New conversion functions for other files to call.
11004
11005         * select.h (select_notify_buffer_kill): Declare.
11006         * select.c (select_notify_buffer_kill): New.
11007         New functions that get called from kill-buffer.
11008
11009         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11010         X-specific lisp code.
11011
11012         * select.h: Declare some of the lisp-visible functions for
11013         external use.
11014
11015         * select.c (clean_local_selection_data): Removed. This was
11016         a disgusting function, and previously should have been in
11017         select-x.c in any case. The functionality is now provided
11018         in select-convert-from-integer (select.el).
11019
11020         * select.c (available-selection-types): Fixed stupidity where
11021         INTEGER and ATOM got added twice. Also add STRING when we see an
11022         extent.
11023
11024         * select.c (get-selection-internal): Removed symbol stripping. No
11025         longer causes conversion when data comes from the internal cache.
11026
11027         * select.c (syms_of_select): Added new functions.
11028
11029         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11030         error checking - previously this called abort!
11031
11032         * select-x.c (x_own_selection): Changed comment.
11033
11034         * select-x.c (x_handle_selection_request): Use select_convert_out.
11035         Don't mess with selection-alist; it's an internal variable of select.c.
11036
11037         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11038
11039         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11040         rather than messing with selection-alist.
11041
11042         * select-msw.c (mswindows_get_foreign_selection):
11043         Use TO_INTERNAL_FORMAT rather than hacking.
11044
11045 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11046
11047         * process-unix.c (unix_open_multicast_group):
11048         (unix_open_multicast_group): Remove useless casts.
11049
11050 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11051
11052         * sound.c (Fplay_sound): Fix `unused variable' warning.
11053
11054         * emacs.c (main): Use correct type for _environ on SCO5.
11055
11056 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11057
11058         * console.h (own_selection_method):
11059         * console.h (selection_exists_p_method):
11060         * console.h (available_selection_types_method): New.
11061         * console.h (register_selection_data_type_method): New.
11062         * console.h (selection_data_type_name): New.
11063
11064         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11065         function & alist to track GlobalAlloc()'d handles that need
11066         releasing when the clipboard data gets replaced or emptied.
11067
11068         * event-msw.c (mswindows_wnd_proc): Call it.
11069
11070         * lisp.h, general.c (Qappend): New symbol representing a
11071         `how-to-add' mode.
11072
11073         * select.c (own-selection-internal):
11074         * select.c (selection-exists-p):
11075         * select.c (available-selection-types): New.
11076         * select.c (register-selection-data-type): New.
11077         * select.c (selection-data-type-name): New.  New functions to deal
11078         with device-specific selection data formats.
11079         * select.c (selection-converter-out-alist): Renamed.
11080         * select.c (selection-converter-in-alist): New.
11081         * select.c (selection-appender-alist): New.  Added new alists.
11082         * select.c (syms_of_select, vars_of_select): Added new symbols &
11083         variables.
11084         * select.c (get_local_selection): Split.
11085         * select.c: Removed spurious type checking - selections may now be
11086         of any type, not just strings.
11087         * select.c (own-selection-internal):
11088
11089         * select.h, select.c (convert_selection): New. Created
11090         convert_selection() function based on get_local_selection().
11091         * select.h, select.c (QCF_*): New symbols representing mswindows
11092         clipboard formats.
11093         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11094         symbols representing `how-to-add' modes.
11095
11096         * select-msw.c (x_sym_p): New.
11097         * select-msw.c (symbol_to_ms_cf): New.
11098         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11099         symbols & clipboard formats. Can also handle string names.
11100         * select-msw.c (mswindows_own_selection):
11101         * select-msw.c (mswindows_selection_exists_p):
11102         Added `data-type' parameter. Use it.
11103         * select-msw.c (mswindows_available_selection_types): New.
11104         * select-msw.c (mswindows_register_selection_data_type): New.
11105         * select-msw.c (mswindows_selection_data_type_name): New.
11106         * select-msw.c (mswindows_own_selection):
11107         * select-msw.c (mswindows_get_foreign_selection):
11108         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11109         * select-msw.c (console_create_select_mswindows): Added new methods.
11110         * select-msw.c (mswindows_destroy_selection): New.
11111         * select-msw.c (Vhandle_alist): New list.
11112         * select-msw.c (mswindows_own_selection):
11113
11114         * select-x.c (x_own_selection):
11115         * select-x.c (x_selection_exists_p):
11116         * select-x.c: Added some comments about maybe using new
11117         functionality.
11118         * select-x.c (x_own_selection):
11119
11120         * specifier.c: Remove definition of Qappend (now in general.c)
11121         * specifier.c (syms_of_specifier): Remove Qappend.
11122
11123 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11124
11125         * config.h.in: Add socklen_t.
11126
11127         * s/decosf4-0.h: No special compiler flags needed or desired.
11128         In particular, undefine _BSD for DEC OSF 4.0.
11129
11130 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11131
11132         * redisplay-msw.c (msprinter_frame_output_end): Added.
11133         (console_type_create_redisplay_mswindows): Referred the above.
11134
11135         * frame.c (setup_frame_without_minibuffer): Do not create a
11136         default minibuffer frame on a printer device.
11137
11138         * frame-msw.c (apply_dc_geometry): Added.
11139         (msprinter_start_page):
11140         (msprinter_init_frame_3):
11141         (msprinter_eject_page): Use it.
11142
11143         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11144         and removed residual duplex and orientation properties.
11145
11146 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11147
11148         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11149
11150         * unexalpha.c: Remove system prototypes from C sources!
11151
11152 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11153
11154         * eval.c: Remove references to M-x edit-options in DEFUNs for
11155         `defvar' and `defconst'.
11156
11157 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11158
11159         * config.h.in: Remove SMART_INCLUDE hackery.
11160
11161         PostgreSQL hacking:
11162         * config.h.in: Don't use SMART_INCLUDE.
11163
11164         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11165         * inline.c: Simply #include "postgresql.h"
11166         * postgresql.c:
11167         - Don't use SMART_INCLUDE
11168         - Use simply "const".
11169         - Use standard doc string conventions.
11170         - Use correct type for result of PQstatus.
11171
11172 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11173
11174         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11175
11176         C++ compilation changes.
11177         * config.h.in (EXTERN_C): Define.
11178         * config.h.in (not): This is also a C++ keyword.
11179         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11180         * cm.c: Use EXTERN_C.
11181         * redisplay-tty.c: Use EXTERN_C.
11182         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11183
11184 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11185
11186         * general.c: Remove duplicate definition for Qfunction.
11187
11188 2000-07-08  Ben Wing  <ben@xemacs.org>
11189
11190         * device-msw.c (msprinter_init_device):
11191         * device-msw.c (sync_printer_with_devmode):
11192         * device-msw.c (handle_devmode_changes):
11193         * device-msw.c (print_dialog_worker):
11194         * device-msw.c (Fmsprinter_apply_settings):
11195         * device-msw.c (hash_devmode):
11196         * device-msw.c (Fmsprinter_settings_despecialize):
11197         use Qmswindows_tstr, not Qctext.
11198
11199         * vm-limit.c (check_memory_limits):
11200         avoid infinite loop printing warning messages.
11201
11202 2000-07-05  Craig Lanning  <lanning@scra.org>
11203
11204         * Makefile.in.in: Add support for including the Windows resources
11205         when building with the cygwin and mingw targets.
11206
11207         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11208         not set or not correct.
11209         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11210         (init_initial_directory): Don't try to use $PWD on the
11211         WIN32_NATIVE target.
11212
11213         * s\cygwin32.h:
11214         [[Add -mwindows to eliminate console window.]] not required --ben
11215         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11216         (MAIL_USE_POP): removed; now handled by configure.
11217
11218         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11219         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11220         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11221         (MAIL_USE_POP): removed; now handled by configure.
11222         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11223         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11224         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11225         constant string.
11226         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11227         up from <winsock.h> via systime.h.
11228         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11229         (getpagesize): from Dan Holmsand, added.
11230         Added #endif which was left dangling by Ben's mega patch; added
11231         comment to help prevent this in the future.
11232
11233         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11234
11235 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11236
11237         * console-msw.h (struct mswindows_device): Removed unnecessary
11238         cached device geometry values.
11239         Added update_tick and an accessor macro.
11240         (Lisp_Devmode): Added lrecord declaration.
11241         (struct msprinter_device): Contain devmode as a Lisp object.
11242         Added mswindows_get_selected_frame_hwnd();
11243
11244         * console.h (struct console_methods): Indentation nitpicking.
11245
11246         * device-msw.c (mswindows_init_device): Do not initialize geometry
11247         cache. Initialize update tick.
11248         (mswindows_device_system_metrics): Ask the device for its geometry.
11249         (global_free_2_maybe):
11250         (devmode_to_hglobal):
11251         (handle_printer_changes):
11252         (ensure_not_printing):
11253         (print_dialog_worker):
11254         (Fmsprinter_print_setup_dialog):
11255         (Fmsprinter_print_dialog):
11256         (plist_get_margin):
11257         (plist_set_margin):
11258         (Fmsprinter_page_setup_dialog): Added functions.
11259         (sync_printer_with_devmode):
11260         (handle_devmode_changes):
11261         (Fmsprinter_get_settings):
11262         (Fmsprinter_select_settings):
11263         (Fmsprinter_apply_settings):
11264         (allocate_devmode):
11265         (Fmsprinter_settings_copy):
11266         (Fmsprinter_settings_despecialize):
11267         (print_devmode):
11268         (finalize_devmode):
11269         (equal_devmode):
11270         (hash_devmode): Added functions
11271         (syms_of_device_mswindows): Init devmode lrecord class.
11272
11273         * device.h: Added an exfun for find-device.
11274
11275         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11276         geometry; although, recreate the device compatible DC.
11277
11278         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11279         (msprinter_init_frame_3):
11280         (msprinter_frame_property):
11281         (msprinter_internal_frame_property_p):
11282         (msprinter_frame_properties):
11283         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11284         print job properties (will move to device settings).
11285
11286         * lisp.h: Added symbols.
11287
11288         * general.c (syms_of_general): Declared them.
11289
11290         * hash.c (string_hash): Added.
11291
11292         * lrecord.h (lrecord_type): Added devmode lrecord type.
11293
11294 2000-07-02  Mike Sperber <mike@xemacs.org>
11295
11296         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11297         FreeBSD 4.0.
11298
11299 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11300
11301         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11302         integer.
11303
11304 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11305
11306         * data.c (Fstring_to_number): Don't recognize floating point if
11307         base is not 10.
11308
11309 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11310
11311         * glyphs-widget.c (tab_control_query_geometry):
11312         (widget_query_geometry):
11313         (button_query_geometry):
11314         * glyphs.c (text_query_geometry):
11315         Enforce type correctness.
11316
11317 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11318
11319         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11320         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11321
11322 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11323
11324         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11325         conflicts with gcc's fixincluded version of FOO.h.
11326
11327         * glyphs.h (image_instance_geometry): Remove trailing `,'
11328
11329 2000-06-08  Mike Alexander  <mta@arbortext.com>
11330
11331         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11332         (shove_thread): Don't write the same output twice
11333         (make_ntpipe_output_stream): Increase priority of shove thread
11334         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11335         chance to run
11336         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11337         it.
11338
11339 2000-06-12  Ben Wing  <ben@xemacs.org>
11340
11341         * s\mingw32.h (sigset):
11342         * s\windowsnt.h (sigset):
11343         rename msw_ to mswindows_ for consistency with general convention.
11344
11345 2000-06-12  Ben Wing  <ben@xemacs.org>
11346
11347         * console-msw.c:
11348         * console-msw.c (mswindows_get_console_hwnd):
11349         * console-msw.c (mswindows_ensure_console_allocated):
11350         * console-msw.c (mswindows_hide_console):
11351         * console-msw.c (mswindows_show_console):
11352         * console-msw.c (mswindows_ensure_console_buffered):
11353         * console-msw.c (mswindows_output_console_string):
11354         * console-msw.c (mswindows_windows9x_p):
11355         * console-msw.h:
11356         * device-msw.c (mswindows_get_workspace_coords):
11357         * device-msw.c (mswindows_device_system_metrics):
11358         * dialog-msw.c (mswindows_popup_dialog_box):
11359         * event-msw.c (mswindows_wnd_proc):
11360         * frame-msw.c (mswindows_size_frame_internal):
11361         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11362         * menubar-msw.c (displayable_menu_item):
11363         * menubar-msw.c (mswindows_char_is_accelerator):
11364         * nt.c:
11365         * nt.c (mswindows_sigset):
11366         * nt.c (mswindows_sigrelse):
11367         * nt.c (mswindows_sigpause):
11368         * nt.c (mswindows_raise):
11369         * nt.c (timer_proc):
11370         * ntproc.c:
11371         * ntproc.c (find_child_console):
11372         * ntproc.c (sys_kill):
11373         * print.c:
11374         * print.c (std_handle_out_external):
11375         * process-nt.c (find_child_console):
11376         * process-nt.c (send_signal_the_95_way):
11377         * process-nt.c (ensure_console_window_exists):
11378         * process-nt.c (nt_create_process):
11379         * syssignal.h:
11380         rename msw_ to mswindows_ for consistency with general convention.
11381
11382         * emacs.c:
11383         * dumper.c:
11384         include nt.h, not syswindows.h.
11385
11386         * nt.c (mswindows_fstat):
11387         * nt.c (mswindows_stat):
11388         prefix mswindows_ instead of attempting to directly override the
11389         library functions.  fix declarations.
11390
11391         * nt.h:
11392         include syswindows.h.  move some sysdep.h stuff here.
11393
11394         * ntheap.h:
11395         include syswindows.h, not <windows.h>.
11396
11397         * ntplay.c:
11398         clean up headers.
11399
11400         * sysdep.c:
11401         clean up headers.
11402
11403         * sysdep.c (sys_fstat):
11404         * sysdep.c (sys_stat):
11405         call mswindows versions when appropriate.
11406
11407         * sysdep.h:
11408         move mswin decls to nt.h.
11409
11410         * syswindows.h:
11411         add long comment describing appropriate use of the various windows
11412         headers.
11413
11414 2000-06-11  Ben Wing  <ben@xemacs.org>
11415
11416         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11417
11418 2000-06-10  Ben Wing  <ben@xemacs.org>
11419
11420         * Makefile.in.in (release):
11421         Correction to make sure xemacs.exe always dumped when correct.
11422
11423         * alloca.c:
11424         * balloon_help.c:
11425         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11426
11427         * buffer.c (set_buffer_internal):
11428         [[[[2]]]]: Remove HAVE_FEP code.
11429
11430         * buffer.c (init_initial_directory):
11431         [3].
11432
11433         * bytecode.c:
11434         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11435         individual files.
11436
11437         * callproc.c:
11438         * callproc.c (call_process_cleanup):
11439         * callproc.c (Fold_call_process_internal):
11440         * callproc.c (child_setup):
11441         * callproc.c (getenv_internal):
11442         * callproc.c (init_callproc):
11443         * callproc.c (vars_of_callproc):
11444         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11445         __CYGWIN32__ -> CYGWIN.
11446         DOS_NT -> WIN32_NATIVE.
11447         Remove MSDOS support/references, converting to WIN32_NATIVE
11448           where correct.
11449         __MINGW32__ -> MINGW.
11450         Fix windows.h includes.
11451         Remove bogus HAVE_NTGUI.
11452
11453         * config.h.in:
11454         [2].
11455
11456         * console-msw.c:
11457         mswindows_message_outputted added for use in allowing startup
11458         errors on the console to be seen.
11459
11460         * console-msw.c (msw_ensure_console_allocated):
11461         * console-msw.c (msw_output_console_string):
11462         * console-msw.c (DHEADER):
11463         * console-msw.c (DOPAQUE_DATA):
11464         * console-msw.c (DEVENT):
11465         * console-msw.c (DCONS):
11466         * console-msw.c (DCONSCDR):
11467         * console-msw.c (DSTRING):
11468         * console-msw.c (DVECTOR):
11469         * console-msw.c (DSYMBOL):
11470         * console-msw.c (DSYMNAME):
11471         Fix warnings.
11472
11473         * console-stream.c (stream_init_console):
11474         Fix text/binary problems.
11475
11476         * device-msw.c:
11477         * device-msw.c (mswindows_finish_init_device):
11478         * device-msw.c (mswindows_delete_device):
11479         [1].
11480
11481         * device.c (handle_asynch_device_change):
11482         [3].
11483
11484         * dgif_lib.c:
11485         * dgif_lib.c (DGifOpenFileName):
11486         * dgif_lib.c (DGifOpenFileHandle):
11487         * dgif_lib.c (DGifGetLine):
11488         * dgif_lib.c (DGifGetPixel):
11489         Added config.h/lisp.h, fix up includes.
11490         [1].
11491
11492         * dired-msw.c:
11493         [4].
11494
11495         * dired.c:
11496         * dired.c (file_name_completion):
11497         * dired.c (Ffile_attributes):
11498         * dired.c (syms_of_dired):
11499         [1].
11500
11501         * dumper.c:
11502         * dumper.c (pdump_file_unmap):
11503         * dumper.c (pdump_load):
11504         [1].
11505
11506         * editfns.c:
11507         * editfns.c (Ftemp_directory):
11508         * editfns.c (user_login_name):
11509         * editfns.c (Fuser_real_login_name):
11510         * editfns.c (get_home_directory):
11511         [1].
11512
11513         * elhash.c (finish_marking_weak_hash_tables):
11514         [[[[5]]]]: Fix GCC warnings.
11515
11516         * emacs.c:
11517         * emacs.c (mswindows_handle_hardware_exceptions):
11518         * emacs.c (make_arg_list_1):
11519         * emacs.c (main_1):
11520         * emacs.c (Fkill_emacs):
11521         * emacs.c (Fdump_emacs):
11522         [1].
11523         Fix problems with nested crashes, add long comment.
11524
11525         * event-Xt.c (init_event_Xt_late):
11526         [1].
11527
11528         * event-msw.c:
11529         * event-msw.c (mswindows_dde_callback):
11530         * event-msw.c (mswindows_handle_sticky_modifiers):
11531         * event-msw.c (mswindows_wnd_proc):
11532         [1].
11533         [5].
11534
11535         * events.c (character_to_event):
11536         [1].
11537
11538         * fileio.c:
11539         * fileio.c (Ffile_name_directory):
11540         * fileio.c (Ffile_name_nondirectory):
11541         * fileio.c (directory_file_name):
11542         * fileio.c (Fexpand_file_name):
11543         * fileio.c (Fsubstitute_in_file_name):
11544         * fileio.c (Ffile_name_absolute_p):
11545         * fileio.c (check_executable):
11546         * fileio.c (Ffile_readable_p):
11547         * fileio.c (Ffile_accessible_directory_p):
11548         * fileio.c (Ffile_modes):
11549         * fileio.c (Funix_sync):
11550         * fileio.c (vars_of_fileio):
11551         [1]. [4].
11552
11553         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11554
11555         Expand getdefdir defn.
11556         Fix bogus rename() comment.
11557
11558         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11559         to use standard XEmacs include files, e.g. sysfile.h, rather
11560         than system-specific includes.
11561
11562         * fns.c:
11563         * fns.c (Fsubseq):
11564         [5]. [6].
11565
11566         * frame.c (vars_of_frame):
11567         [1].
11568
11569         * getloadavg.c:
11570         * getloadavg.c (getloadavg):
11571         [1]. [6].
11572         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11573         (We don't use it elsewhere in the code; just add a comment.)
11574
11575         * gif_io.c:
11576         [6].
11577         Add config.h.
11578
11579         * glyphs-msw.c:
11580         * glyphs-msw.c (mswindows_resource_instantiate):
11581         [1].
11582
11583         * glyphs-x.c (x_native_layout_instantiate):
11584         [5].
11585
11586         * gui-msw.c (Fmswindows_shell_execute):
11587         [1].
11588
11589         * insdel.c:
11590         [4].
11591
11592         * lisp.h:
11593         [4]. [5].
11594
11595         * lread.c (locate_file_in_directory_mapper):
11596         [1].
11597
11598         * lstream.c:
11599         [4].
11600
11601         * mem-limits.h:
11602         * mem-limits.h (get_lim_data):
11603         [1].
11604
11605         * menubar-msw.c:
11606         [4].
11607
11608         * ndir.h:
11609         [1].
11610
11611         * nt.c:
11612         * nt.c (getwd):
11613         * nt.c (closedir):
11614         * nt.c (rva_to_section):
11615         * nt.c (mswindows_executable_type):
11616         [1]. [6].
11617         Fix closedir() defn.
11618
11619         * nt.h:
11620         [[[[8]]]]: *_OK defs moved to sysfile.h.
11621
11622         * ntproc.c:
11623         [6]. [7].
11624
11625         * objects-x.c:
11626         [4].
11627
11628         * print.c:
11629         * print.c (std_handle_out_external):
11630         [1]. [4].
11631
11632         * process-nt.c:
11633         * process-nt.c (nt_create_process):
11634         [6].
11635         try to fix process quoting somewhat.
11636
11637         * process-unix.c (unix_create_process):
11638         [1].
11639
11640         * process.c:
11641         * process.c (vars_of_process):
11642         Add Vnull_device.
11643
11644         * process.h:
11645         [1].
11646
11647         * realpath.c:
11648         * realpath.c (xrealpath):
11649         [1].
11650
11651         * redisplay-tty.c (init_tty_for_redisplay):
11652         [3].
11653
11654         * redisplay.c:
11655         [4]. [6].
11656
11657         * scrollbar-msw.c:
11658         [4].
11659
11660         * sheap.c:
11661         * sheap.c (more_static_core):
11662         * sheap.c (report_sheap_usage):
11663         [5]. [6].
11664
11665         * signal.c:
11666         * signal.c (alarm_signal):
11667         [1]. [6].
11668
11669         * sound.c:
11670         [6].
11671
11672         * strftime.c:
11673         * strftime.c (zone_name):
11674         [1]. [5].
11675
11676         * symsinit.h (init_sunpro):
11677         [1].
11678
11679         * syscommctrl.h:
11680         commctrl.h not in Cygwin b20.1.
11681
11682         * sysdep.c:
11683         * sysdep.c (endif):
11684         * sysdep.c (sys_subshell):
11685         * sysdep.c (init_baud_rate):
11686         * sysdep.c (emacs_get_tty):
11687         * sysdep.c (emacs_set_tty):
11688         * sysdep.c (tty_init_sys_modes_on_device):
11689         * sysdep.c (init_system_name):
11690         * sysdep.c (sys_open):
11691         * sysdep.c (interruptible_open):
11692         * sysdep.c (sys_fopen):
11693         * sysdep.c (sys_mkdir):
11694         * sysdep.c (sys_rename):
11695         * sysdep.c (get_process_times_1):
11696         [1]. [6].
11697
11698         * sysdep.h:
11699         [1].
11700
11701         * sysdir.h:
11702         * sysdir.h (DIRENTRY_NONEMPTY):
11703         [1]. [6].
11704
11705         * sysdll.c (dll_init):
11706         * sysdll.h:
11707         [1].
11708
11709         * sysfile.h:
11710         [1]. [6]. [8].
11711         added text/binary defs.
11712
11713         * sysfloat.h:
11714         [1].
11715
11716         * sysproc.h:
11717         * sysproc.h (EDESTADDRREQ):
11718         * sysproc.h (poll_fds_for_input):
11719         [1]. [6].
11720
11721         * syspwd.h:
11722         [6].
11723
11724         * syssignal.h:
11725         [1].
11726
11727         * systime.h:
11728         [1]. [6].
11729
11730         * systty.h:
11731         [1].
11732
11733         * syswindows.h:
11734         [1].
11735         Always define WIN32_LEAN_AND_MEAN.
11736
11737         * unexcw.c (unexec):
11738         [5].
11739
11740         * unexec.c:
11741         * unexec.c (copy_text_and_data):
11742         * unexec.c (adjust_lnnoptrs):
11743         [1].
11744
11745         * unexnt.c:
11746         * unexnt.c (_start):
11747         [1].
11748
11749 2000-06-07  Ben Wing  <ben@xemacs.org>
11750
11751         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11752         was used only as a model.  We've long since extracted any useful
11753         logic or code out of this. (I just did an exhaustive search.)
11754
11755         * s\msdos.h: Removed.
11756
11757         * s\windows95.h: Removed.
11758
11759 2000-06-10  Ben Wing  <ben@xemacs.org>
11760
11761         * s\cygwin32.h:
11762         [1]. [5].
11763         Don't use extern with fun defs.
11764
11765         * s\mingw32.h:
11766         [1]. [7].
11767         Remove nt\inc include.
11768         Remove getdisk, getdefdir. (The former is unused, the latter
11769         expanded in fileio.h.)
11770
11771         * s\windowsnt.h:
11772         * s\windowsnt.h (WIN32_NATIVE):
11773         * s\windowsnt.h (HAVE_STRCASECMP):
11774         [1]. [7].
11775         Add long comment about preprocessor changes.
11776         Remove getdisk, getdefdir. (The former is unused, the latter
11777         expanded in fileio.h.)
11778
11779 2000-06-10  Ben Wing  <ben@xemacs.org>
11780
11781         * m\arm.h:
11782         * m\delta.h:
11783         * m\intel386.h:
11784         * m\sequent.h:
11785         * m\template.h:
11786         * m\windowsnt.h:
11787         [1].
11788         Remove bogus/unused NO_SOCK_SIGIO.
11789
11790 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11791
11792         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11793         not an Emchar.
11794
11795 2000-06-04  Mike Sperber <mike@xemacs.org>
11796
11797         * casetab.c (set_case_table): For `set-standard-case-table',
11798         actually deposit the new case tables where the rest of XEmacs can
11799         see them.
11800
11801 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11802
11803         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11804
11805 2000-06-05  Ben Wing  <ben@xemacs.org>
11806
11807         * callproc.c (child_setup): Don't do close_load_descs() under
11808         MS Windows.  Put in a comment explaining why.
11809
11810 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11811
11812         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11813         Toolkit shell" which breaks `kill-compilation' on Windows NT
11814         native, retaining STDERR handling improvements.
11815
11816 2000-06-01  Andreas Jaeger  <aj@suse.de>
11817
11818         * s/s390.h: Support for S390, based on a patch by Martin
11819         Schwidefsky <schwidefsky@de.ibm.com>.
11820
11821 2000-05-30  Andy Piper  <andy@xemacs.org>
11822
11823         * window.c (allocate_window):
11824         (make_dummy_parent):
11825         (Fset_window_configuration): use new hashtable type.
11826
11827         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11828         (struct image_instantiator_methods):
11829         (struct Lisp_Image_Instance): make instance geometry signed.
11830
11831         * glyphs.c (instantiate_image_instantiator):
11832         (image_instance_query_geometry):
11833         (image_instance_layout):
11834         (image_instance_layout):
11835         (query_string_geometry):
11836         (text_query_geometry):
11837         (image_instantiate):
11838         (image_instantiate):
11839         (cache_subwindow_instance_in_frame_maybe):
11840         (subwindow_query_geometry): make instance geometry signed.
11841
11842         * glyphs-widget.c (widget_query_geometry):
11843         (widget_layout):
11844         (button_query_geometry):
11845         (tree_view_query_geometry):
11846         (tab_control_query_geometry):
11847         (layout_query_geometry):
11848         (layout_layout):
11849         (native_layout_layout): make instance geometry signed.
11850
11851 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11852
11853         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11854         constant.
11855
11856         * general.c (syms_of_general): Add Qfull_assoc symbol.
11857
11858         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11859         correctly.
11860         (decode_weak_list_type): Decode full-assoc type.
11861         (encode_weak_list_type): Encode full-assoc type.
11862         (Fmake_weak_list): Update doc string.
11863
11864 2000-05-30  Andy Piper  <andy@xemacs.org>
11865
11866         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11867
11868         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11869         (decode_hash_table_weakness): ditto.
11870         (Fhash_table_weakness): ditto.
11871         (Fhash_table_type): ditto.
11872         (finish_marking_weak_hash_tables): ditto.
11873         (hash_table_weakness_validate): ditto.
11874         (syms_of_elhash): ditto.
11875
11876 2000-05-28  Martin Buchholz <martin@xemacs.org>
11877
11878         * XEmacs 21.2.34 is released.
11879
11880 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11881
11882         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11883         start cache.
11884         (updating_line_start_cache): Gone.
11885         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11886         generic code to force a minimum of 1 line laid out in the
11887         CMOTION_DISP case.
11888
11889 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11890
11891         * glyphs.c (instantiate_image_instantiator): Check for initialized
11892         height & width no longer special cases IMAGE_NOTHING.
11893         (nothing_instantiate): Set height and width of instance.
11894
11895 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11896
11897         * unexelf.c (unexec): Search for ".data" section.
11898         Initialize new_data2_offset from old_data_index.
11899         Remove redundant check for ElfW.
11900
11901 2000-05-23  Andy Piper  <andy@xemacs.org>
11902
11903         * glyphs.c (get_image_instantiator_governing_domain): allow more
11904         specific domains as the governing domain rather than expecting an
11905         exact match. This fixes problems with layouts.
11906
11907 2000-05-22  Andy Piper  <andy@xemacs.org>
11908
11909         * redisplay-output.c (compare_runes): check for non-images
11910
11911         * glyphs.c (set_glyph_dirty_p): ditto.
11912         (update_glyph_cachel_data): ditto.
11913
11914         * glyphs-widget.c (layout_post_instantiate): ditto.
11915         (layout_post_instantiate): ditto.
11916
11917         * event-msw.c (mswindows_wnd_proc): warning removal.
11918
11919 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11920
11921         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11922
11923         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11924
11925         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11926
11927         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11928         (mswindows_executable_type): mingw32 now has enough headers for
11929         this to work.
11930
11931 2000-05-20  Andy Piper  <andy@xemacs.org>
11932
11933         * console-msw.c (mswindows_output_last_error): ; -> ,
11934
11935 2000-05-12  Andy Piper  <andy@xemacs.org>
11936
11937         * console-msw.c (FROB): compare ints with ints.
11938
11939 2000-05-11  Andy Piper  <andy@xemacs.org>
11940
11941         * glyphs-x.c (x_finalize_image_instance): make minimal build
11942         happy.
11943
11944 2000-05-20  Ben Wing  <ben@xemacs.org>
11945
11946         * event-Xt.c:
11947         * event-Xt.c (vars_of_event_Xt):
11948         move modifier-keys-are-sticky to event-stream.c.
11949
11950         * event-msw.c:
11951         * event-msw.c (mswindows_enqueue_mouse_button_event):
11952         * event-msw.c (key_needs_default_processing_p):
11953         * event-msw.c (XEMSW_LCONTROL):
11954         * event-msw.c (mswindows_handle_sticky_modifiers):
11955         * event-msw.c (FROB):
11956         * event-msw.c (clear_sticky_modifiers):
11957         * event-msw.c (output_modifier_keyboard_state):
11958         * event-msw.c (output_alt_keyboard_state):
11959         * event-msw.c (mswindows_wnd_proc):
11960         * event-msw.c (mswindows_modifier_state):
11961         * event-msw.c (emacs_mswindows_handle_magic_event):
11962         implement sticky modifiers.
11963
11964         * event-stream.c:
11965         * event-stream.c (vars_of_event_stream):
11966         move modifier-keys-are-sticky here.
11967
11968         * lisp.h:
11969         add CHECK_FUNCTION.
11970
11971         * rangetab.c:
11972         implement map-range-table.
11973
11974
11975 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11976
11977         * redisplay-tty.c (reset_tty_modes):
11978         (tty_redisplay_shutdown): Adjust argument type to
11979         tty_frame_output_end.
11980
11981 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11982
11983         * eval.c (Fbacktrace): Don't output a line with only right
11984         parenthesis.
11985
11986 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11987
11988         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11989         (Fpq_reset_poll): Ditto.
11990
11991 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11992
11993         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11994
11995 2000-05-16  Ben Wing  <ben@xemacs.org>
11996
11997         * buffer.c:
11998         * buffer.c (dfc_convert_to/from_internal_format):
11999         * buffer.c (reinit_vars_of_buffer):
12000         Fix conversion functions to allow reentrancy.
12001
12002         * console-msw.c:
12003         * console-msw.c (mswindows_output_last_error):
12004         New fun, generally useful -- output a human-readable
12005         version of GetLastError() on the console.
12006
12007         * console-msw.h:
12008         * console-msw.h (struct mswindows_frame):
12009         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12010
12011         * console-stream.c (stream_output_begin):
12012         * console-stream.c (stream_output_end):
12013         * console-stream.c (stream_output_vertical_divider):
12014         * console-stream.c (stream_clear_region):
12015         * console-stream.c (stream_flash):
12016         * console-stream.c (console_type_create_stream):
12017         Delete blank stream methods, not needed.
12018
12019         * console.h (struct console_methods):
12020         Split begin/end methods into window and frame.
12021
12022         * event-msw.c:
12023         * event-msw.c (mswindows_handle_paint):
12024         * event-msw.c (output_alt_keyboard_state):
12025         * event-msw.c (mswindows_wnd_proc):
12026         * event-msw.c (vars_of_event_mswindows):
12027         Comment about problems with ignored-expose.
12028         Define mswindows-debug-events; not really implemented.
12029
12030         * frame-msw.c (mswindows_init_frame_1):
12031         random cleanups.
12032
12033         * glyphs-msw.c:
12034         * glyphs-msw.c (begin_defer_window_pos):
12035         * glyphs-msw.c (mswindows_unmap_subwindow):
12036         * glyphs-msw.c (mswindows_map_subwindow):
12037         * glyphs-msw.c (mswindows_resize_subwindow):
12038         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12039
12040         * glyphs.c (make_image_instance_1):
12041         Fix crash.
12042
12043         * gutter.c (Fredisplay_gutter_area):
12044         Use new begin/end methods.
12045
12046         * lisp.h (Dynarr_new2):
12047         New creation fun.
12048
12049         * redisplay-msw.c:
12050         * redisplay-msw.c (mswindows_frame_output_begin):
12051         * redisplay-msw.c (mswindows_frame_output_end):
12052         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12053         New begin/end methods -- handle DeferWindowPos.
12054
12055         * redisplay-output.c (redisplay_move_cursor):
12056         * redisplay-output.c (redraw_cursor_in_window):
12057         * redisplay-output.c (redisplay_update_line):
12058         * redisplay-output.c (redisplay_output_window):
12059         New begin/end methods.
12060
12061         * redisplay-tty.c:
12062         * redisplay-tty.c (tty_frame_output_begin):
12063         * redisplay-tty.c (tty_frame_output_end):
12064         * redisplay-tty.c (console_type_create_redisplay_tty):
12065         New begin/end methods.
12066
12067         * redisplay-x.c:
12068         * redisplay-x.c (x_window_output_begin):
12069         * redisplay-x.c (x_window_output_end):
12070         * redisplay-x.c (console_type_create_redisplay_x):
12071         New begin/end methods.
12072
12073         * redisplay.c (redisplay_frame):
12074         * redisplay.c (Fredisplay_echo_area):
12075         New begin/end methods.
12076         use MAYBE_DEVMETH for clear_frame; it may not exist.
12077
12078         * window.h (WINDOW_XFRAME):
12079         WINDOW_XFOO macros -- get locale and decode struct pointer.
12080
12081
12082 2000-05-12  Ben Wing  <ben@xemacs.org>
12083
12084         * emacs.c:
12085         * emacs.c (ensure_no_quitting_from_now_on):
12086         * emacs.c (fatal_error_signal):
12087         * emacs.c (mswindows_handle_hardware_exceptions):
12088         * emacs.c (main):
12089         * emacs.c (Fkill_emacs):
12090         * emacs.c (shut_down_emacs):
12091         * emacs.c (assert_failed):
12092         various improvements in fatal error handling.
12093
12094         * eval.c:
12095         move preparing_for_armageddon to emacs.c.
12096
12097         * lisp.h:
12098         declare fatal_error_in_progress.
12099
12100         * print.c:
12101         * print.c (std_handle_out_external):
12102         * print.c (std_handle_out_va):
12103         * print.c (stderr_out):
12104         * print.c (stdout_out):
12105         use console under mswin when no standard output.
12106         don't do code conversion during fatal error.
12107
12108         * scrollbar.c (Fscrollbar_page_up):
12109         * scrollbar.c (Fscrollbar_page_down):
12110         fix missing else.  reindent.
12111
12112 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12113
12114         Emergency fix.
12115
12116         * glyphs.h (GLYPH_CACHEL_DESCENT):
12117         (GLYPH_CACHEL_DESCENT):
12118         (GLYPH_CACHEL_DESCENT):
12119         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12120         used in case these are inline functions.
12121         Use more absurd values to error check.
12122
12123         include window.h for error check functions.
12124
12125 2000-05-11  Ben Wing  <ben@xemacs.org>
12126
12127         * cmdloop.c (Freally_early_error_handler):
12128         Display message box under windows; otherwise, message will disappear
12129         before it can be viewed.
12130
12131         * console-msw.c:
12132         * console-msw.c (Fmswindows_message_box):
12133         * console-msw.c (FROB):
12134         * console-msw.c (syms_of_console_mswindows):
12135         Define new fun `mswindows-message-box'.
12136         #### I will merge this into `popup-dialog-box'; just give me
12137         a bit of time.
12138
12139         * general.c:
12140         * general.c (syms_of_general):
12141         Some new symbols used in `mswindows-message-box'.
12142
12143         * glyphs.c:
12144         * glyphs.c (Fset_image_instance_property):
12145         put warning in this fun.
12146
12147         * glyphs.h:
12148         * glyphs.h (GLYPH_CACHEL_WIDTH):
12149         * glyphs.h (GLYPH_CACHEL_ASCENT):
12150         * glyphs.h (GLYPH_CACHEL):
12151         * glyphs.h (GLYPH_CACHEL_GLYPH):
12152         define error-checking versions to try to catch a bug i've seen --
12153         redisplay gets in an infinite loop because the glyph width of the
12154         continuation glyph is 65535.
12155
12156         * lisp.h:
12157         Extern message-box stuff.
12158
12159         * window.c (allocate_window):
12160         * window.c (make_dummy_parent):
12161         * window.c (Fset_window_configuration):
12162         Use EQUAL not EQ for subwindow caches to make them work a bit
12163         better. (Something is still very broken.)
12164
12165
12166 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12167
12168         * glyphs.c (image_instantiate): Suppress gcc warnings.
12169         (Fmake_image_instance): Fix doc string.
12170         * specifier.c (Fmake_specifier): Ditto.
12171
12172 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12173
12174         * paths.h.in (PATH_LOCK): Removed.
12175         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12176         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12177
12178 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12179
12180         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12181         Document (featurep '(and xemacs 21.02)).
12182
12183 2000-05-09  Ben Wing  <ben@xemacs.org>
12184
12185         * buffer.c (complex_vars_of_buffer):
12186         update modeline-format doc.
12187
12188         * device.h:
12189         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12190
12191         * emacs.c:
12192         timeline of all released versions of Emacs, for use in creating
12193         authorship comments and in synching up.
12194
12195         * glyphs-widget.c (image_instantiator_buttons):
12196         * glyphs-widget.c (image_instantiator_edit_fields):
12197         * glyphs-widget.c (image_instantiator_combo_box):
12198         * glyphs-widget.c (image_instantiator_scrollbar):
12199         * glyphs-widget.c (image_instantiator_progress_guage):
12200         * glyphs-widget.c (image_instantiator_tree_view):
12201         * glyphs-widget.c (image_instantiator_tab_control):
12202         * glyphs-widget.c (image_instantiator_labels):
12203         * glyphs-widget.c (image_instantiator_layout):
12204         * glyphs-widget.c (image_instantiator_native_layout):
12205         rename decode_domain method to governing_domain.
12206
12207         * glyphs.c:
12208         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12209         * glyphs.c (add_entry_to_device_ii_format_list):
12210         make sure we don't put an entry more than once into the list.
12211         * glyphs.c (check_instance_cache_mapper):
12212         *************************************************************
12213         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12214         HAVE BEEN GETTING.
12215         *************************************************************
12216         * glyphs.c (get_image_instantiator_governing_domain):
12217         clean up, expand on new concept of governing domain.
12218         * glyphs.c (instantiate_image_instantiator):
12219         * glyphs.c (allocate_image_instance):
12220         use governing_domain instead of cache_domain in naming.
12221         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12222         * glyphs.c (make_image_instance_1):
12223         * glyphs.c (Fmake_image_instance):
12224         allow for any domain (not just device), and process the
12225         governing domain correctly.  very big doc fix.
12226         * glyphs.c (Fimage_instance_domain):
12227         new primitive, to retrieve the governing domain of an image instance.
12228         * glyphs.c (image_instantiate):
12229         use new governing_domain stuff.  this fixes a crash you could get
12230         by instantiating certain widget glyphs in frame locales. (should
12231         signal an error instead of crashing.)
12232         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12233         * glyphs.c (Fglyphp): clean up doc.
12234         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12235         * glyphs.c (syms_of_glyphs):
12236         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12237         * glyphs.c (image_instantiator_format_create): add some comments about
12238         bogus code.
12239         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12240         for current-display-table. (Apparently Hrjove implemented in 1998 a
12241         design I wrote up in 1996, but didn't update the doc string.)
12242
12243         * glyphs.h: clean up a doc string.
12244         * glyphs.h (governing_domain):
12245         * glyphs.h (struct image_instantiator_methods):
12246         changes for governing_domain stuff.
12247
12248         * gutter.c:
12249         * gutter.c (Fgutter_specifier_p):
12250         * gutter.c (Fgutter_size_specifier_p):
12251         * gutter.c (Fgutter_visible_specifier_p):
12252         * objects.c:
12253         * objects.c (Fcolor_specifier_p):
12254         * objects.c (Ffont_specifier_p):
12255         * objects.c (Fface_boolean_specifier_p):
12256         doc strings moved to make-*-specifier.
12257
12258         * redisplay.c (add_disp_table_entry_runes_1):
12259         * redisplay.c (generate_fstring_runes):
12260         * redisplay.c (screen):
12261         add random comments and doc strings.
12262
12263         * specifier.c:
12264         * specifier.c (Fmake_specifier):
12265         major overhaul of this doc string.
12266
12267         * specifier.c (Fvalid_specifier_domain_p):
12268         comment about the bogosity of image instances being domains.
12269         * specifier.c (decode_domain):
12270         now non-static, used in glyphs.c.
12271         * specifier.c (specifier_instance):
12272         comment about the bogosity of image instances being domains.
12273         * specifier.c (Fgeneric_specifier_p):
12274         move doc string to make-generic-specifier.
12275         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12276         rebackslashify.
12277
12278         * specifier.h:
12279         * specifier.h (DOMAIN_FRAME):
12280         * specifier.h (DOMAIN_LIVE_P):
12281         * specifier.h (DOMAIN_XDEVICE):
12282         rebackslashify.
12283         add comments about problems with these macros.
12284         prototype for decode_domain.
12285
12286         * toolbar.c:
12287         * toolbar.c (Ftoolbar_specifier_p):
12288         move doc string to `make-toolbar-specifier'.
12289
12290         * window.c (window_unmap_subwindows_cache_mapper):
12291         *************************************************************
12292         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12293         HAVE BEEN GETTING.
12294         *************************************************************
12295
12296 2000-05-09  Andy Piper  <andy@xemacs.org>
12297
12298         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12299
12300         * window.c (Fset_window_configuration): reset the frame subwindow
12301         cache and re-initialize the window subwindow caches.
12302
12303         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12304
12305 2000-05-09  Ben Wing  <ben@xemacs.org>
12306
12307         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12308         DWORD.
12309
12310 2000-04-26  Mike Woolley  <mike@bulsara.com>
12311
12312         * ntheap.c: Changed recreate_heap to limit the amount reserved
12313         for the heap to that which is actually available. Also now
12314         displays a message box (with some dignostics) in the event that
12315         it still can't start.
12316
12317 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12318
12319         * callproc.c (Fold_call_process_internal): GCPRO path
12320
12321 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12322
12323         Patch by Bill Perry.
12324
12325         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12326         back data instead of #ifdef.
12327         (Fscrollbar_page_down): ditto.
12328
12329 2000-05-07  Ben Wing  <ben@xemacs.org>
12330
12331         * buffer.h:
12332         Kludge for defining Qmswindows_tstr.
12333
12334         * nt.c:
12335         * nt.c (open_input_file):
12336         * nt.c (open_output_file):
12337         * nt.c (rva_to_section):
12338         * nt.c (mswindows_executable_type):
12339         Move all memory-mapped-file routines here (some were in unexnt.c,
12340         which is bad because they are used by process-nt.c, and unexnt
12341         won't be around when portable dumping).  Synched the above routines
12342         with FSF 20.6.
12343
12344         * nt.h:
12345         Removed ifdef'd out bogus code.
12346         Fixed some prototypes.
12347
12348         * nt.h (file_data):
12349         * nt.h (OFFSET_TO_RVA):
12350         * nt.h (RVA_TO_OFFSET):
12351         * nt.h (RVA_TO_PTR):
12352         Moved the memory-mapped-file structures, macros and prototypes
12353         here, to parallel nt.c.  ntheap.h should really be removed
12354         entirely, and it's a non-portable-dumper specific file.
12355
12356         * ntheap.h (round_to_next):
12357         Moved the memory-mapped-file structures, macros and prototypes
12358         to nt.h.
12359
12360         * ntproc.c (compare_env):
12361         Moved rva_to_section and mswindows_executable_type to nt.c.
12362         Moved compare_env to process-nt.c.
12363         ntproc.c will die, one day.
12364
12365         * ntproc.c (sys_spawnve):
12366         Account for win32_ -> mswindows_.
12367
12368         * process-nt.c:
12369         * process-nt.c (struct nt_process_data):
12370         * process-nt.c (ensure_console_window_exists):
12371         * process-nt.c (compare_env):
12372         * process-nt.c (nt_create_process):
12373         * process-nt.c (nt_kill_process_by_pid):
12374         * process-nt.c (syms_of_process_nt):
12375         * process-nt.c (vars_of_process_nt):
12376         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12377         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12378         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12379         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12380         Move compare_env here from ntproc.c.
12381
12382         * process.c (Fprocess_send_region):
12383         Takes an optional fourth argument, BUFFER, which should fix some
12384         problems with call-process.
12385
12386         * syscommctrl.h:
12387         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12388
12389         * syswindows.h:
12390         Move ICC_BAR_CLASSES to syscommctrl.h.
12391         Add preliminary macros for MSWindows/Mule.  More to come.
12392
12393         * unexnt.c:
12394         * unexnt.c (unexec):
12395         open_output_file moved to nt.c.
12396
12397
12398 2000-05-05  Andy Piper  <andy@xemacs.org>
12399
12400         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12401         instance from the frame cache also since GC may catch up too late
12402         to make frame deletion sane.
12403
12404 2000-05-04  Andy Piper  <andy@xemacs.org>
12405
12406         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12407         (x_finalize_image_instance): ungcpro on deletion.
12408
12409         * glyphs.c (image_instantiator_format_create): give pointers a
12410         query geometry method so that the geometry is at least set.
12411
12412         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12413         initialize layouts if using widgets.
12414
12415 2000-05-03  Andy Piper  <andy@xemacs.org>
12416
12417         * nt.c: remove bogus reference to sysmmsystem.h
12418
12419         * gui-x.c (popup_selection_callback): fix no selection abort.
12420
12421 2000-05-02  Andy Piper  <andy@xemacs.org>
12422
12423         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12424         (mswindows_widget_instantiate): ditto.
12425
12426         * glyphs-widget.c (initialize_widget_image_instance): initialize
12427         children correctly.
12428         (widget_instantiate): cope with children and items in the same
12429         instance.
12430
12431         * glyphs.c (mark_image_instance): cope with children as a first
12432         class member.
12433         (image_instance_equal): ditto.
12434         (image_instance_hash): ditto.
12435         (image_instance_changed): ditto.
12436
12437 2000-04-30  Andy Piper  <andy@xemacs.org>
12438
12439         * glyphs.c (subwindow_query_geometry): new function. Return some
12440         defaults.
12441         (subwindow_instantiate): don't assign dimensions if none have been
12442         given.
12443         (image_instantiator_format_create): add subwindow_query_geometry.
12444         (print_image_instance): cope with layouts as widgets.
12445
12446 2000-04-29  Andy Piper  <andy@xemacs.org>
12447
12448         * frame.c (delete_frame_internal): call
12449         free_frame_subwindow_instance_cache so that all subwindows are
12450         finalized before their parent.
12451         (mark_frame): remove subwindow_cachels.
12452         (Fmake_frame): remove subwindow_cachel manipulation.
12453         (allocate_frame_core): subwindow_instance_cache is a weak list.
12454         (delete_frame_internal): set subwindow_instance_cache to nil.
12455
12456         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12457         finalization safe.
12458         (mswindows_finalize_image_instance): use the device
12459         not the domain as the domain may have died already.
12460
12461         * glyphs-x.c (x_finalize_image_instance): ditto.
12462         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12463         HEIGHT.
12464
12465         * redisplay-output.c (redisplay_unmap_subwindows): update for
12466         subwindow instance cache as a weak list.
12467         (redisplay_unmap_subwindows_maybe): ditto.
12468         (redisplay_unmap_subwindows_except_us): ditto.
12469
12470         * glyphs.c (unmap_subwindow): error checking will check the domain
12471         so don't deal with it here. Don't use cachels anymore.
12472         (map_subwindow): ditto.
12473         (update_subwindow_cachel_data): remove old accessor names.
12474         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12475         (Fresize_subwindow): don't update cachel.
12476         (mark_subwindow_cachels):
12477         (update_subwindow_cachel_data):
12478         (add_subwindow_cachel):
12479         (get_subwindow_cachel_index):
12480         (update_subwindow_cachel):
12481         (reset_subwindow_cachels):
12482         (mark_subwindow_cachels_as_not_updated): deleted.
12483         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12484         subwindow instance to the frame cache.
12485         (find_matching_subwindow): update for subwindow instance cache as
12486         a weak list.
12487         (update_widget_instances): ditto.
12488         (image_instance_type_to_mask):inlined.
12489         (free_frame_subwindow_instance_cache): new function. finalize all
12490         subwindows that are instantiated.
12491
12492         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12493         of cachel information.
12494         (IMAGE_INSTANCE_DISPLAY_X):
12495         (IMAGE_INSTANCE_DISPLAY_Y):
12496         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12497         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12498         (XIMAGE_INSTANCE_DISPLAY_X):
12499         (XIMAGE_INSTANCE_DISPLAY_Y):
12500         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12501         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12502         remove subwindow_cachel structure and function references.
12503         (image_instance_type_to_mask): inline from glyphs.c
12504
12505         * redisplay.c (redisplay_frame): remove subwindow_cachel
12506         references.
12507
12508         * frame.h (struct frame): remove subwindow_cachels.
12509         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12510
12511         * frameslots.h: add subwindow_instance_cache.
12512
12513         * window.c (replace_window): check subwindow cache of replacement.
12514         (window_unmap_subwindows_cache_mapper):
12515         (window_unmap_subwindows): new functions. Unmap all subwindows
12516         cached on this window.
12517         (mark_window_as_deleted): unmap all subwindows.
12518
12519 2000-04-27  Andy Piper  <andy@xemacs.org>
12520
12521         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12522
12523         * glyphs-widget.c (widget_layout): return something.
12524         (layout_layout): return something. Fail if not initialized.
12525         (layout_query_geometry): ditto.
12526         (image_instantiator_native_layout): new function. Initialized the
12527         native layout type.
12528         (widget_instantiate): don't do layout stuff here.
12529
12530         * glyphs.c (instantiate_image_instantiator): reorded calling or
12531         instantiate and post_instantiate with layout in between.
12532         (image_instance_layout): be more selective about deciding whether
12533         the layout has been done or not.
12534
12535         * glyphs.h (struct image_instantiator_methods): return a value
12536         from layout_method.
12537
12538 2000-04-26  Andy Piper  <andy@xemacs.org>
12539
12540         * glyphs.c (allocate_image_instance): make initial width and
12541         height unspecified. Set initialized to 0.
12542
12543         * syscommctrl.h new file. Encapsulates commctrl.h.
12544
12545         * syswindows.h new file. Encapsulates windows.h.
12546
12547         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12548         * nt.c: ditto.
12549         * console-msw.h: ditto.
12550
12551         * redisplay-tty.c (tty_output_display_block): remove layout references.
12552
12553         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12554         window handle rather than just the frame.
12555
12556         * glyphs.c (mark_image_instance): remove layout references.
12557         (print_image_instance): ditto.
12558         (image_instance_equal): ditto.
12559         (image_instance_hash): ditto.
12560         (decode_image_instance_type): ditto.
12561         (encode_image_instance_type): ditto.
12562         (image_instantiate): ditto.
12563         (allocate_glyph): ditto.
12564         (Fimage_instance_height): ditto.
12565         (Fimage_instance_width): ditto.
12566         (update_subwindow): ditto.
12567
12568         * redisplay-x.c (x_output_display_block): recode for layouts as
12569         widgets.
12570
12571         * redisplay-output.c (redisplay_output_layout): recode for layouts
12572         as widgets.
12573         (compare_runes): remove layout references.
12574
12575         * redisplay-msw.c (mswindows_output_display_block): recode for
12576         layouts as widgets.
12577
12578         * glyphs-widget.c (image_instantiator_layout): remove
12579         layout_possible_dest_types.
12580         (layout_possible_dest_types): deleted.
12581
12582         * glyphs.h (image_instance_type): remove layout references.
12583         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12584         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12585         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12586
12587 2000-04-25  Andy Piper  <andy@xemacs.org>
12588
12589         * glyphs-widget.c (image_instantiator_buttons):
12590         (image_instantiator_edit_fields):
12591         (image_instantiator_combo_box):
12592         (image_instantiator_scrollbar):
12593         (image_instantiator_progress_guage):
12594         (image_instantiator_tree_view):
12595         (image_instantiator_tab_control):
12596         (image_instantiator_labels):
12597         (image_instantiator_layout): call default post_instantiate method.
12598         (widget_post_instantiate): new function. Simply lays out the
12599         widgets.
12600
12601         * glyphs.h (struct image_instantiator_methods): add
12602         post_instantiate method.
12603
12604         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12605         method calls.
12606
12607 2000-04-23  Andy Piper  <andy@xemacs.org>
12608
12609         * glyphs.h (struct image_instantiator_methods): add
12610         decode_domain_method.
12611         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12612         derived from the domain.
12613         (IMAGE_INSTANCE_FRAME): new accessor.
12614         (XIMAGE_INSTANCE_FRAME): ditto.
12615
12616         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12617         instead of _SUBWINDOW_FRAME.
12618         (finalize_image_instance): ditto.
12619         (Fimage_instance_foreground): ditto.
12620         (Fimage_instance_background): ditto.
12621         (image_instantiate): ditto.
12622         (update_subwindow_cachel): ditto.
12623         (update_subwindow): ditto.
12624         (unmap_subwindow): ditto.
12625         (map_subwindow): ditto
12626         (subwindow_instantiate): ditto.
12627         * glyphs-msw.c (mswindows_update_widget): ditto.
12628         (mswindows_progress_gauge_instantiate): ditto.
12629         (mswindows_tab_control_update): ditto.
12630         * glyphs-x.c (x_update_widget): ditto.
12631         (x_widget_instantiate): ditto.
12632         (x_tab_control_instantiate): ditto.
12633         (x_tab_control_update): ditto.
12634         * event-msw.c (mswindows_wnd_proc): ditto
12635
12636         * glyphs-widget.c (image_instantiator_layout): use
12637         subwindow_decode_domain.
12638         (image_instantiator_buttons): ditto.
12639         (image_instantiator_edit_fields): ditto.
12640         (image_instantiator_combo_box): ditto.
12641         (image_instantiator_scrollbar): ditto.
12642         (image_instantiator_progress_guage): ditto.
12643         (image_instantiator_tree_view): ditto.
12644         (image_instantiator_tab_control): ditto.
12645         (image_instantiator_labels): ditto.
12646         (image_instantiator_layout): ditto.
12647
12648         * glyphs.c: add instance error checking to many functions.
12649         (instantiate_image_instantiator): decode device from cache_domain.
12650         (image_instantiate): partially rewrite by using
12651         decode_image_instantiator_domain to determine what domain the
12652         instance needs to be cached in.
12653         (decode_image_instantiator_domain): new function. Determine what
12654         domain the image needs to be cached in.
12655         (check_window_subwindow_cache): new error checking function.
12656         (check_instance_cache_mapper): ditto.
12657         (check_image_instance_structure): ditto.
12658         (subwindow_decode_domain): new function. Encodes a window as a
12659         subwindow's cache domain.
12660         (image_instantiator_format_create): use it for text and
12661         subwindows.
12662
12663 2000-04-21  Andy Piper  <andy@xemacs.org>
12664
12665         * glyphs.c (image_instance_device): new function.
12666         (image_instance_frame): new function.
12667         (image_instance_window): new function.
12668         (image_instance_live_p): new function.
12669
12670         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12671         cache to nil.
12672
12673         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12674         (IMAGE_INSTANCE_DOMAIN): new accessor.
12675         (XIMAGE_INSTANCE_DOMAIN): ditto.
12676
12677         * glyphs-x.c (x_finalize_image_instance): device->domain.
12678
12679         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12680         (mswindows_finalize_image_instance): ditto.
12681
12682         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12683         (gif_instantiate): ditto.
12684         (png_instantiate): ditto.
12685         (tiff_instantiate): ditto.
12686
12687         * glyphs.c (instantiate_image_instantiator): use domain rather
12688         than device.
12689         (mark_image_instance): device -> domain.
12690         (print_image_instance): ditto.
12691         (finalize_image_instance): ditto.
12692         (image_instance_equal): ditto.
12693         (allocate_image_instance): ditto.
12694         (Fcolorize_image_instance): ditto.
12695         (query_string_geometry): ditto.
12696         (image_instantiate): ditto
12697         (query_string_font): ditto.
12698         (image_instantiate): ditto.
12699         (update_subwindow): ditto.
12700         (unmap_subwindow): ditto.
12701         (map_subwindow): ditto.
12702         (subwindow_instantiate): ditto.
12703
12704         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12705         (DOMAIN_FRAME): ditto.
12706         (DOMAIN_WINDOW): ditto.
12707         (DOMAIN_LIVE_P): ditto.
12708         (XDOMAIN_DEVICE): ditto.
12709         (XDOMAIN_FRAME): ditto.
12710         (XDOMAIN_WINDOW): ditto.
12711
12712         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12713         a valid specifier domain.
12714
12715 2000-04-19  Andy Piper  <andy@xemacs.org>
12716
12717         * glyphs-widget.c (syms_of_glyphs_widget): remove
12718         widget-callback-current-channel.
12719         (vars_of_glyphs_widget): ditto.
12720         * glyphs.h: ditto
12721
12722         * gui.c (get_gui_callback): revert to previous behaviour.
12723
12724 2000-04-18  Andy Piper  <andy@xemacs.org>
12725
12726         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12727         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12728         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12729
12730         * glyphs.c (image_instance_equal): add margin_width.
12731         (image_instance_hash): ditto.
12732
12733         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12734         (layout_query_geometry): ditto.
12735         (layout_layout): ditto.
12736         (syms_of_glyphs_widget): add margin-width.
12737         (image_instantiator_layout): allow margin-width.
12738
12739         * glyphs.c (update_widget_instances): make a normal function.
12740         (syms_of_glyphs): remove Qupdate_widget_instances.
12741         * glyphs.h: ditto.
12742
12743         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12744         so that we don't corrupt ideas about the last event or
12745         command. Remove widget-callback-current-channel fiddling.
12746         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12747
12748 2000-05-01  Martin Buchholz <martin@xemacs.org>
12749
12750         * XEmacs 21.2.33 is released.
12751
12752 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12753
12754         * make-src-depend: Allow dots in header file name.
12755
12756 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12757
12758         * mule-charset.h (struct charset_lookup): Add
12759         next_allocated_1_byte_leading_byte and
12760         next_allocated_2_byte_leading_byte.
12761         * mule-charset.c: Move above two variables so that those values
12762         will be dumped.
12763
12764 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12765
12766         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12767         when string length is zero.
12768         (find_charsets_in_emchar_string): Ditto.
12769
12770 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12771
12772         * lisp.h: extern Qdialog and Qmenubar.
12773
12774         * gui-x.c: added events.h.
12775                 also fixed typo which made the file uncompilable.
12776
12777         * general.c: Added Qmenubar and Qdialog
12778
12779 2000-04-28  Ben Wing  <ben@xemacs.org>
12780
12781         * frame-msw.c (mswindows_init_frame_1):
12782         * frame-msw.c (mswindows_mark_frame):
12783         * event-msw.c (mswindows_enqueue_dispatch_event):
12784         * console-msw.h:
12785         * console-msw.h (struct mswindows_frame):
12786         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12787         there are now three hash tables for callbacks.
12788         mswindows_enqueue_dispatch_event is no longer static.
12789
12790         * dialog-x.c (maybe_run_dbox_text_callback):
12791         * dialog-x.c (dbox_descriptor_to_widget_value):
12792         switch to new cons3 form for callbacks.
12793
12794         * glyphs-msw.c (mswindows_register_gui_item):
12795         * glyphs-msw.c (mswindows_widget_instantiate):
12796         * glyphs-msw.c (add_tree_item):
12797         * glyphs-msw.c (add_tab_item):
12798         new image instance parameter, so it can be passed to callback-ex.
12799         respect :callback-ex as well as :callback.
12800
12801         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12802         add :callback-ex.
12803
12804         * glyphs.c (print_image_instance):
12805         prettify, e.g. now prints widget type.
12806
12807         * gui-x.h:
12808         certain funs have new image instance parameter.
12809
12810         * gui.c:
12811         * gui.c (get_gui_callback):
12812         * gui.c (gui_item_add_keyval_pair):
12813         * gui.c (gui_item_init):
12814         * gui.c (gui_add_item_keywords_to_plist):
12815         * gui.c (mark_gui_item):
12816         * gui.c (gui_item_hash):
12817         * gui.c (gui_item_equal):
12818         * gui.c (copy_gui_item):
12819         * gui.c (syms_of_gui):
12820         recognize callback-ex in a number of places.
12821         also, fix the annoying "can't get out of yes-no dialog" bug.
12822
12823         * gui.h:
12824         * gui.h (struct Lisp_Gui_Item):
12825         recognize callback-ex in a number of places.
12826
12827         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12828         new parameter in button_item_to_widget_value.
12829
12830         * glyphs-x.c (x_update_widget):
12831         * glyphs-x.c (x_button_instantiate):
12832         * glyphs-x.c (x_button_update):
12833         * glyphs-x.c (x_progress_gauge_instantiate):
12834         * glyphs-x.c (x_edit_field_instantiate):
12835         * glyphs-x.c (x_combo_box_instantiate):
12836         * glyphs-x.c (x_tab_control_instantiate):
12837         * glyphs-x.c (x_label_instantiate):
12838         new image instance parameter in various places.
12839
12840         * event-Xt.c:
12841         * event-Xt.c (enqueue_Xt_dispatch_event):
12842         this fun gets exported.
12843
12844         * gui-msw.c:
12845         * gui-msw.c (mswindows_handle_gui_wm_command):
12846         handle both :callback and :callback-ex, and generate our own
12847         event because it's one of the callback-ex arguments.
12848
12849         * gui-x.c:
12850         * gui-x.c (popup_selection_callback):
12851         handle both :callback and :callback-ex, and generate our own
12852         event because it's one of the callback-ex arguments.
12853         * gui-x.c (button_item_to_widget_value):
12854         * gui-x.c (gui_items_to_widget_values_1):
12855         * gui-x.c (gui_item_children_to_widget_values):
12856         * gui-x.c (gui_items_to_widget_values):
12857         new image instance parameter in various places.
12858
12859         * fns.c (Freplace_list):
12860         fix small typo in doc string.
12861
12862         * lisp.h:
12863         declare enqueue_Xt_dispatch_event.
12864
12865 2000-04-28  Ben Wing  <ben@xemacs.org>
12866
12867         * buffer.c:
12868         * buffer.c (Frecord_buffer):
12869         * buffer.c (syms_of_buffer):
12870         delete record-buffer-hook.
12871
12872         * fns.c:
12873         * fns.c (Freplace_list):
12874         * fns.c (syms_of_fns):
12875         new primitive replace-list.
12876
12877         * frameslots.h:
12878         slot for old buffer-alist.
12879
12880         * lisp.h:
12881         exfun replace-list.
12882
12883         * redisplay.c:
12884         * redisplay.c (redisplay_frame):
12885         * redisplay.c (syms_of_redisplay):
12886         * redisplay.c (vars_of_redisplay):
12887         new hook buffer-list-changed-hook.
12888         call it.
12889
12890 2000-04-27  Ben Wing  <ben@xemacs.org>
12891
12892         * extents.h: extern in_modeline_generation.
12893
12894         * redisplay.c (generate_formatted_string_db): set
12895         in_modeline_generation.
12896
12897         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12898         flags if in modeline generation.  otherwise frame-modified-tick
12899         is ticked far too often.
12900         Declare in_modeline_generation.
12901
12902 2000-04-26  Ben Wing  <ben@xemacs.org>
12903
12904         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12905         option.
12906         (vars_of_emacs): add quick-build as an error-checking option.
12907         A bit kludgy, but there doesn't seem much point in creating
12908         a real var for this.
12909
12910         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12911
12912 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12913
12914         * redisplay.h (struct display_line): Add a new variable,
12915         line_continuation.
12916
12917         * redisplay.c (create_text_block): Set dl->line_continuation if
12918         the line continues.
12919         (create_string_text_block): Ditto.
12920         (regenerate_window_incrementally): Use line_continuation instead
12921         of searching continuation glyph.
12922         (add_margin_runes): Call add_glyph_rune.
12923         (add_glyph_rune): Handle margin glyph.
12924
12925 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12926
12927         * filelock.c (fill_in_lock_file_name):
12928         ANSIfy.
12929         Check for IS_ANY_SEP instead of '/'.
12930         (lock_file_1):
12931         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12932         Never check errno without first seeing that system call failed.
12933         (unlock_file): Add GCPRO.
12934         (Flock_buffer): Fix docstring.
12935         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12936
12937 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12938
12939         * sysdep.c (get_pty_max_bytes):
12940         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12941         strings longer than 252 bytes.
12942
12943         * md5.c: Unconditionally include ANSI header <limits.h>
12944
12945         * glyphs-x.c (convert_EImage_to_XImage):
12946         * lisp-union.h (union Lisp_Object):
12947         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12948
12949 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12950
12951         * filelock.c (current_lock_owner): Remove unused variable o, p.
12952
12953 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12954
12955         * callint.c: Remove multiply defined symbol Qlet
12956         (syms_of_callint): ditto.
12957
12958 2000-04-14  Andy Piper  <andy@xemacs.org>
12959
12960         * general.c (syms_of_general): add last-command, this-command, let
12961         and funcall.
12962
12963         * lisp.h: declare various symbols.
12964
12965         * glyphs.h: declare Qwidget_callback_current_channel;
12966
12967         * glyphs-widget.c (syms_of_glyphs_widget): add
12968         Qgui_callback_current_channel.
12969         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12970
12971         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12972         widget-callback-current-channel when invoking the interactive
12973         arg. Also bind last-command and next-command when invoking the
12974         widget updates.
12975         * gui-x.c (popup_selection_callback): ditto.
12976
12977         * gui.c (get_gui_callback): massage args so that we are always
12978         calling eval. This allows us to add our own variable bindings
12979         outside.
12980
12981         * glyphs-x.c (x_button_instantiate): use
12982         gui_items_to_widget_values since this is GC safe.
12983         (x_progress_gauge_instantiate): ditto.
12984         (x_edit_field_instantiate): ditto.
12985         (x_label_instantiate): ditto.
12986
12987         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12988         (emacs_Xt_event_widget_focus_out): new function
12989         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12990         focus.
12991         (emacs_Xt_event_add_widget_actions): new function. add focus
12992         functions as actions.
12993         (init_event_Xt_late): use it.
12994
12995 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12996
12997         * event-stream.c (Fdispatch_event): Doc fix.
12998
12999 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13000
13001         * postgresql.c: Remove all references to PQsetenv*.
13002
13003         * postgresql.h: Remove references to PGsetenvHandler object.
13004         * lrecord.h (lrecord_type): Ditto.
13005
13006 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13007
13008         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13009         real_heigh and real_width members, and accessor macros for these.
13010
13011         * glyphs-msw.c (init_image_instance_geometry): New function.
13012         (init_image_instance_from_dibitmap): Use it.
13013         (mswindows_resource_instantiate): Use it.
13014         (init_image_instance_from_xbm_inline): Use it.
13015         (mswindows_initialize_image_instance_mask): Use real bitmap
13016         geometry.
13017         (mswindows_create_resized_bitmap): Ditto.
13018         (mswindows_create_resized_mask): Ditto.
13019
13020         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13021         and bitmap to their surface size.
13022
13023 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13024
13025         * process-unix.c (unix_send_process): Guard against process MIA
13026         after Faccept_process_output.
13027
13028 2000-04-11  Ben Wing  <ben@xemacs.org>
13029
13030         * eval.c (unbind_to_hairy): fix brokenness introduced by
13031         nanosecond speed improvements.
13032
13033 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13034
13035         * sunplay.c (init_device): To play sounds correctly, the device
13036         apparently needs to be initialized at least once by XEmacs.  Make
13037         it so.
13038
13039 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13040
13041         * redisplay.c (add_margin_runes): Add text image glyph
13042           handling.
13043
13044 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13045
13046         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13047         gcc is newer than 2.5.
13048
13049 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13050
13051         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13052
13053         * fns.c (size_bit_vector):
13054         * alloc.c (size_vector):
13055         (make_vector_internal):
13056         (make_bit_vector_internal):
13057         (sweep_bit_vectors_1):
13058         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13059
13060 2000-04-06  Andy Piper  <andy@xemacs.org>
13061
13062         * gmalloc.c (malloc): undo previous change.
13063         (malloc): ditto.
13064         (free): ditto.
13065         (realloc): ditto.
13066
13067 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13068
13069         * line-number.c (buffer_line_number): Revert to former version.
13070
13071 2000-04-06  Andy Piper  <andy@xemacs.org>
13072
13073         * gmalloc.c (malloc): add error checking.
13074         (malloc): ditto.
13075         (free): ditto.
13076         (realloc): ditto.
13077
13078         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13079         button_item_to_widget_value arg.
13080
13081         * glyphs-x.c (x_button_instantiate): add extra
13082         button_item_to_widget_value arg.
13083         (x_progress_gauge_instantiate): ditto.
13084         (x_edit_field_instantiate): ditto.
13085         (x_label_instantiate): ditto.
13086
13087         * gui-x.c (gui_items_to_widget_values_1): add extra
13088         button_item_to_widget_value arg.
13089         (button_item_to_widget_value): add extra menu_item_p arg.
13090
13091         * gui-x.h: change signature of button_item_to_widget_value.
13092
13093         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13094         button_item_to_widget_value arg.
13095
13096 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13097
13098         * buffer.h (struct buffer): auto_save_modified should be long.
13099
13100 2000-04-05  Andy Piper  <andy@xemacs.org>
13101
13102         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13103         type.
13104         (button_query_geometry): give a little more room so that athena
13105         buttons fit.
13106
13107 2000-04-05  Andy Piper  <andy@xemacs.org>
13108
13109         * faces.c (complex_vars_of_faces): The widget face should inherit
13110         the font of the gui-element face.
13111
13112 2000-04-04  Andy Piper  <andy@xemacs.org>
13113
13114         * glyphs-x.c (x_button_update): new function. unconditionally
13115         update a button's state when the instance is dirty.
13116         (image_instantiator_format_create_glyphs_x): add x_button_update.
13117         (x_widget_instantiate): remove old resize cruft.
13118
13119 2000-04-02  Andy Piper  <andy@xemacs.org>
13120
13121         * frame.c (change_frame_size_1): The introduction of gutters means
13122         that we need to allow 0 as a potential frame dimension.
13123
13124 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13125
13126         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13127         image glyph if allow_cursor.
13128         (add_hscroll_rune): Don't allow cursor to border glyph.
13129         (create_text_block): Ditto.
13130
13131         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13132         text not in buffer.
13133         (redisplay_output_layout): Call ensure_face_cachel_complete for
13134         text image glyph.
13135
13136
13137 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13138
13139         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13140
13141         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13142         not in buffer
13143
13144         * redisplay-tty.c (tty_output_display_block): Delete the routine
13145         for text image glyph
13146         * redisplay-x.c (x_output_display_block): ditto
13147         * redisplay-msw.c (mswindows_output_display_block): ditto
13148
13149 2000-02-02  Mike Alexander  <mta@arbortext.com>
13150
13151         Note: Some of these were committed by accident as part of other
13152         patches.
13153
13154         * regex.c (regex_compile): Avoid compiler warnings.
13155
13156         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13157
13158         * nt.h: Declare term_ntproc correctly.
13159
13160         * nt.c: Remove incorrect declaration of get_home_directory which
13161         is declared correctly in lisp.h.
13162
13163         * keymap.c (get_keyelt): Avoid compiler warnings.
13164         (raw_lookup_key_mapper): Avoid compiler warnings.
13165
13166         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13167
13168         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13169
13170         * filemode.c (mode_string): Avoid compiler warnings.
13171
13172         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13173         avoid warning.
13174
13175         * events-mod.h: Undef some things that winuser.h defines differently.
13176
13177         * data.c (Faset): Avoid compiler warnings.
13178
13179         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13180
13181 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13182
13183         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13184         Fall through to simple beep on error.
13185         Replace "extern" by real header file.
13186
13187         * linuxplay.c: Use nativesound.h
13188         (play_sound_data): Return error code. Be less verbose on error.
13189
13190         * sunplay.c: Use nativesound.h
13191         (play_sound_data): Return error code. Be less verbose on error.
13192
13193         * ntplay.c: Use nativesound.h
13194         (play_sound_data): Return fake error code
13195
13196         * sgiplay.c: Use nativesound.h
13197         (play_sound_data): Return error code
13198
13199         * hpplay.c: Use nativesound.h, partially implement
13200         new error code. Break compilation until finished.
13201         (play_sound_data): error code.
13202
13203         * nativesound.h (play_sound_file):
13204           (play_sound_data): Prototype in new header.
13205
13206 2000-03-31  Andy Piper  <andy@xemacs.org>
13207
13208         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13209         for toggle and radio buttons.
13210         (image_instantiator_buttons): use it.
13211
13212 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13213
13214         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13215         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13216         found. Scrollbar event probably belonged to some old config.
13217
13218 2000-03-31  Andy Piper  <andy@xemacs.org>
13219
13220         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13221         than 1.
13222         (initialize_widget_image_instance): default layout to
13223         LAYOUT_HORIZONTAL rather than 0.
13224         (widget_instantiate): reverse the item list at the end rather than
13225         every iteration.
13226         (layout_layout): re-code for the border text at the front of the
13227         item list rather than at the end.
13228         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13229         provided by the user.
13230         (widget_query_geometry): comment.
13231
13232 2000-03-30  Andy Piper  <andy@xemacs.org>
13233
13234         * glyphs-widget.c (image_instantiator_layout): allow standard
13235         widget keywords in layouts.
13236
13237         * gutter.c (output_gutter): cope with nil gutter contents.
13238
13239         * frame.c (Fset_frame_properties): add gutter docs.
13240
13241 2000-03-29  Andy Piper  <andy@xemacs.org>
13242
13243         * toolbar-msw.c (TBSTYLE_FLAT): add.
13244         (mswindows_output_toolbar): minor fiddling.
13245
13246 2000-03-29  Andy Piper  <andy@xemacs.org>
13247
13248         * gutter.c (output_gutter): force gutter size recalculation if
13249         what we are trying to display won't fit.
13250         (update_gutter_geometry): new function. A per-gutter version of
13251         update_frame_gutter_geometry.
13252         (update_frame_gutter_geometry): use it.
13253         (redraw_exposed_gutter): add extra debugging output.
13254
13255 2000-03-28  Mike Alexander  <mta@arbortext.com>
13256
13257         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13258         (pdump_file_unmap): Implement it on Windows
13259         (pdump_file_get): Save alocated handles for pdump_file_unmap
13260
13261 2000-03-28  Andy Piper  <andy@xemacs.org>
13262
13263         * gui.c (get_gui_callback): treat Quit specially.
13264
13265 2000-03-27  Andy Piper  <andy@xemacs.org>
13266
13267         * glyphs.c (image_instantiate): be careful to check in the same
13268         way we assigned.
13269
13270 2000-03-27  Didier Verna  <didier@xemacs.org>
13271
13272         * config.h.in: define the proper SMART_INCLUDE macro.
13273         handle renaming of `foo_h_path' to `foo_h_file'.
13274
13275         * database.c: ditto.
13276
13277         * emacs.c: ditto.
13278
13279         * linuxplay.c: ditto.
13280
13281         * terminfo.c: ditto.
13282
13283         * tooltalk.h: ditto.
13284
13285 2000-03-27  Andy Piper  <andy@xemacs.org>
13286
13287         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13288         gets updated whenever the face might have changed.
13289
13290 2000-03-26  Mike Alexander  <mta@arbortext.com>
13291
13292         * dumper.c (pdump_resource_free): Fix the comment.
13293
13294 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13295
13296         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13297
13298 2000-03-22  Mike Alexander  <mta@arbortext.com>
13299
13300         * dumper.c: Include Windows headers on Windows
13301         (pdump_resource_free): Add a body to the function
13302         (pdump_load): exe_name -> exe_path and add some comments.
13303
13304 2000-03-25  Mike Alexander  <mta@arbortext.com>
13305
13306         * gui.c (copy_gui_item_tree): Return a value in all cases
13307
13308 2000-03-21  Didier Verna  <didier@xemacs.org>
13309
13310         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13311         lwlib/config.h.in.
13312         (SMART_INCLUDE): new macro.
13313         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13314         the proper location.
13315
13316         * postgresql.c: use it.
13317
13318         * inline.c: ditto.
13319
13320 2000-03-24  Andy Piper  <andy@xemacs.org>
13321
13322         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13323         do this.
13324
13325 2000-03-24  Andy Piper  <andy@xemacs.org>
13326
13327         * redisplay-output.c (compare_runes): use image_instance_changed
13328         to detect changes. Do not depend on glyphs_changed, only depend on
13329         dirtiness.
13330          (redisplay_output_layout): add debug messages.
13331         (compare_runes): ditto.
13332
13333         * glyphs.h: declare new functions.
13334         (struct Lisp_Image_Instance): remove percent and associated
13335         accessors.
13336
13337         * gui.h: declare new copying functions.
13338
13339         * gui.c (copy_gui_item_tree): new function.
13340         (copy_gui_item): new function.
13341         (gui_item_id_hash): revert to standard hash.
13342         (gui_item_hash): ditto.
13343         (gui_item_hash_internal): deleted.
13344         (mark_gui_item): mark value.
13345         (gui_item_add_keyval_pair): add value.
13346         (gui_item_init): ditto.
13347         (gui_add_item_keywords_to_plist): ditto.
13348         (gui_item_equal): ditto.
13349         (syms_of_gui): add Q_value.
13350
13351         * glyphs-x.c (x_progress_gauge_update): use pending items and
13352         value for setting the state.
13353         (x_update_widget): don't set items from pending here.
13354
13355         * glyphs-widget.c (update_widget): update items here.
13356         (progress_gauge_set_property): use items for storing value. Put
13357         new value in pending items.
13358
13359         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13360         items for new value. Convert percent -> value.
13361         (mswindows_tab_control_update): don't update items here.
13362
13363         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13364         (update_subwindow): ditto.
13365         (image_instance_changed): new function. Compare hash values and
13366         past and present widget items.
13367         (image_instantiate): We more careful about where we instantiate
13368         things.
13369         (image_instantiate): add error checking.
13370
13371         * gutter.c (syms_of_gutter): use -hook.
13372
13373 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13374
13375         * console-tty.c (Fset_console_tty_input_coding_system): Use
13376         Qkeyboard.
13377         (Fset_console_tty_output_coding_system): Use Qterminal.
13378         (tty_init_console): Use Qkeyboard and Qterminal.
13379
13380 2000-03-21  Ben Wing  <ben@xemacs.org>
13381
13382         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13383         From Mike Alexander <mta@arbortext.com>.
13384
13385 2000-03-21  Ben Wing  <ben@xemacs.org>
13386
13387         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13388         process brokenness.  Proper implementation to come.
13389         * callproc.c:
13390         Rename call-process-internal to old-call-process-internal.
13391         New impl. in process.el.
13392
13393 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13394
13395         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13396
13397 2000-03-20  Andy Piper  <andy@xemacs.org>
13398
13399         * glyphs.c (full_list_hash): make hashes of the same elements in
13400         different orders return different values.
13401
13402 2000-03-20  Martin Buchholz <martin@xemacs.org>
13403
13404         * XEmacs 21.2.32 is released.
13405
13406 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13407
13408         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13409         (DFC_MALLOC_USE_CONVERTED_DATA):
13410         Add aliasing-safe casts to allow use with char* or unsigned char*
13411         lvalues.
13412
13413         * eldap.c (Fldap_open):
13414         (Fldap_search_basic):
13415         (Fldap_add):
13416         (Fldap_modify):
13417         Make C++-compilable.
13418         Make sure GCPRO'ed variables are initialized.
13419         Use temp variables to avoid repeated calls to Flength.
13420
13421 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13422
13423         * sysfile.h:
13424         Make sure PATH_MAX is always defined.
13425         Include limits.h for PATH_MAX.
13426         Deprecate use of MAXPATHLEN.
13427
13428 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13429
13430         * emacs.c: Add reinit_vars_of_fileio.
13431         * symsinit.h: Add reinit_vars_of_fileio.
13432         * fileio.c (reinit_vars_of_fileio): New.
13433         * fileio.c (Fmake_temp_name):
13434         Initialize temp_name random number from microseconds to make
13435         collisions even less likely.  Initialize always at process startup
13436         time.  (make-temp-name) used to return the same file name twice in
13437         a row when PDUMP.
13438         Random stylistic fiddling.
13439         Comment fixes.
13440
13441 2000-03-20  Andy Piper  <andy@xemacs.org>
13442
13443         * glyphs.c (image_instantiate): allow text glyphs to be
13444         instantiated in the minibuffer window.
13445
13446 2000-03-19  Andy Piper  <andy@xemacs.org>
13447
13448         * glyphs.c (image_instance_hash): be careful about which items we
13449         hash on.
13450
13451         * glyphs-widget.c (tab_control_set_property): record into pending
13452         items rather than the actual items.
13453
13454         * glyphs-x.c (x_update_widget): use pending items to update with.
13455
13456         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13457         to update with.
13458
13459         * glyphs.c (mark_image_instance): mark pending items.
13460
13461         * window.c (Fset_window_configuration): record the buffer.
13462         (Fselect_window): totally revert previous change which breaks many
13463         things.
13464
13465 2000-03-18  Andy Piper  <andy@xemacs.org>
13466
13467         * glyphs-msw.c (mswindows_tab_control_update): force selected
13468         item.
13469
13470         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13471         window domain cache, otherwise we get inconsistencies at
13472         startup. There is something fishy at startup which can lead to the
13473         minibuffer being the selected window when the gutter content is
13474         instantiated.
13475
13476         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13477         gcpros.
13478         (parse_gui_item_tree_children): ditto.
13479         (parse_gui_item_tree_item): ditto.
13480
13481         * glyphs.c (Fupdate_widget_instances): return something.
13482
13483 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13484
13485         * window.c (Fselect_window): Undo 2000-03-17 change.
13486
13487 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13488
13489         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13490         against v7.0 libraries.  Insta-coredump city until the postgres
13491         folks fix it.
13492
13493 2000-03-17  Andy Piper  <andy@xemacs.org>
13494
13495         * faces.c (complex_vars_of_faces): don't give the widget face an
13496         inherited background pixmap.
13497
13498         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13499         selected item.
13500
13501         * event-stream.c (Fdispatch_non_command_events): return something.
13502
13503         * gutter.c (output_gutter): use widget face.
13504         (clear_gutter): ditto.
13505
13506         * NEWS: adjust again.
13507
13508         * window.c (Fselect_window): make sure this runs to completion to
13509         avoid oddities with Fset_window_configuration.
13510         (Fcurrent_window_configuration): in general do not save the
13511         minibuffer as the selected window.
13512
13513         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13514
13515 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13516
13517         * emacs.c (Frunning_temacs_p): Revert previous patch.
13518         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13519
13520 2000-03-16  Andy Piper  <andy@xemacs.org>
13521
13522         * glyphs-x.c (x_tab_control_update): if no widget values then
13523         return.
13524
13525         * NEWS: update for new features.
13526
13527         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13528         synthetic event to the native system.
13529         (reinit_vars_of_event_Xt): set force_event_pending to
13530         emacs_Xt_force_event_pending.
13531
13532         * events.h (struct event_stream): add force_event_pending.
13533
13534         * specifier.c (recompute_one_cached_specifier_in_window): add
13535         comment.
13536
13537         * redisplay.c (redisplay_frame): don't call
13538         update_frame_subwindows. Reset subwindow cachels when
13539         subwindows_changed, removing this was an optimization too far.
13540
13541         * redisplay-output.c (compare_runes): reorganize so that we catch
13542         glyph changes when we want them. Set optimize_output when this
13543         would help layouts.
13544         (redisplay_output_layout): remove frame_really_changed, use
13545         optimize_output instead.
13546
13547         * redisplay-msw.c (mswindows_output_display_block): reset
13548         optimize_output after outputting a glyph.
13549         * redisplay-x.c (x_output_display_block): ditto.
13550         * redisplay-tty.c (tty_output_display_block): ditto.
13551
13552         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13553         functions.
13554         (gutter_specs_changed): do specific gutter positions.
13555         (top_gutter_specs_changed): new function. Only update the
13556         specified gutter specs.
13557         (bottom_gutter_specs_changed): ditto.
13558         (left_gutter_specs_changed): ditto.
13559         (right_gutter_specs_changed): ditto.
13560
13561         * gui.c (gui_item_hash_internal): new function, does a real hash.
13562         (gui_item_id_hash): use it.
13563         (gui_item_hash): hash the eval'ed gui_item.
13564
13565         * gui-x.c (popup_selection_callback): send an eval event to call
13566         Fupdate_widget_instances.
13567
13568         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13569         to call Fupdate_widget_instances.
13570
13571         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13572         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13573
13574         * glyphs.c: (update_frame_subwindows): deleted.
13575         (Fupdate_widget_instances): new function for updating the dirty
13576         state of widgets that might have changed.
13577         (syms_of_glyphs): add Qupdate_widget_instances.
13578         (full_list_hash): hash a list completely.
13579         (image_instance_hash): use it for items and properties.
13580
13581         * frame-msw.c (mswindows_size_frame_internal): remove unused
13582         variable.
13583
13584         * faces.h (struct face_cachel): fix comment.
13585
13586         * event-stream.c (Fdispatch_non_command_events): new
13587         function. Process non-command events, forcing an event cycle
13588         beforehand.
13589         (syms_of_event_stream): declare.
13590         (event_stream_force_event_pending): new function. Force an event
13591         on the native event queue so that an event cycle will occur next
13592         time we check.
13593
13594         * event-msw.c:
13595         (struct ntpipe_shove_stream):
13596         (mswindows_enqueue_dispatch_event):
13597         (mswindows_dequeue_dispatch_event):
13598         (mswindows_cancel_dispatch_event):
13599         (mswindows_pump_outstanding_events):
13600         (mswindows_drain_windows_queue):
13601         (mswindows_handle_paint):
13602         (mswindows_wnd_proc):
13603         (mswindows_key_to_emacs_keysym):
13604         (get_process_input_waitable):
13605         (emacs_mswindows_delete_stream_pair): re-indent file.
13606         (mswindows_need_event): do not process further fds if the windows
13607         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13608         fixes the 100% cpu problem.
13609         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13610
13611 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13612
13613         * alloc.h: New.
13614         * dumper.h: New.
13615         * dumper.c: New.
13616
13617         * emacs.c: Moved dump file searching to dumper.c.
13618         (Frunning_temacs_p): Fixed.
13619
13620         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13621         last_lrecord_type_index_assigned.
13622
13623 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13624
13625         * symsinit.h: Added reinit parameter to init_console_stream
13626         declaration.
13627
13628         * lisp.h: Added file parameter to pdump_load declaration.
13629
13630         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13631         support.  Added dump file searching.
13632
13633         * config.h.in: Added EMACS_PROGNAME.
13634
13635         * console-stream.c (init_console_stream): Fix reinitialisation
13636         when running from temacs.
13637
13638         * alloc.c (pdump): Add id support.
13639         (pdump_load): Add file parameter and signature/id support.
13640
13641         * Makefile.in.in: Add full pdump support.
13642
13643 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13644
13645         * postgresql.c: Update documentation to reflect latest code
13646         status.
13647         (print_result): Show tuple counts in printed representation when
13648         appropriate.
13649         (Fpq_put_nbytes): MULE-ize.
13650         (Fpq_get_line_async): Ditto.
13651
13652 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13653
13654         * postgresql.c (Fpq_lo_import): Fix return value.
13655         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13656
13657 2000-03-13  Ben Wing  <ben@xemacs.org>
13658
13659         * alloc.c (pdump_load):
13660         Fix compile warning under mswin.
13661
13662 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13663
13664         * postgresql.c: Mule-ization, bug fixes.
13665         Use PG_CODING to encapsulate coding system name changes.
13666         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13667         (pg-coding-system): Create.
13668
13669         (Fpq_conn_defaults): Mule-ize.
13670         (Fpq_connectdb): Mule-ize & bug fix.
13671         (Fpq_connect_start): Mule-ize.
13672         (Fpq_set_client_encoding): Mule-ize.
13673         (Fpq_finish): Document `DEAD' connection status.
13674         (Fpq_clear): Ditto.
13675         (Fpq_pgconn): Mule-ize.
13676         (Fpq_exec): Mule-ize & bug fix.
13677         (Fpq_send_query): Ditto.
13678         (Fpq_get_result): Ditto.
13679         (Fpq_res_status): Mule-ize.
13680         (Fpq_result_error_message): Mule-ize.
13681         (Fpq_ntuples): fix comments.
13682         (Fpq_fname): Mule-ize.
13683         (Fpq_fnumber): Mule-ize.
13684         (Fpq_ftype): fix comments.
13685         (Fpq_get_value): Mule-ize.
13686         (Fpq_cmd_status): Ditto.
13687         (Fpq_cmd_tuples): Ditto.
13688         (Fpq_oid_value): Ditto.
13689         (Fpq_notifies): Ditto.
13690         (Fpq_lo_import): Ditto.
13691         (Fpq_lo_export): Ditto.
13692         (Fpq_get_line): Ditto.
13693         (Fpq_put_line): Mule-ize and bug fix.
13694         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13695
13696 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13697
13698         * postgresql.c (vars_of_postgresql): Mule-ize.
13699         (Fpq_conn_defaults): Ditto.
13700
13701 2000-03-12  Ben Wing  <ben@xemacs.org>
13702
13703         * alloc.c (Fmake_byte_code):
13704         * alloc.c (debug_string_purity_print):
13705         * alloc.c (pdump_backtrace):
13706         * alloc.c (pdump_get_indirect_count):
13707         * alloc.c (pdump_register_sub):
13708         * alloc.c (pdump_register_object):
13709         * alloc.c (pdump_register_struct):
13710         * alloc.c (pdump_dump_data):
13711         * alloc.c (pdump_reloc_one):
13712         Minor cleanups.
13713
13714         * console-msw.c:
13715         * console-msw.c (GetConsoleHwnd):
13716         * console-msw.c (msw_hide_console):
13717         * console-msw.c (msw_show_console):
13718         * console-msw.c (msw_ensure_console_buffered):
13719         * console-msw.c (msw_output_console_string):
13720         * console-msw.c (console_type_create_mswindows):
13721
13722         a) Added functions to manipulate the console window for use with
13723         shell support.
13724
13725         b) Added support for writing text to the console, which is now
13726         used under Windows when xemacs is not being run non-interactively,
13727         to write text that would otherwise be destined for stdout because
13728         under these circumstances, text written to stdout tends to
13729         disappear and not be seen.
13730
13731         * console-msw.h:
13732         * event-Xt.c:
13733         * event-Xt.c (x_event_to_emacs_event):
13734         * event-Xt.c (describe_event_window):
13735         * events-mod.h (XEMACS_MOD_CONTROL):
13736         * events.c:
13737         * events.c (Fmake_event):
13738         * events.c (character_to_event):
13739         * events.c (event_to_character):
13740         * events.c (format_event_object):
13741         * events.c (Fevent_modifiers):
13742         * events.h:
13743         * events.h (struct key_data):
13744         * events.h (struct button_data):
13745         * events.h (struct misc_user_data):
13746         * frame-x.c (Fcde_start_drag_internal):
13747         * frame-x.c (Foffix_start_drag_internal):
13748         * gpmevent.c (Freceive_gpm_event):
13749         * keymap.c:
13750         * keymap.c (bucky_sym_to_bucky_bit):
13751         * keymap.c (control_meta_superify):
13752         * keymap.c (make_key_description):
13753         * keymap.c (keymap_lookup_directly):
13754         * keymap.c (create_bucky_submap):
13755         * keymap.c (keymap_store):
13756         * keymap.c (define_key_check_and_coerce_keysym):
13757         * keymap.c (define_key_parser):
13758         * keymap.c (define_key_alternate_name):
13759         * keymap.c (Fdefine_key):
13760         * keymap.c (raw_lookup_key_mapper):
13761         * keymap.c (struct map_keymap_unsorted_closure):
13762         * keymap.c (map_keymap_unsorted_mapper):
13763         * keymap.c (map_keymap_sort_predicate):
13764         * keymap.c (map_keymap_sorted):
13765         * keymap.c (accessible_keymaps_mapper_1):
13766         * keymap.c (where_is_recursive_mapper):
13767         * keymap.c (describe_map_mapper):
13768         * keymap.c (describe_map_sort_predicate):
13769         * keymap.c (describe_map):
13770         * keymap.c (complex_vars_of_keymap):
13771         And a number of other files, the key modifier preprocessor
13772         constants that xemacs uses have names that conflict with constants
13773         defined under MS Windows for other purposes, so they were renamed
13774         to begin with the prefix XEMACS_. The variables that hold such
13775         modifiers were changed to consistently be of type int to fix
13776         various compile warnings.
13777
13778         * console.c (complex_vars_of_console):
13779         * device.c:
13780         * device-msw.c:
13781         * device-msw.c (mswindows_finish_init_device):
13782         * device-msw.c (msw_get_workspace_coords):
13783         * device-msw.c (mswindows_device_system_metrics):
13784         and various other files, added support for a new
13785         device property called offset-workspace which returns the position
13786         of the upper left corner of the workspace area and goes along with
13787         the existing size-workspace property.
13788
13789         * dialog-msw.c:
13790         * dialog-msw.c (push_bufbyte_string_as_unicode):
13791         * dialog-msw.c (mswindows_popup_dialog_box):
13792         Added support for XEmacs-style accelerator specifications in
13793         button text.  Note: I didn't add support for this under X Windows,
13794         and somebody needs to do this.
13795
13796         * dialog.c:
13797         * dialog.c (Fpopup_dialog_box):
13798         Documented the support for accelerators that was just mentioned.
13799
13800         editfns.c (get_home_directory): Changed behavior under Windows
13801         when HOME not defined; former behavior was irretrievably broken.
13802
13803         * emacs.c:
13804         * emacs.c (main_1):
13805         * emacs.c (main):
13806         * minibuf.c (clear_echo_area_internal):
13807         * minibuf.c (echo_area_append):
13808         * print.c:
13809         * print.c (std_handle_out_external):
13810         * print.c (std_handle_out_va):
13811         * print.c (fatal):
13812         * print.c (write_string_to_stdio_stream):
13813         * print.c (output_string):
13814         * print.c (debug_print):
13815         * print.c (debug_backtrace):
13816         * print.c (debug_short_backtrace):
13817         Cleaned up the code that prints text to stdout so that this can be
13818         changed to output into a console window instead under MS Windows,
13819         as described above.
13820
13821         * eval.c:
13822         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13823         * eval.c (internal_catch):
13824         * eval.c (unwind_to_catch):
13825         * eval.c (throw_or_bomb_out):
13826         * eval.c (condition_case_1):
13827         * eval.c (signal_1):
13828         * eval.c (check_error_state_sanity):
13829         * eval.c (call_with_suspended_errors_1):
13830         * eval.c (call_with_suspended_errors):
13831         * eval.c (reinit_vars_of_eval):
13832         Added code to catch throw loops and check for a pesky bug that may
13833         be gone now.
13834
13835         * event-msw.c:
13836         * event-msw.c (key_needs_default_processing_p):
13837         * event-msw.c (mswindows_wnd_proc):
13838         * event-msw.c (mswindows_modifier_state):
13839         * event-msw.c (emacs_mswindows_quit_p):
13840         * event-msw.c (vars_of_event_mswindows):
13841         a) Added support for using the alt key to select menu items as is
13842         standard under MS Windows.  This is controlled using the variable
13843         menu-accelerator-enabled, just like under X Windows.  There is an
13844         option on the options menu to turn this support on.  I really
13845         think that it should be on by default under Windows, but I'm not
13846         going to make this change yet.
13847
13848         b)  Added support for dynamic display size changes under Windows.
13849
13850         * event-stream.c:
13851         * event-stream.c (maybe_echo_keys):
13852         * event-stream.c (Fnext_event):
13853         * event-stream.c (command_builder_find_leaf):
13854         * event-stream.c (lookup_command_event):
13855         * event-stream.c (execute_command_event):
13856         * event-stream.c (pre_command_hook):
13857         * event-stream.c (post_command_hook):
13858         * event-stream.c (syms_of_event_stream):
13859         * event-stream.c (vars_of_event_stream):
13860         * event-stream.c (complex_vars_of_event_stream):
13861         * events.h (struct command_builder):
13862
13863         a) Tried to clean up a little bit the horribly written x-specific
13864         accelerator code that crept into this file.  I moved this code
13865         into menubar-x.c where it belongs. I also needed to move the
13866         command builder structure into the file events.h because it is
13867         accessed directly by this accelerator code.  What I didn't do, but
13868         which should be done at some point, is to properly abstract this
13869         code using device methods instead of the kludgy way that it
13870         currently hooks into the event code.
13871
13872         b) Added the lisp variables this-command-properties and
13873         last-command- properties, which should be used to synchronize two
13874         adjacent commands in preference to playing games with the variable
13875         this-command, which is typically what happens.
13876
13877         c) Added some slightly nasty code to hook into the lisp support
13878         for shifted- motion-key selection.  This is actually necessary for
13879         somewhat complicated reasons, which are described in
13880         simple.el. (NB: I think the proper thing would be to have the code
13881         that calls the pre and post command hooks also call out to generic
13882         lisp functions in simple.el, where all built-in stuff could be
13883         added.  I will think about this more.)
13884
13885         * event-unixoid.c (poll_fds_for_input):
13886         * lread.c (readchar):
13887         * redisplay-tty.c (tty_clear_frame):
13888         * redisplay-x.c (x_get_gc):
13889         * signal.c (interrupt_signal):
13890         And a whole bunch of other files: fixed up places that printed
13891         directly to stderr to instead call the function stderr_out so that
13892         the changes I made under Windows work correctly.
13893
13894         * filemode.c (mode_string):
13895         Warning fixes.
13896
13897         * frame-msw.c:
13898         * frame-msw.c (mswindows_size_frame_internal):
13899         Fixed the computation of frame size and position to keep the frame
13900         within the workspace area, rather than within the physical
13901         dimensions of the screen, so that the frame doesn't overlap window
13902         manager decorations, such as the start menu and toolbar, typically
13903         at the bottom of the screen.
13904
13905         * frame.c (vars_of_frame):
13906         Changed the default frame title format under MS Windows to consist
13907         of buffername-XEmacs, which is standard under MS Windows.  I think
13908         it might be a good idea to change this everywhere because I think
13909         it is superior to the current frame title format, but this is the
13910         kind of change that is likely to cause some people to get annoyed,
13911         so I'm not making it.
13912
13913         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13914
13915         * gui-msw.c (mswindows_handle_gui_wm_command):
13916         Fixed compile warnings.
13917
13918         * gui-x.c:
13919         * gui-x.c (strdup_and_add_accel):
13920         * gui-x.c (button_item_to_widget_value):
13921         * gui-x.h:
13922         Added code to automatically put an accelerator onto the beginning
13923         of menu items that don't have one as is now the standard, and is
13924         described more later.  Also fixed things so that the menu item
13925         name can be an evaluated expression, again a new standard.
13926
13927         * gui.c:
13928         * gui.c (gui_item_add_keyval_pair):
13929         * gui.c (make_gui_item_from_keywords_internal):
13930         * gui.c (gui_add_item_keywords_to_plist):
13931         * gui.c (gui_item_accelerator):
13932         * gui.c (gui_name_accelerator):
13933         * gui.c (gui_item_included_p):
13934         * gui.c (gui_item_display_flush_left):
13935         * gui.c (gui_item_display_flush_right):
13936         * gui.c (parse_gui_item_tree_item):
13937         * gui.c (parse_gui_item_tree_children):
13938         * gui.c (parse_gui_item_tree_list):
13939         Mule-ized.  Cleanup.  GCPRO addition.
13940
13941         * line-number.c (buffer_line_number):
13942         * lisp.h:
13943         * lisp.h (EMACS_INT_MAX):
13944         Added the manifest constant EMACS_INT_MIN corresponding to the
13945         existing constant EMACS_INT_MAX.  This is partially to fix compile
13946         warnings under Windows, and partly for cleanliness.
13947
13948         * menubar-msw.c:
13949         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13950         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13951         * menubar-msw.c (displayable_menu_item):
13952         * menubar-msw.c (populate_menu_add_item):
13953         * menubar-msw.c (populate_or_checksum_helper):
13954         * menubar-msw.c (populate_menu):
13955         * menubar-msw.c (update_frame_menubar_maybe):
13956         * menubar-msw.c (prune_menubar):
13957         * menubar-msw.c (msw_char_is_accelerator):
13958         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13959         * menubar-msw.c (mswindows_handle_wm_command):
13960         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13961         * menubar-msw.c (mswindows_handle_wm_initmenu):
13962         * menubar-msw.c (mswindows_update_frame_menubars):
13963         * menubar-msw.c (mswindows_free_frame_menubars):
13964         * menubar-msw.c (mswindows_popup_menu):
13965         Fixed a bug in handling accelerators where an extra character
13966         would be displayed in the menu item.  Also generalized the
13967         function displayable_menu_item because it is now used by the
13968         dialog box code as well.  And finally, added code in the functions
13969         that create the menubar to extract a list of accelerators for the
13970         top level menubar, which is used in the event code to determine
13971         whether a particular alt-key combination should be used to invoke
13972         a menu item, or should be passed through to access the standard
13973         XEmacs keymap binding for this key combination.
13974
13975         Much needed GCPROing.
13976
13977         * menubar-x.c:
13978         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13979         * menubar-x.c (menu_item_descriptor_to_widget_value):
13980         * menubar-x.c (restore_in_menu_callback):
13981         * menubar-x.c (x_popup_menu):
13982         * menubar-x.c (menu_move_up):
13983         * menubar-x.c (menu_move_down):
13984         * menubar-x.c (menu_move_left):
13985         * menubar-x.c (menu_move_right):
13986         * menubar-x.c (menu_select_item):
13987         * menubar-x.c (command_builder_operate_menu_accelerator):
13988         * menubar-x.c (menu_accelerator_junk_on_error):
13989         * menubar-x.c (command_builder_find_menu_accelerator):
13990         * menubar-x.c (Faccelerate_menu):
13991         * menubar.h:
13992         Moved a whole bunch of code here that was previously in
13993         event-stream.c as described above.  There is also code connected
13994         to the new standard of adding an accelerator to the beginning of
13995         menu items that don't have one as described above and below.
13996
13997         * menubar.c:
13998         * menubar.c (menu_parse_submenu_keywords):
13999         * menubar.c (Fmenu_find_real_submenu):
14000         * menubar.c (Fnormalize_menu_item_name):
14001         * menubar.c (syms_of_menubar):
14002         * menubar.c (vars_of_menubar):
14003         * menubar.c (complex_vars_of_menubar):
14004
14005         a) Cleaned up a bunch of documentation and improved it.
14006
14007         b) XEmacs now automatically adds an accelerator onto the beginning
14008         of any menu items that don't have one.  I did this because there
14009         will inevitably be some menu items on the main menubar that don't
14010         have accelerators on them because the package that adds that
14011         particular menu item hasn't yet been fixed up to have accelerators
14012         in them and it looked rather strange to have some items with and
14013         some items without accelerators, especially since even in items
14014         without accelerators, you can, at least under windows, still
14015         access the item through an accelerator corresponding to the first
14016         character in the item's name.  If people don't like this behavior,
14017         I can add a variable to turn it off optionally, but I'm not sure
14018         this is a good idea because we really do need to have accelerators
14019         on all of the menu items, and if a package doesn't like the
14020         accelerators being put on the first character, then it should put
14021         the accelerators where they belong.
14022
14023         c) I made a behavior change, which is that the descriptor that
14024         specifies the text of the menu item, which formerly was just a
14025         string, can now also be an evaluated expression.  This makes this
14026         descriptor parallel with all of the others, which could also be
14027         evaluated expressions.  This also obviates the need for the
14028         keyword :label, which was previously listed in the documentation
14029         as unimplemented, and which was for the same purpose.
14030
14031         d) GCPROing.
14032
14033         * ntproc.c:
14034         * ntproc.c (new_child):
14035         * ntproc.c (sys_spawnve):
14036         * ntproc.c (find_child_console):
14037         * ntproc.c (sys_kill):
14038         Fixed compile warnings.  By the way, this file should really go
14039         away entirely, and this will happen as soon as Kirill makes his
14040         final round of process cleanups, which affect the function
14041         call-process.
14042
14043         * process-nt.c:
14044         * process-nt.c (struct nt_process_data):
14045         * process-nt.c (find_process_from_pid):
14046         * process-nt.c (send_signal_the_nt_way):
14047         * process-nt.c (enable_child_signals):
14048         * process-nt.c (find_child_console):
14049         * process-nt.c (send_signal_the_95_way):
14050         * process-nt.c (nt_finalize_process_data):
14051         * process-nt.c (ensure_console_window_exists):
14052         * process-nt.c (nt_create_process):
14053         * process-nt.c (nt_kill_child_process):
14054         * process-nt.c (nt_kill_process_by_pid):
14055         * process-nt.c (nt_open_network_stream):
14056         * process-nt.c (vars_of_process_nt):
14057         Copied over code from Emacs 20.5 to correctly send signals to sub-
14058         processes under Windows 95.  Also added code to automatically
14059         create and hide console window when a sub-process is created under
14060         Windows 95, which obviates the need for the separate runemacs.exe
14061         executable, and finally implemented some variables that were
14062         implemented in Emacs 20.5, but previously not in XEmacs.  These
14063         include mswindows- start-process-share-console and
14064         mswindows-start-process-inherit-error-mode. (Both of these only
14065         apply to Windows 95.)
14066
14067         * regex.c (regex_compile): Fixed a compile warning.
14068
14069         * select-msw.c:
14070         * select-msw.c (mswindows_own_selection):
14071         * select-msw.c (mswindows_get_foreign_selection):
14072         * select-msw.c (mswindows_disown_selection):
14073         * select-msw.c (console_type_create_select_mswindows):
14074         * select-msw.c (syms_of_select_mswindows):
14075         Cleaned up the file and implemented the device method
14076         selection_exists_p, which had accidentally been left out.  Also
14077         removed four lisp functions that were remnants from before the
14078         time when the selection code was properly device abstracted.
14079         These functions are no longer needed because there are generic
14080         equivalents, and because they were added recently and don't exist
14081         in FSF Emacs, I don't think there's any problem with just deleting
14082         them.
14083
14084         * sysdep.c:
14085         * sysdep.c (sys_subshell):
14086         Fixed a compile warning, although in this case there's probably
14087         something wrong with this code, and it ought to be looked into
14088         more thoroughly by somebody who understands it.
14089
14090         * window.c:
14091         * window.c (Fwindow_text_area_height):
14092         * window.c (Fwindow_width):
14093         * window.c (Fwindow_full_width):
14094         * window.c (Fwindow_pixel_width):
14095         * window.c (debug_print_window):
14096         * window.c (syms_of_window):
14097         Added functions window-text-area-height and window-full-width,
14098         which are functions for returning various width and height
14099         characteristics of a window. (One of these functions is necessary
14100         for making the file dialog box work correctly, and the other one
14101         was added for completeness.)  Also added a table to the
14102         documentation for window-height which describes the entire scheme
14103         for accessing width and height characteristics of a window.
14104
14105 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14106
14107         * nt.c (fstat): Added a comment for another problem with
14108         non-encapsulated [f]stat(), reported by Adrian Aichner
14109         <aichner@ecf.teradyne.com>.
14110
14111 2000-03-11  Andy Piper  <andy@xemacs.org>
14112
14113         * window.c (make_dummy_parent): initialize subwindow instance
14114         cache.
14115         (Fset_window_configuration): zero extent_modiff.
14116
14117 2000-03-10  Andy Piper  <andy@xemacs.org>
14118
14119         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14120         more changes can be triggered.
14121         (Fredisplay_frame): ditto.
14122         (Fredraw_device): ditto.
14123         (Fredisplay_device): ditto.
14124         (redisplay_frame): make non-static.
14125         (redisplay_frame): call update_frame_gutter_geometry outside of
14126         display proper.
14127
14128         * gutter.h: declare update_frame_gutter_geometry.
14129
14130         * redisplay.h: declare redisplay_frame.
14131
14132         * gutter.c (update_frame_gutter_geometry): move geometry changes
14133         in update_frame_gutters here. Geometry changes can only occur
14134         outside of redisplay.
14135         (update_frame_gutters): remove geometry change code.
14136         (Fredisplay_gutter_area): make sure that we are in display when we
14137         update and that we have flushed any size changes.
14138
14139 2000-03-11  Andy Piper  <andy@xemacs.org>
14140
14141         * alloc.c (pdump_dump_data): remove i & count shadows.
14142
14143 2000-02-27  Mike Alexander  <mta@arbortext.com>
14144
14145         * sysdep.h: Declare pdump_read_file
14146
14147         * sysdep.c (pdump_read_file): New function
14148
14149         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14150         dump data
14151
14152 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14153
14154         * lrecord.h: add `lrecord_type_pgsetenv'.
14155
14156 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14157
14158         * symsinit.h: declare (vars|syms)_of* functions.
14159         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14160
14161 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14162
14163         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14164
14165         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14166         GCCs.
14167
14168         * emacs.c (main_1): Call postgres initialization code.
14169
14170         * postgresql.h: New file.  PostgreSQL RDBMS support.
14171         * postgresql.c: New file.
14172
14173 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14174
14175         * redisplay-output.c (redisplay_output_display_block): Disable
14176         redundant code.
14177
14178 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14179
14180         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14181         (Fcanna_henkan_next): Ditto.
14182         (Fcanna_bunsetu_henkou): Ditto.
14183         (Fcanna_henkan_kakutei): Ditto.
14184         (Fcanna_henkan_end): Ditto.
14185         (Fcanna_henkan_quit): Ditto.
14186         (Fcanna_henkan_next): Set retun value correctly.
14187         (c2mu): Use unsigned char instead of signed char.
14188
14189 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14190
14191         * emacs.c (main_1): Always call syms_of_gui.
14192         * inline.c: include gui.h
14193
14194 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14195
14196         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14197         converted to Lisp_Object.
14198         (Qtop_bottom): New variable.
14199         (syms_of_redisplay): Initialize it.
14200         * redisplay.h (Vvisible_bell): Ditto.
14201         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14202         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14203         only flash top and bottom.
14204
14205 2000-03-08  Andy Piper  <andy@xemacs.org>
14206
14207         * buffer.c (Frename_buffer): record new buffer name the right way.
14208
14209 2000-03-08  Andy Piper  <andy@xemacs.org>
14210
14211         * glyphs.c (update_subwindow): increase hash depth so that widget
14212         items get picked up properly.
14213
14214         * redisplay-output.c (compare_runes): increase hash depth so that
14215         widget items get picked up properly.
14216
14217 2000-03-08  Andy Piper  <andy@xemacs.org>
14218
14219         * gutter.c (output_gutter): add some debug.
14220
14221         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14222         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14223         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14224
14225         * redisplay-output.c (compare_runes): use display_hash to
14226         determine if glyphs really are not the same.
14227
14228         * glyphs.c (update_subwindow): check display_hash to see if
14229         anything really needs to be updated. If not then do
14230         nothing. Record the display_hash after updating.
14231         (image_instance_equal): compare the image_instance face also.
14232
14233 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14234
14235         * redisplay.h: Fix comment style.
14236
14237 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14238
14239         * consle-msw.h (struct mswindows_frame):
14240         Added new member paint_pending to indicate whether a WM_PAINT
14241         magic event has been queued for this frame.
14242
14243         * event-msw.c (mswindows_drain_windows_queue):
14244         Don't queue a WM_PAINT magic event if one is already queued.
14245         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14246
14247         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14248
14249 2000-03-07  Didier Verna  <didier@xemacs.org>
14250
14251         * dired.c: #include `regex.h' after `sysfile.h'.
14252
14253 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14254
14255         * sound.c (init_nas_sound): Fix compiler warning.
14256
14257         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14258         (FREE_STRUCT_P):
14259         (MARK_STRUCT_AS_FREE):
14260         (MARK_STRUCT_AS_NOT_FREE):
14261         Make `gcc -fstrict-aliasing' work properly.
14262
14263 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14264
14265         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14266         (mswindows_delete_device): Call CoUnnitialize().
14267
14268         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14269
14270 2000-02-25    <CraigL@DyCon.com>
14271
14272         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14273         <errno.h>.
14274
14275         * sysdep.c: This extern declaration for environ prevents MinGW
14276         from finding the variable in CRTDLL.DLL.
14277
14278         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14279         windows headers.
14280         (SHGFI_EXETYPE): ..
14281         (WM_MOUSEWHEEL): ..
14282         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14283         definitions.
14284         (MMRESULT): Removed, now defined in cygwin's windows headers.
14285         (TIMECAPS): ..
14286         (uid_t,gid_t,pid_t,ssize_t): ..
14287         (_timeb): Removed, MinGW defines both _timeb and timeb.
14288         (HAVE_H_ERRNO): Added.
14289         (HAVE_TZNAME): Added, configure is not detecting this.
14290
14291 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14292
14293         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14294         * syntax.c (syntax_match): Use it.
14295
14296         * cmds.c: Import auto-fill-chars from FSF Emacs.
14297         (Vauto_fill_chars): New variables.
14298         (internal_self_insert): Check Vauto_fill_chars.
14299         (vars_of_cmds):
14300         Declare auto-fill-chars as a Lisp variable and initialize it.
14301
14302 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14303
14304         * fileio.c (Fmake_symbolic_link):
14305         (Ffile_symlink_p):
14306         Run handlers even if local machine doesn't have symlinks.
14307
14308 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14309
14310         * event-msw.c (mswindows_drain_windows_queue):
14311         Don't generate paint magic events for non-XEmacs frames.
14312
14313 2000-03-05  Andy Piper  <andy@xemacs.org>
14314
14315         * redisplay.c (redisplay_frame): generate_displayable_area and
14316         friends assumes that we are not in GC, we therefore have to make
14317         sure that this doesn't happen.
14318
14319         * gutter.c (calculate_gutter_size): generate_displayable_area
14320         assumes that we are not in GC, we therefore have to make sure that
14321         this doesn't happen.
14322
14323 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14324
14325         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14326
14327 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14328
14329         * redisplay.c (regenerate_window): Make sure we set a sane value
14330         for end_pos even if we jump out of the loop.
14331         (regenerate_window): Answer Ben's question :-).
14332         (start_end_of_last_line): Add may_error argument.
14333         (start_of_last_line):
14334         (end_of_last_line): Pass may_error = 0.
14335         (end_of_last_line_may_error): New function.
14336         (pixel_to_glyph_translation): Use it, so we don't crash in
14337         event_to_glyph.
14338
14339 2000-03-04  Andy Piper  <andy@xemacs.org>
14340
14341         * window.h (struct window): add gutter_extent_modiff.
14342
14343         * window.c (allocate_window): zero out gutter_extent_modiff.
14344
14345         * redisplay.h: declare sync_display_line_structs.
14346
14347         * redisplay.c (add_glyph_rune): add a better comment.
14348
14349         * redisplay-output.c (sync_display_line_structs): made non-static.
14350         (compare_runes): remove unneccesary glyph cachel access.
14351
14352         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14353
14354         * gutter.c (output_gutter): don't output the gutter if extent
14355         changes only involve extents in buffers. use 4 sets of display
14356         lines.
14357         (gutter_extent_signal_changed_region_maybe): new function. Mark
14358         extents in gutters as changed.
14359         (update_frame_gutters): use 4 sets of display lines.
14360         (reset_gutter_display_lines): ditto.
14361         (free_frame_gutters): ditto.
14362         (redraw_exposed_gutter): force output of gutters.
14363
14364         * frame.h (struct frame): add 4 sets of gutter display lines.
14365
14366         * extents.c: (extent_changed_for_redisplay): signal changes to
14367         extents in strings in the gutter as well as extents in buffers.
14368
14369 2000-03-02  Andy Piper  <andy@xemacs.org>
14370
14371         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14372
14373         * frame.c (Fmake_frame): make sure the gutters get initialized
14374         after the frame is visible.
14375         (set_frame_selected_window): re-arrange compilation macros a
14376         little.
14377         (change_frame_size_1): mark gutters changed.
14378
14379         * device.c (Fset_device_class): mark gutters changed.
14380
14381 2000-03-01  Andy Piper  <andy@xemacs.org>
14382
14383         * window.c (window_top_frame_gutter_height): deleted.
14384         (window_bottom_frame_gutter_height): ditto.
14385         (window_left_frame_gutter_height): ditto.
14386         (window_right_frame_gutter_height): ditto.
14387         (window_top_gutter_height): don't use them.
14388         (window_bottom_gutter_height): ditto.
14389         (window_left_gutter_width): ditto.
14390         (window_right_gutter_width): ditto.
14391         (Fsplit_window): ditto.
14392         (Fwindow_pixel_edges): don't use border dimensions here.
14393
14394         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14395         (update_scrollbar_instance): ditto.
14396
14397         * redisplay.c (generate_modeline): don't take gutters into account.
14398         (generate_modeline): ditto.
14399         (redisplay_frame): small gutter display optimization.
14400
14401         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14402
14403         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14404         gutters into account.
14405
14406         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14407         for window position and type.
14408
14409         * gutter.c (get_gutter_coords): fix for frame gutters.
14410         (update_frame_gutters): update frame geometry if the gutters have
14411         changed.
14412         (init_frame_gutters): record current gutter geometries.
14413
14414         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14415         var.
14416         (mswindows_widget_instantiate): ditto.
14417
14418         * frame.h (struct frame): add current_gutter_bounds.
14419
14420         * frame.c (change_frame_size_1): position window and minibuffer
14421         appropriately taking into account the frame gutters.
14422
14423         * frame-x.c: (x_initialize_frame_size): take into account the
14424         frame gutters.
14425
14426 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14427
14428         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14429
14430 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14431
14432         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14433
14434 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14435
14436         * file-coding.c (reset_decoding_stream): Clear previous
14437         detection state when autodetect.
14438
14439 2000-02-29  Didier Verna  <didier@xemacs.org>
14440
14441         * extents.c (set_extent_glyph_1): don't require extents to be
14442         attached.
14443
14444 2000-02-27  Andy Piper  <andy@xemacs.org>
14445
14446         * gutter.c (Fset_default_gutter_position): don't default left and
14447         right gutter visibility to t.
14448         (Fset_default_gutter_position): run
14449         default-gutter-position-changed-hook.
14450         (syms_of_gutter): add default-gutter-position-changed-hook.
14451
14452 2000-02-26  Andy Piper  <andy@xemacs.org>
14453
14454         * specifier.c (Fmake_specifier): add gutter references.
14455
14456         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14457
14458         * lisp.h: declare Fvalid_plist_p.
14459
14460         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14461         as changed.
14462         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14463         well as its visibility so that it gets reconstructed.
14464         (construct_window_gutter_spec): new function. Construct a string
14465         to be displayed in the gutter from a plist of strings. Take care
14466         to only use elements that are declared as visible.
14467         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14468         WINDOW_GUTTER.
14469         (gutter_validate): allow plists of strings in the specifier.
14470         (gutter_specs_changed): construct the real_gutter from the gutter
14471         specs using construct_window_gutter_spec.
14472         (gutter_visible_validate): gutter-visible is a new specifier type.
14473         (Fgutter_visible_specifier_p): new function for the new specifier.
14474         (syms_of_gutter): declare gutter-visible and
14475         Fgutter_visible_specifier_p.
14476         (specifier_type_create_gutter): intitalize new gutter-visible
14477         specifier.
14478         (reinit_specifier_type_create_gutter): ditto.
14479         (specifier_vars_of_gutter): use new specifier type for gutter
14480         visibility.
14481         (init_frame_gutters): construct real_gutter correctly.
14482         (Fgutter_specifier_p): beef up documentation.
14483         (Fgutter_size_specifier_p): ditto.
14484
14485         * winslots.h: add real_gutter slots.
14486
14487 2000-02-25  Andy Piper  <andy@xemacs.org>
14488
14489         * device-msw.c: Be kind to older cygwin versions. From Raymond
14490         Toy <toy@rtp.ericsson.se>.
14491
14492         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14493         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14494
14495 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14496
14497         * elhash.c (MARK_OBJ): Practice macro hygiene.
14498
14499 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14500
14501         * miscplay.c: s/__inline__/inline/g;
14502         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14503         (get_device_compdc): INLINE ==> static inline
14504         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14505         find -name '*.h' | \
14506         xargs global-replace \
14507         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14508
14509 2000-02-25  Andy Piper  <andy@xemacs.org>
14510
14511         * window.c (window_top_frame_gutter_height): new function.
14512         (window_top_window_gutter_height): ditto.
14513         (window_top_gutter_height): use them.
14514         (window_bottom_frame_gutter_height): new function.
14515         (window_bottom_window_gutter_height): ditto.
14516         (window_bottom_gutter_height): use them.
14517         (window_left_window_gutter_width): new function.
14518         (window_left_frame_gutter_width): ditto.
14519         (window_left_gutter_width): use them.
14520         (window_right_window_gutter_width): new function.
14521         (window_right_frame_gutter_width): ditto.
14522         (window_right_gutter_width): use them.
14523         (window_pixel_height): new function. calulate window pixel height
14524         with frame gutter involvement.
14525         (Fsplit_window): calculate new sizes taking frame gutters into
14526         account.
14527         (window_char_height_to_pixel_height): don't include frame gutters.
14528         (window_char_height): use window_pixel_height.
14529         (window_pixheight): rename from window_pixel_height.
14530         (change_window_height): use it.
14531         (window_pixel_height_to_char_height): don't include frame gutters.
14532         (window_char_width_to_pixel_width): ditto.
14533
14534 2000-02-25  Andy Piper  <andy@xemacs.org>
14535
14536         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14537         if it is.
14538
14539 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14540
14541         * alloc.c (staticpro):
14542         (staticpro_nodump):
14543         (dumpstruct):
14544         (dumpopaque):
14545         (pdump_wire):
14546         (pdump_wire_list):
14547         (compact_string_chars):
14548         (pdump_dump_wired):
14549         Convert:  if (foo) abort();  ==>  assert (! foo);
14550
14551         * eldap.c (Fldap_search_basic):
14552         (Fldap_add):
14553         (Fldap_modify):
14554         (Fldap_delete):
14555         Fix compiler warnings, and possible crashes if (random) return
14556         value were to be used.
14557
14558 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14559
14560         * device-msw.c: Workaround ResetDC failure.
14561
14562         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14563         applying a devmode.
14564
14565         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14566         (mswindows_text_width): Do not start printer page.
14567
14568         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14569
14570         * glyphs-msw.c: Added image methods to msprinter console and
14571         msprinter-specific image instantiation.
14572
14573 2000-02-20  Mike Alexander  <mta@arbortext.com>
14574
14575         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14576         to avoid crashes when selection-sets-clipboard is on
14577         (mswindows_own_selection): ditto
14578
14579 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14580
14581         * glyphs-msw.c:
14582         * redisplay-msw.c (get_frame_dc):
14583         (get_frame_compdc):
14584         * console-msw.h:
14585         * device-msw.c (mswindows_init_device):
14586         (mswindows_delete_device):
14587         (msprinter_init_device):
14588         (msprinter_delete_device):
14589         * frame-msw.c (mswindows_init_frame_1):
14590         (mswindows_delete_frame):
14591         (msprinter_init_frame_3):
14592         (msprinter_delete_frame): Move compatible DC to device object from
14593         frame object, for both mswindows and msprinter. Only one at a time
14594         is needed, it is a real waste to have one per frame!
14595
14596 2000-02-23  Andy Piper  <andy@xemacs.org>
14597
14598         * glyphs.c: add dynamic width and height elements.
14599         (image_instance_equal): ditto.
14600
14601         * glyphs-widget.c (widget_query_geometry): calculate width and
14602         height dynamically if required.
14603         (initialize_widget_image_instance): initialize dynamic dimensions.
14604         (widget_instantiate): pick-up dynamic dimensions.
14605
14606         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14607         dynamic determination. Add appropriate macros.
14608
14609         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14610         dimensions safe.
14611         (WINDOW_GUTTER_SIZE): ditto.
14612         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14613
14614         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14615         inline.
14616         (get_frame_dc): ditto.
14617
14618         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14619         here.
14620
14621 2000-02-23  Martin Buchholz <martin@xemacs.org>
14622
14623         * XEmacs 21.2.31 is released.
14624
14625 2000-02-22  Ben Wing <ben@xemacs.org>
14626
14627         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14628
14629 2000-02-22  Andy Piper  <andy@xemacs.org>
14630
14631         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14632
14633 2000-02-21  Mike Sperber <mike@xemacs.org>
14634
14635         * .dbxrc:
14636         * .gdbinit:
14637         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14638         variables.
14639
14640 2000-02-21  Mike Sperber <mike@xemacs.org>
14641
14642         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14643
14644 2000-02-21  Martin Buchholz <martin@xemacs.org>
14645
14646         * XEmacs 21.2.30 is released.
14647
14648 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14649
14650         Performance hacking.
14651         * *.c (syms_of_*):
14652         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14653         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14654         * emacs.c (main_1):
14655         * lisp.h (DEFUN):
14656         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14657         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14658         * symeval.h (DEFVAR_SYMVAL_FWD):
14659         * symbols.c (guts_of_unbound_marker):
14660         Make all c_readonly objects also lisp_readonly and marked for life.
14661         * lrecord.h (struct lrecord_implementation):
14662         Document flags better.
14663         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14664         * lrecord.h (DECLARE_LRECORD):
14665         * lrecord.h (XSETRECORD):
14666         * lrecord.h (RECORDP):
14667         * lrecord.h (RECORD_TYPEP):
14668         * lrecord.h (RECORD_MARKER): New.
14669         * lrecord.h (error_check_*):
14670         * lrecord.h (CONCHECK_NONRECORD):
14671         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14672         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14673         * lrecord.h (set_lheader_implementation):
14674         * lrecord.h (enum lrecord_type): New.
14675         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14676         * alloc.c (disksave_object_finalization_1):
14677         * alloc.c (mark_object):
14678         * alloc.c (lrecord_type_index):
14679         * alloc.c (tick_lcrecord_stats):
14680         * alloc.c (Fgarbage_collect):
14681         * alloc.c (init_alloc_once_early):
14682         * alloc.c (pdump_load):
14683         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14684         * alloc.c (lrecord_type_index): Delete.
14685         Make lisp object type indexes be constant.
14686           Makes (byte-compile) 5% faster.
14687         Put all marker functions into their own array.
14688           Makes (garbage-collect) 5% faster.
14689         Optimize SYMBOL_VALUE_MAGIC_P.
14690           Makes (byte-compile) 2-3% faster.
14691         * config.h.in (gc_checking_assert): New.
14692         * alloc.c: Use gc_checking_assert().
14693         * .dbxrc: Make compatible with new object type implementation.
14694         * .gdbinit: Make compatible with new object type implementation.
14695         * alloc.c: Delete all symbols defined only for debugging, such as
14696         Lisp_Type_Vector and lrecord_charset.
14697
14698 2000-02-21  Andy Piper  <andy@xemacs.org>
14699
14700         * gui-msw.c (Fmswindows_shell_execute): fix file location
14701         problems.
14702
14703         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14704         unshowing so that set_window_buffer doesn't undo
14705         kill_buffer_hook's hard work.
14706
14707         * glyphs-widget.c (tab_control_query_geometry): don't count the
14708         first item when calculating geometry.
14709
14710         * glyphs.c (map_subwindow): remove redundant code.
14711         (update_frame_subwindows): be more circumspect about when to
14712         update subwindows.
14713
14714         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14715         when items haven't changed. Update faces if faces have changed as
14716         well as just the widget face.
14717         (x_tab_control_update): Update faces if faces have changed as well
14718         as just the widget face.
14719
14720 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14721
14722         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14723         registration.
14724         (build_syscolor_string): Use mswindows_color_to_string to try to
14725         get a named color.
14726         (mswindows_device_system_metrics): Reverse the foreground and
14727         background colors so that they match the documentation.
14728
14729         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14730         they match the default Windows palette.
14731         (mswindows_color_to_string): New function.
14732
14733 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14734
14735         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14736
14737 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14738
14739         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14740         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14741
14742         * symbols.c (init_symbols_once_early): Removed obsolete
14743         DATA_SEG_BITS related kludge.
14744         (defvar_magic): Ditto.
14745
14746         * malloc.c: Removed obsolete DATA_SEG_BITS
14747         * ralloc.c: Ditto.
14748         * mem-limits.h: Ditto.
14749
14750         * Makefile.in.in: Removed obsolete HAVE_SHM
14751         * emacs.c: Ditto.
14752
14753 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14754
14755         *  device-msw.c (mswindows_delete_device): Free DDE string
14756         handles.
14757
14758 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14759
14760         * keymap.c (get_keyelt):
14761         * unexnt.c (unexec):
14762         * vm-limit.c (memory_warnings):
14763         * ntheap.c (recreate_heap):
14764         * ntheap.h (UNINIT_PTR):
14765         * select-msw.c (Fmswindows_get_clipboard):
14766         (Fmswindows_set_clipboard):
14767         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14768         * objects-msw.c:
14769         * menubar-msw.c (displayable_menu_item):
14770         * glyphs-msw.c:
14771         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14772         * sysdep.c (sys_subshell):
14773         * process-nt.c (nt_create_process):
14774         * nt.c (normalize_filename):
14775         (dostounix_filename):
14776         (unixtodos_filename):
14777         * ntproc.c (win32_executable_type):
14778         * ntplay.c (play_sound_data_1):
14779         (play_sound_file):
14780         * editfns.c (get_home_directory):
14781         * event-msw.c (struct winsock_stream):
14782         (mswindows_dde_callback):
14783         * device-msw.c (msprinter_init_device):
14784         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14785
14786         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14787         mswindows_clear_toolbar were swapped!
14788
14789         * objects-msw.c:(colormap_t):
14790         (fontmap_t):
14791         * emacs.c (struct standard_args): Fixed const jumble.
14792
14793         * glyphs-widget.c (update_widget): Fixed comparison notation.
14794
14795         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14796
14797         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14798         __declspec(noreturn) syntax.
14799
14800 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14801
14802         * eldap.c (Fldap_open):
14803         (Fldap_search_basic):
14804         (Fldap_add):
14805         (Fldap_modify):
14806         Use new coding system conversion macros.
14807
14808 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14809
14810         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14811
14812 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14813
14814         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14815         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14816
14817         * eldap.c (Qadd, Qreplace): New constant symbols
14818         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14819         interruptions by XEmacs signals
14820         Remove unnecessary calls to slow_down_interrupts and
14821         speed_up_interrupts
14822         (Fldap_search_basic): Renamed from Fldap_search_internal
14823         Added new optional parameter VERBOSE that triggers the
14824         display of progress messages
14825         Remove unnecessary calls to slow_down_interrupts and
14826         speed_up_interrupts
14827         LDAP result code analysis rewritten
14828         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14829         (syms_of_eldap): Define the new symbols and functions
14830
14831
14832 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14833
14834         * realpath.c: Determine PATH_MAX maximally portably.
14835
14836         * insdel.c (bytecount_to_charcount): Optimize.
14837         The function used to be optimized for entirely ASCII sequences.
14838         Now it is optimized for successive characters from the same
14839         charset.  This also wins big for _mostly_ ASCII sequences.
14840
14841         * fileio.c (Ffile_truename): convert return from realpath() using
14842         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14843         - Rewrite GCPROing slightly.
14844
14845         * sysdep.c (sys_open): Do filename conversion, like all other
14846         sys_* functions.  Fixes bug:
14847         (let ((file-name-coding-system 'iso-8859-2))
14848            (write-region x y latin2-name))
14849         ==> writes filename using internal encoding.
14850
14851 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14852
14853         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14854         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14855         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14856         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14857         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14858         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14859         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14860         (CONST_IF_NOT_DEBUG): Delete.
14861         * alloc.c (this_one_is_unmarkable): Delete.
14862         (mark_object): Don't check for this_one_is_unmarkable. Use the
14863         c_readonly flag instead.
14864         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14865
14866 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14867
14868         * event-msw.c (mswindows_drain_windows_queue):
14869         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14870         away redundant repaint events.
14871
14872 2000-02-17  Andy Piper  <andy@xemacs.org>
14873
14874         * redisplay.h: declare mark_redisplay_structs.
14875
14876         * redisplay.c (redisplay_window):
14877         (redisplay_frame): don't check subwindows_state_changed.
14878         (mark_redisplay): mark gutters here.
14879
14880         * glyphs.c: (instantiate_image_instantiator): always layout if we
14881         haven't done so already.
14882         (allocate_image_instance): don't mark as dirty.
14883         (update_subwindow): bind inhibit_quit.
14884
14885         * gutter.c (mark_gutters): new function.
14886
14887         * glyphs-x.c (x_update_widget): Always resize to get round a
14888         widget bug.
14889
14890         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14891         breaking absolutely everything.
14892
14893         * gutter.h: declare mark_gutters.
14894
14895 2000-02-16  Martin Buchholz <martin@xemacs.org>
14896
14897         * XEmacs 21.2.29 is released.
14898
14899 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14900
14901         * fns.c (size_bit_vector): Fix computation of the size.
14902
14903 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14904
14905         * *.[ch]: Change CONST to const globally.
14906         find -name '*.[ch]' | \
14907         xargs global-replace \
14908         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14909         - Remove vestigial references to CONST_IS_LOSING
14910
14911 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14912
14913         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14914         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14915         events instead of dispatching them directly.
14916         (mswindows_handle_paint): New function to do repainting.
14917         (mswindows_wnd_proc):
14918         (emacs_mswindows_handle_magic_event): Call above function.
14919
14920 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14921
14922         * objects-msw.c (mswindows_create_font_variant): Return the new
14923         font handle.
14924         (initialize_font_instance): Get font metrics from the underlined
14925         variant of the font to cope with the case where the underlined
14926         font has a bigger descent.
14927
14928 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14929
14930         * gui.c (gui_item_accelerator): Return the first underlined
14931         character in item name.
14932
14933 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14934
14935         * lisp.h: Added Qprinter.
14936
14937         * general.c (syms_of_general): Initialized it.
14938
14939         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14940         (get_frame_dc):
14941         (get_frame_compdc): Made inline.
14942
14943         * console.h (struct console_methods): Added eject_page method.
14944
14945         * frame.h: Added FRAME_DISPLAY_P and friends.
14946         Aligned backslahes in many macros in more readable fashion.
14947         Added page_number to struct frame, and an accessor macro
14948         for it.
14949
14950         * defice.h: Added DEVICE_DISPLAY_P and friends.
14951
14952         * device.c (Fdevice_printer_p): Used these.
14953
14954         * frame.c (allocate_frame_core): Initialize page number.
14955         (Fprint_job_page_number):
14956         (Fprint_job_eject_page): Implemented.
14957
14958         * frame-msw.c (msprinter_eject_page): Added method.
14959         (msprinter_start_page): Added.
14960
14961         * window.c (Fwindow_truncated_p): Fixed docstring.
14962         (Fwindow_last_line_visible_height): Implemented.
14963
14964 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14965
14966         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14967
14968 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14969
14970         * syntax.c (scan_words): Always advance at least one character.
14971
14972 2000-02-13  Andy Piper  <andy@xemacs.org>
14973
14974         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14975         to make sure the glyph is in the cachels.
14976
14977         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14978         global image instance flag.
14979         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14980         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14981
14982         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14983         (Fset_image_instance_property): mark layout as changed.
14984         (invalidate_glyph_geometry_maybe): mark layout as changed.
14985         (glyph_width): use new NEEDS_LAYOUT macro.
14986         (glyph_ascent): ditto.
14987         (glyph_descent): ditto.
14988         (glyph_height): ditto.
14989         (image_instance_layout): mark layout as clean after laying out.
14990         (update_subwindow): don't mark layout as clean here.
14991
14992         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14993         should no longer be needed.
14994
14995         * glyphs-x.c (x_update_widget): sanitize asserts.
14996         (x_finalize_image_instance): sanitize assignment to widgets.
14997
14998         * glyphs-widget.c (widget_instantiate): don't need to clear the
14999         layout flag here.
15000
15001 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15002
15003         * sysdep.c (getcwd): Use standard prototype.
15004         * sysdep.h (getcwd): Use standard prototype.
15005
15006         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15007         (sequence, start, end).
15008         Remove redundant type checking.
15009         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15010         view of `caller-protects') to avoid a crash where the real fix was
15011         found elsewhere.
15012
15013 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15014
15015         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15016
15017         * s/sol2.h: Remove feature macro initialization.
15018
15019         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15020         (vector_hash): New.  Code from internal_hash.
15021         * lrecord.h:
15022         Fix up allocation subsystem comments.
15023
15024         * config.h.in: Add __EXTENSIONS__ for Solaris.
15025
15026         * systime.h (EMACS_GETTIMEOFDAY): New.
15027         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15028         Remove Solaris-specific code.
15029         Use void* for the (ignored) second arg for gettimeofday().
15030
15031         * elhash.c (hash_table_hash): Implement it, finally.
15032         * elhash.c:  Use hashcode_t.
15033
15034         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15035         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15036
15037         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15038         * fns.c (size_bit_vector):
15039         * alloc.c (size_vector):
15040         (make_vector_internal):
15041         (make_bit_vector_internal):
15042         (sweep_bit_vectors_1):
15043         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15044
15045 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15046
15047         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15048         Include strings.h to avoid warnings for bzero and strcasecmp.
15049
15050 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15051
15052         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15053         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15054
15055         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15056         sequence.
15057
15058 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15059
15060         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15061         use a value field instead.
15062         (symbol_value_forward_forward): Use value field.
15063         (DEFVAR_SYMVAL_FWD): Use value field.
15064         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15065         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15066         (DEFVAR_CONST_INT): Ditto.
15067         (DEFVAR_BOOL): Ditto.
15068         (DEFVAR_CONST_BOOL): Ditto.
15069         (DEFVAR_INT_MAGIC): Ditto.
15070         (DEFVAR_BOOL_MAGIC): Ditto.
15071
15072         * symbols.c (guts_of_unbound_marker): Use value field.
15073         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15074         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15075
15076         * lisp.h: Declare dumpopaque and noninteractive1.
15077
15078         * alloc.c (dumpopaque): Added.
15079         (pdump_dump_opaquevec): Added.
15080         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15081         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15082         noninteractive.
15083
15084 2000-02-10  Andy Piper  <andy@xemacs.org>
15085
15086         * glyphs.c (image_instance_layout): if the size changes, mark it
15087         as such.
15088
15089         * redisplay-output.c (redisplay_output_layout): Update the
15090         subwindow here.
15091         (redisplay_output_subwindow): ditto.
15092
15093         * glyphs.c (update_subwindow): make sure we reset flags for
15094         layouts as well as everything else.
15095
15096         * glyphs-widget.c (layout_layout): don't need to set the instances
15097         dimensions here.
15098
15099 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15100
15101         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15102         not HAVE_DLOPEN, which is a lower-level thing.
15103
15104         * .cvsignore: Ignore gmon.out
15105
15106 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15107
15108         * .cvsignore: Ignore portable dumper xemacs.dmp file
15109
15110 2000-02-09  Andy Piper  <andy@xemacs.org>
15111
15112         * redisplay-output.c (redisplay_output_layout): be more clever
15113         about when we output based on the changed flags.
15114
15115         * glyphs.h (struct image_instantiator_methods): add update_method.
15116         (struct Lisp_Image_Instance): add changed flags. Declare new
15117         macros for manipulating them.
15118
15119         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15120         (image_instance_parent_glyph): find an image_instance's parent
15121         glyph or image_instance.
15122         (image_instance_layout): mark the size as changed.
15123         (set_image_instance_dirty_p): new function. mark an image
15124         instance, plus all of its parents, as dirty.
15125         (Fset_image_instance_property): use it.
15126         (Fglyph_animated_timeout_handler): use it.
15127         (update_subwindow): call update_widget and device methods for
15128         update_subwindow. Mark all changed flags as clean.
15129         (Fresize_subwindow): mark size as changed.
15130
15131         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15132         failures.
15133         (x_update_subwindow): only resize subwindows here.
15134         (x_update_widget): new function. Update all changed properties of
15135         a widget.
15136         (x_resize_subwindow): deleted.
15137         (x_widget_set_property): deleted.
15138         (x_progress_gauge_set_property): deleted.
15139         (x_progress_gauge_update): new function. Implement recorded
15140         changes.
15141         (x_tab_control_update): ditto.
15142         (x_tab_control_set_property): deleted.
15143         (console_type_create_glyphs_x): declare new functions.
15144         (image_instantiator_format_create_glyphs_x): ditto.
15145
15146         * glyphs-widget.c (widget_set_property): mark text changed.
15147         (update_widget): new function. Update properties of a widget.
15148         (widget_instantiate): for layouts make sure we set their
15149         children's parent correctly.
15150         (tab_control_set_property): new function. Record changes that will
15151         take place under redisplay's control.
15152         (progress_gauge_set_property): ditto.
15153         (image_instantiator_progress_guage): declare new functions.
15154         (image_instantiator_tab_control): ditto.
15155
15156         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15157         now.
15158         (mswindows_update_widget): new function. Update all properties on
15159         a widget that have changed.
15160         (mswindows_button_update): new function. Update a button's set
15161         state.
15162         (mswindows_tab_control_update): new function. Update the items in
15163         a tab.
15164         (mswindows_tab_control_set_property): deleted.
15165         (mswindows_progress_gauge_update): new function. Update the
15166         progress gauge's progress.
15167         (mswindows_widget_set_property): deleted. This is all done
15168         asynchronously now.
15169         (mswindows_progress_gauge_set_property): ditto.
15170         (console_type_create_glyphs_mswindows): declare new methods.
15171         (image_instantiator_format_create_glyphs_mswindows): ditto.
15172
15173         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15174         (msprinter_set_frame_properties): ditto.
15175
15176         * console.h (struct console_methods): Add update_widget_method.
15177
15178 2000-02-09  Andy Piper  <andy@xemacs.org>
15179
15180         * gui-msw.c (Fmswindows_shell_execute): Make
15181         mswindows-shell-execute industrial strength.
15182
15183 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15184
15185         * lrecord.h: Make macro argument `props' match member function `plist'.
15186         * fns.c (Fget):
15187         * fns.c (Fput):
15188         * fns.c (Fremprop):
15189         * fns.c (Fobject_plist):
15190         * alloc.c:
15191         * symbols.c:
15192         Object property list frobbing cleanup.
15193         - Allow any lisp object (compared with `eq'), not just symbols, as
15194           keys in object plists.
15195         - Move symbol plist frobbing into symbols.c, where it belongs.
15196         - Move string plist frobbing into alloc.c, where it belongs.
15197         - Everything's an lrecord now, so no need to test for symbolp, etc.
15198         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15199
15200         * extents.c: Reorder code to remove declarations.
15201
15202         * frame.h (store_in_alist): Remove useless declaration.
15203
15204 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15205
15206         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15207         * config.h.in: Add HAVE_XCONVERTCASE.
15208
15209 2000-02-07  Andy Piper  <andy@xemacs.org>
15210
15211         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15212         it breaks many things.
15213
15214 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15215
15216         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15217         actually can start a common comment type.
15218         * src/syntax.h (SYNTAX_END_P): ditto for end.
15219
15220 2000-02-07  Martin Buchholz <martin@xemacs.org>
15221
15222         * XEmacs 21.2.28 is released.
15223
15224 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15225
15226         * event-Xt.c (x_keysym_to_character): New.
15227         (maybe_define_x_key_as_self_inserting_character): New.
15228         (x_has_keysym): New.
15229         Auto-define all keys on the keyboard as self-insert-key.
15230
15231 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15232
15233         * menubar.c (vars_of_menubar): A small code simplification.
15234
15235         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15236
15237         * ExternalShell.c:
15238         * ExternalClient.c:
15239         * EmacsShell-sub.c:
15240         * EmacsManager.c:
15241         * EmacsFrame.c:
15242         Use consistent style for specifying X resources.
15243
15244         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15245         This makes (dontusethis-set-symbol-value-handler) actually usable.
15246
15247         * lrecord.h (lrecord_decription_type):
15248         * alloc.c (pdump_register_sub):
15249         (pdump_dump_data):
15250         (pdump_reloc_one):
15251         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15252         Comply with XEmacs coding style.
15253         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15254         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15255
15256         * keymap.c (Faccessible_keymaps):
15257         Make (accessible-keymaps map "\C-h") do the Right Thing.
15258         Make (accessible-keymaps map []) do the Right Thing.
15259         Make (accessible-keymaps map "") do the Right Thing.
15260         (check_keymap_definition_loop): New function.
15261         (keymap_store_internal): Keep luser from shooting self in foot,
15262           via (define-key ctl-x-4-map "p" global-map).
15263         Remove fullness slot from struct Lisp_Keymap, since hash tables
15264         are now reliable.
15265         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15266
15267 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15268
15269         * redisplay.c (init_redisplay): Fix small memory leak.
15270         * elhash.h:
15271         * elhash.c (pdump_reorganize_hash_table):
15272         Rename from reorganize_hash_table. Change prototype.
15273         Reuse the original memory for hentries.  Save 100k.
15274         * alloc.c (PDUMP_READ): new macro.
15275         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15276         * alloc.c: No need to #ifndef before #undef.
15277
15278         * print.c: Allow debug_print() to print readably by modifying
15279         debug_print_readably.  Use consistent variable names.
15280
15281         * .dbxrc: Try to get things to work even if stopped in a function
15282         without source available by explicitly specifying source files.
15283 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15284
15285         * unexnt.c (_start): Removed bogus code which caused loading heap
15286         from differrent executable file.
15287         Removed bogus assignment to _fmode, which caused inconsistencies.
15288
15289 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15290
15291         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15292         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15293         Do not preliminary `#define signal sigset'.
15294
15295         * systime.h: Do not prototype environ on windows nt and cygwin,
15296         this conflicts with system header.
15297
15298         * syssignal.h: Use correct define for WINDOWSNT
15299
15300         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15301         with system header.
15302
15303         * sysdep.c (near start of file): Fixed commentary and rearranged
15304         ifdefs in readable order.
15305         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15306         (start_of_text):
15307         (end_of_text):
15308         (end_of_data): Do not compile in if using PDUMP.
15309
15310         * symsinit.h: Prototyped vars_of_nt().
15311
15312         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15313         (find_child_console): Use it.
15314         (sys_kill): Use it.
15315
15316         * ntheap.h: Do not extern os_subtype.
15317
15318         * ntheap.c (cache_system_info): Do not cache unneeded:
15319         nt_major_version, nt_minor_version and os_subtype.
15320         (recreate_heap): Do not compile in when PDUMPing.
15321
15322         * nt.c (geteuid and friends): Use the new varibale
15323         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15324         (init_user_info): Removed the above mentioned hackery.
15325         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15326         stat has been fixed in the C runtime.
15327         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15328
15329         * file-coding.c (struct file_coding_dump): Do not define
15330         ucs_to_mule_table in the struct if not MULE.
15331         (struct struct lrecord_description fcd_description_1): Do not dump
15332         the above.
15333
15334         * emacs.c (main_1): Call vars_of_nt().
15335         (right before Fdump_emacs_data): Don't need lastfile if using both
15336         portabe dumper and system malloc.
15337
15338         * alloc.c (Fmemory_limit): Conditionalized out.
15339         (pdump): Use OPEN_BINARY for the portable dump file.
15340         (pdump_load): Ditto.
15341
15342 2000-02-02  Mike Alexander  <mta@arbortext.com>
15343
15344         * nt.c (convert_time): Set tm_isdst before calling mktime and
15345         avoid calling it at all if the compiler supports 64 bit integers.
15346         Also initialize utc_base_ft before using it.
15347
15348 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15349
15350         * frame.c (change_frame_size_1): Take f->internal_border_width
15351         into consideration when calculating the width of the frame.
15352
15353 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15354
15355         * window.c (frame_min_height):
15356         (frame_size_valid_p):
15357         (frame_pixsize_valid_p): Added.
15358         (check_frame_size): Generalized.
15359
15360         * window.h: Prototyped the above.
15361
15362         * lisp.h:
15363         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15364         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15365         Deleted Vwin32_* and Vbinary_process_* unused variables.
15366
15367         * device-msw.c (msprinter_init_device): Do not get printer font
15368         list; Added DEVMODE functions.
15369
15370         * frame-msw.c: Added lots of printer code.
15371
15372         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15373         general.c.
15374
15375         * console-msw.h: Added more msprinter device private slots.
15376
15377 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15378
15379         * event-msw.c (key_needs_default_processing_p): Added.
15380         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15381
15382 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15383
15384         * glyphs.c (image_instance_layout): Mark image instance as clean
15385         after layout.
15386         (glyph_dirty_p): Removed redundant function.
15387         (invalidate_glyph_geometry_maybe): Added.
15388         (update_glyph_cachel_data): Call it.
15389
15390         * glyphs.h: Prototyped it.
15391
15392         * redisplay.c (add_glyph_rune): Call it.
15393         (redisplay_window): Reset glyphs cachels when frame faces have
15394         changed, thus forcing recomputation of built-in border glyphs.
15395
15396 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15397
15398         * Makefile.in.in: Make portable dumper and purify play well together.
15399         Add imperfect, but better than nothing, support for pdump.
15400         Remove xemacs.dmp when temacs is re-generated.
15401         Don't ignore errors when dumping xemacs.
15402
15403         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15404
15405 2000-01-28  Andy Piper  <andy@xemacs.org>
15406
15407         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15408         (setup_normal_frame): ditto.
15409         (setup_frame_without_minibuffer): ditto.
15410         (setup_minibuffer_frame): ditto.
15411         (delete_frame_internal): ditto.
15412         (Fmake_frame_invisible): ditto.
15413         (Ficonify_frame): ditto.
15414
15415         * window.h: change Fset_window_buffer signature.
15416
15417         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15418         (Fset_window_buffer): allow recording of buffer if the window is
15419         the selected window.
15420         (window_loop): Use new Fset_window signature.
15421
15422 2000-01-23  Daniel Pittman  <daniel@danann.net>
15423
15424         * config.h.in: Added template for `HAVE_ATHENA_3D'
15425
15426 2000-01-29  Andy Piper  <andy@xemacs.org>
15427
15428         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15429
15430         * gutter.c (output_gutter): Don't output if the window isn't live.
15431
15432 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15433
15434         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15435         of 01/12/00: Moved SetFocus back here where it belongs.
15436
15437 2000-01-23  Andy Piper  <andy@xemacs.org>
15438
15439         * s/cygwin32.h: declare printer things.
15440
15441 2000-01-26  Andy Piper  <andy@xemacs.org>
15442
15443         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15444         Alexander.
15445
15446 2000-01-24  Andy Piper  <andy@xemacs.org>
15447
15448         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15449         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15450
15451         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15452
15453         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15454
15455         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15456
15457         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15458         (mswindows_output_display_block): Avoid local shadows.
15459
15460         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15461         (mswindows_enqueue_mouse_button_event): ditto.
15462         (mswindows_handle_gui_wm_command): remove declaration.
15463
15464         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15465         warnings.
15466
15467         * console-msw.h: Avoid shadows.
15468         (mswindows_get_toolbar_button_text):
15469         (emacs_mswindows_create_stream_pair):
15470         (emacs_mswindows_delete_stream_pair):
15471         (mswindows_handle_toolbar_wm_command): declare.
15472
15473         * device-msw.c (build_syscolor_string): Avoid shadows.
15474
15475 2000-01-23  Andy Piper  <andy@xemacs.org>
15476
15477         * glyphs-widget.c (widget_instantiate): reverse the items for
15478         layouts so that children are in the expected order.
15479
15480 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15481
15482         * ralloc.c: safe_bcopy ==> memmove
15483         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15484         * s/msdos.h: Remove BCOPY macros.
15485         * insdel.c (gap_right): Remove BCOPY conditional code.
15486         * insdel.c (gap_left): Remove BCOPY conditional code.
15487         XEmacs demands a working ANSI C compiler - hence memmove.
15488
15489         * regex.c (regex_compile): Remove accidental use of trigraphs.
15490
15491 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15492
15493         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15494         event timestamp.
15495
15496 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15497
15498         * event-msw.c (mswindows_drain_windows_queue): Added the
15499         parameter.
15500         (mswindows_need_event): Commented the call to
15501         mswindows_drain_windows_queue().
15502         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15503         only.
15504
15505         * console-msw.h: Moved a few function prototypes here from
15506         event-msw.c.
15507
15508         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15509         parameter from unsigned short to unsigned long.
15510         (Fmswindows_shell_execute): Added return value.
15511
15512 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15513
15514         * sysdep.c (init_system_name):
15515           process-unix.c (unix_canonicalized_host_name):
15516         Don't call freeaddrinfo() if getaddrinfo() fails.
15517
15518         * process-unix.c (unix_open_unix_network_stream):
15519         Moved the code to get a port # into address loop.
15520
15521 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15522
15523         * buffer.c (reinit_vars_of_buffer):
15524         The right place to initialize conversion_in_dynarr and
15525         conversion_out_dynarr.
15526
15527         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15528
15529         * process-unix.c (unix_canonicalize_host_name): Muleize.
15530         (unix_open_network_stream): Muleize.
15531
15532         * buffer.h: Fix up prototypes for ralloc.c functions.
15533
15534 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15535         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15536         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15537                 instead of gethostbyname()
15538         * process-unix.c: In unix_canonicalize_host_name() and
15539                 unix_open_network_stream(), add code to use getaddrinfo()
15540                 instead of gethostbyname().
15541
15542 2000-01-27  Daniel Pittman <daniel@danann.net>
15543
15544         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15545         libs when built with flat Athena.
15546
15547 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15548
15549         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15550         Use coding standards for function prototypes.
15551
15552 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15553
15554         * dialog-msw.c (push_lisp_string_as_unicode):
15555         * doc.c (unparesseuxify_doc_string):
15556         * dired.c (Fuser_name_completion_1):
15557         * dired.c (Fuser_name_all_completions):
15558         * dired.c (free_user_cache):
15559         * dired.c (user_name_completion):
15560         * console-x.c (get_display_arg_connection):
15561         * minibuf.c (clear_echo_area_internal):
15562         * minibuf.c (echo_area_append):
15563         * eldap.c (Fldap_open):
15564         * eldap.c (Fldap_search_internal):
15565         * frame-x.c (x_set_frame_text_value):
15566         * frame-x.c (x_set_frame_properties):
15567         * frame-x.c (x_create_widgets):
15568         * redisplay-tty.c (term_get_fkeys_1):
15569         * objects-x.c (x_parse_nearest_color):
15570         * objects-x.c (x_valid_color_name_p):
15571         * objects-x.c (x_initialize_font_instance):
15572         * objects-x.c (x_list_fonts):
15573         * objects-x.c (x_find_charset_font):
15574         * tooltalk.c (Fadd_tooltalk_message_arg):
15575         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15576         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15577         * process-unix.c (unix_create_process):
15578         * ntproc.c (sys_spawnve):
15579         * sound.c (Fplay_sound_file):
15580         * sound.c (Fplay_sound):
15581         * buffer.c (init_initial_directory):
15582         * buffer.c (init_buffer):
15583         * editfns.c (init_editfns):
15584         * editfns.c (Ftemp_directory):
15585         * editfns.c (Fuser_full_name):
15586         * editfns.c (uncache_home_directory):
15587         * editfns.c (get_home_directory):
15588         * editfns.c (Fuser_home_directory):
15589         * editfns.c (Fformat_time_string):
15590         * editfns.c (Fcurrent_time_string):
15591         * gui-x.c (button_item_to_widget_value):
15592         * database.c (Fopen_database):
15593         * event-Xt.c (x_to_emacs_keysym):
15594         * event-Xt.c (x_event_to_emacs_event):
15595         * event-Xt.c (describe_event_window):
15596         * event-msw.c (mswindows_wnd_proc):
15597         * glyphs-eimage.c (jpeg_instantiate):
15598         * glyphs-eimage.c (gif_instantiate):
15599         * glyphs-eimage.c (png_instantiate):
15600         * glyphs-eimage.c (tiff_instantiate):
15601         * glyphs-x.c (xbm_instantiate_1):
15602         * glyphs-x.c (x_xbm_instantiate):
15603         * glyphs-x.c (x_xface_instantiate):
15604         * glyphs-x.c (autodetect_instantiate):
15605         * glyphs-x.c (cursor_font_instantiate):
15606         * glyphs-x.c (x_widget_instantiate):
15607         * glyphs-x.c (x_widget_set_property):
15608         * glyphs-x.c (x_widget_property):
15609         * glyphs-x.c (BUILD_GLYPH_INST):
15610         * print.c (write_string_to_stdio_stream):
15611         * print.c (output_string):
15612         * print.c (Falternate_debugging_output):
15613         * print.c (Fexternal_debugging_output):
15614         * glyphs-msw.c (extract_xpm_color_names):
15615         * glyphs-msw.c (mswindows_xpm_instantiate):
15616         * glyphs-msw.c (bmp_instantiate):
15617         * glyphs-msw.c (resource_name_to_resource):
15618         * glyphs-msw.c (mswindows_resource_instantiate):
15619         * glyphs-msw.c (xbm_instantiate_1):
15620         * glyphs-msw.c (mswindows_xbm_instantiate):
15621         * glyphs-msw.c (mswindows_xface_instantiate):
15622         * glyphs-msw.c (mswindows_widget_instantiate):
15623         * glyphs-msw.c (add_tree_item):
15624         * glyphs-msw.c (add_tab_item):
15625         * glyphs-msw.c (mswindows_combo_box_instantiate):
15626         * glyphs-msw.c (mswindows_widget_property):
15627         * glyphs-msw.c (mswindows_combo_box_property):
15628         * glyphs-msw.c (mswindows_widget_set_property):
15629         * console.c (stuff_buffered_input):
15630         * objects-msw.c (mswindows_initialize_color_instance):
15631         * objects-msw.c (mswindows_valid_color_name_p):
15632         * objects-msw.c (mswindows_list_fonts):
15633         * objects-msw.c (mswindows_font_instance_truename):
15634         * bytecode.c (optimize_compiled_function):
15635         * select-x.c (symbol_to_x_atom):
15636         * select-x.c (x_atom_to_symbol):
15637         * select-x.c (hack_motif_clipboard_selection):
15638         * select-x.c (selection_data_to_lisp_data):
15639         * select-x.c (lisp_data_to_selection_data):
15640         * select-x.c (Fx_get_cutbuffer_internal):
15641         * select-x.c (Fx_store_cutbuffer_internal):
15642         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15643         * buffer.h (TO_INTERNAL_FORMAT): New function.
15644         * emacs.c (make_arg_list_1):
15645         * emacs.c (make_argc_argv):
15646         * emacs.c (main_1):
15647         * emacs.c (Fdump_emacs):
15648         * emacs.c (split_string_by_emchar_1):
15649         * file-coding.h:
15650         * lisp.h:
15651         * lstream.h:
15652         * symsinit.h:
15653         * device-x.c (x_init_device):
15654         * device-x.c (Fx_valid_keysym_name_p):
15655         * device-x.c (Fx_get_font_path):
15656         * device-x.c (Fx_set_font_path):
15657         * glyphs.c (bitmap_to_lisp_data):
15658         * glyphs.c (pixmap_to_lisp_data):
15659         * alloc.c (make_ext_string): Use coding system arguments.  Update
15660         all callers.
15661         * alloc.c (build_string):
15662         * callproc.c (child_setup):
15663         * callproc.c (init_callproc):
15664         * fileio.c (lisp_strerror):
15665         * fileio.c (directory_file_name):
15666         * fileio.c (Fexpand_file_name):
15667         * fileio.c (Ffile_truename):
15668         * fileio.c (Fsysnetunam):
15669         * fileio.c (Fdo_auto_save):
15670         * sysdep.c (sys_readdir):
15671         * tests.c: New file.  Allow adding C tests.
15672         Replace GET_* macros with a more comprehensible and flexible
15673         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15674         Modify all calls.
15675         Any coding system can be used to do format conversion.
15676         Eliminate enum external_data_format.
15677         Eliminate convert_to_external_format.
15678         Eliminate convert_to_internal_format.
15679         Make sure file-name, keyboard, terminal, and ctext are always
15680         defined as coding systems or aliases.  Make
15681         file-name-coding-system, terminal-coding-system, and
15682         keyboard-coding-system magical variables that are equivalent to
15683         defining the corresponding coding system aliases.
15684
15685         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15686         * file-coding.c (Fcoding_system_alias_p): New function.
15687         * file-coding.c (Fcoding_system_aliasee): New function.
15688         * file-coding.c (append_suffix_to_symbol): New function.
15689         * file-coding.c (dangling_coding_system_alias_p): New function.
15690         * file-coding.c (Ffind_coding_system):
15691         * file-coding.c (Fcopy_coding_system):
15692         * file-coding.c (encode_coding_no_conversion):
15693         * file-coding.c (syms_of_file_coding):
15694         * file-coding.c (vars_of_file_coding):
15695         Rewrite coding system alias code.
15696         Allow nested aliases, like symbolic links.
15697         Allow redefinition of coding system aliases.
15698         Prevent existence of dangling coding system aliases.
15699
15700         * dired.c (Fuser_name_completion_1):
15701         * dired.c (Fuser_name_all_completions):
15702         A crash would happen if user did QUIT in the middle of building
15703         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15704
15705         * lisp.h:
15706         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15707
15708         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15709         an unsigned char *.  Update all callers.
15710
15711 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15712
15713         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15714
15715 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15716
15717         * elhash.c (hentry_description): Use more portable definition.
15718         (resize_hash_table): Initialize new hentries using
15719         xnew_array_and_zero, thereby simplifying the code.
15720
15721         * mule-charset.c (make_charset): Make sure entire object is
15722         initialized, to avoid Purify warnings.
15723
15724         * alloc.c (resize_string): Fix unlikely crash with big strings.
15725
15726 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15727
15728         * realpath.c (xrealpath):
15729         Don't call getwd().
15730
15731 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15732
15733         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15734
15735 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15736
15737         * unexelfsgi.c (unexec): Change the way we decide which segment
15738         should be extended.
15739
15740         Assumption that .bss section should be outside the PT_LOADable
15741         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15742         it's present) is inside the 'data' segment. This would fail the
15743         test which was used to find a segment to grow and cover new
15744         heap. Instead of this assumption, I created another one - on IRIX
15745         the segment to grow should start below .bss and it's address
15746         should extent above the end of .bss. Once this segment is
15747         identified, it's grown to accommodate the new heap and new
15748         zero-length .bss section is added at the end of .data2.
15749
15750 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15751
15752         * eval.c (Feval): Wrong number of arguments should use original
15753         function, not the indirect_function version of it.
15754
15755 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15756
15757         * glyphs-x.c (x_button_instantiate): Don't add image if
15758         it is not a pixmap.
15759         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15760         is relative.
15761
15762 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15763
15764         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15765         declaration.
15766         (DEFVAR_INT_MAGIC): Ditto.
15767         (DEFVAR_BOOL_MAGIC): Ditto.
15768         * glyphs.h: Reindent backslash.
15769
15770 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15771
15772         * glyphs-widget.c (layout_query_geometry):
15773         (layout_layout): Use correct types for gheight, gwidth.
15774
15775 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15776
15777         * EmacsManager.c (QueryGeometry): Purified.
15778
15779 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15780
15781         * alloc.c (make_float): Make sure entire object is initialized, to
15782         avoid Purify warnings.
15783         (pdump_register_sub): Remove useless assignment.
15784         (pdump): Use xmalloc, not malloc.
15785         (pdump_load): Use xmalloc, not malloc.
15786
15787 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15788
15789         * callproc.c:
15790         * dired-msw.c:
15791         * fileio.c:
15792         * process-nt.c:
15793         * redisplay-msw.c:
15794         * sysdep.c: Removed redundant #include <windows.h>
15795
15796 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15797
15798         * frame.c (delete_frame_internal): Do not delete device when its
15799         implementation so declares.
15800         (delete_frame_internal): Set device selected frame to nil when
15801         last frame goes away.
15802
15803         * device-msw.c (msprinter_device_system_metrics): Implemented.
15804         (mswindows_device_system_metrics): Added 'device-dpi property.
15805
15806         * device.c: (Fdevice_printer_p): Added.
15807         Added 'offset-workspace device metric.
15808
15809         * console.h (device_metrics): Declared DM_offset_workspace.
15810
15811 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15812
15813         * fileio.c (Ffile_truename): Remove pointless and confusing
15814         initialization of elen.
15815
15816         * glyphs-widget.c: Compiler warning fixes.
15817
15818 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15819
15820         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15821         instead of a Lisp_Object as argument to make it consistent with
15822         the other LIVE_P macros.
15823         (CHECK_LIVE_PROCESS): New macro.
15824
15825         * process.c: Declare Qprocess_live_p.
15826         (Fprocess_live_p): New function.
15827         (create_process): Use PROCESS_LIVE_P.
15828         (read_process_output): Ditto.
15829         (set_process_filter): Ditto.
15830         (Fdelete_process): Ditto.
15831         (kill_buffer_processes): Ditto
15832         (process_send_signal): Use CHECK_LIVE_PROCESS.
15833         (Fprocess_input_coding_system): Check whether process is still
15834         alive (fix PR#1061).
15835         (Fprocess_output_coding_system): Ditto.
15836         (Fprocess_coding_system): Ditto.
15837         (Fset_process_input_coding_system): Ditto.
15838         (Fset_process_output_coding_system): Ditto.
15839
15840 2000-01-23  Andy Piper  <andy@xemacs.org>
15841
15842         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15843         layout and widget.
15844
15845         * glyphs.c (mark_image_instance): take into account changed
15846         image_instance format.
15847         (image_instance_equal): ditto.
15848         (image_instance_hash): ditto.
15849
15850         * glyphs-widget.c (widget_instantiate): Incorporate layout
15851         instantiation here. Delay layout of the layout until later.
15852         (layout_instantiate): deleted.
15853         (layout_query_geometry): new function. get the geometry of a
15854         layout.
15855         (layout_layout): layout a layout dynamically.
15856         (image_instantiator_widget): New function - splitting up
15857         image_instantiator_format_create_glyphs_widget for netwinder
15858         compilation.
15859         (image_instantiator_buttons):
15860         (image_instantiator_edit_fields):
15861         (image_instantiator_combo_box):
15862         (image_instantiator_scrollbar):
15863         (image_instantiator_progress_guage):
15864         (image_instantiator_tree_view):
15865         (image_instantiator_tab_control):
15866         (image_instantiator_labels):
15867         (image_instantiator_layout): ditto.
15868         (image_instantiator_format_create_glyphs_widget): Call preceding
15869         functions.
15870
15871 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15872
15873         * process.c (Fset_process_coding_system):
15874         * device-x.c (Fx_keysym_hash_table):
15875         Docstring fixes.
15876
15877         * lstream.c (Lstream_write): Return documented value, not 0.
15878
15879         * fileio.c (directory_file_name):
15880         (Fsubstitute_in_file_name):
15881         (Fsubstitute_insert_file_contents_internal):
15882         (Fwrite_region_internal):
15883         * emacs.c:
15884         * sysdep.c:
15885         * getloadavg.c:
15886         * systty.h:
15887         Remove vestigial APOLLO-conditional code.
15888
15889 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15890
15891         * getpagesize.h: Add guard macros.
15892         * libsst.h: Add guard macros.
15893         * libst.h: Add guard macros.
15894         * line-number.h: Add guard macros.
15895         * ndir.h: Add guard macros.
15896         * sysfloat.h: Add guard macros.
15897         * sysfile.h: Add guard macros.
15898         * sysproc.h: Add guard macros.
15899         * syswait.h: Add guard macros.
15900         * xintrinsic.h: Add guard macros.
15901         * xintrinsicp.h: Add guard macros.
15902         * xmmanager.h: Add guard macros.
15903         * xmmanagerp.h: Add guard macros.
15904         * xmprimitive.h: Add guard macros.
15905         * xmu.h: Add guard macros.
15906         * gpmevent.h: Add copyright statement. Add guard macros.
15907         * miscplay.h: Add guard macros.
15908         * *.h: Use consistent C-standards-approved guard macro names.
15909
15910         * opaque.c (make_opaque): Switch parameter order.
15911         * opaque.h (make_opaque): Switch parameter order.
15912         Update all callers.
15913         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15914
15915         * config.h.in (type_checking_assert): Added.
15916         (bufpos_checking_assert): Added.
15917
15918 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15919
15920         * alloc.c: Harmless pdump changes.
15921         - Use countof().
15922         - spell alignment correctly.
15923         * sysdep.c: Use countof()
15924
15925 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15926
15927         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15928         initially_selected_for_input() console method, default to 0.
15929         (semi_canonicalize_console_connection): Try to delegate to
15930         canonicalize_console_connection if no such console method.
15931         (canonicalize_console_connection): Vice versa.
15932         (print_console): Do not print nil connection.
15933
15934         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15935         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15936         (XDEVIMPF_FRAMELESS_OK): Added.
15937         (CONSOLE_INHERITS_METHOD): Added.
15938
15939         * console-msw.c (mswindows_canonicalize_console_connection):
15940         Added.
15941         (mswindows_canonicalize_device_connection): Added.
15942
15943         * console-msw.h (struct msprinter_device): Added this struct and
15944         accessor macros.
15945         (mswindows_device): Made fontlist a lisp object.
15946
15947         * device.c (semi_canonicalize_device_connection):  Try to delegate
15948         to canonicalize_device_connection if no such console method.
15949         (canonicalize_device_connection): Vice versa.
15950         (print_device): Do not print nil connection.
15951
15952         * device-msw.c (mswindows_init_device): Call InitCommonControls
15953         when have widgets.
15954         (mswindows_delete_device): Removed fontlist deallocation.
15955         (mswindows_mark_device): Added.
15956
15957         * events.c (event_equal): Added abort() at unreached code.
15958         (event_hash): Ditto.
15959
15960         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15961         fallback tags of Windows devices.
15962
15963         * general.c (syms_of_general): Initialized Qmsprinter.
15964
15965         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15966         of fallback tags of Windows devices.
15967
15968         * lisp.h: Declared Qmsprinter.
15969
15970         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15971         of strings.
15972         (mswindows_list_fonts): Ditto.
15973         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15974         that it can be used by both mswindows and msprinter devices.
15975         (initialize_font_instance): Added.
15976         (mswindows_initialize_font_instance): Use it.
15977         (msprinter_initialize_font_instance): Added.
15978
15979         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15980         and implementation flags check.
15981         (redisplay_without_hooks): Changed the call to the above.
15982         (Fredraw_device): Ditto.
15983         (Fredisplay_device): Ditto.
15984
15985         * redisplay-msw.c (get_frame_dc): Implemented.
15986         (get_frame_compdc): Implemented.
15987         (many functions): Use the two functions above to get device
15988         contexts, ether for a window or a printer.
15989
15990 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15991
15992         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15993         initialization here.
15994         (init_symbols_once_early): Call it.
15995         * emacs.c (main_1): Call it.
15996         * symsinit.h: Declare it.
15997
15998 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15999
16000         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16001         Lisp_Object.
16002         (pdump_backtrace): Ditto.
16003         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16004         (pdump_get_entry): Abort if trying to register a null pointer.
16005         (pdump_dump_data): Cleanup types when relocating.
16006         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16007         (pdump_dump_rtables): Remove bad casts.
16008         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16009         Lisp_Object instead of a EMACS_INT for the hashtable
16010         reorganization.
16011
16012 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16013
16014         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16015
16016         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16017
16018         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16019
16020         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16021
16022 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16023
16024         * faces.h (FACE_STRIKETHRU_P): Added.
16025
16026         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16027         of font variants.
16028
16029         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16030         (mswindows_set_dc_font): New function, aware of font variants,
16031         separated from mswindows_update_dc.
16032
16033         * objects-msw.h (struct mswindows_font_instance_data): Added
16034         definition.
16035
16036         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16037         cached fonts and the data structure.
16038         (mswindows_initialize_font_instance): Added creation of font data
16039         structure.
16040         (mswindows_print_font_instance): Print at least something.
16041         (mswindows_create_font_variant): Implemented.
16042         (mswindows_get_hfont): Implemented.
16043
16044 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16045
16046         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16047         prototyping problem with msvc.
16048
16049         * emacs.c (main_1): added syms_of_gui_mswindows() call
16050
16051         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16052         syms_of_gui_mswindows() function
16053
16054         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16055
16056 2000-01-18  Martin Buchholz <martin@xemacs.org>
16057
16058         * XEmacs 21.2.27 is released.
16059
16060 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16061
16062         * glyphs-eimage.c (struct tiff_error_struct):
16063         (tiff_error_func):
16064         (tiff_warning_func):
16065         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16066
16067         * unexmips.c:
16068         * unexhp9k3.c:
16069         * unexfreebsd.c:
16070         * unexec.c: Remove vestigial Lucid C code.
16071         * unexalpha.c:
16072         * unexaix.c:
16073         * termcap.c:
16074         * libsst.c: Ansify.
16075         Remove declarations of errno and strerror().
16076
16077         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16078
16079         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16080
16081 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16082
16083         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16084         Optimize.
16085
16086 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16087
16088         * md5.c:
16089         * file-coding.c:
16090         * file-coding.h:
16091         Change enum eol_type to eol_type_t.
16092
16093 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16094
16095         * gui.c (get_gui_callback): Check cons before accessing car.
16096
16097 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16098
16099         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16100         (XSETSPECIFIER_TYPE): Ditto.
16101
16102 2000-01-17  Didier Verna  <didier@xemacs.org>
16103
16104         * redisplay.c (generate_fstring_runes): compute string size in
16105         characters, not bytes.
16106
16107 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16108
16109         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16110
16111 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16112
16113         * print.c (print_error_message): Call print_prepare().
16114
16115 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16116
16117         * .dbxrc: Renamed from dbxrc.
16118
16119         * events.c (event_to_character):
16120         Use `assert (foo)' instead of `if (!foo) abort()'
16121
16122         * .gdbinit (xtype): Add documentation.
16123         * .gdbinit (check-temacs): New function.
16124         * .gdbinit (check-xemacs): New function.
16125         * dbxrc (check-xemacs): New function.
16126         * dbxrc (check-xemacs): New function.
16127
16128 2000-01-14  Andy Piper  <andy@xemacs.org>
16129
16130         * glyphs-widget.c (widget_query_geometry): Make sure that we
16131         calculate default dimensions correctly.
16132
16133 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16134
16135         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16136
16137         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16138         pdump_wire'd variable.
16139
16140         * emacs.c: (main_1): Conditionalized calls to
16141         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16142
16143 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16144
16145         * window.c (Fset_window_configuration):
16146         * sysdep.c (_start):
16147         * input-method-motif.c (res):
16148         * event-Xt.c (Xt_process_to_emacs_event):
16149         Simple compiler warning fixes.
16150
16151         * bytecode.c (funcall_compiled_function): Use the original
16152         function symbol on the backtrace list in preference to the
16153         compiled_function object in error messages.
16154
16155 2000-01-13  Andy Piper  <andy@xemacs.org>
16156
16157         * glyphs-x.c (update_widget_face): Make sure we update the widget
16158         background as well as foreground.
16159
16160 2000-01-13  Andy Piper  <andy@xemacs.org>
16161
16162         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16163         fields to subwindow.
16164         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16165         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16166         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16167         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16168
16169         * glyphs-widget.c (check_valid_tab_orientation): new function.
16170         (initialize_widget_image_instance): zero orientation and
16171         justification.
16172         (widget_instantiate): pick up orientation.
16173         (tab_control_query_geometry): return appropriate values for
16174         vertical tabs.
16175
16176         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16177         appropriate creation flags for left, right and bottom tabs.
16178
16179         * s/cygwin32.h: add tab definitions.
16180
16181 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16182
16183         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16184         frame upon hiding a subwindow.
16185         (mswindows_button_instantiate): Changed the push button style to
16186         BS_PUSHBUTTON.
16187         (mswindows_button_instantiate): Removed button BS_NOTIFY
16188         style.
16189         (mswindows_button_instantiate): Removed redundant check for
16190         a disabled gui item.
16191         (mswindows_button_instantiate): Made use of WS_TABSTOP
16192         consistent: "operable" controls (edit, button, tree, scroll) have
16193         this style, "display-only" ones (static, progress gauge) do
16194         not. This style is currently ignored by XEmacs though. Also,
16195         removed the WS_EX_CONTROLPARENT style - it is not for children,
16196         it is for their parents!
16197         (mswindows_edit_field_instantiate): Ditto.
16198         (mswindows_progress_gauge_instantiate): Ditto.
16199         (mswindows_tree_view_instantiate): Ditto.
16200         (mswindows_tab_control_instantiate): Ditto.
16201         (mswindows_scrollbar_instantiate): Ditto.
16202         (mswindows_combo_box_instantiate): Ditto.
16203         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16204         style to the "clip" window.
16205         (mswindows_button_instantiate): Removed compilation warning by
16206         equally typing terms of the ?: operator.
16207
16208 2000-01-12  Didier Verna  <didier@xemacs.org>
16209
16210         * redisplay.c (generate_fstring_runes): new parameter holding the
16211         last modeline-format extent.
16212         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16213         extent, fill the glyph block with it.
16214         (generate_fstring_runes): handle these parameters.
16215         (generate_formatted_string_db): ditto.
16216
16217         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16218         glyphs'extents in the modeline.
16219
16220 1999-01-11  Mike Woolley  <mike@bulsara.com>
16221
16222         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16223         256Mb, as a workaround for the non-starting problem many people
16224         have experienced.
16225
16226 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16227
16228         * console-tty.c (Fset_console_tty_output_coding_system):
16229         Force redrawing tty frame.
16230
16231 2000-01-10  Didier Verna  <didier@xemacs.org>
16232
16233         * redisplay.c (generate_fstring_runes): fix size computation bug.
16234
16235 2000-01-09  William M. Perry <wmperry@aventail.com>
16236
16237         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16238
16239 2000-01-09  Andy Piper  <andy@xemacs.org>
16240
16241         * glyphs-msw.c: index -> i to avoid shadows.
16242         (xbm_create_bitmap_from_data): make static.
16243         (check_valid_string_or_int): deleted.
16244         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16245
16246         * glyphs-x.c (x_update_subwindow): remove unused args.
16247
16248         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16249         back pointer - this is done in allocate_image_instance.
16250         (query_string_font): return Qnil to make the compiler happy.
16251         (unmap_subwindow): set to ~0 to make the compiler happy.
16252         (glyph_query_geometry): comment out until used.
16253         (glyph_layout): ditto.
16254
16255 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16256
16257         * insdel.c (signal_after_change): Remove extraneous unbind_to().