update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Q_denotational): New variable.
4         (Q_denotational_from): New variable.
5         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
6         (put_char_attribute): New function.
7         (Fput_char_attribute): Use `put_char_attribute'; regard
8         `->denotational' and `<-denotational' as same as `->unified' and
9         `<-unified'.
10         (syms_of_chartab): Add new symbols `->denotational' and
11         `<-denotational'.
12
13 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
16         `Fget_char_attribute'.
17         (Fchar_variants): Likewise.
18         (get_char_table): Likewise.
19         (Fchar_feature): New function.
20         (put_char_composition): Use `Fchar_feature' instead of
21         `Fget_char_attribute'.
22         (Fput_char_attribute): Likewise; don't put the target character
23         into its `->unified' value.
24         (syms_of_chartab): Add new builtin function `char-feature'.
25
26 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
27
28         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
29         `Fget_char_attribute'.
30         (char_encode_utf8): Likewise.
31
32         * chartab.h: Add an EXFUN for `Fchar_feature'.
33
34 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
35
36         * chartab.c (Vnext_defined_char_id): New variable.
37         (Fput_char_attribute): Accept characters in `->unified'.
38         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
39         new characters which are not related with builtin char-id ranges.
40         (vars_of_chartab): Add new variable `next-defined-char-id'.
41
42 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * chartab.c (Q_unified): New variable.
45         (Q_unified_from): New variable.
46         (Fput_char_attribute): Add code for `->unified'.
47         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
48         XEmacs CHISE.
49
50 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
51
52         * mule-charset.c (decode_ccs_conversion): New function.
53         (decode_defined_char): Use `decode_ccs_conversion'.
54         (decode_builtin_char): Likewise.
55
56 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * char-ucs.h: Change some charset-ids of private coded-charsets.
59
60 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
61
62         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
63         (char_encode_as_entity_reference): Likewise.
64         (decode_coding_big5): Modify for `decode_defined_char' and
65         `DECODE_CHAR'.
66         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
67         avoid compiler warning.
68         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
69
70         * mule-charset.c (decode_defined_char): Add new argument
71         `without_inheritance'.
72         (Fdecode_char): Add new optional argument `without_inheritance'.
73         (Fdecode_builtin_char): Modify for `Fdecode_char'.
74
75         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
76         (simplify_char_spec): Likewise.
77
78         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
79         setting.
80
81         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
82         (map_char_table): Likewise.
83         (Fdefine_char): Use `Fdecode_char' without inheritance.
84         (Ffind_char): Modify for `Fdecode_char'.
85
86         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
87
88         * char-ucs.h (decode_defined_char): Add new argument
89         `without_inheritance'.
90         (DECODE_CHAR): Likewise.
91         (MAKE_CHAR): Modify for `DECODE_CHAR'.
92
93 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * chartab.c (Vchise_system_db_directory): New variable.
96         (vars_of_chartab): Add new variable `chise-system-db-directory'.
97
98 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * chartab.c: EXFUN `Fmount_char_attribute_table'.
101         (print_chartab_range): Don't define when `UTF2000' is defined.
102         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
103         `CHISE_DS_open'.
104
105 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
108         and optional argument `rehash' is specified, call
109         `open_chise_data_source_maybe' before
110         `chise_ds_foreach_char_feature_name' is called.
111
112 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
113
114         * chartab.c (char_attribute_list_reset_map_func): New function
115         when HAVE_LIBCHISE is defined.
116         (Fchar_attribute_list): Add new optional argument `rehash' when
117         HAVE_LIBCHISE is defined.
118         (open_chise_data_source_maybe): Use "chise-db" instead of
119         "char-db".
120         (char_attribute_system_db_file): Likewise.
121         (Fload_char_attribute_table): Use
122         `chise_feature_foreach_char_with_value' instead of
123         `chise_char_feature_value_iterate'.
124
125 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
126
127         * chartab.c (Vchise_db_directory): New variable.
128         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
129
130 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
131
132         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
133         instead of HAVE_CHISE to specify using with libchise.
134
135         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
136
137         * chartab.h: Don't use HAVE_CHISE_CLIENT.
138
139         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
140         defined or HAVE_LIBCHISE_LIBCHISE is defined.
141         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
142         is defined.
143         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
144         HAVE_CHISE to specify using with libchise.
145         (syms_of_chartab): Don't define symbol `system-char-id' when
146         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
147
148 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
149
150         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
151         specify CHISE DB support.
152         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
153         of `char_attribute_system_db_file' to check feature DB file.
154
155         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
156         HAVE_CHISE_CLIENT to specify CHISE DB support.
157
158         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
159         specify CHISE DB support.
160         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
161         not defined.
162         (Freset_char_attribute_table): Use `chise_feature_setup_db'
163         instead of `char_attribute_system_db_file' to check feature DB
164         file.
165
166 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
169         `HAVE_CHISE_CLIENT'.
170
171 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
172
173         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
174         (Fsave_charset_mapping_table): Don't use
175         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
176
177         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
178         (HAVE_LIBCHISE): New macro.
179
180         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
181
182         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
183         (Fsave_char_attribute_table): Don't use
184         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
185
186 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
189         defined.
190         (save_uint16_byte_table): Likewise.
191         (save_byte_table): Likewise.
192         (char_table_get_db): Use `chise_ds_load_char_feature_value'
193         instead of `chise_char_load_feature_value'.
194         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
195
196 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * chartab.h (struct Lisp_Char_Table): Delete member
199         `feature_table' if CHISE is defined.
200
201         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
202         (Fcopy_char_table): Likewise.
203         (char_table_open_db_maybe): Likewise.
204         (char_table_close_db_maybe): Likewise.
205         (char_table_get_db): Likewise.
206         (Fmount_char_attribute_table): Likewise.
207         (Fload_char_attribute_table): Likewise.
208
209 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
210
211         * mule-charset.c (load_char_decoding_entry_maybe): Use
212         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
213         `chise_ccs_decode'.
214
215 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
218         instead of `chise_open_data_source'.
219         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
220         `chise_ds_close'.
221
222 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
223
224         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
225         instead of `chise_ds_open_feature_table'.
226         (char_table_close_db_maybe): Don't use `chise_ft_close'.
227
228 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
229
230         * mule-charset.c (Fsave_charset_mapping_table): Use
231         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
232         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
233         `chise_ccs_sync' instead of `chise_ccst_close'.
234         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
235
236         * chartab.c (open_chise_data_source_maybe): Modify for
237         `chise_open_data_source'.
238         (char_table_open_db_maybe): Modify for
239         `chise_ds_open_feature_table'.
240
241 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
242
243         * mule-charset.c (load_char_decoding_entry_maybe): Use
244         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
245         `chise_ccst_close'.
246
247 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
248
249         * mule-charset.c (Fsave_charset_mapping_table): Use
250         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
251         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
252         `chise_dt_put_char' and `chise_dt_close'.
253         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
254         `chise_ccs_decode' and `chise_ccst_close' instead of
255         `chise_ds_open_decoding_table', `chise_dt_get_char' and
256         `chise_dt_close'.
257
258         * chartab.c (char_table_get_db): Use
259         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
260         (load_char_attribute_table_map_func): Modify for
261         `chise_char_feature_value_iterate'.
262         (Fload_char_attribute_table): Use
263         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
264
265 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
266
267         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
268
269 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
270
271         * chartab.c (put_char_table): Modify for inherited coded-charsets
272         in XEmacs CHISE.
273
274 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
275
276         * chartab.c (Fput_char_table_map_function): Fixed.
277         (word_boundary_p): Don't check charset in XEmacs CHISE.
278
279 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
280
281         * mule-charset.c (Fsave_charset_mapping_table): Use
282         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
283         instead of `chise_open_decoding_table'; refer
284         `default_chise_data_source'; use `chise_dt_close' instead of
285         `chise_close_decoding_table'.
286         (load_char_decoding_entry_maybe): Likewise.
287
288         * chartab.c (default_chise_data_source): New variable when `CHISE'
289         is defined.
290         (Fcopy_char_table): `ct->ds' is deleted.
291         (open_chise_data_source_maybe): New function.
292         (Fclose_char_data_source): New function.
293         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
294         use `chise_ds_open_feature_table' instead of
295         `chise_open_feature_table'.
296         (char_table_close_db_maybe): Use `chise_ft_close' instead of
297         `chise_close_feature_table'; `cit->ds' is deleted.
298         (syms_of_chartab): Add new builtin function
299         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
300
301         * chartab.h (default_chise_data_source): New extern variable.
302         (open_chise_data_source_maybe): New prototype.
303         (struct Lisp_Char_Table): Delete `ds'.
304
305 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
306
307         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
308         `CHISE' is defined.
309
310 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
311
312         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
313         not defined; add code for non-libchise setting.
314         (char_table_close_db_maybe): Likewise.
315         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
316         defined.
317         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
318         even if `CHISE' is not defined.
319         (Freset_char_attribute_table): Likewise.
320         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
321         `char_table_close_db_maybe' even if `CHISE' is not defined; use
322         `char_table_get_db'.
323         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
324         `char_table_close_db_maybe' even if `CHISE' is not defined.
325
326 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
327
328         * chartab.c (char_table_open_db_maybe): New function.
329         (char_table_close_db_maybe): New function.
330         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
331         (Freset_char_attribute_table): Likewise.
332         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
333         `char_table_close_db_maybe'.
334         (Fload_char_attribute_table): Likewise.
335
336 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
337
338         * chartab.c: Don't include <chise.h> because it is included in
339         chartab.h.
340         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
341         defined.
342         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
343         `CHISE' is defined.
344         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
345         `CHISE' is defined.
346         (Fclose_char_attribute_table): Close `ct->feature_table' and
347         `ct->ds' when `CHISE' is defined.
348         (Freset_char_attribute_table): Likewise.
349         (load_char_attribute_maybe): Use `cit->ds' and
350         `cit->feature_table' when `CHISE' is defined.
351         (Fload_char_attribute_table): Likewise.
352
353         * chartab.h: Include <chise.h> when `CHISE' is defined.
354         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
355         when `CHISE' is defined.
356
357 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
358
359         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
360         is defined.
361         (char_table_description): Likewise.
362         (Fmake_char_table): Likewise.
363         (Fcopy_char_table): Likewise.
364         (Fmount_char_attribute_table): Likewise.
365         (Fclose_char_attribute_table): Likewise.
366         (Freset_char_attribute_table): Likewise.
367         (load_char_attribute_maybe): Likewise.
368         (Fload_char_attribute_table): Likewise.
369
370         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
371         defined.
372
373 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
374
375         * chartab.c (load_char_attribute_table_map_func): New function
376         when CHISE is defined.
377         (Qload_char_attribute_table_map_function): Don't define when CHISE
378         is defined.
379         (Fload_char_attribute_table_map_function): Likewise.
380         (Fload_char_attribute_table): Use libchise when `CHISE' is
381         defined.
382         (syms_of_chartab): Don't define
383         `load-char-attribute-table-map-function' when CHISE is defined.
384
385 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
386
387         * chartab.c: Include <chise.h> when `CHISE' is defined.
388         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
389
390 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
391
392         * mule-charset.c (charset_code_point): Fix problem when searching
393         in mother CCS fails with `defined_only' mode.
394
395 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
398         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
399         (put_char_composition): Likewise.
400         (Fput_char_attribute): Likewise.
401         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
402
403 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
404
405         * chartab.c (Q_ucs): Deleted.
406         (Fput_char_attribute): Don't refer `->ucs'.
407         (Fdefine_char): Likewise.
408         (Ffind_char): Likewise.
409         (syms_of_chartab): Delete `->ucs'.
410
411 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
412
413         * mule-charset.c (Qmap_cns11643_2): Renamed from
414         `Qchinese_cns11643_2'.
415         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
416         `chinese-cns11643-2'.
417         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
418         `=cns11643-2'.
419
420 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
421
422         * mule-charset.c (Qmap_cns11643_1): Renamed from
423         `Qchinese_cns11643_1'.
424         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
425         `chinese-cns11643-1'.
426         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
427         `=cns11643-1'.
428
429 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
430
431         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
432         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
433         `chinese-gb12345'.
434         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
435         `=gb12345'.
436
437 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
438
439         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
440         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
441         `chinese-gb2312'.
442         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
443         `=gb2312'.
444
445 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
446
447         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
448         (syms_of_mule_charset): Add new symbol `=big5' instead of
449         `chinese-big5'.
450         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
451
452 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
455         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
456         `korean-ksc5601'.
457         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
458         `=ks-x1001'.
459
460 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
461
462         * mule-charset.c (Qmap_jis_x0212): Renamed from
463         `Qjapanese_jisx0212'.
464         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
465         `japanese-jisx0212'.
466         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
467         `=jis-x0212'.
468
469 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
470
471         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
472         `Qjapanese_jisx0208'.
473         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
474         of `japanese-jisx0208'.
475         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
476         `=jis-x0208-1983'.
477
478 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
481         `Qjapanese_jisx0208_1978'.
482         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
483         of `japanese-jisx0208-1978'.
484         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
485         `=jis-x0208-1978'.
486
487 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
488
489         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
490         only for XEmacs CHISE.
491
492 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
493
494         * char-ucs.h: Compact non-ISO-IR charset-ids.
495         (LEADING_BYTE_UCS): Changed to -177.
496         (LEADING_BYTE_CONTROL_1): Changed to -77.
497         (LEADING_BYTE_UCS_BMP): Changed to -176.
498         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
499
500 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
501
502         * mule-charset.c (Qiso_ir): New variable.
503         (Fmake_charset): Recognise new property `iso-ir'.
504         (syms_of_mule_charset): Add new symbol `iso-ir'.
505
506 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
507
508         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
509         n to -n; charset-id of non ISO-IR sets are changed to positive
510         numbers.
511
512 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
513
514         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
515         for &MCS-XXXXXXXX; values.
516
517 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
518
519         * mule.c (Vxemacs_chise_version): Renamed from
520         `Vutf_2000_version'.
521         (vars_of_mule): Add new variable `xemacs-chise-version'; define
522         `utf-2000-version' as an alias for `xemacs-chise-version'.
523
524 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
525
526         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
527         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
528         defined.
529
530         * config.h.in (CHISE): New macro.
531
532 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
533
534         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
535         of `ucs'.
536         (Qmap_ucs): New variable.
537         (syms_of_mule_charset): Add new symbol `=ucs'.
538         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
539
540         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
541         (simplify_char_spec): Likewise.
542
543         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
544
545         * char-ucs.h (Qmap_ucs): New extern variable.
546
547 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
548
549         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
550         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
551         don't define it when UTF2000 is not defined.
552         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
553         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
554         when UTF2000 is not defined.
555         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
556         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
557
558 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
559
560         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
561
562         * mule-charset.c (Vcharset_ucs_gb): Deleted.
563         (Qucs_gb): Deleted.
564         (syms_of_mule_charset): Delete `ucs-gb'.
565         (complex_vars_of_mule_charset): Likewise.
566
567 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
568
569         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
570
571         * mule-charset.c (Vcharset_ucs_cns): Deleted.
572         (Qucs_cns): Deleted.
573         (syms_of_mule_charset): Delete `ucs-cns'.
574         (complex_vars_of_mule_charset): Likewise.
575
576 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
577
578         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
579
580         * mule-charset.c (Vcharset_ucs_jis): Deleted.
581         (Qucs_jis): Deleted.
582         (syms_of_mule_charset): Delete `ucs-jis'.
583         (complex_vars_of_mule_charset): Likewise.
584
585 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
586
587         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
588
589         * mule-charset.c (Vcharset_ucs_ks): Deleted.
590         (Qucs_ks): Deleted.
591         (syms_of_mule_charset): Delete `ucs-ks'.
592         (complex_vars_of_mule_charset): Likewise.
593
594 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
595
596         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
597         (Qideograph_daikanwa_2): Deleted.
598         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
599         (complex_vars_of_mule_charset): Likewise.
600
601         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
602         (LEADING_BYTE_DAIKANWA_1): Deleted.
603         (LEADING_BYTE_DAIKANWA_2): Deleted.
604         (MIN_CHAR_DAIKANWA): Deleted.
605         (MAX_CHAR_DAIKANWA): Deleted.
606
607 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
608
609         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
610         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
611         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
612
613         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
614         (Vcharset_ideograph_daikanwa): Deleted.
615         (Qideograph_hanziku_{1..12}): Deleted.
616         (Qideograph_daikanwa): Deleted.
617         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
618         Vcharset_ideograph_daikanwa.
619         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
620         `ideograph-hanziku-{1..12}'.
621         (complex_vars_of_mule_charset): Likewise.
622
623 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
624
625         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
626
627         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
628         (Qideograph_gt_pj_{1..11}): Deleted.
629         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
630         (complex_vars_of_mule_charset): Likewise.
631
632 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
633
634         * mule-charset.c (Vcharset_ucs_big5): Deleted.
635         (Vcharset_ideograph_gt): Deleted.
636         (Qucs_big5): Deleted.
637         (Qideograph_gt): Deleted.
638         (syms_of_mule_charset): Delete symbol `ucs-big5' and
639         `ideograph-gt'.
640         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
641         and `ideograph-gt'.
642
643         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
644         (LEADING_BYTE_GT): Deleted.
645         (MIN_CHAR_GT): Deleted.
646         (MAX_CHAR_GT): Deleted.
647
648 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
649
650         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
651
652 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
655         (save_uint16_byte_table): Likewise.
656         (save_byte_table): Likewise; convert values by it.
657         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
658         for `ideographic-structure'.
659         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
660         as the filter for `ideographic-structure'.
661
662 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
663
664         * chartab.c (put_char_composition): New function.
665         (Fput_char_attribute): Use `put_char_composition'; use
666         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
667
668         * fns.c (simplify_char_spec): New function.
669         (char_ref_simplify_spec): New function.
670         (Fchar_refs_simplify_char_specs): New function.
671         (syms_of_fns): Add new builtin function
672         `char-refs-simplify-char-specs'.
673
674 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
675
676         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
677         (Qideograph_cbeta): Deleted.
678         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
679         (complex_vars_of_mule_charset): Likewise.
680
681         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
682         (MIN_CHAR_CBETA): Comment out.
683         (MAX_CHAR_CBETA): Likewise.
684
685 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
686
687         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
688         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
689         CHISE client feature.
690
691 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
692
693         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
694
695 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
696
697         * mule-charset.c (charset_lookup_description_1): Use
698         `NUM_LEADING_BYTES' in UTF-2000.
699
700 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
701
702         * char-ucs.h (GC_CHARSETP): Deleted.
703
704 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
705
706         * char-ucs.h (MAX_CHAR_GT): Updated.
707
708 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
709
710         * text-coding.c: Sync with XEmacs 21.4.10.
711
712 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * mule-charset.c (Vcharset_china3_jef): Deleted.
715         (Qchina3_jef): Deleted.
716         (syms_of_mule_charset): Don't define `china3-jef'.
717         (complex_vars_of_mule_charset): Likewise.
718
719         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
720         (MIN_CHAR_CHINA3_JEF): Comment out.
721         (MAX_CHAR_CHINA3_JEF): Comment out.
722
723 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * mule-charset.c (Vcharset_ucs_gb): New variable.
726         (Qucs_gb): New variable.
727         (syms_of_mule_charset): Add new symbol `ucs-gb'.
728         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
729
730         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
731
732 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * mule-charset.c (charset_code_point): if a coded-charset has a
735         final-byte, don't inherit the builtin range of the mother CCS.
736
737 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
738
739         * mule-charset.c (charset_code_point): Fix problem about
740         inheritance.
741
742 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
743
744         * mule-charset.c (decode_builtin_char): Reorganized.
745
746 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * text-coding.c (char_encode_as_entity_reference): Modify for
749         `charset_code_point'.
750         (char_encode_shift_jis): Likewise.
751         (char_encode_big5): Likewise.
752         (char_encode_utf8): Likewise.
753         (char_encode_iso2022): Likewise.
754
755         * mule-charset.c (charset_code_point): Add new argument
756         `defined_only'.
757         (Fencode_char): Add new optional argument `defined_only'.
758
759         * chartab.c (put_char_table): Modify for `charset_code_point'.
760
761         * char-ucs.h (charset_code_point): Add new argument
762         `defined_only'.
763         (encode_char_1): Modify for `charset_code_point'.
764
765 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
768         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
769
770 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
773         (Qjis_x0208): Likewise.
774         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
775         XCHARSET_FINAL(charset).
776         (charset_code_point): Modify condition for final-byte based
777         builtin-chars.
778         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
779         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
780         in UTF-2000; specify `=jis-x0208' as the mother of
781         `japanese-jisx0208-1978', `japanese-jisx0208' and
782         `japanese-jisx0208-1990' in UTF-2000.
783
784 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
785
786         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
787
788 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * text-coding.c (decode_coding_utf16): Support UTF-16.
791         (char_encode_utf16): Fixed.
792
793 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
794
795         * text-coding.c (Qutf16): New variable in MULE.
796         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
797         (Fcoding_system_type): Add `utf-16' in MULE.
798         (struct detection_state): Add a structure for utf16 in MULE.
799         (detect_coding_type): Setup st->utf16.mask in MULE.
800         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
801         MULE.
802         (reset_encoding_stream): Use `char_encode_utf16' and
803         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
804         (detect_coding_utf16): New function [incomplete].
805         (decode_coding_utf16): New function [support only UCS-2].
806         (char_encode_utf16): New function.
807         (char_finish_utf16): New function.
808         (syms_of_file_coding): Add new symbol `utf-16'; setup
809         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
810
811         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
812         UTF-2000.
813         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
814         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
815
816 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
817
818         * chartab.c (put_char_table): When a charset is specified as a
819         range in UTF-2000, don't support builtin characters.
820
821 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
822
823         * mule-charset.c (decode_defined_char): Don't refer external
824         database if Qunbound or Qnil are found.
825         (Fsave_charset_mapping_table): Don't define it if
826         HAVE_CHISE_CLIENT is not defined.
827         (Freset_charset_mapping_table): New function.
828         (load_char_decoding_entry_maybe): Store Qnil if a character is not
829         found in external database.
830         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
831         if HAVE_CHISE_CLIENT is not defined; add new builtin function
832         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
833
834 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
835
836         * text-coding.c (decode_coding_utf8): Check CCS is specified or
837         not.
838
839 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
840
841         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
842         Q_lowercase, Q_uppercase in UTF-2000.
843
844         * chartab.c (get_char_table): Add special code for the standard
845         case table to use character attribute `->downcase' and
846         `->uppercase' for case operations in UTF-2000.
847
848         * casetab.c (Qflippedcase): New variable in UTF-2000.
849         (Q_lowercase): Likewise.
850         (Q_uppercase): Likewise.
851         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
852         and `->uppercase' in UTF-2000.
853         (complex_vars_of_casetab): Assign attribute name `downcase' to
854         downcase and CANON table of Vstandard_case_table in UTF-2000;
855         assign attribute name `flippedcase' to upcase and EQV table of
856         Vstandard_case_table in UTF-2000.
857
858 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
859
860         * text-coding.c (decode_add_er_char): Support isolated-chars.
861         (char_encode_as_entity_reference): Likewise.
862
863 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
864
865         * emacs.c (Vutf_2000_lisp_directory): New variable.
866         (Vconfigure_utf_2000_lisp_directory): Likewise.
867         (complex_vars_of_emacs): Add new variable
868         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
869
870 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
871
872         * char-ucs.h (DECODE_CHAR): Delete special code for
873         `chinese-big5-1' and `chinese-big5-2'.
874
875         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
876         (Qbig5_2): Likewise.
877         (decode_defined_char): Support CONVERSION_BIG5_1 and
878         CONVERSION_BIG5_2.
879         (decode_builtin_char): Likewise.
880         (charset_code_point): Likewise.
881         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
882         'conversion in UTF-2000.
883         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
884         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
885         `chinese-big5-2' as children of `chinese-big5'.
886
887         * char-ucs.h (CONVERSION_BIG5_1): New macro.
888         (CONVERSION_BIG5_2): New macro.
889
890 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
891
892         * text-coding.c (char_encode_big5): Support entity-reference.
893
894 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
895
896         * text-coding.c (char_encode_as_entity_reference): New function.
897         (char_encode_utf8): Use `char_encode_as_entity_reference'.
898
899 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
900
901         * text-coding.c (decode_coding_big5): Support entity-reference
902         decoding feature.
903
904 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * text-coding.c (allocate_coding_system): Initialize initial
907         charsets for CODESYS_UTF8.
908         (Fmake_coding_system): Accept charset-g0, charset-g1 and
909         charset-g2 for CODESYS_UTF8.
910         (decode_coding_utf8): Use charset-g0.
911         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
912         to force variants to map to UCS.
913
914 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
915
916         * text-coding.c (Qutf_8_mcs): New variable.
917         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
918         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
919         instead of `utf-8' in UTF-2000.
920
921 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
922
923         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
924         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
925         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
926         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
927         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
928         CONVERSION_96x96x96x96 are introduced.
929         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
930         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
931         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
932
933         * char-ucs.h (CONVERSION_94): New macro.
934         (CONVERSION_96): New macro.
935         (CONVERSION_94x94): New macro.
936         (CONVERSION_96x96): New macro.
937         (CONVERSION_94x94x94): New macro.
938         (CONVERSION_96x96x96): New macro.
939         (CONVERSION_94x94x94x60): New macro.
940         (CONVERSION_94x94x94x94): New macro.
941         (CONVERSION_96x96x96x96): New macro.
942
943 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
944
945         * chartab.c (Vcharacter_variant_table): Deleted.
946         (Fchar_variants): Use character-attribute `->ucs-variants' instead
947         of `Vcharacter_variant_table'.
948         (Fput_char_attribute): Likewise.
949         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
950         (complex_vars_of_chartab): Likewise.
951
952 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
953
954         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
955
956         * fns.c (Qideographic_structure): New variable.
957         (Qkeyword_char): New variable.
958         (ids_format_unit): New function.
959         (Fideographic_structure_to_ids): New function.
960         (syms_of_fns): Add new symbols `ideographic-structure' and
961         `:char'; add new builtin function `ideographic-structure-to-ids'.
962
963         * data.c (Fchar_ref_p): New function.
964         (syms_of_data): Add new builtin function `char-ref-p'.
965
966         * chartab.h: Add an EXFUN for `Ffind_char'.
967
968 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
969
970         * text-coding.c (Vcharacter_composition_table): Deleted.
971         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
972         in every UTF-2000.
973
974         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
975         UTF-2000.
976         (Vcharacter_composition_table): Deleted.
977         (Fget_composite_char): Use the implementation for external-DB
978         support in every UTF-2000.
979         (Fput_char_attribute): Likewise.
980         (char_attribute_system_db_file): Don't define if external-DB
981         feature is not available.
982         (Fsave_char_attribute_table): Likewise.
983         (Fmount_char_attribute_table): Likewise.
984         (Fclose_char_attribute_table): Likewise.
985         (Freset_char_attribute_table): Likewise.
986         (Fload_char_attribute_table): Likewise.
987         (syms_of_chartab): Don't define `save-char-attribute-table',
988         `mount-char-attribute-table', `reset-char-attribute-table',
989         `close-char-attribute-table' and `load-char-attribute-table' if
990         external-DB feature is not available.
991         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
992
993 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
994
995         * text-coding.c (Qcomposition): Add extern if external-DB feature
996         is supported.
997         (Vcharacter_composition_table): Don't add extern if external-DB
998         feature is supported.
999         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1000         character composition rule if external-DB feature is supported.
1001
1002         * chartab.c (Vcharacter_composition_table): Don't define if
1003         external-DB feature is supported.
1004         (Qcomposition): New variable.
1005         (Fget_composite_char): New implementation for external-DB support.
1006         (Fput_char_attribute): Use `composition' property of each
1007         character instead of `Vcharacter_composition_table' to store
1008         character-composition rules if external-DB feature is supported.
1009         (syms_of_chartab): Add new symbol `composition'.
1010         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1011         external-DB feature is supported.
1012
1013 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1014
1015         * chartab.c (Vchar_db_stingy_mode): New variable.
1016         (load_char_attribute_maybe): Close database if
1017         Vchar_db_stingy_mode is not NIL.
1018         (Fload_char_attribute_table_map_function): Use
1019         `get_char_id_table_0' instead of `get_char_id_table'.
1020         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1021
1022         * chartab.h (get_char_id_table_0): New inline function.
1023         (get_char_id_table): Use `get_char_id_table_0'.
1024
1025 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1026
1027         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1028         and `COMPOSE_ADD_CHAR'.
1029         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1030
1031 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1032
1033         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1034         instead of `DECODE_ADD_UCS_CHAR'.
1035         (COMPOSE_ADD_CHAR): Likewise.
1036
1037 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1038
1039         * text-coding.c (decode_flush_er_chars): New inline function.
1040         (decode_add_er_char): New function.
1041         (decode_coding_utf8): Use `decode_flush_er_chars' and
1042         `decode_add_er_char'.
1043
1044 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1045
1046         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1047         done before `decode_output_utf8_partial_char'.
1048
1049         * mule-charset.c (complex_vars_of_mule_charset): Specify
1050         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1051         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1052
1053 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1054
1055         * mule-charset.c (decode_defined_char): New function; search
1056         mother.
1057         (decode_builtin_char): Don't search mother if
1058         XCHARSET_MAX_CODE(charset) == 0.
1059         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1060         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1061         (Fdecode_char): Use `decode_defined_char' instead of
1062         `DECODE_DEFINED_CHAR'.
1063         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1064         mother of `Vcharset_ucs_jis'.
1065
1066         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1067         instead of `DECODE_DEFINED_CHAR'.
1068
1069         * char-ucs.h (decode_defined_char): Renamed from
1070         `DECODE_DEFINED_CHAR'; changed to normal function.
1071         (DECODE_CHAR): Use `decode_defined_char' instead of
1072         `DECODE_DEFINED_CHAR'.
1073
1074         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1075
1076 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1077
1078         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1079
1080         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1081         variable.
1082         (Quse_entity_reference): New variable.
1083         (Qd): New variable.
1084         (Qx): New variable.
1085         (QX): New variable.
1086         (coding_system_description): Add description for
1087         `ccs_priority_list'.
1088         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1089         (allocate_coding_system): Initialize `ccs_priority_list' in
1090         UTF-2000.
1091         (Fmake_coding_system): Add description about
1092         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1093         (codesys).
1094         (Fcoding_system_property): Accept `disable-composition' and
1095         `use-entity-reference' in UTF-2000.
1096         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1097         in UTF-2000.
1098         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1099         (decode_coding_utf8): Decode entity-reference if
1100         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1101         (char_encode_utf8): Encode non-Unicode characters as
1102         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1103         (str->codesys).
1104         (syms_of_file_coding): Add new symbols `use-entity-reference',
1105         `d', `x', `X'.
1106         (vars_of_file_coding): Add new variable
1107         `coded-charset-entity-reference-alist'.
1108         (complex_vars_of_file_coding): Declare `disable-composition' and
1109         `use-entity-reference' to be coding-system-properties in UTF-2000.
1110
1111         * file-coding.h (struct Lisp_Coding_System): Add new member
1112         `use_entity_reference' and `ccs_priority_list'.
1113         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1114         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1115         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1116
1117 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1118
1119         * chartab.c (save_uint8_byte_table): Don't clear the table.
1120         (save_uint16_byte_table): Likewise.
1121         (save_byte_table): Likewise.
1122         (Fmount_char_attribute_table): New function.
1123         (syms_of_chartab): Add new builtin function
1124         `mount-char-attribute-table'.
1125
1126 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1129         "w+" mode.
1130         (load_char_decoding_entry_maybe): Open database as read-only mode.
1131
1132         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1133         open database as "w+" mode.
1134         (load_char_attribute_maybe): Open database as read-only mode.
1135         (Fload_char_attribute_table): Likewise.
1136
1137 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1138
1139         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1140         (char_table_description): Delete member `db_file'.
1141         (Fmake_char_table): Don't refer `ct->db_file'.
1142         (Fcopy_char_table): Likewise.
1143         (Fsave_char_attribute_table): Likewise.
1144         (Fclose_char_attribute_table): Likewise.
1145         (Freset_char_attribute_table): Likewise.
1146         (load_char_attribute_maybe): Likewise.
1147         (Fload_char_attribute_table): Likewise.
1148
1149         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1150
1151 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1152
1153         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1154         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1155         `ct->db' is living.
1156         (load_char_attribute_maybe): Likewise.
1157         (Fload_char_attribute_table): Likewise.
1158
1159 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1160
1161         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1162         `ct->db_file' unconditionally.
1163
1164 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1165
1166         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1167         UTF-2000.
1168         (char_table_description): Add description for `db_file' and `db'
1169         in UTF-2000.
1170         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1171         UTF-2000.
1172         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1173         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1174         (Fclose_char_attribute_table): New function.
1175         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1176         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1177         and `cit->db'.
1178         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1179         (syms_of_chartab): Add new builtin function
1180         `Fclose_char_attribute_table'.
1181
1182 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1183
1184         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1185         `db' in UTF-2000.
1186         (load_char_attribute_maybe): Change interface.
1187         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1188
1189 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1190
1191         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1192
1193 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1194
1195         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1196         instead of `DECODE_CHAR' for mother; don't use special code for
1197         chinese-big5 to use code space of chinese-big5-1 and
1198         chinese-big5-2.
1199         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1200         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1201
1202         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1203         (MAX_CHAR_BIG5_CDP): Revival.
1204
1205 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1208         the XLFD registry-encoding name of `chinese-big5'.
1209
1210 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1211
1212         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1213         (Qchinese_big5_cdp): Deleted.
1214         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1215         (complex_vars_of_mule_charset): Delete coded-charset
1216         `chinese-big5-cdp'.
1217
1218         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1219         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1220         `CHARSET_ID_OFFSET - n' for private CCS.
1221         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1222         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1223         of `MIN_LEADING_BYTE'.
1224         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1225         `(CHARSET_ID_OFFSET - 97)'.
1226         (MIN_CHAR_BIG5_CDP): Deleted.
1227         (MAX_CHAR_BIG5_CDP): Deleted.
1228
1229 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1230
1231         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1232
1233 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1234
1235         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1236         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1237         chartab.c].
1238
1239         * chartab.c (Vutf_2000_version): Moved to mule.c.
1240         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1241
1242 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1243
1244         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1245         when HAVE_CHISE_CLIENT is not defined.
1246
1247         * mule.c (vars_of_mule): Provide feature `chise' when
1248         HAVE_CHISE_CLIENT is defined.
1249
1250 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1251
1252         * config.h.in (UTF2000): Add comment.
1253         (HAVE_CHISE_CLIENT): New macro.
1254
1255 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1256
1257         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1258         CONSP.
1259         (Fput_char_attribute): Likewise.
1260         (char_attribute_system_db_file): Encode file-name of attribute.
1261         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1262         the initial value.
1263
1264 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1265
1266         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1267         (Fsave_charset_mapping_table): Use
1268         `char_attribute_system_db_file'.
1269         (load_char_decoding_entry_maybe): Likewise.
1270
1271         * chartab.h (Qsystem_char_id): New external variable.
1272         (char_attribute_system_db_file): New prototype.
1273
1274         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1275         (char_attribute_system_db_file): New function.
1276         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1277         (Freset_char_attribute_table): Likewise.
1278         (load_char_attribute_maybe): Likewise.
1279         (Fload_char_attribute_table): Likewise.
1280         (syms_of_chartab): Add new symbol `system-char-id'.
1281
1282 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1283
1284         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1285         `XCHARSET_GRAPHIC(ccs)'.
1286
1287 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1288
1289         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1290
1291 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1292
1293         * chartab.c (Q_ucs_variants): New variable.
1294         (syms_of_chartab): Add new symbol `->ucs-variants'.
1295         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1296         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1297         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1298
1299         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1300
1301         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1302         `HAVE_DATABASE' is defined.
1303         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1304         `HAVE_DATABASE' is defined.
1305
1306 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1307
1308         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1309         attribute-table.
1310         (Freset_char_attribute_table): New function.
1311         (syms_of_chartab): Add new builtin function
1312         `reset-char-attribute-table'.
1313
1314 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1315
1316         * chartab.c (load_char_attribute_maybe): Don't make directories.
1317
1318 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1319
1320         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1321
1322         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1323         for decoding-table.
1324
1325 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1326
1327         * mule-charset.c (Fsave_charset_mapping_table): Use
1328         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1329
1330         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1331         instead of `XCHARSET_CHARS'.
1332
1333 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1334
1335         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1336         (XCHARSET_BYTE_SIZE): Likewise.
1337
1338         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1339         mule-charset.c].
1340         (XCHARSET_BYTE_SIZE): Likewise.
1341
1342 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1343
1344         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1345         data-directory to store database.
1346         (Fsave_char_attribute_table): Likewise.
1347         (load_char_attribute_maybe): Likewise.
1348         (Fload_char_attribute_table): Likewise.
1349
1350 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1351
1352         * mule-charset.c (Fsave_charset_mapping_table): New function.
1353         (syms_of_mule_charset): Add new builtin function
1354         `save-charset-mapping-table'.
1355
1356 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1357
1358         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1359         (get_ccs_octet_table): New inline function.
1360         (put_ccs_octet_table): Likewise.
1361         (decoding_table_put_char): Use `get_ccs_octet_table' and
1362         `put_ccs_octet_table'.
1363         (decoding_table_remove_char): Use `decoding_table_put_char'.
1364         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1365
1366         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1367         into encoding_table.
1368         (make_charset): Use Qunbound instead Qnil as initial value of
1369         decoding_table.
1370
1371 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1372
1373         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1374         element is Qunloaded.
1375         (map_over_uint16_byte_table): Likewise.
1376         (map_over_byte_table): Likewise.
1377         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1378         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1379         database support, load encoding-table of the specified
1380         coded-charset if it is not loaded yet.
1381         (save_uint8_byte_table): New function of UTF-2000 with external
1382         database support.
1383         (save_uint16_byte_table): Likewise.
1384         (save_byte_table): Likewise.
1385         (Fput_char_attribute): Don't store value into external database
1386         even if the external database feature is supported in UTF-2000;
1387         set `attribute' as name of char-table if the external database
1388         feature is supported.
1389         (Fsave_char_attribute_table): New function in UTF-2000.
1390         (syms_of_chartab): Add new builtin function
1391         `save-char-attribute-table' in UTF-2000.
1392
1393 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1394
1395         * chartab.c (char_attribute_table_to_put): New variable in
1396         UTF-2000.
1397         (Qput_char_table_map_function): Likewise.
1398         (value_to_put): Likewise.
1399         (Fput_char_table_map_function): New function in UTF-2000.
1400         (put_char_table): Use `Fmap_char_attribute' for
1401         CHARTAB_RANGE_CHARSET in UTF-2000.
1402         (Fput_char_attribute): Store symbol instead of string in
1403         `XCHAR_TABLE_NAME (table)'.
1404         (load_char_attribute_maybe): Likewise.
1405         (syms_of_chartab): Add new symbol/function
1406         `put-char-table-map-function'.
1407
1408 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1409
1410         * database.h: Add new EXFUN for `Fmap_database'.
1411
1412         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1413         (syms_of_database): Likewise.
1414
1415         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1416         UTF-2000.
1417         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1418         (XCHAR_TABLE_UNLOADED): Likewise.
1419
1420         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1421         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1422         HAVE_DATABASE is defined.
1423         (char_attribute_table_to_load): New variable of UTF-2000 with
1424         external database support.
1425         (Qload_char_attribute_table_map_function): Likewise.
1426         (Fload_char_attribute_table_map_function): New function of
1427         UTF-2000 with external database support.
1428         (Fload_char_attribute_table): New function of UTF-2000.
1429         (Fmap_char_attribute): Call Fload_char_attribute_table if
1430         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1431         (syms_of_chartab): Add new symbol and function
1432         `load-char-attribute-table-map-function' in UTF-2000 with external
1433         database support; add new function `load-char-attribute-table' in
1434         UTF-2000.
1435
1436 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1437
1438         * chartab.h (load_char_attribute_maybe): New prototype for
1439         UTF-2000 with DATABASE support.
1440         (get_char_id_table): Use `load_char_attribute_maybe' if
1441         HAVE_DATABASE is defined.
1442
1443         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1444         with DATABASE support.
1445
1446 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1447
1448         * chartab.c (Fput_char_attribute): Use S-expression as key of
1449         external database.
1450
1451         * chartab.h (get_char_id_table): Use S-expression as key of
1452         external database.
1453
1454 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1455
1456         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1457         if an element is not loaded, load the corresponding attributes
1458         from an external database.
1459         (map_over_uint16_byte_table): Likewise.
1460         (map_over_byte_table): Likewise.
1461         (map_char_table): Modify for `map_over_uint8_byte_table',
1462         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1463         element is not loaded, load the corresponding attributes from an
1464         external database.
1465         (Fput_char_attribute): Change initial values to Qunloaded.
1466
1467         * chartab.h (get_char_id_table): If a character attribute is not
1468         loaded and the attribute value is not found in an external
1469         database, store Qunbound as the attribute value.
1470
1471 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1472
1473         * chartab.c (BT_UINT8_unloaded): New macro.
1474         (UINT8_VALUE_P): Accept Qunloaded.
1475         (UINT8_ENCODE): Likewise.
1476         (UINT8_DECODE): Likewise.
1477         (BT_UINT16_unloaded): New macro.
1478         (UINT16_VALUE_P): Accept Qunloaded.
1479         (UINT16_ENCODE): Likewise.
1480         (UINT16_DECODE): Likewise.
1481         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1482         BT_UINT16_unloaded.
1483         (mark_char_table): Mark `ct->name' in UTF-2000.
1484         (char_table_description): Add `name' in UTF-2000.
1485         (Fmake_char_table): Initialize `ct->name'.
1486         (Fcopy_char_table): Copy `ct->name'.
1487         (Fput_char_attribute): Store value into an external database if
1488         HAVE_DATABASE is defined.
1489
1490         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1491         UTF-2000.
1492         (CHAR_TABLE_NAME): New macro in UTF-2000.
1493         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1494         (get_char_id_table): Try to read an external database if Qunloaded
1495         is stored in a table.
1496
1497         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1498         Qunloaded.
1499
1500 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1501
1502         * database.h: Add EXFUN definitions for Fopen_database,
1503         Fput_database, Fget_database and Fclose_database.
1504
1505         * data.c (Qunloaded): New variable in UTF-2000.
1506
1507         * lisp.h (Qunloaded): New variable in UTF-2000.
1508
1509 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1510
1511         * mule-charset.c (put_char_ccs_code_point): Modify for
1512         `decoding_table_remove_char' and `decoding_table_put_char'.
1513         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1514
1515         * char-ucs.h (decoding_table_remove_char): Change arguments to
1516         hide decoding_table vector.
1517         (decoding_table_put_char): Likewise.
1518
1519 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1520
1521         * mule-charset.c (decoding_table_remove_char): Moved to
1522         char-ucs.h.
1523         (decoding_table_put_char): Likewise.
1524
1525         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1526         from mule-charset.c].
1527         (decoding_table_remove_char): New inline function [moved from
1528         mule-charset.c].
1529         (decoding_table_put_char): Likewise.
1530
1531 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1532
1533         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1534         extension.
1535
1536 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1537
1538         * mule-charset.c (decode_builtin_char): Support mother charsets.
1539
1540 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1541
1542         * mule-charset.c (Q94x94x60): New variable.
1543         (charset_code_point): Support conversion `94x94x60'.
1544         (Fmake_charset): Likewise.
1545         (syms_of_mule_charset): Add new symbol `94x94x60'.
1546
1547         * char-ucs.h (CONVERSION_94x94x60): New macro.
1548
1549 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1550
1551         * mule-charset.c (charset_code_point): Unify code about
1552         `code-offset'.
1553
1554 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1555
1556         * mule-charset.c (charset_code_point): Merge code about builtin
1557         characters into code about mother charsets; don't use
1558         `range_charset_code_point'.
1559         (range_charset_code_point): Deleted.
1560
1561 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1562
1563         * mule-charset.c (Qcode_offset): New variable.
1564         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1565         `max-code'; accept new property `code-offset'.
1566         (syms_of_mule_charset): Add new symbol `code-offset'.
1567
1568 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1569
1570         * mule-charset.c (range_charset_code_point): Fixed.
1571
1572 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1573
1574         * mule-charset.c (decode_builtin_char): Change semantics of
1575         code-offset of coded-charset.
1576         (charset_code_point): Likewise.
1577         (range_charset_code_point): Likewise.
1578         (complex_vars_of_mule_charset): Modify for the change.
1579
1580 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1581
1582         * mule-charset.c (Fencode_char): Reverse arguments.
1583
1584         * mule-charset.c (charset_code_point): Fixed.
1585
1586 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * mule-charset.c (Vcharset_mojikyo): Deleted.
1589         (Vcharset_mojikyo_2022_1): Deleted.
1590         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1591         (Qmin_code): New variable in UTF-2000.
1592         (Qmax_code): Likewise.
1593         (Qmother): Likewise.
1594         (Qconversion): Likewise.
1595         (Q94x60): Likewise.
1596         (Qmojikyo): Deleted.
1597         (Qmojikyo_2022_1): Deleted.
1598         (Qmojikyo_pj_{1..22}): Deleted.
1599         (mark_charset): Mark `cs->mother'.
1600         (charset_description): Add description for `mother'.
1601         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1602         new arguments `mother' and `conversion'; use
1603         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1604         (charset_code_point): Moved from char-ucs.h; support `mother'
1605         charset feature.
1606         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1607         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1608         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1609         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1610         allow 2 as the value of `graphic' in UTF-2000; add new properties
1611         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1612         require `final' in UTF-2000; modify for `make_charset'.
1613         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1614         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1615         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1616         (Fencode_char): New function.
1617         (syms_of_mule_charset): Add new builtin function `encode-char' in
1618         UTF-2000; add new symbols `min-code', `max-code', `mother',
1619         `conversion' and `94x60'; delete symbols `mojikyo',
1620         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1621         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1622         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1623         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1624
1625         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1626         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1627
1628         * char-ucs.h (Vcharset_mojikyo): Deleted.
1629         (Vcharset_mojikyo_2022_1): Deleted.
1630         (LEADING_BYTE_MOJIKYO): Deleted.
1631         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1632         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1633         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1634         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1635         add new member `mother'; add new member `conversion'.
1636         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1637         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1638         (CHARSET_MOTHER): New macro.
1639         (CHARSET_CONVERSION): New macro.
1640         (CONVERSION_IDENTICAL): New macro.
1641         (CONVERSION_94x60): New macro.
1642         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1643         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1644         (XCHARSET_MOTHER): New macro.
1645         (XCHARSET_CONVERSION): New macro.
1646         (MIN_CHAR_MOJIKYO): Deleted.
1647         (MAX_CHAR_MOJIKYO): Deleted.
1648         (DECODE_MOJIKYO_2022): Deleted.
1649         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1650         (charset_code_point): Changed to non-inline function.
1651         (encode_char_1): Use `charset_code_point'.
1652         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1653
1654 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1655
1656         * lread.c (read_compiled_function): Fix prototype.
1657         (read_vector): Likewise.
1658
1659 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1660
1661         * lrecord.h (struct lrecord_header): Delete `older'.
1662         (set_lheader_implementation): Delete code for `older'.
1663         (set_lheader_older_implementation): Deleted.
1664         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1665         (OLDER_RECORD_P): Deleted.
1666         (OLDER_RECORD_HEADER_P): Deleted.
1667         (alloc_older_lcrecord): Deleted.
1668         (alloc_older_lcrecord_type): Deleted.
1669
1670         * alloc.c (all_older_lcrecords): Deleted.
1671         (alloc_older_lcrecord): Deleted.
1672         (disksave_object_finalization_1): Delete code for older objects.
1673         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1674         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1675
1676 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1677
1678         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1679         instead of `make_older_vector'.
1680         (put_char_ccs_code_point): Likewise.
1681         (mark_charset): Mark `cs->decoding_table'.
1682         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1683
1684         * lisp.h (make_older_vector): Deleted.
1685         (make_vector_newer): Deleted.
1686
1687         * config.h.in (HAVE_GGC): Deleted.
1688
1689         * alloc.c (make_older_vector): Deleted.
1690         (make_vector_newer_1): Deleted.
1691         (make_vector_newer): Deleted.
1692
1693 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1694
1695         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1696         (Qideograph_daikanwa_2): New variable.
1697         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1698         (complex_vars_of_mule_charset): Add new coded-charset
1699         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1700         `LEADING_BYTE_DAIKANWA'.
1701
1702         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1703         (LEADING_BYTE_DAIKANWA_1): New macro.
1704         (LEADING_BYTE_DAIKANWA_2): New macro.
1705         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1706
1707 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1708
1709         * mule-charset.c (complex_vars_of_mule_charset): Change
1710         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1711         the second revised version.
1712
1713 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1714
1715         * mule-charset.c (Vcharset_ucs_smp): New variable.
1716         (Vcharset_ucs_sip): New variable.
1717         (Qucs_smp): New variable.
1718         (Qucs_sip): New variable.
1719         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1720         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1721         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1722         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1723         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1724         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1725
1726         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1727         (LEADING_BYTE_UCS_SIP): New macro.
1728         (MIN_CHAR_SMP): New macro.
1729         (MAX_CHAR_SMP): New macro.
1730         (MIN_CHAR_SIP): New macro.
1731         (MAX_CHAR_SIP): New macro.
1732
1733 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1734
1735         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1736         utf-2000.
1737
1738 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1739
1740         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1741         value; don't store value into `encoding_table' of `Lisp_Charset'.
1742         (mark_charset): `encoding_table' was deleted.
1743         (charset_description): Likewise.
1744         (make_charset): Likewise.
1745         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1746         `put_char_ccs_code_point'.
1747
1748         * chartab.h (Fput_char_attribute): New EXFUN.
1749
1750         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1751         is unified with normal symbol space.
1752         (Fget_char_attribute): Likewise.
1753         (Fput_char_attribute): Likewise; behavior of
1754         `put_char_ccs_code_point' is changed.
1755
1756         * char-ucs.h: Include "elhash.h".
1757         (Vchar_attribute_hash_table): New external variable.
1758         (struct Lisp_Charset): Delete `encoding_table'.
1759         (CHARSET_ENCODING_TABLE): New implementation; refer
1760         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1761         `Lisp_Charset'.
1762
1763 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1764
1765         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1766         (cs) == 0.
1767
1768 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1769
1770         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1771         `chinese-big5'.
1772
1773 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1774
1775         * chartab.c (uint8_byte_table_description): New constant.
1776         (uint8-byte-table): Use `uint8_byte_table_description'.
1777         (uint16_byte_table_description): New constant.
1778         (uint16-byte-table): Use `uint16_byte_table_description'.
1779
1780 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1781
1782         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1783         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1784
1785 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1786
1787         * mule-charset.c (Vcharset_ucs_ks): New variable.
1788         (Qucs_ks): New variable.
1789         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1790         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1791
1792         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1793
1794 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1795
1796         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1797         (Fdecode_char): Likewise.
1798
1799         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1800         chartab.h.
1801         (Fdefine_char): Modify for Fdecode_char.
1802         (Ffind_char): Likewise.
1803
1804         * mule-charset.c (Fdecode_char): Add new optional argument
1805         `defined-only'.
1806         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1807
1808 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1809
1810         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1811         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1812         (allocate_coding_system): Initialize initial-charsets of
1813         CODESYS_BIG5 in XEmacs UTF-2000.
1814         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1815         CODESYS_BIG5 in XEmacs UTF-2000.
1816         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1817         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1818
1819         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1820         variables.
1821         (Qideograph_hanziku_{1 .. 12}): Likewise.
1822         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1823         .. 12}'.
1824         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1825         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1826         `ideograph-hanziku-{1 .. 12}'.
1827
1828         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1829         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1830         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1831         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1832         (DECODE_DEFINED_CHAR): New inline function.
1833         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1834
1835 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1836
1837         * mule-charset.c (Vcharset_china3_jef): Renamed from
1838         `Vcharset_japanese_jef_china3'.
1839         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1840         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1841         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1842         (syms_of_mule_charset): Rename `china3-jef' from
1843         `japanese-jef-china3'.
1844         (complex_vars_of_mule_charset): Likewise; rename
1845         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1846
1847         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1848         `LEADING_BYTE_JEF_CHINA3'.
1849         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1850         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1851
1852 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1853
1854         * mule-charset.c (encode_builtin_char_1): Comment out special code
1855         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1856
1857         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1858         (MAX_CHAR_MOJIKYO_0): Comment out.
1859         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1860         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1861         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1862         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1863
1864 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1865
1866         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1867         (Qideograph_cbeta): New variable.
1868         (encode_builtin_char_1): Comment out special code for
1869         coded-charset `mojikyo' and `japanese-jef-china3'.
1870         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1871         (complex_vars_of_mule_charset): Add new coded-charset
1872         `ideograph-cbeta'.
1873
1874         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1875         (MIN_CHAR_CBETA): New macro.
1876         (MAX_CHAR_CBETA): New macro.
1877
1878 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1879
1880         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1881         (LEADING_BYTE_JEF_CHINA3): New macro.
1882         (MIN_CHAR_JEF_CHINA3): New macro.
1883         (MAX_CHAR_JEF_CHINA3): Likewise.
1884         (DECODE_CHAR): Fixed.
1885
1886 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1887
1888         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1889         (Qjapanese_jef_china3): New variable.
1890         (encode_builtin_char_1): Support `japanese-jef-china3'.
1891         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1892         (complex_vars_of_mule_charset): Add new coded-charset
1893         `japanese-jef-china3'.
1894
1895 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1896
1897         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1898         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1899         94^4, 96^3, 96^4, 128^n and 256^n set.
1900         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1901         (map_char_table): Likewise.
1902
1903 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1906         UTF-2000.
1907
1908 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1909
1910         * chartab.h (get_char_id_table): New inline function.
1911
1912         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1913         function.
1914
1915 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1916
1917         * chartab.h (decode_char_table_range): New prototype in XEmacs
1918         UTF-2000.
1919         (put_char_id_table): New inline function in XEmacs UTF-2000.
1920
1921         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1922         function.
1923         (decode_char_table_range): Delete static declaration in XEmacs
1924         UTF-2000.
1925
1926 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * chartab.c (put_char_id_table): Use `put_char_table'.
1929
1930 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1931
1932         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1933         (map_over_uint16_byte_table): Likewise.
1934         (map_over_byte_table): Likewise.
1935         (map_char_table): Modify for `map_over_uint8_byte_table',
1936         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1937         UTF-2000.
1938
1939 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1940
1941         * chartab.c (struct map_char_table_for_charset_arg): New
1942         structure.
1943         (map_char_table_for_charset_fun): New function.
1944         (map_char_table): Use `map_char_table' for encoding_table of
1945         `range->charset'.
1946
1947 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1948
1949         * chartab.c (map_char_table): Check a character is found in
1950         range->charset instead of non default value is defined in
1951         char-table when range is CHARTAB_RANGE_ROW.
1952
1953 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1954
1955         * chartab.c (map_char_id_table): Deleted.
1956         (Fmap_char_attribute): Use `map_char_table' instead of
1957         `map_char_id_table'.
1958
1959 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1960
1961         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1962         UTF-2000.
1963         (update_syntax_table): Deleted in XEmacs UTF-2000.
1964
1965         * syntax.c (find_defun_start): Use `syntax_table' instead of
1966         `mirror_syntax_table' in XEmacs UTF-2000.
1967         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1968         UTF-2000.
1969         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1970         XEmacs UTF-2000.
1971         (Fmatching_paren): Likewise.
1972         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1973         in XEmacs UTF-2000.
1974         (find_start_of_comment): Likewise.
1975         (find_end_of_comment): Likewise.
1976         (Fforward_comment): Likewise.
1977         (scan_lists): Likewise.
1978         (char_quoted): Likewise.
1979         (Fbackward_prefix_chars): Likewise.
1980         (scan_sexps_forward): Likewise.
1981         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1982         (update_syntax_table): Likewise.
1983
1984         * search.c (skip_chars): Use `syntax_table' instead of
1985         `mirror_syntax_table' in XEmacs UTF-2000.
1986         (wordify): Likewise.
1987         (Freplace_match): Likewise.
1988
1989         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1990         `mirror_syntax_table' in XEmacs UTF-2000.
1991         (WORDCHAR_P_UNSAFE): Likewise.
1992         (re_match_2_internal): Likewise.
1993
1994         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1995         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1996
1997         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1998         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1999
2000         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2001         XEmacs UTF-2000.
2002
2003         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2004         UTF-2000.
2005         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2006         (char_table_description): Delete `mirror_table' in XEmacs
2007         UTF-2000.
2008         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2009         UTF-2000.
2010         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2011         (Fcopy_char_table): Likewise.
2012         (put_char_table): Don't call `update_syntax_table' in XEmacs
2013         UTF-2000.
2014
2015         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2016         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2017         (casify_region_internal): Likewise.
2018
2019         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2020
2021         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2022         `mirror_syntax_table' in XEmacs UTF-2000.
2023
2024         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2025         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2026         (Fexpand_abbrev): Likewise.
2027
2028 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2029
2030         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2031
2032 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2033
2034         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2035         (map_over_uint16_byte_table): Likewise.
2036         (map_over_byte_table): Likewise.
2037         (get_char_id_table): Refer `cit->default_value'.
2038         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2039         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2040         of character-id ranges.
2041         (mark_char_table): Mark `ct->default_value'.
2042         (char_table_description): Add `default_value'.
2043         (fill_char_table): Use `default_value'.
2044         (decode_char_table_range): Decode `nil' as
2045         `CHARTAB_RANGE_DEFAULT'.
2046         (get_char_id_table): Refer `cit->default_value'.
2047         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2048         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2049         temporary hack; check value of char-table is bound or not.
2050         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2051
2052         * chartab.h (struct Lisp_Char_Table): Add new member
2053         `default_value' in XEmacs UTF-2000.
2054         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2055         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2056         UTF-2000.
2057
2058 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * chartab.h (Lisp_Char_ID_Table): Deleted.
2061
2062         * chartab.c (char_table_description): Fix typo.
2063         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2064         `Lisp_Char_ID_Table'.
2065
2066 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2067
2068         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2069         `CHAR_ID_TABLE_P'.
2070
2071         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2072         `CHAR_ID_TABLE_P'.
2073
2074         * chartab.h (XCHAR_ID_TABLE): Deleted.
2075         (XSETCHAR_ID_TABLE): Deleted.
2076         (CHAR_ID_TABLE_P): Deleted.
2077
2078         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2079         `CHAR_ID_TABLE_P'.
2080         (Fget_composite_char): Likewise.
2081         (put_char_table): Likewise.
2082         (add_char_attribute_alist_mapper): Fixed.
2083         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2084         `CHAR_ID_TABLE_P'.
2085         (Fget_char_attribute): Likewise.
2086         (Fget_char_attribute): Likewise.
2087         (Fmap_char_attribute): Likewise.
2088
2089         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2090         `CHAR_ID_TABLE_P'.
2091         (encode_char_1): Likewise.
2092
2093 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2094
2095         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2096         `XCHAR_ID_TABLE'.
2097
2098         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2099         instead of `XCHAR_ID_TABLE'.
2100         (remove_char_ccs): Likewise.
2101
2102         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2103         `XCHAR_ID_TABLE'.
2104         (Fget_composite_char): Likewise.
2105         (Fchar_variants): Likewise.
2106         (put_char_table): Likewise.
2107         (add_char_attribute_alist_mapper): Likewise.
2108         (Fchar_attribute_alist): Likewise.
2109         (Fget_char_attribute): Likewise.
2110         (Fput_char_attribute): Likewise.
2111         (Fmap_char_attribute): Likewise.
2112         (Fmap_char_attribute): Likewise.
2113
2114         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2115         `XCHAR_ID_TABLE'.
2116         (encode_char_1): Likewise.
2117
2118 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2119
2120         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2121         `Lisp_Char_ID_Table'.
2122         (mark_char_id_table): Deleted.
2123         (print_char_id_table): Likewise.
2124         (char_id_table_equal): Likewise.
2125         (char_id_table_hash): Likewise.
2126         (char_id_table_description): Likewise.
2127         (char_id_table): Likewise.
2128         (make_char_id_table): Use `Fmake_char_table' and
2129         `fill_char_table'.
2130         (get_char_id_table): Use `Lisp_Char_Table' instead of
2131         `Lisp_Char_ID_Table'.
2132         (put_char_id_table): Likewise.
2133         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2134         `XCHAR_ID_TABLE'.
2135         (Fremove_char_attribute): Likewise.
2136         (syms_of_chartab): Don't define type `char-id-table'.
2137
2138         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2139         (char_id_table): Likewise.
2140         (GC_CHAR_ID_TABLE_P): Likewise.
2141         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2142         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2143         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2144         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2145         (get_char_id_table): Use `Lisp_Char_Table' instead of
2146         `Lisp_Char_ID_Table'.
2147         (put_char_id_table_0): Likewise.
2148         (put_char_id_table): Likewise.
2149
2150 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2151
2152         * chartab.h: Lisp_Byte_Table related codes are moved from
2153         chartab.h.
2154
2155         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2156
2157 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2158
2159         * chartab.h: Don't include "chartab.h".
2160         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2161         (Lisp_Char_ID_Table): Likewise.
2162         (char_id_table): Likewise.
2163         (XCHAR_ID_TABLE): Likewise.
2164         (XSETCHAR_ID_TABLE): Likewise.
2165         (CHAR_ID_TABLE_P): Likewise.
2166         (GC_CHAR_ID_TABLE_P): Likewise.
2167         (get_char_id_table): Likewise.
2168
2169         * char-ucs.h: Include "chartab.h".
2170         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2171         (Lisp_Char_ID_Table): Likewise.
2172         (char_id_table): Likewise.
2173         (XCHAR_ID_TABLE): Likewise.
2174         (XSETCHAR_ID_TABLE): Likewise.
2175         (CHAR_ID_TABLE_P): Likewise.
2176         (GC_CHAR_ID_TABLE_P): Likewise.
2177         (get_char_id_table): Likewise.
2178
2179 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2180
2181         * chartab.c (copy_uint8_byte_table): New function.
2182         (copy_uint16_byte_table): New function.
2183         (copy_byte_table): New function.
2184         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2185         characters to call.
2186         (map_over_uint16_byte_table): Likewise.
2187         (map_over_byte_table): Likewise.
2188         (get_byte_table): Move prototype to chartab.h.
2189         (put_byte_table): Likewise.
2190         (put_char_id_table_0): Moved to chartab.h.
2191         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2192         (char_table_entry_equal): Likewise.
2193         (char_table_entry_hash): Likewise.
2194         (char_table_entry_description): Likewise.
2195         (char_table_entry): Likewise.
2196         (make_char_table_entry): Likewise.
2197         (copy_char_table_entry): Likewise.
2198         (get_non_ascii_char_table_value): Likewise.
2199         (map_over_charset_ascii): Likewise.
2200         (map_over_charset_control_1): Likewise.
2201         (map_over_charset_row): Likewise.
2202         (map_over_other_charset): Likewise.
2203         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2204         (print_char_table): Likewise.
2205         (char_table_equal): Likewise.
2206         (char_table_hash): Likewise.
2207         (char_table_description): Likewise.
2208         (fill_char_table): Likewise.
2209         (Fcopy_char_table): Likewise.
2210         (get_char_table): Likewise.
2211         (Fget_range_char_table): Likewise.
2212         (put_char_table): Likewise.
2213         (map_char_table): Likewise.
2214         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2215         UTF-2000.
2216
2217 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2218
2219         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2220         `Vauto_fill_chars' in XEmacs UTF-2000.
2221
2222         * chartab.h (get_byte_table): New prototype [moved from
2223         chartab.c].
2224         (put_byte_table): Likewise [moved from chartab.c].
2225         (put_char_id_table_0): New inline function [moved from chartab.c].
2226         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2227         (Lisp_Char_Table_Entry): Likewise.
2228         (char_table_entry): Likewise.
2229         (XCHAR_TABLE_ENTRY): Likewise.
2230         (XSETCHAR_TABLE_ENTRY): Likewise.
2231         (CHAR_TABLE_ENTRYP): Likewise.
2232         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2233         (NUM_ASCII_CHARS): Likewise.
2234         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2235         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2236
2237 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2238
2239         * chartab.c (get_char_id_table): Change interface.
2240         (put_char_id_table_0): New function.
2241         (put_char_id_table): Change interface; new implementation.
2242         (Fget_composite_char): Modify for interface change of
2243         `get_char_id_table'.
2244         (Fchar_variants): Likewise.
2245         (add_char_attribute_alist_mapper): Likewise.
2246         (Fchar_attribute_alist): Likewise.
2247         (Fget_char_attribute): Likewise.
2248         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2249         as same as character as the first argument like `put-char-table';
2250         modify for interface change of `put_char_id_table'.
2251         (Fremove_char_attribute): Modify for interface change of
2252         `put_char_id_table'.
2253
2254 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2255
2256         * text-coding.c: Sync up with XEmacs 21.2.41.
2257         (COMPOSE_ADD_CHAR): Modify for interface change of
2258         `get_char_id_table'.
2259
2260         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2261         change of `put_char_id_table'.
2262         (remove_char_ccs): Likewise.
2263
2264         * chartab.h (put_char_id_table): Change interface.
2265
2266         * char-ucs.h (get_char_id_table): Change interface.
2267         (charset_code_point): Modify for interface change of
2268         `get_char_id_table'.
2269         (encode_char_1): Likewise.
2270
2271 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2272
2273         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2274         argument `ccs'.
2275         (map_over_uint16_byte_table): Likewise.
2276         (map_over_byte_table): Likewise.
2277         (map_char_id_table): Add new argument `range' like
2278         `map_char_table'.
2279         (Fmap_char_attribute): Add new argument `range' like
2280         `Fmap_char_table'.
2281
2282 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2283
2284         * chartab.c (map_over_uint8_byte_table): Change interface of
2285         mapping function to use struct chartab_range instead of Emchar.
2286         (map_over_uint16_byte_table): Likewise.
2287         (map_over_byte_table): Likewise.
2288         (map_char_id_table): Likewise.
2289         (struct slow_map_char_id_table_arg): Deleted.
2290         (slow_map_char_id_table_fun): Deleted.
2291         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2292         function `slow_map_char_table_fun' instead of struct
2293         `slow_map_char_id_table_arg' and function
2294         `slow_map_char_id_table_fun'.
2295
2296 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2297
2298         * mule-charset.c: Move char-it-table related codes to chartab.c.
2299         (Vutf_2000_version): Moved to chartab.c.
2300         (Fdefine_char): Likewise.
2301         (Ffind_char): Likewise.
2302         (syms_of_mule_charset): Move types `uint8-byte-table',
2303         `uint16-byte-table', `byte-table' and `char-id-table' to
2304         chartab.c; move functions `char_attribute_list,
2305         `find_char_attribute_table, `char_attribute_alist,
2306         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2307         `map_char_attribute, `define_char, `find_char, `char_variants and
2308         `get_composite_char to chartab.c; move symbols `=>ucs',
2309         `->decomposition', `compat', `isolated', `initial', `medial',
2310         `final', `vertical', `noBreak', `fraction', `super', `sub',
2311         `circle', `square', `wide', `narrow', `small' and `font' to
2312         chartab.c.
2313         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2314         setting codes for `Vcharacter_composition_table' and
2315         `Vcharacter_variant_table' to chartab.c.
2316         (complex_vars_of_mule_charset): Move setting code for
2317         `Vchar_attribute_hash_table' to chartab.c.
2318
2319         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2320         (make_char_id_table): New prototype.
2321         (put_char_id_table): Likewise.
2322         (Fget_char_attribute): Likewise.
2323
2324         * chartab.c: Move char-id-table related code from mule-charset.c.
2325         (Vutf_2000_version): Moved from mule-charset.c.
2326
2327         * char-ucs.h (Qucs): New external variable.
2328         (put_char_ccs_code_point): New prototype.
2329         (remove_char_ccs): Likewise.
2330
2331 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2332
2333         * mule-charset.c (Vcharset_ucs_jis): New variable.
2334         (Qucs_jis): Likewise.
2335         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2336         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2337
2338         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2339
2340 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2341
2342         * mule-charset.c (map_over_uint8_byte_table): New function.
2343         (map_over_uint16_byte_table): Likewise.
2344         (map_over_byte_table): Likewise.
2345         (map_char_id_table): Likewise.
2346         (slow_map_char_id_table_fun): Likewise.
2347         (Fmap_char_attribute): Likewise.
2348         (syms_of_mule_charset): Add new function `map-char-attribute'.
2349
2350 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2351
2352         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2353         (syms_of_mule_charset): Add new function `find-char'.
2354
2355 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2356
2357         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2358         XEmacs UTF-2000.
2359         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2360         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2361         XEmacs UTF-2000.
2362         (complex_vars_of_mule_charset): Add new coded-charset
2363         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2364         `ideograph-gt-pj-*'.
2365
2366         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2367
2368 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2369
2370         * mule-charset.c (encode_builtin_char_1): Purge codes about
2371         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2372         {MIN|MAX}_CHAR_HEBREW.
2373         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2374         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2375
2376         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2377         (MAX_CHAR_GREEK): Purged.
2378         (MIN_CHAR_CYRILLIC): Purged.
2379         (MAX_CHAR_CYRILLIC): Purged.
2380         (MIN_CHAR_HEBREW): Commented out.
2381         (MAX_CHAR_HEBREW): Likewise.
2382
2383 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2384
2385         * mule-charset.c (Qto_ucs): New variable.
2386         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2387         (Fdefine_char): Likewise.
2388         (syms_of_mule_charset): Add new symbol `=>ucs'.
2389
2390 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2391
2392         * mule-charset.c (Fdecode_char): Fixed.
2393
2394 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2395
2396         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2397         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2398         "tcvn5712-1".
2399
2400 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2401
2402         * mule-charset.c (Vcharset_ucs_big5): New variable.
2403         (Qucs_big5): Likewise.
2404         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2405         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2406
2407         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2408
2409 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2410
2411         * mule-charset.c (decode_builtin_char): Check Big5 code range
2412         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2413
2414 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2415
2416         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2417         (Qchinese_gb12345): Likewise.
2418         (Fdecode_builtin_char): Fixed.
2419         (syms_of_mule_charset): Add `chinese-gb12345'.
2420         (complex_vars_of_mule_charset): Add coded-charset
2421         `chinese-gb12345'.
2422
2423         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2424         (LEADING_BYTE_CHINESE_GB12345): New macro.
2425
2426 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2427
2428         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2429         and `latin-viscii-upper' for `latin-viscii'.
2430
2431 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * mule-charset.c (Fdecode_builtin_char): Comment out
2434         regularization code for ISO-IR GR representation.
2435
2436 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2437
2438         * mule-charset.c (decode_builtin_char): New function; renamed from
2439         `make_builtin_char'; return -1 instead of signal.
2440         (Fdecode_builtin_char): Use `decode_builtin_char'.
2441
2442         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2443         `make_builtin_char'.
2444         (DECODE_CHAR): Use `decode_builtin_char' instead of
2445         `make_builtin_char'; use mapping table of `chinese-big5' for
2446         `chinese-big5-{1,2}'.
2447
2448 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2449
2450         * text-coding.c (char_encode_big5): New function.
2451         (char_finish_big5): Likewise.
2452         (reset_encoding_stream): Use `char_encode_big5' and
2453         `char_finish_big5' for CODESYS_BIG5.
2454         (mule_encode): Don't use `encode_coding_big5'.
2455         (encode_coding_big5): Deleted.
2456
2457 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2458
2459         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2460         0x81- in XEmacs UTF-2000.
2461         (detect_coding_big5): Likewise.
2462
2463 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2464
2465         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2466         generate character-id if the CCS property does not have
2467         corresponding predefined character.
2468         (make_builtin_char): Return -1 if corresponding predefined
2469         character is not found.
2470         (Fdecode_char): Return nil if corresponding character is not
2471         found.
2472         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2473         don't map to builtin ucs space.
2474
2475 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2476
2477         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2478         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2479
2480 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2481
2482         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2483         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2484         (Qideograph_gt): Likewise.
2485         (Qideograph_gt_pj_{1..11}): Likewise.
2486         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2487         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2488         `ideograph-gt-pj-11'.
2489         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2490         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2491         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2492
2493         * char-ucs.h (LEADING_BYTE_GT): New macro.
2494         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2495         (MIN_CHAR_GT): Likewise.
2496         (MAX_CHAR_GT): Likewise.
2497
2498 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2501         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2502
2503         * doprnt.c (unsigned_int_converters): Add `c'.
2504         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2505
2506         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2507         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2508         `MIN_CHAR_MOJIKYO'.
2509         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2510         (MAX_CHAR_MOJIKYO_0): New macro.
2511         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2512
2513 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2514
2515         * mule-charset.c (Fdefine_char): Delete cemented out code.
2516         (encode_builtin_char_1): Modify for new allocation of builtin
2517         Mojikyo characters.
2518
2519         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2520
2521 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (Vcharset_ucs_cns): New variable.
2524         (Qucs_cns): New variable.
2525         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2526         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2527
2528 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2529
2530         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2531
2532 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2533
2534         * search.c (search_buffer): Make `charset_base_code' as
2535         character-id >> 6 to eliminate the corresponding last byte in
2536         UTF-8 representation [I'm not sure it is right thing].
2537         (boyer_moore): Likewise.
2538
2539 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2540
2541         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2542         representation in MULE.
2543
2544 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2545
2546         * text-coding.c (Fmake_coding_system): Use
2547         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2548         `EXTERNAL_PROPERTY_LIST_LOOP'.
2549
2550 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2551
2552         * text-coding.c (decode_output_utf8_partial_char): New function.
2553         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2554
2555 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2556
2557         * text-coding.c (decode_coding_utf8): Output original byte
2558         sequence if it is broken; change order of conditions.
2559
2560         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2561         of conditions.
2562
2563         * mb-multibyte.h (BYTE_ASCII_P):
2564         Use bit ops for char-signedness safety.
2565         (BYTE_C0_P): Use bit ops for char-signedness safety.
2566         (BYTE_C1_P): Use bit ops for char-signedness safety.
2567
2568         * character.h: (XCHAR_OR_CHAR_INT):
2569         Always use inline function.
2570         Remove redundant type checking assert() - XINT will abort quite
2571         nicely.
2572
2573 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2574
2575         * text-coding.c: (Fencode_shift_jis_char):
2576         (Fencode_big5_char):
2577         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2578         Replace 0 with '\0' when working with bytes.
2579         Replace initial "(" with "\(" in docstrings.
2580
2581         (Fmake_coding_system):
2582         When type is ccl and value is vector, register it with a proper
2583         symbol.  And checks whether the given ccl program is valid.
2584         (mule_decode): When calling ccl_driver, if src indicates
2585         NULL pointer, set an empty string instead.
2586         (mule_encode): Likewise.
2587
2588         (detect_eol_type):
2589         (detect_coding_sjis):
2590         (decode_coding_sjis):
2591         (detect_coding_big5):
2592         (decode_coding_big5):
2593         (detect_coding_ucs4):
2594         (decode_coding_ucs4):
2595         (detect_coding_utf8):
2596         (decode_coding_utf8):
2597         (detect_coding_iso2022):
2598         (decode_coding_iso2022):
2599         (decode_coding_no_conversion):
2600         (mule_decode):
2601         Make all detecting and decoding functions take an Extbyte * arg.
2602         (text_encode_generic):
2603         (encode_coding_big5):
2604         (encode_coding_no_conversion):
2605         (mule_encode):
2606         Make all encoding functions take a Bufbyte * arg.
2607         Use size_t instead of unsigned int for memory sizes.
2608         Only cast to unsigned char whenever dereferencing Extbyte *.
2609
2610         (struct lrecord_description fcd_description_1): Use countof.
2611         (complex_vars_of_file_coding):
2612         Use countof instead of sizeof.
2613         Use CHECK_NATNUM instead of CHECK_INT.
2614
2615 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2616
2617         * mule-charset.c (Fget_char_attribute): Add new optional argument
2618         `default-value'.
2619         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2620         (remove_char_ccs): Likewise.
2621
2622 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2623
2624         * text-coding.c (char_encode_shift_jis): New implementation in
2625         UTF-2000.
2626         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2627         ...)'.
2628
2629         * mule-charset.c (Vcharset_chinese_big5): New variable in
2630         UTF-2000.
2631         (Qchinese_big5): New variable in UTF-2000.
2632         (BIG5_SAME_ROW): New macro in UTF-2000.
2633         (make_builtin_char): Use builtin characters of
2634         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2635         characters of `Vcharset_chinese_big5'.
2636         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2637         (complex_vars_of_mule_charset): Add new coded-charset
2638         `chinese-big5' in UTF-2000.
2639
2640         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2641         (Vcharset_chinese_big5): New external variable declaration.
2642         (Vcharset_japanese_jisx0208_1990): Likewise.
2643
2644 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2645
2646         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2647         function.
2648         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2649
2650 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2651
2652         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2653         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2654         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2655         `mojikyo-pj-*'.
2656
2657 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2658
2659         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2660
2661 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2662
2663         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2664         to 0.17.
2665
2666 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2669         for `CHARSET_BY_ATTRIBUTES'.
2670         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2671         `CHARSET_BY_ATTRIBUTES'.
2672
2673         * text-coding.c (struct decoding_stream): Rename member `CH' to
2674         `CPOS'.
2675         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2676         (decode_coding_sjis): Likewise.
2677         (decode_coding_big5): Likewise.
2678         (decode_coding_ucs4): Likewise.
2679         (decode_coding_utf8): Likewise.
2680         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2681         `CHARSET_BY_ATTRIBUTES'.
2682         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2683         `str->counter'; decode 3, 4 bytes sets.
2684         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2685         sets.
2686         (decode_coding_no_conversion): Use `str->cpos' instead of
2687         `str->ch'.
2688
2689         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2690         (Qmojikyo_2022_1): New variable.
2691         (make_charset): Don't use `CHARSET_TYPE_*'.
2692         (range_charset_code_point): Support coded-charset
2693         `mojikyo-2022-1'.
2694         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2695         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2696         `CHARSET_BY_ATTRIBUTES'.
2697         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2698         `CHARSET_BY_ATTRIBUTES'.
2699         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2700         (complex_vars_of_mule_charset): Add new coded-charset
2701         `mojikyo-2022-1'.
2702
2703         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2704         interface; changed to inline function.
2705
2706         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2707         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2708         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2709         (CHARSET_TYPE_94): Deleted.
2710         (CHARSET_TYPE_94X94): Deleted.
2711         (CHARSET_TYPE_96): Deleted.
2712         (CHARSET_TYPE_96X96): Deleted.
2713         (CHARSET_TYPE_128): Deleted.
2714         (CHARSET_TYPE_128X128): Deleted.
2715         (CHARSET_TYPE_256): Deleted.
2716         (CHARSET_TYPE_256X256): Deleted.
2717         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2718         to inline function.
2719         (DECODE_MOJIKYO_2022): New inline function.
2720         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2721         `Vcharset_mojikyo_2022_1'.
2722
2723 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2724
2725         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2726         instead of `EQ'.
2727         (put_byte_table): Likewise.
2728         (char_id_table_equal): Use `get_byte_table' [new implementation].
2729
2730 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2731
2732         * mule-charset.c: Include <limits.h> in UTF-2000.
2733         (BT_UINT8_MIN): New macro in UTF-2000.
2734         (BT_UINT8_MAX): New macro in UTF-2000.
2735         (BT_UINT8_t): New macro in UTF-2000.
2736         (BT_UINT8_nil): New macro in UTF-2000.
2737         (BT_UINT8_unbound): New macro in UTF-2000.
2738         (INT_UINT8_P): New inline function in UTF-2000.
2739         (UINT8_VALUE_P): New inline function in UTF-2000.
2740         (UINT8_ENCODE): New inline function in UTF-2000.
2741         (UINT8_DECODE): New inline function in UTF-2000.
2742         (mark_uint8_byte_table): New function in UTF-2000.
2743         (print_uint8_byte_table): New function in UTF-2000.
2744         (uint8_byte_table_equal): New function in UTF-2000.
2745         (uint8_byte_table_hash): New function in UTF-2000.
2746         (make_uint8_byte_table): New function in UTF-2000.
2747         (uint8_byte_table_same_value_p): New function in UTF-2000.
2748         (BT_UINT16_MIN): New macro in UTF-2000.
2749         (BT_UINT16_MAX): New macro in UTF-2000.
2750         (BT_UINT16_t): New macro in UTF-2000.
2751         (BT_UINT16_nil): New macro in UTF-2000.
2752         (BT_UINT16_unbound): New macro in UTF-2000.
2753         (INT_UINT16_P): New inline function in UTF-2000.
2754         (UINT16_VALUE_P): New inline function in UTF-2000.
2755         (UINT16_ENCODE): New inline function in UTF-2000.
2756         (UINT16_DECODE): New inline function in UTF-2000.
2757         (UINT8_TO_UINT16): New inline function in UTF-2000.
2758         (mark_uint16_byte_table): New function in UTF-2000.
2759         (print_uint16_byte_table): New function in UTF-2000.
2760         (uint16_byte_table_equal): New function in UTF-2000.
2761         (uint16_byte_table_hash): New function in UTF-2000.
2762         (make_uint16_byte_table): New function in UTF-2000.
2763         (uint16_byte_table_same_value_p): New function in UTF-2000.
2764         (print_byte_table): New function in UTF-2000.
2765         (byte-table): Use `print_byte_table' as printer.
2766         (make_byte_table): Delete second argument `older'.
2767         (byte_table_same_value_p): New function in UTF-2000.
2768         (copy_byte_table): Deleted.
2769         (get_byte_table): New function in UTF-2000.
2770         (put_byte_table): New function in UTF-2000.
2771         (print_char_id_table): New function in UTF-2000.
2772         (char-id-table): Use `print_char_id_table' as printer.
2773         (make_char_id_table): Delete second argument `older'.
2774         (get_char_id_table): Use `get_byte_table [new implementation].
2775         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2776         implementation].
2777         (Ffind_char_attribute_table): New function in UTF-2000.
2778         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2779         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2780         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2781         (syms_of_mule_charset): Add new function
2782         `find-char-attribute-table' in UTF-2000.
2783
2784         * lrecord.h (enum lrecord_type): Add
2785         `lrecord_type_uint16_byte_table' and
2786         `lrecord_type_uint8_byte_table'.
2787
2788         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2789         (Lisp_Uint8_Byte_Table): New type.
2790         (XUINT8_BYTE_TABLE): New macro.
2791         (XSETUINT8_BYTE_TABLE): New macro.
2792         (UINT8_BYTE_TABLE_P): New macro.
2793         (GC_UINT8_BYTE_TABLE_P): New macro.
2794         (struct Lisp_Uint16_Byte_Table): New structure.
2795         (Lisp_Uint16_Byte_Table): New type.
2796         (XUINT16_BYTE_TABLE): New macro.
2797         (XSETUINT16_BYTE_TABLE): New macro.
2798         (UINT16_BYTE_TABLE_P): New macro.
2799         (GC_UINT16_BYTE_TABLE_P): New macro.
2800
2801 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2802
2803         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2804         (Vcharacter_ideographic_strokes_table): Deleted.
2805         (Vcharacter_total_strokes_table): Deleted.
2806         (Vcharacter_morohashi_daikanwa_table): Deleted.
2807         (Vcharacter_decomposition_table): Deleted.
2808         (Qname): Deleted because it is duplicated.
2809         (Qideographic_radical): Deleted.
2810         (Qideographic_strokes): Deleted.
2811         (Qtotal_strokes): Deleted.
2812         (Qmorohashi_daikanwa): Deleted.
2813         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2814         `ideographic-radical', `ideographic-strokes', `total-strokes',
2815         `morohashi-daikanwa' and `->decomposition'.
2816         (Fget_char_attribute): Likewise.
2817         (Fput_char_attribute): Likewise; use `make-vector' instead of
2818         `make_older_vector' for `->decomposition' value.
2819         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2820         `ideograph-daikanwa'.
2821         (syms_of_mule_charset): Delete builtin symbols `name',
2822         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2823         `morohashi-daikanwa'.
2824         (vars_of_mule_charset): Don't setup
2825         `Vcharacter_ideographic_radical_table',
2826         `Vcharacter_ideographic_strokes_table',
2827         `Vcharacter_total_strokes_table',
2828         `Vcharacter_morohashi_daikanwa_table' and
2829         `Vcharacter_decomposition_table'.
2830
2831 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2832
2833         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2834         `make_older_vector', `make_vector_newer_1' and
2835         `make_vector_newer'.
2836
2837         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2838         `make_older_vector' and `make_vector_newer'.
2839
2840         * config.h.in (HAVE_GGC): New macro.
2841
2842 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2843
2844         * mule-charset.c (struct char_attribute_list_closure): New
2845         structure in UTF-2000.
2846         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2847         (Fchar_attribute_list): Likewise.
2848         (Fset_charset_mapping_table): Use `make_vector_newer'.
2849         (Fdecode_builtin_char): New function in UTF-2000.
2850         (syms_of_mule_charset): Add new function `char-attribute-list' and
2851         `decode-builtin-char' in UTF-2000.
2852
2853         * lisp.h (make_vector_newer): New prototype.
2854
2855         * alloc.c (make_vector_newer_1): New function.
2856         (make_vector_newer): New function.
2857
2858 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2859
2860         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2861         50100)'.
2862
2863 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2864
2865         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2866         (Vcharacter_attribute_table): Deleted.
2867         (Vcharacter_name_table): Deleted.
2868         (put_char_attribute): Deleted.
2869         (remove_char_attribute): Deleted.
2870         (struct char_attribute_alist_closure): New structure.
2871         (add_char_attribute_alist_mapper): New function.
2872         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2873         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2874         (Fget_char_attribute): Likewise.
2875         (Fput_char_attribute): Likewise.
2876         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2877         of `remove_char_attribute'.
2878         (Fdefine_char): Return character.
2879         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2880         and `Vcharacter_name_table'.
2881         (complex_vars_of_mule_charset): Likewise
2882         `Vchar_attribute_hash_table'.
2883
2884 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2885
2886         * character.h (CHARC_CHARSET): New macro.
2887         (CHARC_CHARSET_ID): New macro.
2888         (CHARC_CODE_POINT): New macro.
2889         (CHARC_COLUMNS): New macro.
2890         (CHARC_TO_CHAR): New inline function.
2891         (CHARC_EQ): New inline function.
2892         (CHARC_ASCII_EQ): New inline function.
2893         (CHARC_IS_SPACE): New inline function.
2894         (ASCII_TO_CHARC): New inline function.
2895
2896         * char-ucs.h (encode_char_2): Deleted.
2897         (ENCODE_CHAR): Use `encode_char_1' again.
2898         (breakup_char_1): Likewise.
2899         (CHAR_TO_CHARC): New inline function.
2900
2901         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2902
2903 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2904
2905         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2906         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2907         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2908         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2909         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2910         `CHARC_IS_SPACE'.
2911         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2912
2913         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2914         `CHARC_CODE_POINT'.
2915         (x_output_display_block): Use `CHARC_CHARSET' and
2916         `CHARC_ASCII_EQ'.
2917
2918         * redisplay-tty.c (tty_output_display_block): Use
2919         `CHARC_ASCII_EQ'.
2920         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2921
2922         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2923
2924         * insdel.c (find_charsets_in_charc_string): Use
2925         `CHARC_CHARSET_ID'.
2926         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2927         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2928         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2929         (convert_charc_string_into_malloced_string): Likewise.
2930
2931 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2932
2933         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2934         instead of <Emchar_dynarr *> for buf; use
2935         `convert_bufbyte_string_into_charc_dynarr' instead of
2936         `convert_bufbyte_string_into_emchar_dynarr'; use
2937         `find_charsets_in_charc_string' instead of
2938         `find_charsets_in_emchar_string'.
2939
2940         * redisplay.h:
2941         - Include "character.h".
2942         (struct rune): New member `cglyph'; delete member `chr'.
2943
2944         * redisplay.c (redisplay_text_width_charc_string): New function;
2945         delete `redisplay_text_width_emchar_string'.
2946         (rtw_charc_dynarr): New variable; renamed from
2947         `rtw_emchar_dynarr'.
2948         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2949         `rtw_emchar_dynarr'; use
2950         `convert_bufbyte_string_into_charc_dynarr' instead of
2951         `convert_bufbyte_string_into_emchar_dynarr'; use
2952         `redisplay_text_width_charc_string' instead of
2953         `redisplay_text_width_emchar_string'.
2954         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2955         instead of `rtw_emchar_dynarr'; use
2956         `convert_bufbyte_string_into_charc_dynarr' instead of
2957         `convert_bufbyte_string_into_emchar_dynarr'.
2958         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2959         `redisplay_text_width_charc_string' instead of
2960         `redisplay_text_width_emchar_string'.
2961         (create_text_block): Modify for <struct rune> change.
2962         (generate_formatted_string_db): Likewise.
2963         (create_string_text_block): Likewise.
2964         (pixel_to_glyph_translation): Likewise.
2965
2966         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2967         instead of <const Emchar *>.
2968         (x_text_width): Likewise.
2969         (x_output_display_block): Use <Charc_dynarr *> instead
2970         <Emchar_dynarr *>; modify for <structure rune> change.
2971         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2972         *>.
2973
2974         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2975         <const Emchar *>; use `charc_string_displayed_columns' instead of
2976         `emchar_string_displayed_columns'.
2977         (tty_output_display_block): Use <Charc_dynarr *> instead of
2978         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2979         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2980         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2981         `tty_output_emchar_dynarr_dynarr'.
2982         (tty_output_charc_dynarr): New function; delete
2983         `tty_output_charc_dynarr'.
2984
2985         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2986         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2987         <Emchar_dynarr *> for buf; use
2988         `convert_bufbyte_string_into_charc_dynarr' instead of
2989         `convert_bufbyte_string_into_emchar_dynarr'.
2990
2991         * frame.c (title_string_charc_dynarr): New variable; renamed from
2992         `title_string_emchar_dynarr'.
2993         (generate_title_string): Use `title_string_charc_dynarr' instead
2994         of `title_string_emchar_dynarr'; use
2995         `convert_charc_string_into_malloced_string' instead of
2996         `convert_emchar_string_into_malloced_string'.
2997         (init_frame): Use `title_string_charc_dynarr' instead of
2998         `title_string_emchar_dynarr'.
2999
3000         * console.h:
3001         - Include "character.h".
3002         (struct console_methods): Use <const Charc *> instead of <const
3003         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3004         <Emchar_dynarr *> in output_string_method.
3005
3006         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3007         <Emchar_dynarr *>.
3008
3009         * console-stream.c (stream_text_width): Use <const Charc *>
3010         instead of <const Emchar *>.
3011
3012         * character.h (Charc_dynarr): New type.
3013
3014         * char-ucs.h (structure Charc): New structure; define new type
3015         `Charc'.
3016
3017         * char-lb.h (DECODE_CHAR): New inline function.
3018         (encode_char_1): New inline function.
3019         (ENCODE_CHAR): New macro.
3020         (structure Charc): New structure; define new type `Charc'.
3021
3022         * char-1byte.h (Vcharset_control_1): New macro.
3023         (Vcharset_latin_iso8859_1): New macro.
3024         (DECODE_CHAR): New inline function.
3025         (encode_char_1): New inline function.
3026         (ENCODE_CHAR): New macro.
3027         (structure Charc): New structure; define new type `Charc'.
3028
3029         * insdel.c (find_charsets_in_charc_string): New function; delete
3030         `find_charsets_in_emchar_string'.
3031         (charc_string_displayed_columns): New function; delete
3032         `emchar_string_displayed_columns'.
3033         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3034         `convert_bufbyte_string_into_emchar_dynarr'.
3035         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3036         `convert_charc_string_into_bufbyte_dynarr'.
3037         (convert_charc_string_into_malloced_string): New function; delete
3038         `convert_charc_string_into_malloced_string'.
3039
3040         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3041         `find_charsets_in_emchar_string'.
3042         (charc_string_displayed_columns): New prototype; delete
3043         `emchar_string_displayed_columns'.
3044         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3045         `convert_charc_string_into_bufbyte_dynarr'.
3046         (convert_charc_string_into_malloced_string): New prototype; delete
3047         `convert_charc_string_into_malloced_string'.
3048
3049 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3050
3051         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3052
3053 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3054
3055         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3056
3057         * char-ucs.h: Use <short> for <Charset_ID>.
3058
3059         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3060         <Charset_ID>.
3061
3062 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3063
3064         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3065         to 0.16.
3066
3067 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3068
3069         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3070         variable.
3071         (Qmorohashi_daikanwa): New variable.
3072         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3073         for `morohashi-daikanwa' attribute.
3074         (Fget_char_attribute): Likewise.
3075         (Fput_char_attribute): Likewise.
3076         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3077         has the same value of `ideograph-daikanwa'.
3078         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3079         (vars_of_mule_charset): Setup
3080         `Vcharacter_morohashi_daikanwa_table'.
3081
3082 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3083
3084         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3085         attributes.
3086         (add_charset_to_list_mapper): Add `key' instead of
3087         `XCHARSET_NAME (value)' to return aliases.
3088
3089 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3090
3091         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3092         variable.
3093         (Vcharacter_ideographic_strokes_table): New variable.
3094         (Qideographic_radical): New variable.
3095         (Qideographic_strokes): New variable.
3096         (Fchar_attribute_alist): Use
3097         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3098         attribute; use `Vcharacter_ideographic_strokes_table' for
3099         `ideographic-strokes' attribute.
3100         (Fget_char_attribute): Likewise.
3101         (Fput_char_attribute): Likewise.
3102         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3103         `ideographic-strokes'.
3104         (vars_of_mule_charset): Setup
3105         `Vcharacter_ideographic_radical_table' and
3106         `Vcharacter_ideographic_strokes_table'.
3107
3108 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3109
3110         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3111         (Qtotal_strokes): New variable.
3112         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3113         `total-strokes' attribute.
3114         (Fget_char_attribute): Likewise.
3115         (Fput_char_attribute): Likewise.
3116         (syms_of_mule_charset): Add new symbol `total-strokes'.
3117         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3118
3119 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3120
3121         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3122         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3123         are found.
3124         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3125         `->decomposition' attribute.
3126         (Fput_char_attribute): Likewise.
3127         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3128
3129 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3130
3131         * mule-charset.c (decoding_table_check_elements): New function.
3132         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3133
3134 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3135
3136         * mule-charset.c (Fset_charset_mapping_table): Use
3137         `put_char_ccs_code_point'.
3138
3139 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3140
3141         * mule-charset.c (decoding_table_put_char): New inline function.
3142         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3143
3144 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3145
3146         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3147         (XCHARSET_BYTE_SIZE): New macro.
3148         (decoding_table_remove_char): New inline function.
3149         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3150         `decoding_table_remove_char'.
3151         (remove_char_ccs): Use `decoding_table_remove_char'.
3152         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3153
3154 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3155
3156         * mule-charset.c (Vcharacter_name_table): New variable.
3157         (Qname): New variable.
3158         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3159         attribute.
3160         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3161         `Vcharacter_name_table' for `name' attribute.
3162         (Fremove_char_attribute): Use function `remove_char_ccs'.
3163         (put_char_ccs_code_point): New function.
3164         (remove_char_ccs): New function.
3165         (syms_of_mule_charset): Add new symbol `name'.
3166         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3167
3168 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3169
3170         * mule-charset.c (make_byte_table): Add new argument `older'.
3171         (make_char_id_table): Likewise.
3172         (copy_char_id_table): Comment out because it is not used.
3173         (put_char_id_table): Modify for `make_byte_table'.
3174         (Fput_char_attribute): Make encoding_table as older object;
3175         inherit older bit of `Vcharacter_composition_table'.
3176         (mark_charset): Don't mark `cs->encoding_table'.
3177         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3178         normal object; make `Vcharacter_composition_table' as an older
3179         object; delete staticpro for `Vcharacter_composition_table'; make
3180         `Vcharacter_variant_table' as a normal object.
3181
3182         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3183         (mark_object): Don't check older object in UTF-2000.
3184
3185         * lrecord.h (struct lrecord_header): Add new member `older' in
3186         UTF-2000.
3187         (set_lheader_implementation): Setup `SLI_header->older' in
3188         UTF-2000.
3189         (set_lheader_older_implementation): New macro in UTF-2000.
3190         (OLDER_RECORD_P): New macro in UTF-2000.
3191         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3192         (alloc_older_lcrecord): New prototype in UTF-2000.
3193         (alloc_older_lcrecord_type): New macro in UTF-2000.
3194
3195 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3196
3197         * mule-charset.c (byte_table_description): Use
3198         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3199         (char_id_table_description): Delete bogus `, 1'.
3200         (Fget_char_attribute): Refer encoding_table of each coded-charset
3201         to get value of coded-charset attribute of a character.
3202         (Fput_char_attribute): Use `make_older_vector' instead of
3203         `make_vector'; use encoding_table of each coded-charset to store
3204         value of coded-charset attribute of a character.
3205         (Fremove_char_attribute): Use encoding_table of each coded-charset
3206         to store value of coded-charset attribute of a character.
3207         (mark_charset): Mark `cs->encoding_table'; don't mark
3208         `cs->decoding_table'.
3209         (charset_description): Add description of new member
3210         `encoding_table'.
3211         (make_charset): Initialize `encoding_table'.
3212
3213         * char-ucs.h (struct Lisp_Charset): Add new member
3214         `encoding_table'.
3215         (CHARSET_ENCODING_TABLE): New macro.
3216         (XCHARSET_ENCODING_TABLE): New macro.
3217         (charset_code_point): New implementation.
3218         (encode_char_1): Likewise.
3219
3220         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3221         (disksave_object_finalization_1): Call finalizers of
3222         `all_older_lcrecords' in UTF-2000.
3223         (make_older_vector): New function in UTF-2000.
3224         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3225         UTF-2000.
3226
3227         * lisp.h (make_older_vector): New prototype in UTF-2000.
3228
3229 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3230
3231         * lrecord.h (enum lrecord_type): Rename
3232         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3233
3234         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3235         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3236         `get_char_code_table'.
3237
3238         * mule-charset.c (mark_char_id_table): Renamed from
3239         `mark_char_code_table'.
3240         (char_id_table_equal): Renamed from `char_code_table_equal'.
3241         (char_id_table_hash): Renamed from `char_code_table_hash'.
3242         (make_char_id_table): Renamed from `make_char_code_table'.
3243         (copy_char_id_table): Renamed from `copy_char_code_table'.
3244         (get_char_id_table): Renamed from `get_char_code_table'.
3245         (put_char_id_table): Renamed from `put_char_code_table'.
3246         (to_char_id): Renamed from `to_char_code'.
3247
3248         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3249         `Lisp_Char_Code_Table'.
3250         (char_id_table): Renamed from `char_code_table'.
3251         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3252         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3253         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3254         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3255         (get_char_id_table): Renamed from `get_char_code_table'.
3256
3257 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3258
3259         * lrecord.h (enum lrecord_type): Rename
3260         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3261
3262         * mule-charset.c (mark_byte_table): Renamed from
3263         `mark_char_byte_table'.
3264         (byte_table_equal): Renamed from `char_byte_table_equal'.
3265         (byte_table_hash): Renamed from `byte_table_hash'.
3266         (make_byte_table): Renamed from `make_byte_table'.
3267         (copy_byte_table): Renamed from `copy_char_byte_table'.
3268
3269         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3270         `Lisp_Char_Byte_Table'.
3271         (byte_table): Renamed from `char_byte_table'.
3272         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3273         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3274         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3275         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3276
3277 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3278
3279         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3280         (dfc_convert_to_internal_format): Likewise.
3281         
3282         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3283         * text-coding.c (Fcoding_system_alias_p): New function.
3284         * text-coding.c (Fcoding_system_aliasee): New function.
3285         * text-coding.c (append_suffix_to_symbol): New function.
3286         * text-coding.c (dangling_coding_system_alias_p): New function.
3287         * text-coding.c (Ffind_coding_system):
3288         * text-coding.c (Fcopy_coding_system):
3289         * text-coding.c (encode_coding_no_conversion):
3290         * text-coding.c (syms_of_file_coding):
3291         * text-coding.c (vars_of_file_coding):
3292         Rewrite coding system alias code.
3293         Allow nested aliases, like symbolic links.
3294         Allow redefinition of coding system aliases.
3295         Prevent existence of dangling coding system aliases.
3296         Eliminate convert_to_external_format.
3297         Eliminate convert_to_internal_format.
3298         
3299         * text-coding.c: Change enum eol_type to eol_type_t.
3300
3301 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3302
3303         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3304         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3305
3306         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3307         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3308
3309 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3310
3311         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3312         `ideograph-daikanwa'.
3313
3314         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3315         (Vcharset_ucs_bmp): Likewise.
3316         (Vcharset_mojikyo): Add new extern variable definition.
3317         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3318         (Vcharset_latin_iso8859_3): Likewise.
3319         (Vcharset_latin_iso8859_4): Likewise.
3320         (Vcharset_latin_iso8859_9): Likewise.
3321         (Vcharset_latin_viscii_lower): Likewise.
3322         (Vcharset_latin_viscii_upper): Likewise.
3323         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3324         `mojikyo' code-point is used to decode.
3325         (encode_char_2): New function [to convert `mojikyo' code-point to
3326         Mojikyo font encoding].
3327         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3328         (breakup_char_1): Likewise.
3329         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3330
3331 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3332
3333         * text-coding.c (Fmake_coding_system): Add document about
3334         `disable-composition' property.
3335
3336 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3337
3338         * text-coding.c (Qdisable_composition): New variable; delete
3339         `Qcomposite'.
3340         (Fmake_coding_system): Add new property `disable-composite';
3341         delete property `composite'.
3342         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3343         instead of `!CODING_SYSTEM_COMPOSITE'.
3344         (syms_of_file_coding): Add new symbol `disable-composition';
3345         delete symbol `composite'.
3346
3347         * file-coding.h (struct Lisp_Coding_System): Add
3348         `disable_composition'; delete `enable_composition'.
3349         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3350         `CODING_SYSTEM_COMPOSITE'.
3351         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3352         `XCODING_SYSTEM_COMPOSITE'.
3353
3354 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3355
3356         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3357         to 0.15.
3358
3359 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3360
3361         * text-coding.c (Qcomposite): New variable.
3362         (Fmake_coding_system): Add new property `composite'.
3363         (struct decoding_stream): Add `combined_char_count',
3364         `combined_chars' and `combining_table' in UTF-2000.
3365         (COMPOSE_FLUSH_CHARS): New macro.
3366         (COMPOSE_ADD_CHAR): New macro.
3367         (reset_decoding_stream): Reset `str->combined_char_count' and
3368         `str->combining_table' in UTF-2000.
3369         (decode_coding_iso2022): Modify for character-decomposition.
3370         (syms_of_file_coding): Add new symbol `composite'.
3371
3372 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3373
3374         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3375         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3376         of `Vcharacter_composition_table' if `->decomposition' property
3377         has only 1 element.
3378         (Qlatin_tcvn5712): New variable.
3379         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3380         (complex_vars_of_mule_charset): Add new coded-charset
3381         `latin-tcvn5712'.
3382
3383         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3384
3385 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3386
3387         * file-coding.h (struct Lisp_Coding_System): Add
3388         `enable_composition'.
3389         (CODING_SYSTEM_COMPOSITE): New macro.
3390         (XCODING_SYSTEM_COMPOSITE): New macro.
3391
3392 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3393
3394         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3395
3396 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3397
3398         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3399         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3400
3401 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3402
3403         * mule-charset.c (Vcharset_mojikyo): New variable.
3404         (Fdefine_char): Don't use coded-charset which does not have
3405         non-builtin character range to allocate character-id.
3406         (Qmojikyo): New variable.
3407         (syms_of_mule_charset): Add new symbol `mojikyo'.
3408         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3409
3410         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3411         (LEADING_BYTE_MOJIKYO): New macro.
3412         (MIN_CHAR_MOJIKYO): New macro.
3413         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3414         (MAX_CHAR_MOJIKYO): New macro.
3415
3416 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3417
3418         * mule-charset.c (remove_char_attribute): Fixed.
3419
3420 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3421
3422         * mule-charset.c (remove_char_attribute): New function.
3423         (Fremove_char_attribute): New function.
3424         (encode_builtin_char_1): Comment out builtin-support for
3425         greek-iso8859-7 and cyrillic-iso8859-5.
3426         (Fdecode_char): Check `code' is an integer.
3427         (syms_of_mule_charset): Add `remove-char-attribute'.
3428         (MIN_CHAR_GREEK): Deleted.
3429         (MAX_CHAR_GREEK): Likewise.
3430         (MIN_CHAR_CYRILLIC): Likewise.
3431         (MAX_CHAR_CYRILLIC): Likewise.
3432         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3433         MAX_CHAR_GREEK for `greek-iso8859-7'.
3434
3435         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3436         (MAX_CHAR_GREEK): Likewise.
3437         (MIN_CHAR_CYRILLIC): Likewise.
3438         (MAX_CHAR_CYRILLIC): Likewise.
3439
3440 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3441
3442         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3443         format is used without `ucs' property.
3444         (Fdecode_char): Fix problem with GR representation.
3445         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3446         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3447
3448 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3449
3450         * mule-charset.c (make_builtin_char): New function.
3451         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3452         (Fset_charset_mapping_table): Modify for new representation of
3453         code-point.
3454         (Fdecode_char): New function.
3455         (syms_of_mule_charset): Add new builtin function `decode-char' in
3456         UTF-2000.
3457
3458         * char-ucs.h (make_builtin_char): New prototype.
3459         (DECODE_CHAR): New inline function.
3460         (MAKE_CHAR): Use `DECODE_CHAR'.
3461
3462 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3463
3464         * text-coding.c (parse_charset_conversion_specs): Use
3465         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3466         `XCHARSET_TYPE'.
3467         (iso2022_designate): Likewise.
3468
3469         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3470         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3471
3472         * mule-charset.c (Vcharset_ucs): New variable.
3473         (print_charset): Change design; use `CHARSET_CHARS' and
3474         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3475         (make_charset): Change signature to specify `chars' and
3476         `dimension' instead of `type'.
3477         (range_charset_code_point): Modify for 256^n-set.
3478         (encode_builtin_char_1): Encode as `ucs' in default.
3479         (Fmake_charset): Modify for `make_charset'.
3480         (Fmake_reverse_direction_charset): Likewise.
3481         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3482         UTF-2000.
3483         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3484         for `make_charset'.
3485
3486         * char-ucs.h (Vcharset_ucs): New variable.
3487         (LEADING_BYTE_UCS): New macro.
3488         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3489         and `chars' to `unsigned short' from `unsigned int'.
3490         (CHARSET_TYPE): Deleted.
3491         (XCHARSET_TYPE): Deleted.
3492
3493 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3494
3495         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3496
3497         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3498         (ENCODE_CHAR): New macro.
3499
3500 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3501
3502         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3503         to 0.14 (Kawachi-Katakami).
3504
3505 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3506
3507         * text-coding.c (char_encode_shift_jis): Modify for
3508         `charset_code_point'.
3509         (char_encode_iso2022): Likewise.
3510
3511         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3512         (integer) instead of list of <Lisp_Object>s (integers) as the
3513         format of code-point of a coded-charset.
3514         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3515         (encode_builtin_char_1): New function; delete
3516         `split_builtin_char'.
3517         (charset_code_point): Return <int> instead of <Lisp_Object>.
3518         (Fsplit_char): Don't use `SPLIT_CHAR'.
3519
3520         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3521         prototype for `split_builtin_char'.
3522         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3523         (charset_code_point): Likewise.
3524         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3525         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3526
3527 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3528
3529         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3530         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3531
3532 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3533
3534         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3535
3536         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3537         (MAX_CHAR_OBS_94x94): Deleted.
3538
3539 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3540
3541         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3542
3543         * char-ucs.h (MAX_CHAR_BMP): New macro.
3544
3545 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3546
3547         * text-coding.c: Sync with r21-2-24.
3548
3549 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3550
3551         * file-coding.c: Modify for UTF-2000.
3552
3553 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3554
3555         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3556         to 0.13 (Takaida).
3557
3558 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3559
3560         * mule-charset.c (split_builtin_char): Delete builtin support for
3561         `katakana-jisx0201'.
3562         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3563         BMP area in builtin representation.
3564
3565         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3566         `Vcharset_katakana_jisx0201'.
3567
3568 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3569
3570         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3571         (Qisolated): New variable.
3572         (Qinitial): New variable.
3573         (Qmedial): New variable.
3574         (Qfinal): New variable.
3575         (Qvertical): New variable.
3576         (Qsmall): New variable.
3577         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3578         `Qvertical' and `Qsmall'.
3579         (Qmojikyo_pj_[1 .. 21]): New variable.
3580         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3581         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3582         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3583         .. 21]'.
3584
3585 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3586
3587         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3588         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3589         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3590
3591 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3592
3593         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3594         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3595         BMP.
3596         (Qjapanese_jisx0208_1990): New variable.
3597         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3598         (complex_vars_of_mule_charset): Add new coded-charset
3599         `japanese-jisx0208-1990'.
3600
3601         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3602         (MIN_CHAR_JIS_X0208_1990): New macro.
3603         (MAX_CHAR_JIS_X0208_1990): New macro.
3604
3605 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3606
3607         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3608         coded-charset is not found.
3609
3610 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3611
3612         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3613         (Fdefine_char): Use `Fmake_char'.
3614
3615 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3616
3617         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3618         (Vcharset_hiragana_jisx0208): Deleted.
3619         (Vcharset_katakana_jisx0208): Deleted.
3620         (Qideograph_daikanwa): New variable.
3621         (Qhiragana_jisx0208): Deleted.
3622         (Qkatakana_jisx0208): Deleted.
3623         (split_builtin_char): Split `ideograph-daikanwa'.
3624         (Fsplit_char): New implementation for UTF-2000.
3625         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3626         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3627         (complex_vars_of_mule_charset): Add new coded-charset
3628         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3629         `katakana-jisx0208'.
3630
3631         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3632         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3633         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3634         (MIN_CHAR_DAIKANWA): New macro.
3635         (MAX_CHAR_DAIKANWA): New macro.
3636
3637 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3638
3639         * data.c (Fstring_to_number): Don't recognize floating point if
3640         base is not 10.
3641
3642 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3643
3644         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3645
3646 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3647
3648         * mule-charset.c (Qsquare): New variable.
3649         (to_char_code): Add `Qsquare'.
3650         (syms_of_mule_charset): Add new symbol `square'.
3651
3652 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3653
3654         * mule-charset.c (Qcircle): New variable.
3655         (to_char_code): Add `Qcircle'.
3656         (syms_of_mule_charset): Add new symbol `circle'.
3657
3658 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3659
3660         * mule-charset.c (Qfont): New variable.
3661         (to_char_code): Add `Qfont'.
3662         (syms_of_mule_charset): Add new symbol `font'.
3663
3664 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3665
3666         * mule-charset.c (Qsub): New variable.
3667         (to_char_code): Add `Qsub'.
3668         (syms_of_mule_charset): Add new symbol `sub'.
3669
3670 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3671
3672         * mule-charset.c (Fput_char_attribute): Convert each element of
3673         VALUE to GL position if ATTRIBUTE is a GR-set,
3674
3675 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3676
3677         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3678         coded-charset is a GR-set.
3679
3680 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3681
3682         * mule-charset.c (Fput_char_attribute): Check each element of
3683         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3684
3685 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3686
3687         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3688         UTF-2000.
3689         (Qethiopic_ucs): New variable in UTF-2000.
3690         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3691         (complex_vars_of_mule_charset): Add new coded-charset
3692         `ethiopic-ucs' in UTF-2000.
3693
3694         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3695         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3696         9)'.
3697         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3698         10)'.
3699         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3700
3701 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3702
3703         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3704         `ascii'.
3705
3706 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3707
3708         * mule-charset.c (Vcharacter_variant_table): New variable.
3709         (Q_ucs): New variable.
3710         (Fchar_variants): New function.
3711         (Fput_char_attribute): Register `->ucs' value to
3712         `Vcharacter_variant_table'.
3713         (syms_of_mule_charset): Add new function `char-variants' and new
3714         symbol `->ucs'.
3715         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3716
3717 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3718
3719         * mule-charset.c (get_char_code_table): Allow negative character
3720         code.
3721         (put_char_code_table): Likewise.
3722         (Vcharacter_composition_table): New variable.
3723         (Q_decomposition): New variable.
3724         (Qwide): New variable.
3725         (Qnarrow): New variable.
3726         (Qcompat): New variable.
3727         (QnoBreak): New variable.
3728         (Qsuper): New variable.
3729         (Qfraction): New variable.
3730         (to_char_code): New function.
3731         (Fget_composite_char): New function.
3732         (Fput_char_attribute): Register `->decomposition' value to
3733         `Vcharacter_composition_table'.
3734         (syms_of_mule_charset): Add new function `get-composite-char', new
3735         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3736         `super' and `fraction'.
3737         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3738
3739 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3740
3741         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3742         character; copy the return value.
3743
3744 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3745
3746         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3747
3748         * mule-charset.c (range_charset_code_point): Must use make_int.
3749         (split_builtin_char): New function.
3750
3751 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3752
3753         * mule-charset.c (char_byte_table): Change name from
3754         "char-code-table" to "char-byte-table".
3755         (mark_char_code_table): New function.
3756         (char_code_table_equal): New function.
3757         (char_code_table_hash): New function.
3758         (char_code_table_description): New constant.
3759         (char_code_table): New type.
3760         (make_char_code_table): New function.
3761         (copy_char_code_table): New function.
3762         (get_char_code_table): Modify for `char_code_table' type.
3763         (put_char_code_table): Likewise.
3764         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3765         (Kashiwara).
3766
3767         * char-ucs.h (char_code_table): New type.
3768         (XCHAR_CODE_TABLE): New macro.
3769         (XSETCHAR_CODE_TABLE): New macro.
3770         (CHAR_CODE_TABLE_P): New macro.
3771         (GC_CHAR_CODE_TABLE_P): New macro.
3772         (struct Lisp_Char_Code_Table): New structure.
3773
3774 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3775
3776         * mule-charset.c (Fmake_charset): Setup byte_offset for
3777         {94|96}^n-set.
3778
3779 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3780
3781         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3782         character.
3783
3784 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3785
3786         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3787         is found.
3788
3789 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3790
3791         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3792         charset, it is regarded as a charset.
3793         (put_char_attribute): New function in UTF-2000.
3794         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3795         charset, mapping-table of the charset is modified.
3796         (Fdefine_char): New function in UTF-2000.
3797         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3798         `Fput_char_attribute'.
3799         (syms_of_mule_charset): Add new function `define-char' and new
3800         symbol `ucs' in UTF-2000.
3801         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3802
3803 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3804
3805         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3806         non-UTF-2000 configuration.
3807
3808 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3809
3810         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3811         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3812
3813         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3814         deleted.
3815         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3816         (Fset_charset_mapping_table): Likewise.
3817
3818         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3819         (CHARSET_ENCODING_TABLE): Delete.
3820         (XCHARSET_ENCODING_TABLE): Delete.
3821         (charset_code_point): New interface.
3822
3823 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3824
3825         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3826         instead of `charset_get_byte1' and `charset_get_byte2'.
3827
3828         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3829         (charset_get_byte2): Deleted.
3830
3831 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3832
3833         * char-ucs.h (SPLIT_CHAR): New inline function.
3834         (breakup_char_1): Use `SPLIT_CHAR'.
3835
3836         * mule-charset.c (range_charset_code_point): New function.
3837         (charset_code_point): New function.
3838
3839         * char-ucs.h (range_charset_code_point): New interface.
3840         (breakup_char_1): Use `range_charset_code_point'.
3841
3842 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3843
3844         * mule-charset.c (Fmake_charset): Delete unused local variable
3845         `code_offset'.
3846
3847         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3848         (breakup_char_1): Find a charset and code-point in
3849         `Vcharacter_attribute_table'.
3850
3851 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3852
3853         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3854         to 0.10 (Yao).
3855
3856 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3857
3858         * mule-charset.c (Vcharacter_attribute_table): New variable.
3859         (Fchar_attribute_alist): New function.
3860         (Fget_char_attribute): New function.
3861         (Fput_char_attribute): New function.
3862         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3863         too.
3864         (syms_of_mule_charset): Add new function `char-attribute-alist',
3865         `get-char-attribute' and `put-char-attribute'.
3866         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3867
3868 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3869
3870         * mule-charset.c (Fmake_charset): Just use
3871         `get_unallocated_leading_byte'.
3872
3873         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3874         sets; don't use final-byte based number for private sets.
3875
3876 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3877
3878         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3879         integer.
3880
3881 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3882
3883         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3884         to 0.9.
3885
3886 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3887
3888         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3889         of `CHAR_LEADING_BYTE' in UTF-2000.
3890
3891         * insdel.c (find_charsets_in_bufbyte_string): Use
3892         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3893         (find_charsets_in_emchar_string): Likewise.
3894
3895         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3896         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3897
3898         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3899         (CHAR_CHARSET_ID): New macro.
3900
3901 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3902
3903         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3904         charset-id - MIN_LEADING_BYTE.
3905         (put_char_table): Likewise.
3906
3907 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3908
3909         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3910         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3911         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3912         (CHARSET_ID_OFFSET): New macro.
3913         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3914         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3915         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3916         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3917         4).
3918         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3919         5).
3920         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3921         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3922         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3923         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3924         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3925
3926 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3927
3928         * mule-charset.c (next_allocated_leading_byte): New variable in
3929         UTF-2000.
3930         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3931         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3932         (get_unallocated_leading_byte): Simply use
3933         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3934         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3935         UTF-2000.
3936
3937         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3938         (MAX_LEADING_BYTE_PRIVATE): New macro.
3939         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3940         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3941
3942 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3943
3944         * mule-charset.c (Fmake_charset): Allocate final-byte based
3945         charset-id for 94-set, 96-set and 94x94-set.
3946
3947 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3948
3949         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3950         ambiguous `else'.
3951         (Fmake_charset): Likewise.
3952         (complex_vars_of_mule_charset): Modify the font registry of
3953         `ucs-bmp' not to match `Ethiopic-Unicode'.
3954
3955 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3956
3957         * mule-charset.c (complex_vars_of_mule_charset): Add font
3958         registory of `ucs-bmp'.
3959
3960 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3961
3962         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3963         coded-charsets in `default-coded-charset-priority-list' when
3964         breaking up a character.
3965
3966         * mule-charset.c (Vcharset_latin_viscii): New variable.
3967         (Qlatin_viscii): New variable.
3968         (make_charset): Don't use `decoding_table'.
3969         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3970         byte_offset.
3971         (Fset_charset_mapping_table): New implementation.
3972         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3973         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3974         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3975         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3976         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3977         charset `latin_viscii'.
3978
3979         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3980         (CHARSET_TYPE_94X94): Change to 1 from 2.
3981         (CHARSET_TYPE_96): Change to 2 from 1.
3982         (CHARSET_TYPE_128): New macro.
3983         (CHARSET_TYPE_128X128): Change to 5 from 4.
3984         (CHARSET_TYPE_256): New macro.
3985         (CHARSET_TYPE_256X256): Change to 7 from 5.
3986         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3987
3988 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3989
3990         * text-coding.c (char_encode_shift_jis): Refer
3991         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3992         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3993
3994         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3995         (char_byte_table_equal): New function in UTF-2000.
3996         (char_byte_table_hash): New function in UTF-2000.
3997         (char_byte_table_description): New constant in UTF-2000.
3998         (char_byte_table): New type in UTF-2000.
3999         (make_char_byte_table): New function in UTF-2000.
4000         (copy_char_byte_table): New function in UTF-2000.
4001         (make_char_code_table): New macro in UTF-2000.
4002         (get_char_code_table): New function in UTF-2000.
4003         (put_char_code_table): New function in UTF-2000.
4004         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4005         (charset_description): Add setting in UTF-2000.
4006         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4007         `CHARSET_TO_BYTE1_TABLE(cs)'.
4008         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4009         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4010         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4011         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4012         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4013         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4014         `CHARSET_TO_BYTE2_TABLE(cs)'.
4015
4016         * char-ucs.h (char_byte_table): New type.
4017         (XCHAR_BYTE_TABLE): New macro.
4018         (XSETCHAR_BYTE_TABLE): New macro.
4019         (CHAR_BYTE_TABLE_P): New macro.
4020         (GC_CHAR_BYTE_TABLE_P): New macro.
4021         (struct Lisp_Char_Byte_Table): New structure.
4022         (get_char_code_table): New interface.
4023         (Emchar_to_byte_table): Deleted.
4024         (get_byte_from_character_table): Deleted.
4025         (struct Lisp_Charset): Add `encoding_table'; delete
4026         `to_byte1_table' and `to_byte2_table'.
4027         (CHARSET_ENCODING_TABLE): New macro.
4028         (CHARSET_TO_BYTE1_TABLE): Deleted.
4029         (CHARSET_TO_BYTE2_TABLE): Deleted.
4030         (XCHARSET_ENCODING_TABLE): New macro.
4031         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4032         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4033
4034 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4035
4036         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4037         `vietnamese-viscii-*'.
4038
4039 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4040
4041         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4042         (Qvietnamese_viscii_upper): New variable.
4043         (Fdefine_charset_alias): New function.
4044         (syms_of_mule_charset): Add new function `define-charset-alias'.
4045         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4046         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4047         `latin-viscii-*'.
4048
4049 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4050
4051         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4052         (MAX_CHAR_OBS_94x94): New macro.
4053         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4054         for 94x94 sets.
4055
4056         * mule-charset.c (put_byte_from_character_table): Change unit size
4057         from 128 to 256.
4058         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4059         not defined.
4060         (Fmake_reverse_direction_charset): Modify dummy argument of
4061         `make_charset' for non-UTF-2000 environment.
4062
4063 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4064
4065         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4066
4067         * mule-charset.c (destroy_byte_from_character_table): New macro.
4068         (latin_jisx0201_to_ucs): Deleted.
4069         (latin_iso8859_2_to_ucs): Deleted.
4070         (latin_iso8859_3_to_ucs): Deleted.
4071         (latin_iso8859_4_to_ucs): Deleted.
4072         (latin_iso8859_9_to_ucs): Deleted.
4073         (latin_viscii_lower_to_ucs): Deleted.
4074         (latin_viscii_upper_to_ucs): Deleted.
4075         (mark_charset): Mark `cs->decoding_table'.
4076         (Fcharset_mapping_table): Fix DOC-string.
4077         (Fset_charset_mapping_table): New function.
4078         (syms_of_mule_charset): Add nwe function
4079         `set-charset-mapping-table'.
4080         (complex_vars_of_mule_charset): Don't setup and use
4081         `latin_*_to_ucs'.
4082
4083 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4084
4085         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4086         charset.
4087
4088 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4089
4090         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4091         (Vcharset_katakana_jisx0208): New variable.
4092         (Qhiragana_jisx0208): New variable.
4093         (Qkatakana_jisx0208): New variable.
4094         (make_charset): Add new argument `byte_offset'.
4095         (charset_get_byte1): Modify for new coded-charset definition; use
4096         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4097         `XCHARSET_BYTE_OFFSET'.
4098         (Fmake_charset): Modify for `make_charset'.
4099         (Fmake_reverse_direction_charset): Likewise.
4100         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4101         `katakana-jisx0208'.
4102         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4103         `.'  in font registry of charset `katakana-jisx0201',
4104         `latin-jisx0201', `vietnamese-viscii-lower' and
4105         `vietnamese-viscii-upper'; modify DOC-string of charset
4106         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4107         registry of charset `japanese-jisx0208' not to use font for JIS
4108         X0208:1990; add new charset `hiragana-jisx0208' and
4109         `katakana-jisx0208'.
4110
4111         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4112         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4113         (struct Lisp_Charset): Add `byte_offset'.
4114         (CHARSET_BYTE_OFFSET): New macro.
4115         (XCHARSET_UCS_MIN): New macro.
4116         (XCHARSET_UCS_MAX): New macro.
4117         (XCHARSET_CODE_OFFSET): New macro.
4118         (XCHARSET_BYTE_OFFSET): New macro.
4119         (MIN_CHAR_HIRAGANA): New macro.
4120         (MAX_CHAR_HIRAGANA): New macro.
4121         (MIN_CHAR_KATAKANA): New macro.
4122         (MAX_CHAR_KATAKANA): New macro.
4123         (MAKE_CHAR): Modify for new coded-charset definition; use
4124         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4125         `XCHARSET_BYTE_OFFSET'.
4126
4127 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4128
4129         * mule-charset.c (CHAR96): Deleted.
4130         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4131         <Lisp_Object>.
4132         (latin_iso8859_2_to_ucs): Likewise.
4133         (latin_iso8859_3_to_ucs): Likewise.
4134         (latin_iso8859_4_to_ucs): Likewise.
4135         (latin_iso8859_9_to_ucs): Likewise.
4136         (latin_viscii_lower_to_ucs): Likewise.
4137         (latin_viscii_upper_to_ucs): Likewise.
4138         (latin_tcvn5712_to_ucs): Commented out.
4139         (make_charset): Change type of argument `decoding_table' from
4140         <Emchar*> to <Lisp_Object> [vector of characters].
4141         (Fmake_charset): Modify for `make_charset'.
4142         (Fmake_reverse_direction_charset): Likewise.
4143         (Fcharset_mapping_table): New function in UTF-2000.
4144         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4145         UTF-2000.
4146         (complex_vars_of_mule_charset): Modify for type change of
4147         `*_to_ucs'; modify for `make_charset'.
4148
4149         * char-ucs.h (struct Lisp_Charset): Change type of
4150         `decoding_table' from <Emchar*> to <Lisp_Object>.
4151         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4152
4153 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4154
4155         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4156         error with non-UTF-2000-Mule.
4157
4158 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4159
4160         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4161         in lisp again].
4162         (Vcharset_chinese_cns11643_4): Likewise.
4163         (Vcharset_chinese_cns11643_5): Likewise.
4164         (Vcharset_chinese_cns11643_6): Likewise.
4165         (Vcharset_chinese_cns11643_7): Likewise.
4166         (Qchinese_cns11643_3): Likewise.
4167         (Qchinese_cns11643_4): Likewise.
4168         (Qchinese_cns11643_5): Likewise.
4169         (Qchinese_cns11643_6): Likewise.
4170         (Qchinese_cns11643_7): Likewise.
4171         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4172         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4173         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4174         (complex_vars_of_mule_charset): Likewise.
4175
4176 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4177
4178         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4179         96-set.
4180         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4181         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4182
4183 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4184
4185         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4186         0xFF60.
4187         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4188         (breakup_char_1): Likewise.
4189
4190         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4191         one of them includes the specified character.
4192
4193 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4194
4195         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4196
4197 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4198
4199         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4200
4201 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4202
4203         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4204         definition for non-UTF-2000 Mule.
4205         (latin_iso8859_3_to_ucs): Likewise.
4206         (latin_iso8859_4_to_ucs): Likewise.
4207         (latin_iso8859_9_to_ucs): Likewise.
4208         (latin_jisx0201_to_ucs): Likewise.
4209         (MIN_CHAR_THAI): Likewise.
4210         (MAX_CHAR_THAI): Likewise.
4211         (MIN_CHAR_GREEK): Likewise.
4212         (MAX_CHAR_GREEK): Likewise.
4213         (MIN_CHAR_HEBREW): Likewise.
4214         (MAX_CHAR_HEBREW): Likewise.
4215         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4216         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4217         (MIN_CHAR_CYRILLIC): Likewise.
4218         (MAX_CHAR_CYRILLIC): Likewise.
4219
4220 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4221
4222         * char-ucs.h (breakup_char_1): Use
4223         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4224         thai-tis620 and katakana-jisx0201 area.
4225
4226 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4227
4228         * char-ucs.h (breakup_char_1): Use
4229         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4230         area.
4231
4232         * text-coding.c (reset_encoding_stream): Fixed.
4233         (char_encode_ucs4): Delete `& 255'.
4234
4235         * char-ucs.h (breakup_char_1): Use
4236         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4237
4238 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4239
4240         * file-coding.c (Fmake_coding_system): Don't set up
4241         `codesys->fixed.size'.
4242         (encode_coding_no_conversion): Don't refer
4243         `str->codesys->fixed.size'.
4244
4245 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4246
4247         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4248         (latin_a_char_to_byte1): Deleted.
4249         (latin_a_char_to_byte2): Deleted.
4250
4251 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4252
4253         * mule-charset.c (make_charset): Add new argument `ucs_min',
4254         `ucs_max' and `code_offset'.
4255         (charset_get_byte1): New implementation [delete specific charset
4256         depended implementations].
4257         (Fmake_charset): Modify for `make_charset'.
4258         (Fmake_reverse_direction_charset): Likewise.
4259         (complex_vars_of_mule_charset): Likewise.
4260
4261         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4262         `code_offset'.
4263         (CHARSET_UCS_MIN): New macro.
4264         (CHARSET_UCS_MAX): New macro.
4265         (CHARSET_CODE_OFFSET): New macro.
4266         (MAKE_CHAR): Delete charset depended definitions [except
4267         katakana-jisx0201].
4268
4269 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4270
4271         * char-ucs.h (breakup_char_1): Use
4272         `Vdefault_coded_charset_priority_list' for C0-Controls,
4273         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4274
4275 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4276
4277         * char-ucs.h (charset_get_byte1): New function.
4278         (XCHARSET_GET_BYTE1): Deleted.
4279         (charset_get_byte2): New function.
4280         (XCHARSET_GET_BYTE2): Deleted.
4281         (Vdefault_coded_charset_priority_list): New external variable.
4282         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4283         `Vdefault_preferred_coded_charset_list'.
4284
4285         * mule-charset.c (charset_get_byte1): New function.
4286         (charset_get_byte2): New function.
4287         (Vdefault_coded_charset_priority_list): New variable.
4288         (vars_of_mule_charset): Add new variable
4289         `default-coded-charset-priority-list'.
4290
4291 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4292
4293         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4294         (XCHARSET_GET_BYTE2): New inline function.
4295         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4296         `XCHARSET_GET_BYTE2'.
4297
4298 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4299
4300         * mule-charset.c (make_charset): Initialize
4301         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4302         NULL if table is not defined.
4303
4304 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4305
4306         * text-coding.c (char_encode_shift_jis): Use
4307         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4308         `ucs_to_latin_jisx0201'.
4309
4310         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4311         (ucs_to_latin_iso8859_2): Deleted.
4312         (ucs_to_latin_iso8859_3): Deleted.
4313         (ucs_to_latin_iso8859_4): Deleted.
4314         (ucs_to_latin_iso8859_9): Deleted.
4315         (ucs_to_latin_viscii_lower): Deleted.
4316         (ucs_to_latin_viscii_upper): Deleted.
4317         (ucs_to_latin_tcvn5712): Deleted.
4318         (make_charset): Add new argument `decoding_table'; set up
4319         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4320         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4321         `decoding_table' is defined in UTF-2000.
4322         (Fmake_charset): Modify for `make_charset'.
4323         (Fmake_reverse_direction_charset): Likewise.
4324         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4325         and `GENERATE_96_SET'.
4326
4327         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4328         (ucs_to_latin_jisx0201): Deleted.
4329         (latin_iso8859_2_to_ucs): Deleted.
4330         (ucs_to_latin_iso8859_2): Deleted.
4331         (latin_iso8859_3_to_ucs): Deleted.
4332         (ucs_to_latin_iso8859_3): Deleted.
4333         (latin_iso8859_4_to_ucs): Deleted.
4334         (ucs_to_latin_iso8859_4): Deleted.
4335         (latin_iso8859_9_to_ucs): Deleted.
4336         (ucs_to_latin_iso8859_9): Deleted.
4337         (latin_viscii_lower_to_ucs): Deleted.
4338         (ucs_to_latin_viscii_lower): Deleted.
4339         (latin_viscii_upper_to_ucs): Deleted.
4340         (ucs_to_latin_viscii_upper): Deleted.
4341         (struct Lisp_Charset): Renamed `encoding_table' to
4342         `to_byte1_table'; add `to_byte2_table'.
4343         (CHARSET_DECODING_TABLE): New macro.
4344         (CHARSET_TO_BYTE1_TABLE): New macro.
4345         (CHARSET_TO_BYTE2_TABLE): New macro.
4346         (XCHARSET_DECODING_TABLE): New macro.
4347         (XCHARSET_TO_BYTE1_TABLE): New macro.
4348         (XCHARSET_TO_BYTE2_TABLE): New macro.
4349         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4350         tables.
4351         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4352         don't use `ucs_to_*' tables.
4353
4354 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4355
4356         * text-coding.c (Fmake_coding_system): Don't set up
4357         `codesys->fixed.size'.
4358         (encode_coding_no_conversion): Use `if' instead of `switch'.
4359
4360         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4361
4362 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4363
4364         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4365         (Fmake_charset): Modify for `make_charset'.
4366         (Fmake_reverse_direction_charset): Likewise.
4367         (complex_vars_of_mule_charset): Likewise.
4368
4369 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4370
4371         * text-coding.c (char_encode_shift_jis): Use table
4372         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4373
4374 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4375
4376         * text-coding.c (text_encode_generic): Use `if' instead of
4377         `switch'.
4378         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4379         decode JIS-Latin.
4380
4381 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4382
4383         * text-coding.c (encode_coding_sjis): Deleted.
4384         (char_encode_shift_jis): New function.
4385         (char_finish_shift_jis): New function.
4386         (reset_encoding_stream): Set up `encode_char' and `finish' for
4387         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4388         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4389         (char_encode_utf8): Treat `eol_type'.
4390
4391 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4392
4393         * file-coding.c (decode_coding_iso2022): Use
4394         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4395
4396 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4397
4398         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4399         to 0.7 (Hirano).
4400
4401 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4402
4403         * char-lb.h (CHAR_COLUMNS): New macro.
4404
4405 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4406
4407         * text-coding.c (char_encode_ucs4): New function.
4408         (char_finish_ucs4): New function.
4409         (encode_coding_ucs4): Deleted.
4410         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4411         (text_encode_generic): Delete local variable `charset' and `half'.
4412         (ucs_to_mule_table): Deleted.
4413         (mule_to_ucs_table): Deleted.
4414         (Fset_ucs_char): Deleted.
4415         (ucs_to_char): Deleted.
4416         (Fucs_char): Deleted.
4417         (Fset_char_ucs): Deleted.
4418         (Fchar_ucs): Deleted.
4419         (decode_ucs4): Deleted.
4420         (mule_char_to_ucs4): Deleted.
4421         (encode_ucs4): Deleted.
4422         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4423         (decode_coding_utf8): Likewise.
4424         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4425         (char_encode_iso2022): Fixed.
4426         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4427         `Fset_char_ucs' and `Fchar_ucs'.
4428         (complex_vars_of_file_coding): Don't initialize
4429         `ucs_to_mule_table'.
4430
4431         * objects-tty.c (tty_initialize_font_instance): Don't use
4432         `XCHARSET_COLUMNS'.
4433
4434         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4435         UTF-2000.
4436
4437         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4438         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4439
4440         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4441         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4442         (emchar_string_displayed_columns): Likewise.
4443
4444         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4445         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4446         (string_column_at_point): Likewise.
4447         (Fmove_to_column): Likewise.
4448
4449         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4450         `encoding_table' and `decoding_table'.
4451         (CHARSET_REP_BYTES): Deleted.
4452         (XCHARSET_REP_BYTES): Deleted.
4453         (XCHARSET_COLUMNS): Deleted.
4454         (CHAR_COLUMNS): New macro.
4455         (lookup_composite_char): Deleted unconditionally.
4456         (composite_char_string): Likewise.
4457
4458 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4459
4460         * char-ucs.h (Emchar_to_byte_table): New type.
4461         (get_byte_from_character_table): New function interface.
4462         (Vcharset_latin_jisx0201): New variable.
4463         (latin_jisx0201_to_ucs): New variable.
4464         (ucs_to_latin_jisx0201): New variable.
4465         (Vcharset_latin_iso8859_2): New variable.
4466         (latin_iso8859_2_to_ucs): New variable.
4467         (ucs_to_latin_iso8859_2): New variable.
4468         (Vcharset_latin_iso8859_3): New variable.
4469         (latin_iso8859_3_to_ucs): New variable.
4470         (ucs_to_latin_iso8859_3): New variable.
4471         (Vcharset_latin_iso8859_4): New variable.
4472         (latin_iso8859_4_to_ucs): New variable.
4473         (ucs_to_latin_iso8859_4): New variable.
4474         (Vcharset_latin_iso8859_9): New variable.
4475         (latin_iso8859_9_to_ucs): New variable.
4476         (ucs_to_latin_iso8859_9): New variable.
4477         (Vcharset_latin_viscii_lower): New variable.
4478         (latin_viscii_lower_to_ucs): New variable.
4479         (ucs_to_latin_viscii_lower): New variable.
4480         (Vcharset_latin_viscii_upper): New variable.
4481         (latin_viscii_upper_to_ucs): New variable.
4482         (ucs_to_latin_viscii_upper): New variable.
4483         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4484         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4485         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4486         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4487         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4488         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4489         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4490         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4491         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4492         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4493
4494         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4495         (Vcharset_latin_viscii_upper): New variable.
4496         (make_byte_from_character_table): New function.
4497         (put_byte_from_character_table): New function.
4498         (get_byte_from_character_table): New function.
4499         (CHAR96): New macro.
4500         (ucs_to_latin_jisx0201): New variable.
4501         (latin_jisx0201_to_ucs): New variable.
4502         (ucs_to_latin_iso8859_2): New variable.
4503         (latin_iso8859_2_to_ucs): New variable.
4504         (ucs_to_latin_iso8859_3): New variable.
4505         (latin_iso8859_3_to_ucs): New variable.
4506         (ucs_to_latin_iso8859_4): New variable.
4507         (latin_iso8859_4_to_ucs): New variable.
4508         (ucs_to_latin_iso8859_9): New variable.
4509         (latin_iso8859_9_to_ucs): New variable.
4510         (ucs_to_latin_viscii_lower): New variable.
4511         (latin_viscii_lower_to_ucs): New variable.
4512         (ucs_to_latin_viscii_upper): New variable.
4513         (latin_viscii_upper_to_ucs): New variable.
4514         (ucs_to_latin_tcvn5712): New variable.
4515         (latin_tcvn5712_to_ucs): New variable.
4516         (Qlatin_viscii_lower): New variable.
4517         (Qlatin_viscii_upper): New variable.
4518         (syms_of_mule_charset): Set up new symbol
4519         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4520         (complex_vars_of_mule_charset): Set up new charset
4521         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4522         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4523         `ucs_to_<CHARSET>' tables.
4524
4525 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4526
4527         * text-coding.c: New file.
4528
4529 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4530
4531         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4532
4533         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4534         (MAKE_CHAR): Modify for `ucs-bmp'.
4535         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4536         non-MULE characters of BMP.
4537
4538 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4539
4540         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4541         to 0.6.
4542
4543 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4544
4545         * lstream.h:
4546         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4547         - Include character.h for `CHAR_ASCII_P'.
4548
4549         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4550
4551         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4552         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4553
4554         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4555         (BYTE_C0_P): Likewise.
4556         (BYTE_C1_P): Likewise.
4557         (Lstream_get_emchar_1): Likewise.
4558         (Lstream_fput_emchar): Likewise.
4559         (Lstream_funget_emchar): Likewise.
4560         (copy_internal_to_external): Likewise.
4561         (copy_external_to_internal): Likewise.
4562
4563         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4564         (BYTE_C0_P): Likewise.
4565         (BYTE_C1_P): Likewise.
4566         (Lstream_get_emchar_1): Likewise.
4567         (Lstream_fput_emchar): Likewise.
4568         (Lstream_funget_emchar): Likewise.
4569         (copy_internal_to_external): Likewise.
4570         (copy_external_to_internal): Likewise.
4571
4572         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4573         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4574
4575         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4576         (BYTE_ASCII_P): Moved to mb-1byte.h.
4577
4578 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4579
4580         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4581
4582         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4583         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4584         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4585         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4586         (VALIDATE_CHARPTR_FORWARD): Likewise.
4587         (simple_charptr_emchar): Moved to mb-multibyte.h.
4588         (simple_set_charptr_emchar): Likewise.
4589         (simple_charptr_copy_char): Likewise.
4590         (non_ascii_charptr_emchar): Likewise.
4591         (non_ascii_set_charptr_emchar): Likewise.
4592         (non_ascii_charptr_copy_char): Likewise.
4593         (charptr_emchar): Moved to mb-*byte.h.
4594         (set_charptr_emchar): Likewise.
4595         (charptr_copy_char): Likewise.
4596
4597         * mb-1byte.h, mb-multibyte.h: New files.
4598
4599 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4600
4601         * mb-utf-8.h (MULTIBYTE): New macro.
4602         (MAX_EMCHAR_LEN): Moved from buffer.h.
4603         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4604
4605         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4606
4607         * mb-lb.h, multibyte.h: New files.
4608
4609         * char-1byte.h (Charset_ID): Moved from buffer.h.
4610         (MIN_LEADING_BYTE): Likewise.
4611         (LEADING_BYTE_ASCII): Likewise.
4612         (NUM_LEADING_BYTES): Likewise.
4613         (CHARSETP): Likewise.
4614         (CHARSET_BY_LEADING_BYTE): Likewise.
4615         (XCHARSET_LEADING_BYTE): Likewise.
4616         (XCHARSET_GRAPHIC): Likewise.
4617         (XCHARSET_COLUMNS): Likewise.
4618         (XCHARSET_DIMENSION): Likewise.
4619         (CHAR_CHARSET): Likewise.
4620         (CHAR_LEADING_BYTE): Likewise.
4621         (BREAKUP_CHAR): Likewise.
4622         (Vcharset_ascii): Likewise.
4623
4624         * buffer.h: Include multibyte.h unconditionally.
4625         (VALID_CHARPTR_P): Moved to multibyte.h.
4626         (ASSERT_VALID_CHARPTR): Likewise.
4627         (REAL_INC_CHARPTR): Likewise.
4628         (REAL_INC_CHARBYTIND): Likewise.
4629         (REAL_DEC_CHARPTR): Likewise.
4630         (INC_CHARPTR): Likewise.
4631         (INC_CHARBYTIND): Likewise.
4632         (DEC_CHARPTR): Likewise.
4633         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4634         (VALIDATE_CHARPTR_FORWARD): Likewise.
4635         (charptr_n_addr): Likewise.
4636         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4637         (simple_charptr_emchar): Moved to multibyte.h.
4638         (simple_set_charptr_emchar): Likewise.
4639         (simple_charptr_copy_char): Likewise.
4640         (non_ascii_charptr_emchar): Likewise.
4641         (non_ascii_set_charptr_emchar): Likewise.
4642         (non_ascii_charptr_copy_char): Likewise.
4643         (charptr_emchar): Likewise.
4644         (set_charptr_emchar): Likewise.
4645         (charptr_copy_char): Likewise.
4646         (charptr_emchar_n): Likewise.
4647         (Charset_ID): Moved to char-1byte.h.
4648         (Vcharset_ascii): Likewise.
4649         (CHAR_CHARSET): Likewise.
4650         (CHAR_LEADING_BYTE): Likewise.
4651         (LEADING_BYTE_ASCII): Likewise.
4652         (NUM_LEADING_BYTES): Likewise.
4653         (MIN_LEADING_BYTE): Likewise.
4654         (CHARSETP): Likewise.
4655         (CHARSET_BY_LEADING_BYTE): Likewise.
4656         (XCHARSET_LEADING_BYTE): Likewise.
4657         (XCHARSET_GRAPHIC): Likewise.
4658         (XCHARSET_COLUMNS): Likewise.
4659         (XCHARSET_DIMENSION): Likewise.
4660         (BREAKUP_CHAR): Likewise.
4661
4662 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4663
4664         * character.h: Add document about interface for characters.
4665
4666         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4667         (MAKE_CHAR): Delete comment about
4668         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4669         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4670         (BREAKUP_CHAR): Modify name of arguments.
4671         (CHAR_CHARSET): Modify name of argument.
4672
4673         * buffer.h: Delete document about Emchar accessors.
4674
4675 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4676
4677         * character.h (CHAR_INTP): Moved from buffer.h
4678         (CHAR_OR_CHAR_INTP): Likewise.
4679         (XCHAR_OR_CHAR_INT): Likewise.
4680         (CHECK_CHAR_COERCE_INT): Likewise.
4681
4682         * buffer.h (CHAR_INTP): Moved to character.h
4683         (CHAR_OR_CHAR_INTP): Likewise.
4684         (XCHAR_OR_CHAR_INT): Likewise.
4685         (CHECK_CHAR_COERCE_INT): Likewise.
4686
4687 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4688
4689         * character.h:
4690         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4691         - Include char-1byte.h, char-lb.h or char-ucs.h.
4692
4693         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4694
4695         * buffer.h: Include character unconditionally.
4696         (valid_char_p): Moved to char-*.h.
4697         (non_ascii_valid_char_p): Moved to char-lb.h.
4698
4699         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4700
4701 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4702
4703         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4704         in UTF-2000 because it is not ported yet and not to use
4705         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4706         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4707         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4708
4709         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4710         (CHAR_ASCII_P): Moved from character.h.
4711
4712         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4713         (CHAR_ASCII_P): Likewise.
4714         (CHAR_FIELD1_MASK): Deleted.
4715         (CHAR_FIELD2_MASK): Deleted.
4716         (CHAR_FIELD3_MASK): Deleted.
4717         (MAX_CHAR_BASIC_LATIN): New macro.
4718         (CHAR_FIELD1): Deleted.
4719         (CHAR_FIELD2_INTERNAL): Deleted.
4720         (CHAR_FIELD3_INTERNAL): Deleted.
4721         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4722         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4723         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4724         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4725         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4726         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4727         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4728         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4729         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4730         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4731         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4732         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4733         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4734         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4735         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4736         (MIN_CHAR_COMPOSITION): Deleted.
4737         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4738         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4739
4740 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4741
4742         * buffer.h: Include mb-utf-8.h in UTF-2000.
4743
4744         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4745
4746         * mb-utf-8.h: New file.
4747
4748 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4749
4750         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4751         instead of `int'.
4752
4753         * mule-charset.h, buffer.h (Charset_ID): New type.
4754
4755 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4756
4757         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4758         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4759         instead of `MULE_CHAR_PRIVATE_OFFSET',
4760         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4761         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4762         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4763
4764         * character.h (Vcharset_japanese_jisx0212): New variable
4765         definition.
4766
4767 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4768
4769         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4770         (charset_by_attributes): Delete array about direction.
4771         (latin_a_char_to_charset): New variable in UTF-2000.
4772         (latin_a_char_to_byte1): New variable in UTF-2000.
4773         (latin_a_char_to_byte2): New variable in UTF-2000.
4774         (Qucs_bmp): New variable.
4775         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4776         `Bufbyte'.
4777         (next_allocated_2_byte_leading_byte): Likewise.
4778         (non_ascii_set_charptr_emchar): Likewise.
4779         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4780         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4781         `charset_by_attributes'.
4782         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4783         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4784         and `CHARSET_BY_LEADING_BYTE'.
4785         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4786         `utf-2000-version' to `vars_of_mule_charset'.
4787         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4788         define `leading-code-private-11' in UTF-2000; move setting of
4789         `utf-2000-version' from `syms_of_mule_charset'.
4790         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4791         UTF-2000.
4792
4793         * character.h (Charset_ID): New type.
4794         (LEADING_BYTE_UCS_BMP): New macro.
4795         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4796         (CHARSET_ID_OFFSET_94): New macro.
4797         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4798         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4799         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4800         final-byte.
4801         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4802         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4803         (CHARSET_ID_OFFSET_96): New macro.
4804         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4805         CHARSET_ID_OFFSET_96 and final-byte.
4806         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4807         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4808         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4809         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4810         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4811         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4812         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4813         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4814         (LEADING_BYTE_THAI_TIS620): Likewise.
4815         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4816         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4817         (CHARSET_ID_OFFSET_94x94): New macro.
4818         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4819         CHARSET_ID_OFFSET_94x94 and final-byte.
4820         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4821         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4822         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4823         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4824         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4825         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4826         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4827         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4828         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4829         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4830         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4831         (CHARSET_TYPE_128X128): New macro.
4832         (CHARSET_TYPE_256X256): New macro.
4833         (XCHARSET_PRIVATE_P): Delete unconditionally.
4834         (charset_by_attributes): Delete array about direction.
4835         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4836         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4837         (MIN_CHAR_94): New macro.
4838         (MAX_CHAR_94): New macro.
4839         (MIN_CHAR_96): New macro.
4840         (MAX_CHAR_96): New macro.
4841         (MIN_CHAR_94x94): New macro.
4842         (MAX_CHAR_94x94): New macro.
4843         (MIN_CHAR_96x96): New macro.
4844         (MAX_CHAR_96x96): New macro.
4845         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4846         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4847         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4848         - 32)'.
4849         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4850         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4851         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4852         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4853         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4854         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4855         `XCHARSET_LEADING_BYTE' to make code-point.
4856         (latin_a_char_to_charset): New variable.
4857         (latin_a_char_to_byte1): New variable.
4858         (latin_a_char_to_byte2): New variable.
4859         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4860         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4861         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4862
4863         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4864         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4865         (find_charsets_in_emchar_string): Likewise.
4866         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4867
4868         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4869         `int'.
4870         (decode_coding_iso2022): Likewise.
4871
4872         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4873         of `unsigned char'.
4874
4875         * redisplay.c (redisplay_text_width_emchar_string): Use
4876         `Charset_ID' instead of `unsigned char'.
4877         (redisplay_frame_text_width_string): Likewise.
4878
4879         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4880         `unsigned char'.
4881
4882         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4883         instead of `unsigned char'.
4884         (face_cachel_charset_font_metric_info): Likewise.
4885
4886         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4887         (get_non_ascii_char_table_value): Likewise.
4888         (get_char_table): Likewise.
4889         (put_char_table): Likewise.
4890         (map_over_other_charset): Likewise.
4891         (map_char_table): Likewise.
4892
4893         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4894         instead of `unsigned char'.
4895
4896 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4897
4898         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4899         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4900
4901         * mule-charset.c (leading_code_private_11): Don't define in
4902         UTF-2000.
4903
4904         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4905         in UTF-2000 because it is not ported yet and not to use
4906         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4907
4908 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4909
4910         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4911
4912 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4913
4914         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4915         in UTF-2000.
4916
4917         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4918         of unsigned char to store leading-byte.
4919
4920         * chartab.c (get_non_ascii_char_table_value): Don't use
4921         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4922
4923         * file-coding.c (encode_coding_big5): Delete bogus implementation
4924         in UTF2000.
4925
4926         * character.h (LEADING_BYTE_*): Delete definition for
4927         non-UTF-2000.
4928         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4929         (LEADING_BYTE_PREFIX_P): Deleted.
4930         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4931         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4932         (BUFBYTE_LEADING_BYTE_P): Deleted.
4933         (CHARSET_PRIVATE_P): Deleted unconditionally.
4934         (rep_bytes_by_first_byte): Deleted unconditionally.
4935         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4936         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4937         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4938         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4939         (CHAR_FIELD2): Deleted.
4940         (CHAR_FIELD3): Deleted.
4941         (MAKE_CHAR): Delete definition for non-UTF-2000.
4942         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4943         (breakup_char_1): New implementation.
4944         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4945         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4946
4947 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4948
4949         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4950         condition.
4951
4952 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4953
4954         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4955         (CHARSET_PRIVATE_P): Likewise.
4956         (XCHARSET_PRIVATE_P): Likewise.
4957         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4958
4959         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4960         UTF2000.
4961         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4962
4963 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4964
4965         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4966         (NUM_LEADING_BYTES): Changed from 128 to 256.
4967         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4968         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4969         UTF2000.
4970         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4971
4972         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4973         UTF2000.
4974         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4975         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4976         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4977         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4978         (Qchinese_cns11643_3): New variable in UTF2000.
4979         (Qchinese_cns11643_4): New variable in UTF2000.
4980         (Qchinese_cns11643_5): New variable in UTF2000.
4981         (Qchinese_cns11643_6): New variable in UTF2000.
4982         (Qchinese_cns11643_7): New variable in UTF2000.
4983         (syms_of_mule_charset): Define `chinese-cns11643-3',
4984         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4985         and `chinese-cns11643-7' in UTF2000.
4986         (vars_of_mule_charset): Initialize
4987         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4988         + 1 in UTF2000.
4989         (complex_vars_of_mule_charset): Setup charset
4990         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4991         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4992
4993 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4994
4995         * mule-charset.c: Move setting for `leading-code-private-11' from
4996         `syms_of_mule_charset' to `vars_of_mule_charset'.
4997
4998 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4999
5000         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5001         and `NUM_LEADING_BYTES' in assert.
5002
5003 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5004
5005         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5006         instead of 128.
5007         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5008         `NUM_LEADING_BYTES' instead of 128.
5009
5010 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5011
5012         * mule-charset.h (charset_by_leading_byte): Use
5013         `NUM_LEADING_BYTES' instead of 128.
5014         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5015
5016         * mule-charset.c (charset_by_leading_byte): Use
5017         `NUM_LEADING_BYTES' instead of 128.
5018         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5019
5020         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5021         128.
5022
5023 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5024
5025         * mule-charset.c (syms_of_mule_charset): Update to
5026         0.4 (Shin-Imamiya).
5027
5028 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5029
5030         * file-coding.c (encode_coding_sjis): New implementation for
5031         UTF2000.  (decode_coding_sjis): Ditto.
5032
5033 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5034
5035         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5036         Don't define in UTF2000.
5037
5038         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5039         defined.
5040
5041         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5042         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5043         MULE.
5044
5045 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5046
5047         * config.h.in (CHAR_IS_UCS4): New macro.
5048
5049         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5050         conventional MULE representation.
5051         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5052
5053         * mule-charset.h: Reverted to original.
5054
5055         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5056         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5057         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5058
5059         * character.h: New file.
5060
5061         * file-coding.c (Fmake_coding_system): Set 1 to
5062         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5063         defined.
5064         (encode_coding_no_conversion): New implementation for UTF2000.
5065
5066         * file-coding.h (struct Lisp_Coding_System): Add new member
5067         `fixed.size'.
5068
5069 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5070
5071         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5072         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5073         (encode_coding_iso2022): New implementation for UTF2000.
5074
5075 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5076
5077         * mule-canna.c (c2mu): New implementation for UTF2000.
5078         (m2c): Likewise.
5079
5080 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5081
5082         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5083
5084 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5085
5086         * file-coding.c (reset_encoding_stream): Set 0 to
5087         `str->iso2022.current_char_boundary' in UTF2000.
5088         (encode_utf8): Don't define in UTF2000.
5089         (encode_coding_utf8): New implementation for UTF-8 representation
5090         of UTF2000.
5091         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5092
5093 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5094
5095         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5096
5097         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5098         UTF2000.
5099         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5100
5101         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5102
5103         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5104         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5105         as UTF-8 in UTF2000.
5106         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5107         (non_ascii_valid_char_p): Don't define in UTF2000.
5108         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5109         (Lstream_get_emchar_1): Likewise.
5110         (utf-2000-version): New variable in UTF2000.
5111
5112         * lread.c (read_escape): Add new reader `u'.
5113
5114         * insdel.c (three_to_one_table): Don't define in UTF2000.
5115         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5116         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5117         UTF2000.
5118         (bytind_to_bufpos_func): Likewise.
5119         (buffer_mule_signal_inserted_region): Likewise.
5120         (vars_of_insdel): Don't initialize `three_to_one_table'.
5121         (init_buffer_text): Use `buf->text->mule_size' instead of
5122         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5123         UTF2000.
5124
5125         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5126         UTF-8 representation in UTF2000.
5127         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5128         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5129         (decode_coding_iso2022): Don't define local variable `lb' in
5130         UTF2000; don't use LEADING_BYTE in UTF2000; use
5131         `DECODE_ADD_UCS_CHAR' in UTF2000.
5132         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5133
5134         * config.h.in (UTF2000): New macro.
5135
5136         * buffer.h (struct buffer_text): Add new member `mule_size' and
5137         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5138         (valid_char_p): Return always 1 in UTF2000.
5139         (MAX_EMCHAR_LEN): 6 in UTF2000.
5140         (three_to_one_table): Don't define in UTF2000.
5141         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5142         UTF2000.
5143         (real_bytind_to_bufpos): Likewise.
5144
5145         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5146
5147 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5148
5149         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5150         representation change.
5151         (Vutf_2000_version): New variable.
5152         (leading_code_private_11): New variable.
5153         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5154         `leading-code-private-11'.
5155
5156         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5157         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5158         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5159         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5160         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5161         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5162         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5163         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5164         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5165         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5166         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5167         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5168         (MIN_CHAR_GREEK): New macro.
5169         (MAX_CHAR_GREEK): New macro.
5170         (MIN_CHAR_CYRILLIC): New macro.
5171         (MAX_CHAR_CYRILLIC): New macro.
5172         (MIN_CHAR_HEBREW): New macro.
5173         (MAX_CHAR_HEBREW): New macro.
5174         (MIN_CHAR_THAI): New macro.
5175         (MAX_CHAR_THAI): New macro.
5176         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5177         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5178         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5179         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5180         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5181         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5182         (CHAR_FIELD2): New inline function.
5183         (CHAR_FIELD3): New inline function.
5184         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5185         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5186         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5187         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5188         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5189         (MIN_CHAR_COMPOSITION): Likewise.
5190         (CHAR_LEADING_BYTE): Modified for character representation change.
5191         (MAKE_CHAR): Likewise.
5192
5193         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5194         (Vcharset_greek_iso8859_7): Likewise.
5195         (Vcharset_cyrillic_iso8859_5): Likewise.
5196         (Vcharset_hebrew_iso8859_8): Likewise.
5197         (Vcharset_thai_tis620): Likewise.
5198         (Vcharset_katakana_jisx0201): Likewise.
5199
5200 2003-09-03  Vin Shelton <acs@xemacs.org>
5201
5202         * XEmacs 21.4.14 is released
5203
5204 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5205
5206         * config.h.in (REGEX_MALLOC): Make it configure'able.
5207
5208 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5209
5210         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5211         linking.
5212         * sysdll.c (dll_init):
5213         * sysdll.c (dll_open):
5214         * sysdll.c (dll_close):
5215         * sysdll.c (dll_function):
5216         * sysdll.c (dll_variable):
5217         * sysdll.c (dll_error):
5218         Add support for loading bundles using Darwin/MacOSX
5219         native API.
5220
5221 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5222
5223         * process.c (start-process-internal): Document coding systems.
5224
5225 2003-07-30  Jerry James  <james@xemacs.org>
5226
5227         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5228
5229 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5230
5231         * event-msw.c (mswindows_enqueue_mouse_button_event):
5232         * event-msw.c (mswindows_wnd_proc):
5233           enqueue button event when scrollwheel event isn't handled by 
5234           mswindows_handle_mousewheel_event, such as when the scrollbars
5235           are not showing.
5236
5237 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5238
5239         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5240
5241 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5242
5243         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5244
5245 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5246
5247         * regex.c (re_match_2_internal): Fix matching degenerate word
5248         boundaries.
5249
5250 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5251
5252         * XEmacs 21.4.13 is released
5253
5254 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5255
5256         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5257         * lisp.h (<inttypes.h>):
5258         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5259         the definition.
5260
5261 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5262
5263         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5264         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5265         Result: "temacs can only be run in -batch mode."
5266         Fix: Check xemacs executable candidate for directory-ness.
5267
5268 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5269
5270         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5271           they conflict with <sys/types.h>.
5272
5273 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5274
5275         * database.c: Berkeley DB wants __STDC__ to be defined.
5276
5277 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5278
5279         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5280
5281 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5282
5283         * process-unix.c (unix_send_process): Fix C++ compile error.
5284
5285 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5286
5287         * Added .dylib as an acceptable shared library file extension
5288         * to support MacOSX.
5289
5290 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5291
5292         * EmacsFrameP.h (EmacsFramePart):
5293         Kludge to allow compiling with Motif1, but linking with Motif2.
5294
5295 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5296
5297         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5298
5299
5300 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5301
5302         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5303
5304 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5305
5306         * sysdll.c: Included lisp.h to define needed alloca_array.
5307
5308 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5309
5310         Make XEmacs redisplay 10 times faster.
5311         If, that is, you're using a slow X connection and MoveOpaque.
5312         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5313         Use compress_motion = TRUE.
5314         * EmacsFrame.c (emacsFrameClassRec): 
5315         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5316         * EmacsManager.c (emacsManagerClassRec):
5317         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5318
5319 2003-01-30  Vin Shelton  <acs@xemacs.org>
5320
5321         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5322
5323 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5324
5325         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5326         Patch by Martin Buchholz.
5327
5328 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5329
5330         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5331         Thanks to icc for warning and Martin Buchholz for reporting.
5332
5333 2003-01-29  Vin Shelton <acs@xemacs.org>
5334
5335         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5336
5337         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5338         remember to multiply by the element size.
5339
5340 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5341
5342         * XEmacs 21.4.12 "Portable Code" is released.
5343
5344 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5345
5346         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5347         * s/cygwin.sc: new linker file.
5348
5349 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5350
5351         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5352
5353         * redisplay-x.c (x_output_string): Use X11-specified types.
5354         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5355         * emacs.c (__free_hook): Use typeof with Intel compiler.
5356         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5357
5358 2003-01-08  Andy Piper  <andy@xemacs.org>
5359
5360         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5361         reserve size during unexec().
5362
5363 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5364
5365         * process-unix.c (unix_create_process): Don't let outchannel block.
5366
5367 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5368
5369         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5370         Needed for IsBadReadPtr().
5371
5372 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5373
5374         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5375
5376 2002-12-14  Ben Wing  <ben@xemacs.org>
5377
5378         * callint.c: Declaration error.
5379         * dumper.c (pdump):
5380         * dumper.c (pdump_load): Warning fix.
5381         * process.c: GCPRO error.
5382         * glyphs.c (unmap_subwindow):
5383         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5384         * event-stream.c (maybe_kbd_translate): Wrong argument to
5385         character_to_event().
5386
5387         * alloc.c (garbage_collect_1):
5388         * emacs.c:
5389         * emacs.c (debug_can_access_memory):
5390         * emacs.c (fatal_error_signal):
5391         * emacs.c (mswindows_handle_hardware_exceptions):
5392         * emacs.c (main_1):
5393         * emacs.c (main):
5394         * emacs.c (assert_failed):
5395         * emacs.c (syms_of_emacs):
5396         * lisp.h:
5397         * print.c:
5398         * print.c (std_handle_out_va):
5399         * print.c (write_string_to_stdio_stream):
5400         * print.c (write_fmt_string):
5401         * print.c (printing_badness):
5402         * print.c (printing_major_badness):
5403         * print.c (print_internal):
5404         * print.c (debug_print_no_newline):
5405         * print.c (debug_backtrace):
5406         Be more defensive in handling bad values when printing.  Add code
5407         from trunk involving inhibit_non_essential_printing_operations.
5408         When going down or in debug_print(), don't do external conversion
5409         and such and try really, really hard when printing to avoid core
5410         dumping.  Add force-debugging-signal, debug_break().
5411
5412 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5413
5414         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5415         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5416
5417 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5418
5419         * database.c: Fix open_database. Berkeley DB API has changed in
5420         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5421
5422 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5423
5424         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5425
5426 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5427
5428         * event-Xt.c (Xt_timeout):
5429         (Xt_timeout_callback):
5430         (emacs_Xt_add_timeout):
5431         (emacs_Xt_remove_timeout):
5432         (Xt_timeout_to_emacs_event):
5433         Turn completed_timeouts from a stack into a queue.  Fixes
5434         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5435
5436 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5437
5438         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5439         * emacs.c (main): Assert that mmap'd allocation is disabled.
5440
5441 2002-10-14  Andy Piper  <andy@xemacs.org>
5442
5443         * glyphs-widget.c (layout_query_geometry): add in fiddle
5444         factor. Include border text in width layout calculation.
5445         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5446
5447 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5448
5449         * XEmacs 21.4.10 "Military Intelligence" is released.
5450
5451 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5452
5453         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5454         using the NAS private array SoundFileInfo that no longer exists in
5455         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5456         and earlier.  This is broken for some versions between 1.5a and
5457         1.5f.
5458
5459 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5460
5461         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5462
5463         * emacs.c (shut_down_emacs): Improve crash message.
5464
5465 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5466
5467         * file-coding.c (determine_real_coding_system): Check for coding
5468         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5469         shebangs and Python PEP 263.
5470
5471 2002-10-08  Andy Piper  <andy@xemacs.org>
5472
5473         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5474         if static sizes haven't been set.
5475
5476 2002-08-30  Mike Alexander  <mta@arbortext.com>
5477
5478         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5479         to close a socket.
5480
5481 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5482
5483         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5484
5485 2002-09-20  Mike Sperber <mike@xemacs.org>
5486
5487         (This partially gets back my patch from 2002-07-20 without the
5488         bug.)
5489         * callproc.c (child_setup): Remove Ben's comment noting confusion
5490         over the file descriptors >= 3: close_process_descs() doesn't
5491         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5492         * process-unix.c (unix_create_process): Call
5493         begin_dont_check_for_quit to inhibit unwanted interaction (and
5494         thus breaking of X event synchronicity) in the child.
5495
5496 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5497
5498         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5499         widget.
5500
5501 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5502
5503         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5504         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5505         the xemacs process did not exit, but looped infinitely here.  This
5506         fixes that problem.
5507
5508 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5509
5510         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5511         (find_context): Improve comments.
5512
5513         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5514         (re_match_2): An XCHAR_TABLE operation was missing.
5515
5516         Many of the following changes were inspired by Andy Piper's (now
5517         obsolete) patch to make syntax-table text property lookup optional.
5518
5519         [Documentation]
5520
5521         * syntax.h (top level): Document semantics of syntax flags.
5522         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5523         * syntax.c, syntax.h (top level): Document syntax cache better in
5524         comments.
5525
5526         [Instrument syntax caching (temporary change)]
5527
5528         * syntax.h (enum syntax_cache_statistics_functions, struct
5529         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5530         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5531         * syntax.c (scan_words, Fforward_comment, scan_lists,
5532         Fbackward_prefix_characters):
5533         * font-lock.c (find_context):
5534         Use them to instrument syntax caching. 
5535         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5536         syntax_cache_statistics_function_names): New type and variables.
5537         * syntax.c (update_syntax_cache): Update and report statistics.
5538
5539         [Major syntax cache optimizations]
5540
5541         syntax.c (lookup_syntax_properties): Default off.
5542
5543         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5544         * syntax.c (update_syntax_cache):
5545         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5546
5547         [Minor syntax cache optimizations and code clarifications]
5548
5549         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5550         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5551         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5552         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5553         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5554         (Code clarification.)
5555
5556         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5557         scan_lists): Compute code from syncode, use Boolean macros instead
5558         of redundant masking operations.  (Code clarification; any decent
5559         compiler can do this optimization.)
5560
5561         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5562         for clarity.
5563
5564         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5565         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5566         use F*_single_property_change instead of F*_extent_change.
5567         Currently F*_single_property_change is _much_ less efficient.
5568
5569         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5570         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5571         syntax_cache.object properly, don't leave Qt or Qnil.
5572         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5573         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5574         tests for Qt or Qnil.
5575
5576 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5577
5578         * redisplay.c (point_in_line_start_cache): 
5579         * extents.c (print_extent_1):
5580         Fix warnings.
5581
5582         * extents.c (Fset_extent_property): Document `syntax-table' property.
5583
5584         * extents.h (Fnext_single_property_change): EXFUN it.
5585
5586 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5587
5588         * search.c (clear_unused_search_regs): New static function.
5589         (search_buffer): 
5590         (simple_search): 
5591         (boyer_moore):
5592         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5593         Minor clarifications in comments.
5594
5595         * regex.c (re_match_2_internal): Ensure no stale submatches.
5596
5597 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5598
5599         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5600
5601 2002-08-29  Jerry James  <james@xemacs.org>
5602
5603         * lisp.h: structrures -> structures.
5604
5605 2002-06-03  Andy Piper  <andy@xemacs.org>
5606
5607         * frame.c (frame_conversion_internal): add conversion appropriate
5608         for setting frame dimensions in pixels.
5609
5610         * console.h (struct console_methods): add device-specific widget
5611         layout functions.
5612
5613         * emacs.c (main_1): initialize glyph vars.
5614
5615         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5616         (handle_focus_event_2): new function. Allow focus to
5617         be set to a particular window and widget.
5618         (enqueue_focus_event): new function. Create a
5619         synthetic focus event.
5620         (emacs_Xt_handle_magic_event): call
5621         handle_focus_event_2.
5622
5623         * frame.c (Fset_frame_pixel_height): new function. Allow
5624         pixel-based sizing. Does the right thing on character-oriented
5625         displays.
5626         (Fset_frame_pixel_width): ditto.
5627         (Fset_frame_pixel_size): ditto.
5628         (syms_of_frame): declare.
5629
5630         * general-slots.h: add :vertically-justify and
5631         :horizontally-justify.
5632
5633         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5634         (mswindows_widget_border_width): new function.
5635         (mswindows_combo_box_instantiate): set border widths.
5636         (console_type_create_glyphs_mswindows): declare.
5637
5638         * glyphs-widget.c:
5639         (check_valid_justification): allow vertical and horizontal
5640         justification.
5641         (widget_border_width): new function. Call device methods.
5642         (widget_instance_border_width): ditto.
5643         (logical_unit_height): new function. Determine the height of a
5644         logical-unit. Logical units are intended to provide grid-like
5645         layout for subcontrols in a layout. If the layout is
5646         :vertically-justify top then subcontrols will be positioned on
5647         logical-unit boundaries, thus allowing adjacent subcontrols to
5648         line up.
5649         (widget_logical_unit_height): ditto for widgets.
5650         (redisplay_widget): misc cleanup.
5651         (widget_spacing): new function. Call device specific
5652         methods. Intended to be the default gap between adjacent widgets.
5653         (widget_query_geometry): use new spacing functions to determine
5654         appropriate geometry.
5655         (initialize_widget_image_instance): initialize horizontal and
5656         vertical justification.
5657         (widget_instantiate): use logica-units where appropriate for
5658         sizing large widgets.
5659         (button_query_geometry): use widget_instance_border_width.
5660         (tree_view_query_geometry): ditto.
5661         (tab_control_query_geometry): ditto.
5662         (edit_field_query_geometry): new function.
5663         (layout_update): pick up :justify, :horizontally-justify and
5664         :vertically-justify none of which worked previously. :justify is
5665         used as a fallback for both horizontal and vertical justification.
5666         (layout_query_geometry): use logical units to size appropriately.
5667         (layout_layout): ditto.
5668         (Fwidget_logical_to_character_width): new function. Allow users to
5669         convert from logical units to characters so that frame sizes can
5670         be set appropriately.
5671         (Fwidget_logical_to_character_height): ditto.
5672         (syms_of_glyphs_widget): declare.
5673         (image_instantiator_edit_fields): add edit_field_query_geometry.
5674         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5675         :horizontally-justify.
5676         (specifier_vars_of_glyphs_widget): new function. Declare
5677         Vwidget_border_width which is not yet used.
5678
5679         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5680         (x_widget_border_width): new function.
5681         (x_widget_instantiate): create a sensible name for widgets.
5682         (console_type_create_glyphs_x): declare x_widget_border_width.
5683
5684         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5685         (struct Lisp_Image_Instance): add :vertically-justify and
5686         :horizontally-justify.
5687         (LAYOUT_JUSTIFY_TOP): new.
5688         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5689         (ROUND_UP): new macro. Round argument up to next integral
5690         interval.
5691
5692         * redisplay-output.c (redisplay_output_layout): misc formatting.
5693
5694         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5695
5696 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5697
5698         * XEmacs 21.4.9 "Informed Management" is released.
5699
5700 2002-08-19  Andy Piper  <andy@xemacs.org>
5701
5702         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5703         win32 format.
5704
5705         * realpath.c (xrealpath): normalize drive spec also so that dir
5706         sep chars are not mixed on cygwin.
5707
5708 2002-08-06  Jerry James  <james@xemacs.org>
5709
5710         * window.c (Fsplit_window): Count only half of the divider width
5711         against the left window when splitting horizontally. 
5712
5713 2002-06-24  Andy Piper  <andy@xemacs.org>
5714
5715         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5716         toolbar was cleared.
5717
5718         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5719         function. Split out from mswindows_output_frame_toolbars.
5720         (mswindows_output_frame_toolbars): move clear pieces to
5721         mswindows_output_frame_toolbars.
5722
5723         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5724         out from gtk_output_frame_toolbars.
5725         (gtk_output_frame_toolbars): move clear pieces to
5726         gtk_clear_frame_toolbars.
5727
5728         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5729         the frame is cleared. How this ever worked before is a mystery.
5730         (x_output_frame_toolbars): Only output toolbars.
5731         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5732
5733         * gutter.c (update_gutter_geometry):
5734         Mark frame layout changed.
5735         (update_frame_gutter_geometry, update_frame_gutters):
5736         Respect frame_layout_changed.
5737
5738         * console.h (struct console_methods): add
5739         clear_frame_toolbars_method.
5740
5741         * redisplay.c (redisplay_frame): call
5742         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5743
5744         * toolbar.h: declare update_frame_toolbars_geometry.
5745
5746         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5747         out from update_frame_toolbars.  Call clear_frame_toolbars.
5748         (update_frame_toolbars): only output, do not change geometry.
5749
5750         * redisplay.c: add frame_layout_changed.
5751
5752         * redisplay.h: add frame_layout_changed.
5753         (CLASS_RESET_CHANGED_FLAGS): set it.
5754         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5755         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5756         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5757
5758         * device.h (struct device): add frame_layout_changed.
5759         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5760
5761         * frame.h (struct frame): add frame_layout_changed.
5762         (MARK_FRAME_LAYOUT_CHANGED): new.
5763
5764 2002-06-30  Mike Alexander  <mta@arbortext.com>
5765
5766         * event-msw.c (mswindows_need_event): Don't wait for a new message
5767         if the queue is not empty.  Suggested by Paul Moore.
5768
5769 2002-06-12  Andy Piper  <andy@xemacs.org>
5770
5771         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5772         for printing on accurately.
5773
5774 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5775
5776         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5777         WM_ACTIVATE message. Make sure that the frame is visible if the
5778         window is visible. This seemss to fix the problem where XEmacs
5779         appears to freeze after switching desktops with certain virtual
5780         window managers.
5781         (debug_output_mswin_message): Added code to output message
5782         parameters for WM_WINDOWPOSCHANGED, 
5783         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5784
5785 2002-05-25  Andy Piper  <andy@xemacs.org>
5786
5787         * select-x.c (vars_of_select_x): Fix docstring of
5788         x-selection-strict-motif-ownership
5789
5790 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5791
5792         * keymap.c (get_keymap):
5793         Add comment about do_autoload GCPROs own args.
5794
5795 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5796
5797         * bytecode.c (execute_optimized_program): check_opcode ifdef
5798         ERROR_CHECK_BYTE_CODE.
5799
5800 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5801
5802         Thanks to Ben Wing and Michael Sperber.
5803
5804         * eval.c (Fcommand_execute):
5805         (Feval):
5806         (Ffuncall):
5807         (Fmacroexpand_internal):
5808         (function_argcount):
5809         callint.c (Fcall_interactively):
5810         Add comment about do_autoload GCPROs own args.
5811
5812         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5813
5814         * eval.c (Ffuncall): Extra braces to placate GCC.
5815
5816 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5817
5818         * backtrace.h (grow_specpdl):
5819         (SPECPDL_RESERVE):
5820         * EmacsFrame.c (EmacsFrameSetValues):
5821         * eval.c (grow_specpdl):
5822         * ExternalShell.c (hack_event_masks_1):
5823         * glyphs-x.c (convert_EImage_to_XImage): 
5824         (x_finalize_image_instance):
5825         * ralloc.c (page_size):
5826         (r_alloc_sbrk):
5827         * xgccache.c (gc_cache_hash):
5828         Fix unsigned comparison warnings.
5829
5830 2002-07-29  Jerry James  <james@xemacs.org>
5831
5832         * lread.c (locate_file): Any nonnegative return value indicates
5833         success if MODE is nonnegative.
5834
5835 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5836
5837         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5838         argument. 
5839
5840 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5841
5842         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5843
5844         * dumper.c (pdump_get_indirect_count):
5845         (pdump_scan_by_alignment):
5846         (pdump_dump_root_struct_ptrs):
5847         (pdump_dump_rtables):
5848         (pdump_dump_root_objects):
5849         (pdump):
5850         * nas.c (WaveOpenDataForReading):
5851         * fns.c (print_bit_vector):
5852         * font-lock.c (SINGLE_SYNTAX_STYLE):
5853         * glyphs.c (check_for_ignored_expose):
5854         (find_matching_subwindow):
5855         * glyphs-eimage.c:
5856         * imgproc.c (get_histogram):
5857         * redisplay.c (point_in_line_start_cache):
5858         * redisplay-output.c (redisplay_unmap_subwindows):
5859         * symbols.c (defsymbol_massage_name_1):
5860         (defkeyword_massage_name):
5861         (deferror_massage_name_and_message):
5862         * redisplay-x.c (x_output_string): 
5863         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5864         * frame.h (struct frame):
5865         * filelock.c (current_lock_owner):
5866         * doprnt.c (emacs_doprnt_1):
5867         * lisp.h (struct Lisp_Bit_Vector):
5868         (DO_REALLOC):
5869         Fix warnings.
5870
5871 2002-02-13  Ben Wing  <ben@xemacs.org>
5872
5873         * event-stream.c (reset_key_echo):
5874         * event-stream.c (reset_this_command_keys):
5875         * event-stream.c (execute_command_event):
5876         If console is dead as a result of C-x 5 0, then post-command stuff
5877         needs to be careful and do only non-console-specific stuff.
5878
5879 2002-07-01  Mike Sperber <mike@xemacs.org>
5880
5881         * process-unix.c (unix_send_process): Mark coding_outstream as
5882         non-open upon SIGPIPE.
5883
5884         * event-stream.c (Fnext_event): Reorder switch cases to something
5885         that makes sense.
5886
5887 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5888
5889         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5890         Don't bogusly reinitialize ascii_character property.
5891
5892 2002-07-08  Mike Sperber <mike@xemacs.org>
5893
5894         * process.c (Fstart_process_internal): Do error checking before we
5895         fork off the child, so the child can't muck with the state of the
5896         parent.
5897
5898 2002-07-08  Mike Sperber <mike@xemacs.org>
5899
5900         * ralloc.c (init_ralloc): Allocate properly for pdump.
5901
5902 2002-06-12  Andy Piper  <andy@xemacs.org>
5903
5904         * glyphs.c (query_string_geometry): check the string.
5905
5906         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5907         widget names.
5908
5909 2002-06-17  Jerry James  <james@xemacs.org>
5910
5911         * sysdll.c: Remove RTLD_GLOBAL initialization.
5912         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5913
5914 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5915
5916         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5917
5918 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5919
5920         * sysdep.c (sys_rename): Make sys_rename work for the case where
5921         Windows rename sets errno to EACCES if target file exists.
5922
5923 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5924
5925         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5926         Fix detection of metric units to work on Win95
5927
5928 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5929
5930         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5931
5932 2002-04-25  Andy Piper  <andy@xemacs.org>
5933
5934         * redisplay.c (create_text_block): Remove extra comment trailer.
5935
5936 2002-04-24  Andy Piper  <andy@xemacs.org>
5937
5938         * redisplay.c (create_text_block): Don't actually add propagation
5939         data if the line ends after we have added a glyph.
5940
5941 2002-04-22  Andy Piper  <andy@xemacs.org>
5942
5943         * extents.c (extent_fragment_update): check for glyphs we have
5944         previously displayed.
5945         * extents.c (print_extent_1): warning removal.
5946         * extents.h: change prototype.
5947         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5948         widths correctly for wide glyphs.
5949         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5950         * redisplay.c (prop_type): add PROP_GLYPH.
5951         * redisplay.c (struct prop_block): add glyph type
5952         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5953         to the propagation data.
5954         * redisplay.c (create_text_block): if there is a glyph in the
5955         propagation data use it to salt extent_fragment_update.
5956         * redisplay.c (create_string_text_block): ditto.
5957
5958 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5959
5960         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5961         * redisplay-output.c (compare_runes): Compare them.
5962         * redisplay.c: Update copyright date.
5963         * redisplay.c (pos_data): Add need_baseline_computation field.
5964         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5965         need_baseline_computation; zero yoffset. Set max_pixmap_height
5966         for all pixmaps, not just automatically positioned ones.
5967         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5968         * redisplay.c (calculate_baseline): New, compute textual baseline.
5969         * redisplay.c (add_glyph_rune): Call them.
5970         * redisplay.c (create_text_block): Likewise.
5971         * redisplay.c (create_overlay_glyph_block): Likewise.
5972         * redisplay.c (add_margin_runes): Likewise.
5973         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5974
5975         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5976         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5977         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5978         * redisplay-msw.c (mswindows_output_string): Likewise.
5979         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5980         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5981         * redisplay-x.c (x_output_display_block): Likewise.
5982
5983 2002-03-28  Ben Wing  <ben@xemacs.org>
5984
5985         * redisplay.c: Fixed bug in redisplay
5986         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5987         and down of the lines, since they're bigger than the line
5988         size. (It was seen most obviously when there's a horizontal scroll
5989         bar, e.g. do C-h a glyph or something like that.) The problem was
5990         that the glyph-contrib-p setting on glyphs was ignored even if it
5991         was set properly, which it wasn't until now.
5992
5993 2002-04-24  Andy Piper  <andy@xemacs.org>
5994
5995         * lisp.h (Dynarr_end): Fix definition.
5996
5997 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5998
5999         * redisplay.c (mark_redisplay): Remove call to
6000         update_frame_window_mirror.
6001
6002 2001-11-15  Andy Piper  <andy@xemacs.org>
6003
6004         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6005         cygwin (again).
6006
6007 2002-02-13  Andy Piper  <andy@xemacs.org>
6008
6009         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6010         we did in fact enqueue the XM_MAPFRAME event.
6011
6012 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6013
6014         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6015         to fix problem switching between virtual desktops under virtuawin
6016         virtual window manager.
6017
6018 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6019
6020         * event-msw.c: Typo fix.
6021         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6022         magic XM_MAPFRAME event has been sent.
6023
6024 2001-11-23  Andy Piper  <andy@xemacs.org>
6025
6026         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6027
6028 2001-11-21  Andy Piper  <andy@xemacs.org>
6029
6030         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6031         mouse events outside the frame.
6032
6033 2002-03-20  Andy Piper  <andy@xemacs.org>
6034
6035         * menubar-msw.c (mswindows_popup_menu): warning removal.
6036         * dialog-msw.c (dialog_popped_down): ditto.
6037
6038 2001-12-11  Andy Piper  <andy@xemacs.org>
6039
6040         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6041         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6042         popup_up_p.
6043         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6044         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6045         * menubar-msw.c (mswindows_popup_menu): ditto.
6046
6047 2001-10-29  Andy Piper  <andy@xemacs.org>
6048
6049         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6050         cancels.
6051
6052 2002-01-03  Andy Piper  <andy@xemacs.org>
6053
6054         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6055         letters.
6056         (xrealpath): ditto.
6057
6058 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6059
6060         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6061         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6062         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6063         Detect and handle case where machine is set up for metric units
6064
6065 2002-04-02  Andy Piper  <andy@xemacs.org>
6066
6067         * dired-msw.c (mswindows_get_files): 
6068         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6069         completely handled by XEmacs. Suggested by Thomas Vogler
6070         <mail@thomas-vogler.de>.
6071
6072 2001-11-14  Andy Piper  <andy@xemacs.org>
6073
6074         * nt.c (REG_ROOT): change registry key to XEmacs.
6075
6076 2002-04-27  Andy Piper  <andy@xemacs.org>
6077
6078         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6079
6080 2002-04-26  Andy Piper  <andy@xemacs.org>
6081
6082         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6083         behavior.
6084
6085 2002-03-14  Mike Alexander  <mta@arbortext.com>
6086
6087         * event-msw.c (mswindows_unwait_process): New, remove process from
6088         wait list
6089         * process-nt.c (nt_finalize_process_data): Call
6090         mswindows_unwait_process
6091         * console-msw.h: Declare mswindows_unwait_process
6092
6093 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6094
6095         * editfns.c (Fdecode_time):
6096         (Fformat_time_string):
6097         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6098         (make_time): Warning elimination (change arg name).
6099
6100 2001-11-24  Andy Piper  <andy@xemacs.org>
6101
6102         * window.c (Fsplit_window): Doc return type.
6103
6104 2002-04-01  Andy Piper  <andy@xemacs.org>
6105
6106         * emacs.c (Fkill_emacs): Only output message box in interactive
6107         mode.
6108
6109 2002-04-26  Andy Piper  <andy@xemacs.org>
6110  
6111         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6112         cygwin.
6113
6114 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6115
6116         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6117         bit platform.
6118
6119 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6120
6121         * XEmacs 21.4.8 "Honest Recruiter" is released.
6122
6123 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6124
6125         Supersedes 2002-04-17 patch.
6126
6127         * process.h (PROCESS_LIVE_P): Use the process status as
6128         evidence of health, not the state of the input stream.
6129         (PROCESS_READABLE_P): Say if the process is readable
6130         from. (It may be dead nonetheless.)
6131         (CHECK_READABLE_PROCESS): Test for that condition.
6132
6133         * process.c (create_process): Use PROCESS_READABLE_P.
6134         (read_process_output, set_process_filter): Likewise.
6135
6136         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6137         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6138
6139         This code is #if 0'd, this is not the time to add new functions:
6140
6141         * process.c (Fprocess_readable_p): Report readability status.
6142         * process.c (Qprocess_readable_p): New, associated symbol...
6143         * process.c (syms_of_process): ... initialize it.
6144
6145 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6146
6147         * XEmacs 21.4.7 "Economic Science" is released.
6148
6149 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6150
6151         * process.h (PROCESS_LIVE_P): Use the process status as
6152         evidence of health, not the state of the input stream.
6153
6154 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6155
6156         * sysdep.c (sys_siglist): change "signum" to "signal"
6157
6158 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6159
6160         * s/darwin.h: New file.
6161         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6162         
6163 2002-04-23  Andreas Jaeger  <aj@suse.de>
6164
6165         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6166         which use lib64 for 64-bit libs.
6167         (START_FILES): Likewise.
6168
6169 2002-02-11  Mike Sperber  <mike@xemacs.org>
6170
6171         * device-x.c: 
6172         (x_IO_error_handler):
6173         (x_init_device): Temporarily keep device in static variable
6174         `device_being_initialized' so we can recover gracefully from
6175         internal XOpenDevice failure.  (XOpenDevice is documented to
6176         return NULL on failure, but sometimes calls the IO error handler
6177         instead.)
6178
6179 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6180
6181         * dired.c (Ffile_name_all_completions): Change documentation --
6182         remove reference to completion-ignored-extensions.
6183         * dired.c (vars_of_dired): Change documentation for
6184         completion-ignored-extensions -- remove reference to
6185         file-name-all-completions.
6186
6187 2002-03-06  Jerry James  <james@xemacs.org>
6188
6189         * emodules.c (emodules_load): Fix multiple loading of same module.
6190
6191 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6192         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6193         RTLD_LAZY to avoid incorrect symbol binding when using nested
6194         shared libraries on Solaris.
6195
6196 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6197
6198         * fileio.c (Ffind_file_name_handler): Improve docstring.
6199
6200 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6201
6202         * fns.c (Fmapconcat): Improve docstring.
6203
6204 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6205
6206         * device-gtk.c: Add prototype for
6207         emacs_gtk_selection_clear_event_handle.
6208         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6209         selection.  Setup signal handler for "selection_clear_event"
6210         (emacs_gtk_selection_clear_event_handle).
6211
6212         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6213         other applications owning the clipboard (based on
6214         x_handle_selection_clear).
6215
6216 2001-12-23  William M. Perry  <wmperry@gnu.org>
6217
6218         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6219         
6220 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6221
6222         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6223
6224 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6225
6226         * XEmacs 21.4.6 "Common Lisp" is released.
6227
6228 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6229
6230         * search.c (Freplace_match): Add missing sub-expression functionality.
6231
6232         * buffer.c (decode_buffer): Add a check for pointer type to
6233         decode_buffer, before gcc's CSE optimization reorders a
6234         dereference in front of the allow_string test.
6235
6236 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6237
6238         * window.c (window_loop): Fix bug that sometimes prevented
6239         window_loop() from iterating across multiple devices.  Also, at
6240         Ben's request, changed infloop-detecting code to abort() instead
6241         of silently terminating window_loop().
6242
6243 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6244
6245         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6246         * editfns.c (make_time): New function.
6247         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6248         * lisp.h (make_time): Prototype and comment it.
6249         * dired.c (wasteful_word_to_lisp): Deprecate.
6250         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6251
6252 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6253
6254         * fileio.c (auto_save_1): Use current coding system, not
6255         escape-quoted.
6256
6257 2001-11-13  Ben Wing  <ben@xemacs.org>
6258
6259         * window.c:
6260         * window.c (window_truncation_on):
6261         * window.c (syms_of_window):
6262         truncate-partial-width-windows should respect the buffer being
6263         displayed, like other redisplay vars.
6264
6265 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6266
6267         * event-stream.c (Fread_key_sequence): save current buffer.
6268
6269 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6270
6271         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6272
6273 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6274
6275         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6276
6277 2001-10-26  Mike Alexander  <mta@arbortext.com>
6278
6279         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6280
6281 2001-10-25  Andy Piper  <andy@xemacs.org>
6282
6283         * ChangeLog:
6284         * dialog-msw.c (handle_directory_proc): new function.
6285          (handle_directory_dialog_box): new fucntion.
6286          (handle_file_dialog_box): use new directory dialog support.
6287          (mswindows_make_dialog_box_internal): ditto.
6288         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6289         handling.
6290         (mswindows_find_frame): make global.
6291         * fileio.c (Fexpand_file_name): build fix.
6292         * general-slots.h: add Qdirectory.
6293         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6294         handling.
6295         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6296         cygwin not leaving win32 paths unchanged.
6297         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6298         cygwin runtime to do path conversion.
6299         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6300         (syms_of_win32): add new function.
6301         * window.c (window_loop): build fix.
6302
6303 2001-10-15  Andy Piper  <andy@xemacs.org>
6304
6305         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6306
6307 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6308
6309         * XEmacs 21.4.5 "Civil Service" is released.
6310
6311 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6312
6313         * glyphs-x.c: Force buffer-tab highlight update when moving the
6314         buffer, avoiding an ugly black border, used for keyboard focus
6315         indication, on a widget that can never have keyboard focus, the
6316         buffer tab.
6317
6318 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6319
6320         * process-unix.c (unix_open_multicast_group): Remove too much
6321         conversion between host and network byte order.
6322
6323 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6324
6325         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6326         before replacing them.
6327
6328         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6329         operation.
6330
6331         * src/window.c (undedicate_windows): Use it.
6332         * src/window.h: Add prototype.
6333
6334 2001-09-17  Ben Wing  <ben@xemacs.org>
6335
6336         * fileio.c (normalize_filename):
6337         * fileio.c (Fexpand_file_name):
6338         Fix various C++ compile errors in Andy's recent code.
6339         
6340         * callint.c (Fcall_interactively):
6341         * editfns.c (Ftemp_directory):
6342         * editfns.c (Fuser_full_name):
6343         * emacs.c (argmatch):
6344         * lread.c (locate_file_map_suffixes):
6345         * redisplay-x.c (x_ring_bell):
6346         Fix sign-compare warnings.
6347         
6348 2001-09-08  Andy Piper  <andy@xemacs.org>
6349
6350         * fileio.c (normalize_filename): copied from nt.c
6351         * (Ffile_name_directory): enable win32 paths under cygwin.
6352         * (Ffile_name_nondirectory): ditto.
6353         * (directory_file_name): ditto.
6354         * (Fexpand_file_name): ditto.
6355         * (Ffile_truename): ditto.
6356         * (Fsubstitute_in_file_name): ditto.
6357         * (Ffile_name_absolute_p): ditto.
6358         * (Ffile_readable_p): ditto.
6359
6360 2001-09-08  Andy Piper  <andy@xemacs.org>
6361
6362         * device-msw.c (mswindows_finish_init_device): remove dde
6363         initialization.
6364         * device-msw.c (mswindows_init_dde): factor out from
6365         mswindows_finish_init_device()
6366         * device-msw.c (init_mswindows_very_early): new function
6367         initialize but don't enable dde.
6368         * emacs.c (main_1): call init_mswindows_very_early.
6369         * event-msw.c:
6370         * event-msw.c (mswindows_dde_callback): only execute when we are
6371         ready.
6372         * symsinit.h: declare init_mswindows_very_early.
6373
6374 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6375
6376         [sjt: This has been in 21.5 for months with no complaints.]
6377
6378         * console.h (struct console_methods): Added flags member.
6379         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6380         (CONMETH_IMPL_FLAG):
6381         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6382         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6383
6384         * device.c (window_system_pixelated_geometry): Use the above macros.
6385
6386         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6387         implememntation flag.
6388         * device.h (DEVICE_DISPLAY_P): Use it.
6389
6390         * frame.c (delete_frame_internal): Use the above macro.
6391
6392         * redisplay.c (redisplay_device): Use it.
6393         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6394         (redisplay_frame): Ditto.
6395
6396         * device-msw.c (mswindows_device_implementation_flags): Removed.
6397         (msprinter_device_implementation_flags): Removed.
6398         (console_type_create_device_mswindows): Removed references to
6399         implementation_flags methods, set implementation flags here.
6400         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6401
6402         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6403         (console_type_create_device_gtk): Removed method declaration.
6404         Added commented out statement which semantically matches the
6405         commented out statement in the above removed method.
6406
6407 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6408
6409         The attached patch fixes a few warnings. 
6410
6411         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6412         * src/frame-gtk.c: guard against GNOME calls in GTK only
6413         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6414         * src/select-gtk.c: prototype lisp_to_time
6415
6416 2001-06-08  Ben Wing  <ben@xemacs.org>
6417
6418         ------ gc-in-window-procedure fixes ------
6419         
6420         * alloc.c:
6421         * alloc.c (struct post_gc_action):
6422         * alloc.c (register_post_gc_action):
6423         * alloc.c (run_post_gc_actions):
6424         * alloc.c (garbage_collect_1):
6425         Create "post-gc actions", to avoid those dreaded "GC during window
6426         procedure" problems.
6427
6428         * event-msw.c:
6429         Abort, clean and simple, when GC in window procedure.  We want
6430         to flush these puppies out.
6431
6432         * glyphs-msw.c:
6433         * glyphs-msw.c (finalize_destroy_window):
6434         * glyphs-msw.c (mswindows_finalize_image_instance):
6435         Use a post-gc action when destroying subwindows.
6436
6437         * lisp.h:
6438         Declare register_post_gc_action().
6439
6440         * scrollbar-msw.c:
6441         * scrollbar-msw.c (unshow_that_mofo):
6442         Use a post-gc action when unshowing scrollbar windows, if in gc.
6443
6444         * redisplay.c (mark_redisplay):
6445         Add comment about the utter evilness of what's going down here.
6446
6447         ------ cygwin setitimer fixes ------
6448         
6449         * Makefile.in.in (sheap_objs):
6450         * Makefile.in.in (profile_objs):
6451         * Makefile.in.in (objs):
6452         Compile profile.c only when HAVE_SETITIMER.
6453         
6454         * nt.c (mswindows_sigset):
6455         * nt.c (mswindows_sighold):
6456         * nt.c (mswindows_sigrelse):
6457         * nt.c (mswindows_sigpause):
6458         * nt.c (mswindows_raise):
6459         * nt.c (close_file_data):
6460         Style fixes.
6461         
6462         * nt.c:
6463         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6464         
6465         * profile.c:
6466         * profile.c (Fstart_profiling):
6467         * profile.c (Fstop_profiling):
6468         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6469         instead of just plain setitimer().
6470         
6471         * signal.c:
6472         * signal.c (set_one_shot_timer):
6473         * signal.c (alarm):
6474         Define qxe_setitimer() as an encapsulation around setitimer() --
6475         call setitimer() directly unless Cygwin or MS Win, in which case
6476         we use our simulated version in win32.c.
6477         
6478         * systime.h:
6479         * systime.h (struct itimerval):
6480         * systime.h (ITIMER_REAL):
6481         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6482         comment about "qxe" and the policy regarding encapsulation.
6483
6484         * win32.c:
6485         * win32.c (setitimer_helper_proc):
6486         * win32.c (setitimer_helper_period):
6487         * win32.c (setitimer_helper):
6488         * win32.c (mswindows_setitimer):
6489         Move setitimer() emulation here, so Cygwin can use it.
6490         Rename a couple of functions and variables to be longer and more
6491         descriptive.  In setitimer_helper_proc(), send the signal
6492         using either mswindows_raise() or (on Cygwin) kill().  If for
6493         some reason we are still getting lockups, we'll change the kill()
6494         to directly invoke the signal handlers.
6495
6496         ------ windows shell fixes ------
6497         
6498         * callproc.c:
6499         * ntproc.c:
6500         Comments about how these two files must die.
6501
6502         * callproc.c (init_callproc):
6503         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6504         not just COMSPEC. (more correct and closer to FSF.) Don't
6505         force a value for SHELL into the environment. (Comments added
6506         to explain why not.)
6507         
6508         * nt.c (init_user_info):
6509         Don't shove a fabricated SHELL into the environment.  See above.
6510
6511 2001-06-01  Ben Wing  <ben@xemacs.org>
6512
6513         * Makefile.in.in (ldflags):
6514         eliminate that pesky "defaulting to 00401000" warning.
6515         * nt.h:
6516         eliminate warnings.
6517
6518 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6519
6520         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6521         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6522
6523 2001-04-24  Jerry James <james@xemacs.org>
6524
6525         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6526         correct order.
6527
6528 2001-06-01  Ben Wing  <ben@xemacs.org>
6529
6530         * event-msw.c (debug_mswin_messages):
6531         conditionalize the messages that were causing compile errors.
6532         (if only macros could generate #ifdef statements ...)
6533
6534 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6535
6536         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6537
6538 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6539
6540         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6541
6542 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6543
6544         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6545         * process-unix.c (unix_canonicalize_host_name):
6546         sysdep.c (init_system_name):
6547         Use it to conditionally support IPv6 canonicalization.
6548
6549 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6550
6551         * event-msw.c:
6552         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6553
6554 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6555
6556         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6557         attempt is made to scroll when no scroll bar is available.
6558
6559 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6560
6561         * input-method-motif.c (XIM_delete_frame): New callback.
6562         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6563         got deleted from 21.4.3.)
6564
6565 2001-06-01  Ben Wing  <ben@xemacs.org>
6566
6567         * nt.c (mswindows_utime):
6568         * nt.c (close_file_data):
6569         fix off-by-one-indirection error.
6570
6571 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6572
6573         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6574         because set_file_times() now takes Lisp_Object path, instead of
6575         char*.
6576         * nt.c: Include buffer.h.
6577         * nt.c (convert_from_time_t): New.
6578         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6579         not set mtime correctly.
6580         * nt.h: Declare mswindows_utime().
6581         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6582         path, instead of char*.
6583         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6584
6585 2001-05-30  Ben Wing  <ben@xemacs.org>
6586
6587         For 21.4:
6588
6589         (Stephen, just take all event-msw.c patches.  This includes
6590         the "iconify" fix below.)
6591
6592         * event-msw.c:
6593         * event-msw.c (mswindows_dequeue_dispatch_event):
6594         * event-msw.c (assert):
6595         * event-msw.c (emacs_mswindows_quit_p):
6596         * event-msw.c (debug_mswin_messages):
6597         * event-msw.c (debug_output_mswin_message):
6598         * event-msw.c (vars_of_event_mswindows):
6599         Fix yet more problems with C-g handling.
6600         Implement debug-mswindows-events.
6601         
6602 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6603
6604         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6605         
6606 2001-05-23  Ben Wing  <ben@xemacs.org>
6607
6608         * event-msw.c (winsock_writer):
6609         * event-msw.c (winsock_closer):
6610         prior kludgy code was clobbering the buffer, thinking it was
6611         "unused" space to store an unneeded return value; instead, use
6612         the variable we've already got staring us in the face.
6613
6614 2001-05-17  Andy Piper  <andy@xemacs.org>
6615
6616         * sysfile.h: don't assume that file attributes are boolean
6617
6618 2001-05-23  Ben Wing  <ben@xemacs.org>
6619
6620         * device-msw.c (msprinter_init_device):
6621         signal an error rather than crash with an unavailable network
6622         printer (from Mike Alexander).
6623         
6624         * event-msw.c:
6625         * event-msw.c (struct winsock_stream):
6626         * event-msw.c (winsock_writer):
6627         * event-msw.c (winsock_closer):
6628         * event-msw.c (make_winsock_stream_1):
6629         cleanup headers.  fix (hopefully) an error with data corruption
6630         when sending to a network connection.
6631
6632         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6633         to handle the ~user prefix by (a) always assuming we're referencing
6634         ourselves and not even verifying the user -- hence any file with
6635         a tilde as its first char is invalid! (b) if there wasn't a slash
6636         following the filename, the pointer was set *past* the end of
6637         file and we started reading from uninitialized memory.  Now we
6638         simply treat these as files, always.
6639
6640         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6641         
6642 2001-05-19  Ben Wing  <ben@xemacs.org>
6643
6644         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6645
6646         * process-nt.c:
6647         * process-nt.c (vars_of_process_nt):
6648         remove unused mswindows-quote-process-args.  rec for 21.4.
6649         
6650 2001-05-12  Ben Wing  <ben@xemacs.org>
6651
6652         * event-msw.c (mswindows_dde_callback):
6653         * event-msw.c (mswindows_wnd_proc):
6654         eliminate cygwin warnings.
6655
6656 2001-05-06  Ben Wing  <ben@xemacs.org>
6657
6658         * console-msw.h:
6659         * device-msw.c:
6660         * device-msw.c (print_dialog_worker):
6661         * device-msw.c (mswindows_handle_print_dialog_box):
6662         * device-msw.c (syms_of_device_mswindows):
6663         * dialog-msw.c (mswindows_make_dialog_box_internal):
6664         * general-slots.h:
6665         implement printing the selection when it's selected.
6666
6667 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6668
6669         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6670
6671 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6672
6673         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6674         EMACS_INT is signed.
6675
6676 2001-04-15  Michael Lausch  <mla@1012surf.net>
6677
6678         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6679         gtk_widget_request_size() to give scrollbar >0 width for
6680         GTK >1.2.8.
6681
6682 2001-05-30  William M. Perry  <wmperry@gnu.org>
6683
6684         * event-gtk.c: Check for buttons as modifier keys.
6685
6686 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6687
6688         * s\mingw32.h:
6689         Properly find MinGW's <process.h> inside Cygwin's restructured
6690         include directories.  Don't try to include <cygwin/version.h>
6691         since we are dropping support for MinGW in versions of Cygwin
6692         earlier than b21.
6693         * nt.c:
6694         Drop support for MinGW in versions of Cygwin before b21.
6695         * sysdep.c:
6696         Properly find MinGW's <process.h> inside Cygwin's restructured
6697         include directories.
6698         * syswindows.h:
6699         Drop support for MinGW in versions of Cygwin before b21.
6700         * unexcw.c:
6701         Even though a.out.h is no longer detected by configure, allow
6702         MinGW to use it until we figure out how to do the job with Win32.
6703
6704 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6705
6706         * syntax.c (find_start_of_comment):
6707         Fix `unbalanced parentheses' bug when dealing with mixed comment
6708         styles in c++/java/etc. mode
6709
6710 2001-05-29  Mike Alexander  <mta@arbortext.com>
6711
6712         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6713         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6714
6715 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6716
6717         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6718
6719 2001-03-31  Mike Sperber <mike@xemacs.org>
6720
6721         * search.c (Freplace_match): Support FSF-style specification of
6722         match subexpression when applied to a buffer.
6723
6724 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6725
6726         * event-stream.c (is_scrollbar_event): add missing semicolon
6727
6728 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6729
6730         * Makefile.in.in: Use TAR macro instead of hardcoding
6731           tar.  Allows use of GNU tar instead of system tar
6732
6733 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6734
6735         * event-stream.c (is_scrollbar_event): add missing semicolon
6736
6737 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6738
6739         * XEmacs 21.4.3 "Academic Rigor" is released.
6740
6741 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6742
6743         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6744
6745 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6746
6747         * buffer.c (Vcase_fold_search): Remove obsolete
6748           comment about non ASCII case-fold-search.  This
6749           bug has been fixed by case-table changes.
6750
6751 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6752
6753         * event-msw.c: Restore include of events-mod.h.
6754
6755 2001-04-22   zhaoway  <zw@debian.org>
6756
6757         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6758         !HAVE_SCROLLBARS.
6759
6760 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6761
6762         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6763
6764 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6765
6766         * mule-charset.c (Fmake_charset): Add missing else.
6767
6768 2001-04-23  Ben Wing  <ben@xemacs.org>
6769
6770         * event-msw.c (FAKE_MOD_QUIT):
6771         * event-msw.c (mswindows_dequeue_dispatch_event):
6772         * event-msw.c (mswindows_wnd_proc):
6773         * event-msw.c (emacs_mswindows_quit_p):
6774         Get critical quit working.
6775
6776 2001-05-05  Ben Wing  <ben@xemacs.org>
6777
6778         * console-msw.h:
6779         * device-msw.c:
6780         * device-msw.c (mswindows_get_default_margin):
6781         * frame-msw.c (mswindows_size_frame_internal):
6782         * frame-msw.c (msprinter_init_frame_1):
6783         * frame-msw.c (vars_of_frame_mswindows):
6784         Change top/bottom margin defaults to 0.5 inches.
6785
6786 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6787
6788         Fix link error with gcc 3.0 on Linux.
6789         * terminfo.c (UP): Remove.
6790         * terminfo.c (BC): Remove.
6791         * terminfo.c (PC): Remove.
6792         They weren't used, and in any case, these symbols should be
6793         defined in the *library*.
6794
6795 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6796
6797         * s/aix4.h: Fix crash with xlc -O3.
6798         Improve comment explaining how -O3 works.
6799
6800 2001-04-15  Ben Wing  <ben@xemacs.org>
6801
6802         * event-stream.c:
6803         * event-stream.c (Fnext_event):
6804         * event-stream.c (is_scrollbar_event):
6805         * event-stream.c (execute_command_event):
6806         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6807         crash' problem.  His fix introduces other problems.  We filter
6808         out scrollbar events specifically, making them somewhat invisible
6809         to command-building, and not appearing in `this-command-keys'.
6810         More work is still needed (see comments in event-stream.c), but
6811         this fixes all the major problems.
6812
6813 2001-04-20  Ben Wing  <ben@xemacs.org>
6814
6815         * .cvsignore: Added stuff for Windows.
6816
6817 2001-04-28  Ben Wing  <ben@xemacs.org>
6818
6819         * buffer.c (Ferase_buffer):
6820         * editfns.c (buffer_insert1):
6821         * editfns.c (Finsert_before_markers):
6822         * editfns.c (Finsert_string):
6823         * editfns.c (Finsert_char):
6824         * editfns.c (Fdelete_region):
6825         * editfns.c (Fwiden):
6826         * editfns.c (Fnarrow_to_region):
6827         remove bogus lines setting zmacs_region_stays to 0.
6828         
6829 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6830
6831         * process-unix.c (unix_open_network_stream): If connect() fails
6832         invalidate file descriptor after closing it.
6833
6834 2001-03-08  Mike Alexander  <mta@arbortext.com>
6835
6836         * event-msw.c (mswindows_need_event_in_modal_loop):
6837         Don't dispatch a message if we didn't get one.
6838         (mswindows_need_event):
6839         Terminate the correct process when one exits instead of the first
6840         one on Vprocess_list and look for process termination when in
6841         mswindows_protect_modal_loop.
6842
6843 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6844
6845         * XEmacs 21.4.1 "Copyleft" is released.
6846
6847 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6848
6849         * input-method-motif.c (XIM_delete_frame): New callback.
6850         (XIM_init_frame): Register it.
6851
6852 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6853
6854         * XEmacs 21.4.0 "Solid Vapor" is released.
6855
6856 2001-04-15  Ben Wing  <ben@xemacs.org>
6857
6858         * cmdloop.c (call_command_loop):
6859         Fix braino in bit-rotting code.
6860         
6861 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6862
6863         * extents.c (Fset_extent_endpoints): Force creation of extent info
6864         in buffer_or_string.
6865
6866         * extents.c (process_extents_for_insertion_mapper): Correctly
6867         check for open-open zero-length extents.
6868
6869 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6870
6871         * lisp.h: New typedefs Memory_count, Element_count.
6872         * regex.c:
6873         * regex.h:
6874         Sign-compare warning elimination: several unsigned -> signed.
6875         Based on work by Ben Wing <ben@xemacs.org>.
6876
6877 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6878
6879         * XEmacs 21.2.47 "Zephir" is released.
6880
6881 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6882
6883         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6884
6885 2001-04-03  Mike Sperber <mike@xemacs.org>
6886
6887         * search.c: Revert previous patch due because of release.
6888
6889 2001-03-30  Ben Wing  <ben@xemacs.org>
6890
6891         * s\cygwin32.h:
6892         Add missing killpg prototype.
6893
6894         * elhash.c:
6895         Add a comment about fixing problems when a new entry is added
6896         while mapping.
6897
6898         * frame-msw.c (mswindows_init_frame_1):
6899         Fix compile warnings.
6900
6901         * menubar.c (vars_of_menubar):
6902         Provide `menu-accelerator-support' to indicate that we properly
6903         support %_ in menu specifications, so that package code can
6904         conditionalize on this (and remove %_ from menu specifications
6905         on older versions).
6906
6907         * event-msw.c:
6908         * scrollbar-msw.c:
6909         * scrollbar-msw.c (can_scroll):
6910         * scrollbar-msw.h:
6911         Fix handling of mouse wheel under Windows to follow standards --
6912         now scrolls window under pointer, not selected window.
6913
6914 2001-03-31  Mike Sperber <mike@xemacs.org>
6915
6916         * search.c (Freplace_match): Support FSF-style specification of
6917         match subexpression when applied to a buffer.
6918
6919 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6920
6921         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6922         function to modify KEYMAP, so map over a copy of the hash table.
6923
6924 2001-03-21  Martin Buchholz <martin@xemacs.org>
6925
6926         * XEmacs 21.2.46 "Urania" is released.
6927
6928 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6929
6930         * realpath.c (xrealpath): Make file-truename work with symlinks to
6931         /cygdrive paths on cygwin. Always lowercase drive-letters on
6932         native windows.
6933         (cygwin_readlink): Don't try to find canonical filename unless
6934         file exists.
6935
6936 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6937
6938         * ChangeLog: Log GTK merge.
6939
6940         * dumper.c:
6941         * select-x.c:
6942         * specifier.c:
6943         * symeval.h:
6944         Revert gratuitous whitespace changes from GTK merge.
6945
6946         * emacs.c: Document end of complex #ifdef @ l. 1495.
6947
6948
6949 2001-03-12  Andy Piper  <andy@xemacs.org>
6950
6951         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6952         have to do likewise.
6953
6954 2001-03-12  Andy Piper  <andy@xemacs.org>
6955
6956         * sysdep.c: we only support mingw now.
6957
6958 2001-03-09  Andy Piper  <andy@xemacs.org>
6959
6960         * unexcw.c (copy_executable_and_dump_data_section): making approx
6961         overrun a warning only.
6962
6963 2001-03-10  William M. Perry  <wmperry@aventail.com>
6964
6965         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6966         satisfy Stephen's identical-after-cpp plea.
6967
6968 2001-03-02  Ben Wing  <ben@xemacs.org>
6969
6970         * cmds.c:
6971         * cmds.c (Fforward_char):
6972         * syntax.c:
6973         * window.c:
6974
6975         Augment documentation of the most common motion commands to make
6976         note of the shifted-motion support.
6977         
6978 2001-03-02  Ben Wing  <ben@xemacs.org>
6979
6980         * nt.c (mswindows_fstat):
6981         * nt.c (mswindows_stat):
6982         * search.c (boyer_moore):
6983         Fix compile warnings under Windows.
6984         
6985         * sysdep.c (sys_readdir):
6986         Fix buggy filename-conversion code under Mule.
6987
6988 2001-03-09  William M. Perry  <wmperry@aventail.com>
6989
6990         * Makefile.in.in:
6991         * config.h.in:
6992         * console.c:
6993         * console.h:
6994         * device.c:
6995         * device.h:
6996         * dragdrop.c:
6997         * emacs.c:
6998         * event-stream.c:
6999         * events.c:
7000         * events.h:
7001         * faces.c:
7002         * frame.h:
7003         * general-slots.h:
7004         * glyphs.c:
7005         * gutter.c:
7006         * inline.c:
7007         * lisp.h:
7008         * lrecord.h:
7009         * make-src-depend:
7010         * redisplay-output.c:
7011         * redisplay.c:
7012         * symsinit.h:
7013         * sysfile.h:
7014         * toolbar.c:
7015         * window.c:
7016         The Great GTK Merge.
7017
7018         * ChangeLog.GTK:
7019         * console-gtk.c:
7020         * console-gtk.h:
7021         * device-gtk.c:
7022         * emacs-marshals.c:
7023         * emacs-widget-accessors.c:
7024         * event-gtk.c:
7025         * frame-gtk.c:
7026         * gccache-gtk.c:
7027         * gccache-gtk.h:
7028         * glade.c:
7029         * glyphs-gtk.c:
7030         * glyphs-gtk.h:
7031         * gtk-glue.c:
7032         * gtk-xemacs.c:
7033         * gtk-xemacs.h:
7034         * gui-gtk.c:
7035         * gui-gtk.h:
7036         * menubar-gtk.c:
7037         * native-gtk-toolbar.c:
7038         * objects-gtk.c:
7039         * objects-gtk.h:
7040         * redisplay-gtk.c:
7041         * scrollbar-gtk.c:
7042         * scrollbar-gtk.h:
7043         * select-gtk.c:
7044         * toolbar-gtk.c:
7045         * ui-byhand.c:
7046         * ui-gtk.c:
7047         * ui-gtk.h:
7048         The Great GTK Merge: new files.
7049
7050 2001-02-26  Ben Wing  <ben@xemacs.org>
7051
7052         Reapplied Lstream change.
7053
7054 2001-02-26  Ben Wing  <ben@xemacs.org>
7055
7056         Undid the last change, since it is more controversial than I
7057         thought.  It should be back in at some point soon.
7058         
7059 2001-02-25  Ben Wing  <ben@xemacs.org>
7060
7061         * buffer.c:
7062         * callproc.c (Fold_call_process_internal):
7063         * event-msw.c (ntpipe_slurp_reader):
7064         * event-msw.c (ntpipe_shove_writer):
7065         * event-msw.c (winsock_reader):
7066         * event-msw.c (winsock_writer):
7067         * file-coding.c:
7068         * file-coding.c (detect_eol_type):
7069         * file-coding.c (detect_coding_type):
7070         * file-coding.c (determine_real_coding_system):
7071         * file-coding.c (Fdetect_coding_region):
7072         * file-coding.c (decoding_reader):
7073         * file-coding.c (decoding_writer):
7074         * file-coding.c (mule_decode):
7075         * file-coding.c (Fdecode_coding_region):
7076         * file-coding.c (encoding_reader):
7077         * file-coding.c (encoding_writer):
7078         * file-coding.c (mule_encode):
7079         * file-coding.c (Fencode_coding_region):
7080         * file-coding.c (detect_coding_sjis):
7081         * file-coding.c (decode_coding_sjis):
7082         * file-coding.c (encode_coding_sjis):
7083         * file-coding.c (detect_coding_big5):
7084         * file-coding.c (decode_coding_big5):
7085         * file-coding.c (encode_coding_big5):
7086         * file-coding.c (detect_coding_ucs4):
7087         * file-coding.c (decode_coding_ucs4):
7088         * file-coding.c (encode_coding_ucs4):
7089         * file-coding.c (detect_coding_utf8):
7090         * file-coding.c (decode_coding_utf8):
7091         * file-coding.c (encode_coding_utf8):
7092         * file-coding.c (detect_coding_iso2022):
7093         * file-coding.c (decode_coding_iso2022):
7094         * file-coding.c (encode_coding_iso2022):
7095         * file-coding.c (decode_coding_no_conversion):
7096         * file-coding.c (encode_coding_no_conversion):
7097         * glyphs-x.c (write_lisp_string_to_temp_file):
7098         * gpmevent.c (tty_get_foreign_selection):
7099         * lisp.h:
7100         * lstream.c:
7101         * lstream.c (Lstream_flush_out):
7102         * lstream.c (Lstream_adding):
7103         * lstream.c (Lstream_write_1):
7104         * lstream.c (Lstream_write):
7105         * lstream.c (Lstream_raw_read):
7106         * lstream.c (Lstream_read_more):
7107         * lstream.c (Lstream_read):
7108         * lstream.c (Lstream_unread):
7109         * lstream.c (Lstream_fputc):
7110         * lstream.c (stdio_reader):
7111         * lstream.c (stdio_writer):
7112         * lstream.c (filedesc_reader):
7113         * lstream.c (filedesc_writer):
7114         * lstream.c (lisp_string_reader):
7115         * lstream.c (struct fixed_buffer_stream):
7116         * lstream.c (make_fixed_buffer_input_stream):
7117         * lstream.c (make_fixed_buffer_output_stream):
7118         * lstream.c (fixed_buffer_reader):
7119         * lstream.c (fixed_buffer_writer):
7120         * lstream.c (struct resizing_buffer_stream):
7121         * lstream.c (resizing_buffer_writer):
7122         * lstream.c (dynarr_writer):
7123         * lstream.c (lisp_buffer_reader):
7124         * lstream.c (lisp_buffer_writer):
7125         * lstream.h:
7126         * lstream.h (lstream_implementation):
7127         * lstream.h (struct lstream):
7128         * md5.c (Fmd5):
7129         * process-nt.c (nt_send_process):
7130         * process-unix.c (unix_send_process):
7131         
7132         Correct Lstream lossage due to mixing of signed and unsigned
7133         quantities.  All Lstream uses of size_t and ssize_t are now a
7134         single signed data type Lstream_data_count.  This fixes problems
7135         under Windows with sending large quantities of data to a process,
7136         and may well fix other subtle bugs.
7137
7138 2001-02-23  Martin Buchholz <martin@xemacs.org>
7139
7140         * XEmacs 21.2.45 "Thelxepeia" is released.
7141
7142 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7143
7144         * lisp-union.h (XSETINT): 
7145         (XSETCHAR):
7146         (XSETOBJ): 
7147         Reverse previous change of 2001-02-06.
7148
7149 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7150
7151         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7152         buffers.
7153         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7154         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7155         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7156         * regex.c (POS_AS_IN_BUFFER): removed
7157         * regex.c (re_search_2):
7158         * regex.c (re_match_2):
7159         Don't use an offset of 1 when calculating buffer positions, since
7160         `BI_BUF_BEGV' does it already.
7161
7162 2001-02-18  Wim Dumon  <wim@easics.be>
7163
7164         * insdel.c (prepare_to_modify_buffer): Also check for
7165         supersession when clash-detection is enabled. 
7166
7167 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7168
7169         * regex.c (re_match_2_internal):
7170         Convert temp characters from 'const unsigned char' to 're_char'.
7171         Fix crashing bug with extended characters under mule.
7172         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7173         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7174         font-lock, pdump, and new syntax-table code.
7175         * syntax.c (find_start_of_comment):
7176         (find_end_of_comment):
7177         (forward-comment):
7178         Fix crashing bugs involving moving beyond end of buffer.
7179         * syntax.c (find_start_of_comment):
7180         Fixed logic to allow proper detection of cases where the same
7181         character is used to end both a two-char comment start and a
7182         two-char comment end sequence. Fixes `(forward-comment -1)'.
7183         * syntax.c (find_start_of_comment):
7184         Return position just past last comment-end character for all cases
7185         (previously was only done for two-char comment-end sequences).
7186         * syntax.c (forward-comment):
7187         Take value returned from `find_end_of_comment', rather than
7188         incrementing it.
7189         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7190         Properly deal with BUFFERP (syntax_cache.object)
7191
7192 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7193
7194         * alloc.c (Fgarbage_collect): 
7195         * alloc.c (make_bit_vector_from_byte_vector):
7196         -Wsign-compare-correctness.
7197
7198 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7199
7200         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7201         (XSETCHAR): Likewise.
7202         (XSETOBJ): Likewise.
7203
7204 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7205
7206         * mule-canna.c (canna-func-delete_previous): 
7207         Rename to canna-func-delete-previous.
7208
7209 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7210
7211         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7212
7213 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7214
7215         * font-lock.c (find_context): Fix C++ compile errors introduced by
7216         recent patch
7217
7218 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7219
7220         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7221         pragma, but earlier ones barf on the same pragma.
7222
7223 2001-02-06  Mike Sperber <mike@xemacs.org>
7224
7225         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7226         `configure-mule-lisp-directory'.
7227
7228 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7229
7230         Make sure dump-id.c is compiled in the same way as other .c's.
7231         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7232         * dump-id.h: Remove.
7233         * emacs.c: Move dump-id.h into dumper.h.
7234         * dumper.h: Move dump-id.h into dumper.h.
7235         * Makefile.in.in:
7236         Use standard .c.o rule for building dump-id.o.
7237         Remove preprocessor flags from link command.
7238         Add dump-id.o to ${otherobjs} if PDUMP.
7239
7240 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7241
7242         Port FSF 20.7 syntax table improvements.
7243         * syntax.c.
7244         * syntax.h.
7245
7246         Fixups for new syntax table stuff.
7247         * dired.c: Include syntax.c.
7248         (Fdirectory_files): Initialize regex_match_object and
7249         regex_emacs_buffer.
7250         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7251         and Fget_char_property.
7252
7253         Use ported FSF 20.7 syntax table improvements.
7254         * font-lock.c.
7255         * regex.c.
7256         * search.c.
7257         
7258 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7259
7260         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7261         Unixware's enum boolean from sys/types.h.
7262
7263 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7264
7265         Fix support for building with latest Purify.
7266         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7267         (PURIFY_FLAGS): Likewise.
7268
7269 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7270
7271         * fileio.c (lisp_string_set_file_times): New.
7272         * fileio.c (Fcopy_file): Use it.
7273         Fixes bug:
7274         (copy-file filename non-ascii-filename t t)
7275         ==> No such file or directory, non-ascii-filename
7276
7277 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7278
7279         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7280         USHRT_MAX seems clearer than ~0 anyways.
7281
7282 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7283
7284         dumper improvements.  Inspired by Olivier.
7285         * dumper.c (pdump_max_align): New.
7286         * dumper.c (pdump_add_entry): Use pdump_max_align.
7287         * dumper.c (pdump_get_entry_list): Likewise.
7288         * dumper.c (pdump_scan_by_alignment): Likewise.
7289         Don't iterate through unnecessary alignments.
7290         * dumper.c (pdump_file_get): No need to align result of malloc().
7291         * dumper.c (pdump_mallocadr): Remove.  
7292         The result of malloc() is guaranteed to be maximally aligned.
7293         * dumper.c: s/elmt/elt/g;
7294         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7295         * dumper.c (pdump_alert_undump_object): Likewise.
7296         * dumper.c (pdump_align_table): 
7297         Don't support alignments > 64.
7298         Store ALIGNOF's, not shift counts, in table.
7299
7300 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7301
7302         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7303         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7304         * systime.h: Use HAVE_UTIME.
7305         * sysdep.c (struct utimbuf): Remove.
7306         * sysdep.c (set_file_times): Prefer utime() to utimes().
7307         * config.h.in (HAVE_UTIME): New.
7308         * config.h.in (HAVE_UTIME_H): Remove.
7309         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7310
7311 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7312
7313         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7314
7315 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7316
7317         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7318
7319 2001-02-08  Martin Buchholz <martin@xemacs.org>
7320
7321         * XEmacs 21.2.44 "Thalia" is released.
7322
7323 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7324
7325         Fixes crashes in kill-emacs on some systems.
7326         * process-unix.c (unix_kill_child_process):
7327         It's OK for kill() to fail with ESRCH.
7328
7329 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7330
7331         Contortions to make .gdbinit tricks work on most systems.
7332         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7333         * alloc.c (dbg_valmask): Make non-const.
7334         * alloc.c (dbg_typemask): Make non-const.
7335         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7336         * alloc.c (dbg_valbits): Make non-const.
7337         * alloc.c (dbg_gctypebits): Make non-const.
7338         * .gdbinit (decode_object): Make it work with AIX cc.
7339
7340 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7341
7342         * elhash.c (make_general_lisp_hash_table):
7343         Use simpler and more efficient calloc to clear entries.
7344
7345 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7346
7347         * window.c (window_scroll): Work around an AIX C compiler bug.
7348         Fixes 'scroll-up' does nothing problem with xlC.
7349
7350 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7351
7352         * .gdbinit: Remove obsolete comment.
7353
7354 2001-01-31  Mike Alexander  <mta@arbortext.com>
7355
7356         * select.c (Fown_selection_internal): Set owned_p for device
7357         method correctly.
7358
7359 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7360
7361         Port to g++ 2.97.
7362         "not" cannot be used as a macro name as it is an operator in C++
7363         * config.h.in: Stop #defining `not'.
7364         * chartab.c (check_category_char): not ==> not_p
7365         * chartab.h: Likewise.
7366         * regex.c (re_match_2_internal): Likewise.
7367
7368 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7369
7370         * lisp-disunion.h: Fix up comments.
7371
7372 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7373
7374         * keymap.c (define_key_check_and_coerce_keysym):
7375         (syms_of_keymap):
7376         Support mouse-6 and mouse-7 bindings in the obvious way.
7377
7378 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7379
7380         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7381
7382 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7383
7384         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7385         Previous patch missed DEFVAR_INT_MAGIC.
7386         Make sure future DEFVAR_foo use correct types.
7387         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7388         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7389         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7390         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7391         * (DEFVAR_INT): Likewise.
7392         * redisplay.c (vertical_clip): Should be of type Fixnum.
7393         * redisplay.c (horizontal_clip): Likewise.
7394         * lisp.h (dump_add_opaque_int): New.
7395         (dump_add_opaque_fixnum): New.
7396
7397 2001-01-29  Andy Piper  <andy@xemacs.org>
7398
7399         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7400         since they can be eval'ed
7401
7402 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7403
7404         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7405         Oops, XEmacs redefines `class'.  Use `typename' instead.
7406
7407 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7408
7409         * dumper.c: Fix C++ compile errors.
7410
7411 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7412
7413         * tparam.c: Use correct prototypes.
7414
7415 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7416
7417         * sysproc.h: #include util.h for NetBSD's openpty.
7418
7419 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7420
7421         More 64-bit correctness.
7422         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7423         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7424         Fix up comments.
7425         This finally finishes the 64-bit SGI port.
7426         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7427         * symbols.c: Fix up comments and type casts.
7428         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7429         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7430         * symeval.h (Fixnum): New type.
7431         * symeval.h (symbol_value_type): Fix up comment.
7432
7433         * commands.h:
7434         * nt.c:
7435         * emacs.c:
7436         * data.c:
7437         * redisplay.c:
7438         * abbrev.c:
7439         * dired-msw.c:
7440         * event-Xt.c:
7441         * eldap.c:
7442         * window.c:
7443         * sound.c:
7444         * event-stream.c:
7445         * eval.c:
7446         * buffer.c:
7447         * mule-canna.c: A million DEFVAR_INTs here...
7448         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7449         * extents.c:
7450         * cmdloop.c:
7451         * lisp.h:
7452         * select-x.c:
7453         * console-x.h:
7454         * event-msw.c:
7455         * mule-wnnfns.c:
7456         * hpplay.c:
7457         * ralloc.c:
7458         * alloc.c:
7459         * keymap.c:
7460         * profile.c:
7461         s/int/Fixnum/g in DEFVAR_INT declarations.
7462
7463 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7464
7465         Port pdump to SGI alignment-sensitive environment.
7466         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7467         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7468         properly aligned.
7469         Define and use aligned reading and writing macros.
7470         Use buffered stdio instead of posix i/o for faster dumping.
7471         Eliminate kludgy 256 byte space for header.
7472         Read and write from dump file using structs for alignment safety.
7473         * dumper.c (pdump_align_stream): New.
7474         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7475         * dumper.c (PDUMP_READ_ALIGNED): New.
7476         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7477         * dumper.c (pdump_static_Lisp_Object): New struct.
7478         * dumper.c (pdump_static_pointer): New struct.
7479         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7480         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7481         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7482         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7483
7484         * dumper.c (pdump_backtrace):
7485         * dumper.c (pdump_get_indirect_count):
7486         * dumper.c (pdump_register_object):
7487         * dumper.c (pdump_register_struct):
7488         * dumper.c (pdump_reloc_one):
7489         * dumper.c (pdump_scan_by_alignment):
7490         * dumper.c (pdump_dump_from_root_struct_ptrs):
7491         * dumper.c (pdump_dump_opaques):
7492         * dumper.c (pdump_dump_rtables):
7493         * dumper.c (pdump_dump_from_root_objects):
7494         * dumper.c (pdump):
7495         * dumper.c (pdump_load_finish):
7496         Use aligned reading and writing.
7497
7498         * dumper.c (pdump_free): Make static.
7499         * dumper.c (pdump_hFile): Likewise.
7500         * dumper.c (pdump_hMap): Likewise.
7501
7502 2001-01-26  Martin Buchholz <martin@xemacs.org>
7503
7504         * XEmacs 21.2.43 "Terspichore" is released.
7505
7506 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7507
7508         Type fiddling for window_config.saved_windows_count
7509         * window.c (struct window_config): 
7510         Make saved_windows_count member unsigned.
7511         * window.c (sizeof_window_config_for_n_windows): 
7512         Make parameter unsigned.
7513         * window.c (mark_window_config):
7514         * window.c (window_config_equal):
7515         * window.c (free_window_configuration):
7516         * window.c (Fset_window_configuration):
7517         * window.c (count_windows):
7518         * window.c (Fcurrent_window_configuration):
7519         * window.c (reinit_vars_of_window):
7520         Update all callers and users.
7521
7522 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7523
7524         Alignment correctness for flexible arrays.
7525         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7526         Make alignment-correct. Add interesting comments.
7527         * alloc.c (size_vector):
7528         * alloc.c (make_vector_internal):
7529         * alloc.c (make_bit_vector_internal):
7530         * alloc.c (sweep_bit_vectors_1):
7531         * fns.c (size_bit_vector):
7532         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7533         * window.c (sizeof_window_config_for_n_windows): 
7534         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7535
7536 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7537
7538         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7539
7540 2001-01-23  Andy Piper  <andy@xemacs.org>
7541
7542         * select.c (Fown_selection_internal): pass owned_p
7543
7544         * select-msw.c (mswindows_own_selection): New Signature.
7545
7546         * console.h (struct console_methods): add owned_p to
7547         _own_selection.
7548
7549         * select-x.c (x_own_selection): pass owned_p
7550         (hack_motif_clipboard_selection): use owned_p
7551         (vars_of_select_x): new variable -
7552         x_selection_strict_motif_ownership.
7553
7554 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7555
7556         * specifier.h (specifier_data_offset): Remove pointless parens.
7557         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7558
7559 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7560
7561         Make Lisp_Object sizeof methods be alignment-correct.
7562         pdump must restore objects to the same alignment as the C compiler
7563         assumes.  It really matters on SGIs.
7564         * lstream.c (aligned_sizeof_lstream): New.
7565         (sizeof_lstream): Use aligned_sizeof_lstream.
7566         (Lstream_new): Likewise.
7567         * opaque.c (aligned_sizeof_opaque): New.
7568         (sizeof_opaque): Use aligned_sizeof_opaque.
7569         (make_opaque): Likewise.
7570         * specifier.c (aligned_sizeof_specifier): New.
7571         (sizeof_specifier): Use aligned_sizeof_specifier.
7572         (make_specifier_internal): Likewise.
7573
7574 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7575
7576         * lstream.h (struct lstream): Use max_align_t for trailing data.
7577         * specifier.h (struct Lisp_Specifier): Likewise.
7578
7579 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7580
7581         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7582         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7583         (CCL_SUSPEND): Likewise.
7584         (CCL_INVALID_CMD): Likewise.
7585         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7586         (ccl_driver): Likewise.
7587         (CCL_WRITE_CHAR): Macro hygiene.
7588         (CCL_WRITE_STRING): Macro hygiene.
7589
7590 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7591
7592         Port "portable" dumper to SunOS 4 and HP-UX.
7593         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7594         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7595         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7596
7597 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7598
7599         * lisp.h (ALIGNOF): A better definition for C++.
7600
7601 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7602
7603         Macro hygiene.
7604         Fix printf warnings: int format, long int arg.
7605         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7606         (PUSH_FAILURE_POINT): Use correct printf formats.
7607         (POP_FAILURE_POINT): Use correct printf formats.  
7608         Use do {...} while (0)
7609
7610 2001-01-20  Martin Buchholz <martin@xemacs.org>
7611
7612         * XEmacs 21.2.42 "Poseidon" is released.
7613
7614 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7615
7616         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7617
7618 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7619
7620         De-kludgify FIXED_TYPE free list frobbing.
7621         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7622         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7623         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7624         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7625         * alloc.c (LRECORD_FREE_P): New.
7626         * alloc.c (MARK_LRECORD_AS_FREE): New.
7627         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7628         * alloc.c (STRUCT_FREE_P): Deleted.
7629         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7630         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7631         * alloc.c (STRING_CHARS_FREE_P): New.
7632         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7633         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7634         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7635         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7636         * alloc.c (resize_string): Use new definitions.
7637         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7638         * alloc.c (verify_string_chars_integrity): Use new definitions.
7639         * alloc.c (compact_string_chars): Use new definitions.
7640         * alloc.c: Update monster comments.
7641         * lrecord.h (lrecord_type): Add some new lrecord types for
7642         alloc.c's use.
7643
7644 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7645
7646         Improve alignment hackery.
7647         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7648         (max_align_t): Moved from opaque.h - general purpose.
7649         (ALIGN_PTR): Use size_t, not long.
7650         * opaque.h (max_align_t): Move to lisp.h.
7651
7652 2001-01-18  Norbert Koch  <nk@LF.net>
7653
7654         * gui.h: Fix and add prototypes to fix build problems.
7655
7656 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7657
7658         temacs is going away, so `dump-temacs' is now a bad name.
7659         * .dbxrc (dump-temacs): Rename to `dmp'.
7660         * .gdbinit (dump-temacs): Rename to `dmp'.
7661
7662 2001-01-17  Andy Piper  <andy@xemacs.org>
7663
7664         * glyphs.c (print_image_instance): comment to make martin happy.
7665
7666         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7667         change.
7668
7669         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7670         activation.
7671         (mswindows_tab_control_redisplay): warning suppression.
7672
7673         * glyphs-widget.c (widget_update): re-write to cope with updated
7674         items.
7675         (widget_instantiate): use new gui_item functions.
7676         (tab_control_update): deleted.
7677         (progress_gauge_update): deleted.
7678         (image_instantiator_progress_guage): take out update reference.
7679         (image_instantiator_tree_view): ditto.
7680         (image_instantiator_tab_control): ditto.
7681
7682         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7683         Right the new way.
7684         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7685         return whether anything was changed.
7686         (update_gui_item_keywords): as it sounds.
7687
7688         * gui.h: declare widget_gui_parse_item_keywords.
7689
7690         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7691         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7692
7693 2001-01-17  Martin Buchholz <martin@xemacs.org>
7694
7695         * XEmacs 21.2.41 "Polyhymnia" is released.
7696
7697 2001-01-16  Didier Verna  <didier@xemacs.org>
7698
7699         * glyphs.c (image_instantiate): don't use fallbacks when
7700         instantiating a face's background pixmap by inheritance.
7701
7702 2001-01-14  Mike Sperber <mike@xemacs.org>
7703
7704         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7705         Conditionalize accordingly.
7706
7707 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7708
7709         * dumper.c (pdump_file_get): Fix a compiler warning.
7710
7711 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7712
7713         Make Purify happy when pdumping.
7714         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7715         iniitalizing all bits of new lisp object memory.
7716         * symbols.c (Fmake_local_variable): Likewise.
7717         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7718         * symbols.c (Fdefvaralias): Likewise.
7719         * mule-charset.c (vars_of_mule_charset): Likewise.
7720
7721 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7722         Add the `-nd' flag when running pre-dump operations under the debugger.
7723         * .dbxrc (run-temacs): Add `-nd'.
7724         * .dbxrc (update-elc): Likewise.
7725         * .dbxrc (dump-temacs): Likewise.
7726         * .gdbinit (run-temacs): Likewise.
7727         * .gdbinit (check-temacs): Likewise.
7728         * .gdbinit (update-elc): Likewise.
7729         * .gdbinit (dump-temacs): Likewise.
7730
7731 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7732
7733         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7734         export OBJECT_MODE=64
7735         configure --pdump --use-union-type=no
7736         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7737         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7738
7739         * miscplay.c (sndcnv8U_2mono):
7740         Avoid two uses of `++' in the same expression.
7741         Suppresses a GCC warning.
7742
7743 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7744
7745         Make sure future compilers don't miscompile alloc.c.
7746         * alloc.c:
7747         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7748         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7749
7750 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7751
7752         * dumper.c: A little post-pdump-rename comment fixup.
7753
7754 2001-01-09  Jerry James  <james@eecs.ku.edu>
7755
7756         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7757
7758 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7759
7760         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7761         script:
7762         #!/bin/sh
7763         replace_symbol () {
7764           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7765         }
7766
7767         replace_symbol pdump_wire_lists pdump_weak_object_chains
7768         replace_symbol pdump_wire_list dump_add_weak_object_chain
7769
7770         replace_symbol pdump_wires pdump_root_objects
7771         replace_symbol pdump_wire dump_add_root_object
7772
7773         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7774         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7775
7776         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7777         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7778         replace_symbol dumpstructinfo pdump_root_struct_ptr
7779         replace_symbol dumpstruct dump_add_root_struct_ptr
7780
7781         replace_symbol dumpopaque dump_add_opaque
7782         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7783         replace_symbol dumpopaqueinfos pdump_opaques
7784         replace_symbol dumpopaqueinfo pdump_opaque
7785
7786         replace_symbol nb_structdump nb_root_struct_ptrs
7787         replace_symbol nb_opaquedump nb_opaques
7788
7789         replace_symbol align_table pdump_align_table
7790         replace_symbol dump_header pdump_header
7791
7792         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7793         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7794
7795
7796 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7797
7798         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7799         optimizing bytecount_to_charcount().
7800
7801 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7802
7803         * config.h.in:
7804         (HAVE_DLFCN_H): Removed.
7805         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7806
7807 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7808
7809         Portable dumper maintainability improvements.
7810         * alloc.c (staticpro):
7811         * alloc.c (staticpro_nodump):
7812         * alloc.c (garbage_collect_1):
7813         * alloc.c (reinit_alloc_once_early):
7814         * alloc.c (init_alloc_once_early):
7815         * alloc.c: Move dumper functions to alloc.c.
7816         * dumper.c (pdump_backtrace):
7817         * dumper.c (pdump_dump_structs):
7818         * dumper.c (pdump_dump_opaques):
7819         * dumper.c (pdump_dump_rtables):
7820         * dumper.c (pdump_dump_wired):
7821         * dumper.c (pdump):
7822         * dumper.c (pdump_load_check):
7823         * dumper.c (pdump_load_finish):
7824         * dumper.c (pdump_file_unmap):
7825         * dumper.c (pdump_file_get):
7826         * dumper.c (pdump_resource_free):
7827         * dumper.c (pdump_resource_get):
7828         * dumper.c (pdump_file_free):
7829         * dumper.c (pdump_file_try):
7830         * dumper.c (pdump_load):
7831         Remove fixed size limits on staticpro(), staticpro_nodump(),
7832         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7833         Remove custom code for dumping lrecord_implementations_table - use
7834         dumpopaque instead.
7835         Remove (most of the) custom code for dumping staticpros - dump it
7836         like any other dynarr.
7837
7838         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7839         * dumper.c: Moved functions from alloc.c.
7840         * alloc.c (dumpstruct): Moved to dumper.c.
7841         * alloc.c (dumpopaque): Likewise.
7842         * alloc.c (pdump_wire): Likewise.
7843         * alloc.c (pdump_wire_list): Likewise.
7844
7845         * lisp.h (Dynarr_sizeof): New.
7846         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7847         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7848         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7849
7850         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7851         * lisp.h (dumpopaque): ditto.
7852         * lisp.h (pdump_wire): ditto.
7853         * lisp.h (pdump_wire_list): ditto.
7854
7855 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7856
7857         * make-src-depend (PrintPatternDeps):
7858         Use `sort' to make output independent of perl version.
7859
7860 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7861
7862         Port to Netbsd 1.5.
7863         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7864         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7865
7866 2001-01-03  Didier Verna  <didier@xemacs.org>
7867
7868         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7869         that `focus_frame' is alive before thinking of calling
7870         `redisplay_redraw_cursor' on it.
7871
7872 2001-01-08  Martin Buchholz <martin@xemacs.org>
7873
7874         * XEmacs 21.2.40 is released.
7875
7876 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7877
7878         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7879
7880 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7881
7882         * alloc.c (dbg_valmask): Make const.
7883         * alloc.c (dbg_typemask): Make const.
7884         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7885         * alloc.c (dbg_valbits): Make const.
7886         * alloc.c (dbg_gctypebits): Make const.
7887
7888 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7889
7890         * redisplay-x.c (x_bevel_area):
7891         redisplay.h (struct rune):
7892         Typo fixes in comments.
7893
7894 2001-01-05  Andy Piper  <andy@xemacs.org>
7895
7896         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7897         adjustment.
7898
7899         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7900
7901 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7902
7903         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7904
7905         * mule-ccl.c (stack_idx_of_map_multiple):
7906         Non const global data must not be initialized!
7907         Found by MIYASHITA Hisashi.
7908
7909 2001-01-02  Andy Piper  <andy@xemacs.org>
7910
7911         * frame.c (change_frame_size): make sure frame size is always
7912         marked as changed.
7913
7914         * glyphs.c (image_instance_layout): minor code reuse.
7915
7916         * window.c (Fcurrent_window_configuration): revert previous
7917         change.
7918
7919 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7920
7921         * glyphs.h:
7922         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7923
7924 2000-12-31  Andy Piper  <andy@xemacs.org>
7925
7926         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7927         when widget gets unmapped.
7928
7929         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7930         function. Make sure widgets losing focus don't just drop it.
7931         (handle_focus_event_1): record the widget with focus.
7932
7933 2000-12-31  Andy Piper  <andy@xemacs.org>
7934
7935         * window.c (allocate_window): use
7936         make_image_instance_cache_hash_table.
7937         (make_dummy_parent): ditto.
7938         (Fset_window_configuration): ditto.
7939
7940         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7941
7942         * glyphs.c (process_image_string_instantiator): use
7943         INSTANTIATOR_TYPE.
7944         (get_image_instantiator_governing_domain): ditto.
7945         (normalize_image_instantiator): ditto.
7946         (instantiate_image_instantiator): ditto.
7947         (make_image_instance_1): ditto.
7948         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7949         (instantiator_eq_equal): new function for use with instance hash
7950         tables.
7951         (instantiator_eq_hash): ditto.
7952         (make_image_instance_cache_hash_table): create a suitable hash
7953         table for storing image instances.
7954
7955         * elhash.h (hash_table_weakness): new internal weakness type
7956         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7957         declare new functions.
7958
7959         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7960         another weakness type for glyphs.
7961         (make_standard_lisp_hash_table): new function split out from
7962         make_general_lisp_hash_table.
7963         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7964         (hash_table_instantiate): ditto.
7965         (Fmake_hash_table): ditto.
7966
7967 2000-12-31  Martin Buchholz <martin@xemacs.org>
7968
7969         * XEmacs 21.2.39 is released.
7970
7971 2000-12-29  Andy Piper  <andy@xemacs.org>
7972
7973         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7974
7975         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7976         the frame has changed so that we pick up geometry changes such as
7977         menubar visibility.
7978
7979 2000-12-28  Andy Piper  <andy@xemacs.org>
7980
7981         * lastfile.c (my_ebss): make a char array so we can pad the
7982         bss. Fixes cygwin unexec.
7983
7984         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7985
7986 2000-12-26  Andy Piper  <andy@xemacs.org>
7987
7988         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7989         comments and try and be more precise about a non-/SIGIO world.
7990         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7991         SIGIO.
7992
7993         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7994         we don't normalize to zero width or height.
7995
7996 2000-12-24  Andy Piper  <andy@xemacs.org>
7997
7998         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7999
8000 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8001
8002         * s/sco5.h: SCO 5 has pty support.
8003
8004 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8005
8006         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8007         input-method-xlib.c contains whole contents of input-method-xfs.c,
8008         so we can use input-method-xlib.c's code for USE_XFONTSET
8009         using #ifdefs.
8010         * input-method-xfs.c: removed.
8011
8012 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8013
8014         * file-coding.h (enum coding_category_type): reorder enumerators to
8015         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8016         (now one greater than largest real coding_category_type enumerator).
8017         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8018         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8019         Fcoding_category_list, Fset_coding_priority_list,
8020         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8021         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8022
8023 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8024
8025         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8026         * redisplay-output.c (redisplay_output_window): Clear top of window
8027         when face is changed.
8028         * redisplay-x.c (x_redraw_exposed_window): Call
8029         redisplay_clear_top_of_window.
8030         * redisplay.h: Publish redisplay_clear_top_of_window.
8031
8032 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8033
8034         * buffer.c (Fkill_buffer): Map over all devices.
8035         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8036         (list_windows): New function.
8037         (list_all_windows): Ditto.
8038         (Freplace_buffer_in_windows): Use them.
8039
8040 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8041
8042         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8043         (Fopen_database): Use `db_create' instead of `db_open'.
8044         (syms_of_database): Initialize Qqueue.
8045
8046 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8047
8048         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8049         buffer_local_face_property.
8050         * buffer.h (struct buffer): New member buffer_local_face_property.
8051         * window.c (Fset_window_buffer):  Mark window's face as changed
8052         when buffer has buffer local face.
8053         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8054         * objects.c (color_after_change): Set buffer_local_face_property
8055         when locale of face specifier is buffer.
8056         * objects.c (font_after_change): Ditto.
8057         * objects.c (face_boolean_after_change): Ditto.
8058         * glyphs.c (image_after_change): Ditto.
8059
8060 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8061
8062         * nt.c (mswindows_fstat): Report file permissions, volume serial
8063         number, etc. Code adapted from FSF Emacs 20.7.
8064
8065 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8066
8067         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8068         of stat when we don't have symbolic links, to make sure
8069         mswindows_stat is called on mswindows.
8070
8071 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8072
8073         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8074
8075 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8076
8077         * doprnt.c (emacs_doprnt_1): More printing fixes.
8078         Make printing of numbers compatible with libc and FSF Emacs.
8079         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8080         Use the system printf to do most of the hard work of formatting,
8081         instead of doprnt_1().
8082         Calculate memory to allocate for format string.
8083         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8084         (doprnt_1): Cleaner code and documentation.
8085
8086 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8087
8088         * Makefile.in.in: Use the loop variable to install headers.
8089
8090 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8091
8092         * window.c (Fsplit_window): Don't invalidate face cache.
8093
8094 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8095
8096         * minibuf.c (Fall_completions): Undo the previous change
8097         which removed checking elements start with space.
8098
8099 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8100
8101         * mule-canna.c: Didier suppression.
8102
8103 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8104
8105         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8106         (warning suppression).  Add English comment translations.
8107
8108 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8109
8110         * unexelfsgi.c (unexec): Better test for mmap failure.
8111
8112 2000-12-05  Martin Buchholz <martin@xemacs.org>
8113
8114         * XEmacs 21.2.38 is released.
8115
8116 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8117
8118         * redisplay.c (bar-cursor): Make a user variable.
8119
8120         * symsinit.h: Add init_postgresql_from_environment.
8121
8122 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8123
8124         * regex.c: Convert to clean C.
8125
8126 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8127
8128         * realpath.c:
8129         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8130         initialization.
8131         (sys_readlink): renamed to system_readlink to avoid conflict with
8132         the other sys_readlink.
8133
8134 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8135
8136         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8137
8138 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8139
8140         * postgresql.c (init_postgresql_from_environment): new function.
8141         (vars_of_postgresql): Move code initializing Lisp variables out and
8142         into init_postgresql_from_environment.
8143         emacs.c (main_1): Call init_postgresql_from_environment if and only
8144         if running a dumped XEmacs.
8145
8146 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8147
8148         * buffer.c: Make find-file-compare-truenames default to true on
8149         windows.
8150
8151         * realpath.c (win32_abs_start):
8152         (cygwin_readlink):
8153         (win32_readlink): New functions.
8154         (xrealpath): Return really real filenames on windows.
8155
8156         * fileio.c (Ffile_truename): Make file-truename work on windows.
8157
8158 2000-11-29  Didier Verna  <didier@xemacs.org>
8159
8160         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8161         * faces.c (update_face_cachel_data): use it.
8162         * faces.c (add_face_cachel): use it. Complete background pixmap
8163         frobbing in face cache if `update_face_cachel_data' has not done so.
8164
8165 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8166
8167         * search.c (string_match_1): Don't set last_thing_searched
8168         when search failed.
8169
8170 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8171
8172         * buffer.c: Include casetab.h
8173         (common_init_complex_vars_of_buffer): Use new case-table object.
8174         * buffer.h: Include casetab.h
8175         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8176         (DOWNCASE_TABLE_OF): Ditto.
8177         * bufslots.h: Remove char-tables and add case-table.
8178         * casetab.c: Include casetab.h
8179         (CASE_TABLE_P): Removed.
8180         (mark_case_table): New function.
8181         (allocate_case_table): New function.
8182         (Fcase_table_p): Use new case-table.
8183         (case_table_char): New function.
8184         (Fget_case_table): Ditto.
8185         (Fput_case_table): Ditto.
8186         (Fput_case_table_pair): Ditto.
8187         (Fcopy_case_table): Ditto.
8188         (Fcurrent_case_table): Return case-table.
8189         (Fstandard_case_table): Return case-table.
8190         (Fset_case_table): Fix doc-string.
8191         (set_case_table): Use case-table
8192         (syms_of_casetab): DEFSUBR new functions.
8193         (complex_vars_of_casetab): Set up standard case-table.
8194         * casetab.h: New file.
8195         * editfns.c: Include casetab.h
8196         (Fcompare_buffer_substrings): Use case-table.
8197         * inline.c: Include casetab.h
8198         * lisp.h: Remove bogus extern.
8199         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8200         * search.c: Include casetab.h
8201         (TRANSLATE_ASCII): Removed.
8202         (TRANSLATE): Unconditionally translate character.
8203         (looking_at_1): Use case-table.
8204         (string_match_1): Ditto.
8205         (fast_string_match): Ditto.
8206         (search_command): Ditto.
8207         (search_buffer): Separate boyer_moore.  Check whether
8208         boyer_moore is possible.
8209         (simple_search): New function.
8210         (boyer_moore): Separated from search_buffer. Translate char.
8211
8212 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8213
8214         * regex.c (RE_TR_ASCII): Removed.
8215         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8216         (PATFETCH): Call PATFETCH_RAW.
8217         (PATFETCH_RAW): Fetch Emchar.
8218         (PATUNFETCH): Decrement charptr.
8219         (GET_BUFFER_SPACE): Rename b to buf_end.
8220         (BUF_PUSH): Ditto.
8221         (BUF_PUSH_2): Ditto.
8222         (BUF_PUSH_3): Ditto.
8223         (EXTEND_BUFFER): Ditto.
8224         (SET_LIST_BIT): Ditto.
8225         (regex_compile): Ditto.  Translate non ASCII char.
8226         (compile_range): Ditto.
8227         (re_search_2): Ditto.
8228         (re_match_2_internal): Compare Emchar.
8229         (bcmp_translate): Ditto.
8230
8231 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8232
8233         * lisp.h (basic char/int typedefs):  comment improvement.
8234
8235 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8236
8237         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8238         unstomp inhibit_site_lisp.  Improve comments.
8239
8240 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8241
8242         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8243
8244 2000-11-28  Andy Piper  <andy@xemacs.org>
8245
8246         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8247         clipped display for windows in the gutter also.
8248         (redisplay_display_boxes_in_window_p): change semantics of return
8249         codes to be more intuitive.
8250
8251         * gutter.h: declare display_boxes_in_gutter_p.
8252
8253         * gutter.c (display_boxes_in_gutter_p): new function for
8254         redisplay.
8255
8256 2000-11-22  Andy Piper  <andy@xemacs.org>
8257
8258         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8259         autodetect domain.
8260
8261 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8262
8263         * callproc.c (Fold_call_process_internal):
8264         * gpm.c (Freceive_gpm_event):
8265         (tty_get_foreign_selection): Might be just warning supression.
8266         * fileio.c (Fwrite_region_internal):
8267         (Fset_visited_file_modtime):
8268         * keymap.c (event_matches_key_specifier_p):
8269         Initialize GCPROed variable.
8270
8271         * menubar-x.c (command_builder_find_menu_accelerator):
8272         Initialize before use.
8273
8274 2000-11-23  Andy Piper  <andy@xemacs.org>
8275
8276         * unexcw.c (unexec): make the resulting executable executable.
8277
8278 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8279
8280         * doc.c (get_doc_string):
8281         Use size_t, not int, for result of XSTRING_LENGTH.
8282
8283         * cmds.c (Fdelete_char):
8284         * cmds.c (Fpoint_at_eol):
8285         * cmds.c (Fself_insert_command):
8286         Use EMACS_INT, not int, for result of XINT.
8287         Someday, someone will want to insert more than 2**31 identical characters.
8288
8289         * cmds.c (Fdelete_char):
8290         * cmds.c (Fdelete_backward_char):
8291         * syntax.c (Fforward_word):
8292         * syntax.c (Fforward_comment):
8293         Make COUNT argument optional, for consistency with forward-char et al.
8294
8295 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8296
8297         * lisp.h:
8298         * print.c (long_to_string):
8299         Return a useful value: the pointer at end of data written.
8300
8301         * doprnt.c:
8302         Use `static const char * const' for constant strings.
8303         (union printf_arg): Delete `i', `ui' members.
8304         (get_doprnt_args):
8305         (emacs_doprnt_1):
8306         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8307         Do all printf-ing via the `l' specifier.
8308         Use EMACS_INT instead of int.
8309         Optimize.
8310
8311 2000-11-20  Didier Verna  <didier@xemacs.org>
8312
8313         * faces.c (update_face_cachel_data): don't frob the background
8314         pixmap when the window is being created. The face is needed but
8315         does not exist yet.
8316
8317 2000-11-20  Andy Piper  <andy@xemacs.org>
8318
8319         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8320         messing with a debug environment.
8321
8322 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8323
8324         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8325
8326 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8327
8328         * casetab.c (Fcase_table_p): Fix compile error and crash.
8329
8330 2000-11-18  Philip Aston  <philipa@mail.com>
8331
8332         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8333
8334 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8335
8336         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8337         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8338
8339 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8340
8341         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8342         * unexelf.c: Use HAVE_ELF_H.
8343         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8344         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8345         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8346         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8347         for testing.
8348         So this is an unexelfsgi.c from a different line of development.
8349
8350 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8351
8352         * regex.c (RE_TR_ASCII): New function.
8353         (RE_TRANSLATE): Call it.
8354
8355 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8356
8357         * buffer.h (TRT_TABLE_OF): Remove assert.
8358         (IN_TRT_TABLE_DOMAIN): Removed.
8359
8360 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8361
8362         * free-hook.c (log_gcpro):
8363         (show_gcprohist): Add support for GCPRO5.
8364
8365 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8366
8367         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8368
8369 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8370
8371         * symeval.h: Declare flush_all_buffer_local_cache.
8372
8373         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8374         (flush_buffer_local_cache): Added.
8375         (flush_all_buffer_local_cache): Added.
8376
8377         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8378
8379         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8380         (pdump_dump_data): Ditto.
8381         (pdump_reloc_one): Ditto.
8382         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8383         before dumping.
8384
8385
8386 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8387
8388         * buffer.c: Remove if 0'ed entry.
8389         * buffer.h: Rewrite TRT to use char-table.
8390         * bufslots.h: Remove mirror tables.
8391         * casetab.c: Remove mirror tables.
8392         (CASE_TABLE_P): New macro.
8393         (Fcase_table_p): Element of a case table is string or char-table.
8394         (make_mirror_trt_table): Removed.
8395         (set_case_table): Setup char-table from strings for backward
8396         compatibility.
8397         * dired.c (Fdirectory_files):
8398         * dired-msw.c: (mswindows_get_files):
8399         * lisp.h: Change prototype of re_pattern_buffer.
8400         * regex.c: (RE_TRANSLATE): New macro.
8401         (TRANSLATE_P): Ditto.
8402         Change translate to type RE_TRANSLATE_TYPE.
8403         * regex.h: Define RE_TRANSLATE_TYPE
8404         * search.c (TRANSLATE): New macro.
8405         (TRANSLATE_ASCII): New macro.
8406         Translate table is changed to Lisp_Object.
8407         (signal_failure): Inhibit return.
8408
8409 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8410
8411         * device-msw.c:
8412         * eldap.c:
8413         * event-Xt.c:
8414         * event-stream.c:
8415         * print.c:
8416         Do UNGCPRO before return.
8417
8418 2000-11-14  Martin Buchholz <martin@xemacs.org>
8419
8420         * XEmacs 21.2.37 is released.
8421
8422 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8423
8424         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8425         Add comments about discarded return value.
8426
8427 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8428
8429         * callint.c:
8430         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8431
8432 2000-10-27  Andy Piper  <andy@xemacs.org>
8433
8434         * gutter.c (Fset_default_gutter_position): default left and right
8435         gutters to visible.
8436         (calculate_gutter_size): calculate resonable heuristic for left
8437         and right gutter sizes.
8438         (specifier_vars_of_gutter): change left and right gutter sizes to
8439         autodetect.
8440         (calculate_gutter_size_from_display_lines): new function.
8441         (output_gutter): check for resizing on left and right gutters.
8442         (clear_gutter): don't special case top and left gutters.
8443         (specifier_vars_of_gutter): use new signature for
8444         set_specifier_caching.
8445
8446         * glyphs-x.c (x_redisplay_widget): spelling fix.
8447         * glyphs.c (specifier_vars_of_glyphs):
8448         * menubar.c (specifier_vars_of_menubar):
8449         * redisplay.c (specifier_vars_of_redisplay):
8450         * toolbar.c (specifier_vars_of_toolbar):
8451         * window.c (specifier_vars_of_window):
8452         * scrollbar.c (specifier_vars_of_scrollbar):
8453         (complex_vars_of_scrollbar): use new signature for
8454         set_specifier_caching.
8455
8456         * specifier.c (set_specifier_caching): include recompute flag.
8457         (recompute_one_cached_specifier_in_window): always recompute if
8458         flag set.
8459         (recompute_one_cached_specifier_in_frame): ditto.
8460
8461         * specifier.h (struct specifier_caching): add recompute flag.
8462
8463 2000-10-24  Andy Piper  <andy@xemacs.org>
8464
8465         * unexcw.c (copy_executable_and_dump_data_section): add new
8466         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8467         5.0 happy.
8468
8469 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8470
8471         * console-x.h (x_device): New member modifier_release_time.
8472         * event-Xt.c (x_handle_sticky_modifiers):
8473         Bound interval modifier keys are sticky.
8474         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8475         * events.h: extern it.
8476
8477 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8478
8479         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8480
8481 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8482
8483         * event-stream.c (execute_command_event): Preserve current_events
8484         and the like when event is misc-user-event.
8485         Inhibit quit during the call to maybe_echo_keys.
8486
8487 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8488
8489         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8490         symlink when buffer is killed.
8491         (inhibit_clash_detection): New variable.
8492
8493 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8494
8495         * console.c (Fset_input_method): Trigger redisplay on tty.
8496
8497 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8498
8499         * process.c (Fprocess_status): Revert to previous behavior:
8500         (process-status "nosuchprocess") ==> nil
8501
8502 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8503
8504         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8505         Work around another GCC 2.95.2 optimizer bug.
8506
8507 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8508
8509         * process.c (Fget_process): Use LIST_LOOP_2.
8510         (kill_buffer_processes): Use LIST_LOOP_2.
8511
8512         * minibuf.c (Fall_completions):
8513         Delete old non-functional code for FSF fourth argument.
8514
8515         * frame.c (frame_matches_frame_spec):
8516         Renamed from `frame_matches_frametype'.  Update all callers.
8517         (device_matches_device_spec):
8518         Renamed from 'device_matches_console_spec'.  Update all callers.
8519
8520         * doc.c (Fsubstitute_command_keys):
8521         Remove buffer overflow crash.  Small code cleanups.
8522
8523         * casetab.c (check_case_table): Simpler code.
8524
8525         * window.c (Freplace_buffer_in_windows):
8526         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8527         (and similar implementation) as Fdelete_windows_on.
8528         Update all callers.
8529
8530         * alloc.c (Fmake_list):
8531         * alloc.c (make_vector):
8532         * alloc.c (Fmake_vector):
8533         * alloc.c (make_bit_vector):
8534         * alloc.c (Fmake_bit_vector):
8535         * alloc.c (Fbit_vector):
8536         * alloc.c (Fmake_string):
8537         * alloc.c (Fpurecopy):
8538         * alloc.c (Fmemory_limit):
8539         * buffer.c:
8540         * buffer.c (Fget_buffer):
8541         * buffer.c (Fkill_buffer):
8542         * buffer.c (complex_vars_of_buffer):
8543         * bytecode.c (Fcompiled_function_stack_depth):
8544         * callint.c (Fprefix_numeric_value):
8545         * event-stream.c:
8546         * event-stream.c (Fread_key_sequence):
8547         * casetab.c:
8548         * casetab.c (Fcase_table_p):
8549         * casetab.c (check_case_table):
8550         * casetab.c (Fset_case_table):
8551         * casetab.c (Fset_standard_case_table):
8552         * chartab.c:
8553         * chartab.c (Fchar_table_type):
8554         * chartab.c (Freset_char_table):
8555         * chartab.c (Fget_char_table):
8556         * chartab.c (Fget_range_char_table):
8557         * chartab.c (Fput_char_table):
8558         * chartab.c (Fmap_char_table):
8559         * chartab.c (Fcategory_table_p):
8560         * chartab.c (Fcheck_category_at):
8561         * chartab.c (Fchar_in_category_p):
8562         * chartab.c (Fcategory_table):
8563         * chartab.c (Fcopy_category_table):
8564         * chartab.c (Fset_category_table):
8565         * chartab.c (Fcategory_designator_p):
8566         * chartab.c (Fcategory_table_value_p):
8567         * cmds.c (Fdelete_char):
8568         * cmds.c (Fdelete_backward_char):
8569         * cmds.c (Fself_insert_command):
8570         * cmds.c (Fself_insert_internal):
8571         * console.c (Fvalid_console_type_p):
8572         * console.c (Fcdfw_console):
8573         * console.c (Fconsole_type):
8574         * console.c (Fconsole_name):
8575         * console.c (Fconsole_device_list):
8576         * console.c (Fconsole_on_window_system_p):
8577         * data.c:
8578         * data.c (Feq):
8579         * data.c (Fold_eq):
8580         * data.c (Fsubr_interactive):
8581         * data.c (Fchar_to_int):
8582         * data.c (Fint_to_char):
8583         * data.c (Fsetcar):
8584         * data.c (Fsetcdr):
8585         * data.c (Fnumber_to_string):
8586         * data.c (Fstring_to_number):
8587         * data.c (Frem):
8588         * database.c (mark_database):
8589         * database.c (finalize_database):
8590         * database.c (Fdatabase_live_p):
8591         * database.c (Fdatabasep):
8592         * device-x.c (Fx_get_resource):
8593         * device.c (Fdfw_device):
8594         * dired.c:
8595         * dired.c (Ffile_name_completion):
8596         * dired.c (Ffile_name_all_completions):
8597         * dired.c (Fuser_name_completion):
8598         * dired.c (Fuser_name_completion_1):
8599         * dired.c (Fuser_name_all_completions):
8600         * doc.c (Fdocumentation):
8601         * doc.c (Fdocumentation_property):
8602         * doc.c (Fsubstitute_command_keys):
8603         * editfns.c:
8604         * editfns.c (Fchar_to_string):
8605         * editfns.c (Fstring_to_char):
8606         * editfns.c (Ftemp_directory):
8607         * editfns.c (Finsert_char):
8608         * editfns.c (Fbuffer_substring_no_properties):
8609         * editfns.c (Fnarrow_to_region):
8610         * editfns.c (Fchar_equal):
8611         * editfns.c (Fchar_Equal):
8612         * editfns.c (Ftranspose_regions):
8613         * emacs.c (Fdump_emacs):
8614         * eval.c (Fthrow):
8615         * eval.c (Fcommand_execute):
8616         * eval.c (Fautoload):
8617         * eval.c (Fbacktrace):
8618         * eval.c (Fbacktrace_frame):
8619         * events.c:
8620         * events.c (Fcopy_event):
8621         * events.c (Fcharacter_to_event):
8622         * events.c (Fevent_button):
8623         * events.c (Fevent_process):
8624         * extents.c:
8625         * extents.c (Fnext_extent_change):
8626         * extents.c (Fextent_property):
8627         * faces.c (Ffacep):
8628         * faces.c (Fmake_face):
8629         * file-coding.c:
8630         * file-coding.c (Fencode_shift_jis_char):
8631         * file-coding.c (Fencode_big5_char):
8632         * fileio.c (Ffile_name_directory):
8633         * fileio.c (Ffile_name_nondirectory):
8634         * fileio.c (Ffile_name_as_directory):
8635         * fileio.c (Fdirectory_file_name):
8636         * fileio.c (Ffile_truename):
8637         * fileio.c (Fsubstitute_in_file_name):
8638         * fileio.c (Ffile_modes):
8639         * fileio.c (Fset_file_modes):
8640         * fileio.c (Fset_default_file_modes):
8641         * fileio.c (Fverify_visited_file_modtime):
8642         * floatfns.c (Facos):
8643         * floatfns.c (Fasin):
8644         * floatfns.c (Fatan):
8645         * floatfns.c (Fcos):
8646         * floatfns.c (Fsin):
8647         * floatfns.c (Ftan):
8648         * floatfns.c (Fbessel_j0):
8649         * floatfns.c (Fbessel_j1):
8650         * floatfns.c (Fbessel_jn):
8651         * floatfns.c (Fbessel_y0):
8652         * floatfns.c (Fbessel_y1):
8653         * floatfns.c (Fbessel_yn):
8654         * floatfns.c (Ferf):
8655         * floatfns.c (Ferfc):
8656         * floatfns.c (Flog_gamma):
8657         * floatfns.c (Fexp):
8658         * floatfns.c (Fexpt):
8659         * floatfns.c (Flog):
8660         * floatfns.c (Flog10):
8661         * floatfns.c (Fsqrt):
8662         * floatfns.c (Fcube_root):
8663         * floatfns.c (Facosh):
8664         * floatfns.c (Fasinh):
8665         * floatfns.c (Fatanh):
8666         * floatfns.c (Fcosh):
8667         * floatfns.c (Fsinh):
8668         * floatfns.c (Ftanh):
8669         * floatfns.c (Fabs):
8670         * floatfns.c (Ffloat):
8671         * floatfns.c (Flogb):
8672         * floatfns.c (Fceiling):
8673         * floatfns.c (Ffloor):
8674         * floatfns.c (Fround):
8675         * floatfns.c (Ftruncate):
8676         * floatfns.c (Ffceiling):
8677         * floatfns.c (Fffloor):
8678         * floatfns.c (Ffround):
8679         * floatfns.c (Fftruncate):
8680         * fns.c (Fstring_equal):
8681         * fns.c (Fstring_lessp):
8682         * fns.c (concat2):
8683         * fns.c (concat3):
8684         * fns.c (vconcat2):
8685         * fns.c (vconcat3):
8686         * fns.c (Fsubstring):
8687         * fns.c (Fassoc):
8688         * fns.c (Fold_assoc):
8689         * fns.c (assoc_no_quit):
8690         * fns.c (Fassq):
8691         * fns.c (Fold_assq):
8692         * fns.c (assq_no_quit):
8693         * fns.c (Frassoc):
8694         * fns.c (Fold_rassoc):
8695         * fns.c (Frassq):
8696         * fns.c (Fold_rassq):
8697         * fns.c (rassq_no_quit):
8698         * fns.c (Fremassoc):
8699         * fns.c (remassoc_no_quit):
8700         * fns.c (Fremassq):
8701         * fns.c (remassq_no_quit):
8702         * fns.c (Fremrassoc):
8703         * fns.c (Fremrassq):
8704         * fns.c (remrassq_no_quit):
8705         * fns.c (Fsort):
8706         * fns.c (Fplist_get):
8707         * fns.c (Fplist_put):
8708         * fns.c (Fplist_remprop):
8709         * fns.c (Fplist_member):
8710         * fns.c (Flax_plist_get):
8711         * fns.c (Flax_plist_put):
8712         * fns.c (Flax_plist_remprop):
8713         * fns.c (Flax_plist_member):
8714         * fns.c (Fequal):
8715         * fns.c (Fold_equal):
8716         * fns.c (Frequire):
8717         * fns.c (Fbase64_encode_region):
8718         * fns.c (Fbase64_encode_string):
8719         * fns.c (Fbase64_decode_region):
8720         * frame.c:
8721         * frame.c (frame_matches_frame_spec):
8722         * frame.c (device_matches_device_spec):
8723         * frame.c (next_frame):
8724         * frame.c (previous_frame):
8725         * frame.c (Fnext_frame):
8726         * frame.c (Fprevious_frame):
8727         * frame.c (Fframe_property):
8728         * frame.c (Fset_frame_height):
8729         * frame.c (Fset_frame_size):
8730         * frame.h:
8731         * glyphs.c:
8732         * glyphs.c (if):
8733         * glyphs.c (decode_error_behavior_flag):
8734         * glyphs.c (Fmake_image_instance):
8735         * indent.c (Findent_to):
8736         * intl.c (Fignore_defer_gettext):
8737         * keymap.c (Fkeymapp):
8738         * keymap.c (Flookup_key):
8739         * lread.c:
8740         * lread.c (Fload_internal):
8741         * lread.c (Feval_buffer):
8742         * lread.c (Feval_region):
8743         * macros.c (Fexecute_kbd_macro):
8744         * marker.c (set_marker_internal):
8745         * marker.c (Fset_marker):
8746         * marker.c (set_marker_restricted):
8747         * marker.c (Fcopy_marker):
8748         * marker.c (noseeum_copy_marker):
8749         * menubar.c:
8750         * menubar.c (Fpopup_menu):
8751         * minibuf.c:
8752         * mule-charset.c (Fcharset_name):
8753         * mule-charset.c (Fchar_charset):
8754         * mule-charset.c (Fchar_octet):
8755         * mule-charset.c (Fsplit_char):
8756         * mule-wnnfns.c (Fwnn_open):
8757         * mule-wnnfns.c (Fwnn_dict_comment):
8758         * mule-wnnfns.c (Fwnn_quit_henkan):
8759         * mule-wnnfns.c (Fwnn_word_toroku):
8760         * mule-wnnfns.c (Fwnn_word_sakujo):
8761         * mule-wnnfns.c (Fwnn_word_use):
8762         * mule-wnnfns.c (Fwnn_hindo_set):
8763         * objects.c:
8764         * objects.c (Fmake_color_instance):
8765         * objects.c (Fmake_font_instance):
8766         * print.c (Fwrite_char):
8767         * process.c:
8768         * process.c (mark_process):
8769         * process.c (print_process):
8770         * process.c (get_process_from_usid):
8771         * process.c (Fprocessp):
8772         * process.c (Fprocess_live_p):
8773         * process.c (Fget_process):
8774         * process.c (Fget_buffer_process):
8775         * process.c (get_process):
8776         * process.c (Fprocess_id):
8777         * process.c (Fprocess_name):
8778         * process.c (Fprocess_command):
8779         * process.c (init_process_io_handles):
8780         * process.c (start_process_unwind):
8781         * process.c (Fstart_process_internal):
8782         * process.c (Fopen_multicast_group_internal):
8783         * process.c (Fset_process_window_size):
8784         * process.c (read_process_output):
8785         * process.c (send_process):
8786         * process.c (Fprocess_tty_name):
8787         * process.c (Fset_process_buffer):
8788         * process.c (Fprocess_buffer):
8789         * process.c (Fprocess_mark):
8790         * process.c (set_process_filter):
8791         * process.c (Fset_process_filter):
8792         * process.c (Fprocess_filter):
8793         * process.c (Fprocess_send_region):
8794         * process.c (Fprocess_send_string):
8795         * process.c (exec_sentinel):
8796         * process.c (Fset_process_sentinel):
8797         * process.c (Fprocess_sentinel):
8798         * process.c (status_notify):
8799         * process.c (Fprocess_status):
8800         * process.c (Fprocess_exit_status):
8801         * process.c (process_send_signal):
8802         * process.c (Fprocess_send_eof):
8803         * process.c (deactivate_process):
8804         * process.c (remove_process):
8805         * process.c (Fdelete_process):
8806         * process.c (kill_buffer_processes):
8807         * process.c (Fprocess_kill_without_query):
8808         * process.c (Fprocess_kill_without_query_p):
8809         * rangetab.c:
8810         * rangetab.c (Fget_range_table):
8811         * rangetab.c (Fput_range_table):
8812         * rangetab.c (Fremove_range_table):
8813         * rangetab.c (Fclear_range_table):
8814         * search.c:
8815         * search.c (Fskip_chars_forward):
8816         * search.c (Fskip_chars_backward):
8817         * search.c (Fskip_syntax_forward):
8818         * search.c (Fskip_syntax_backward):
8819         * search.c (search_command):
8820         * search.c (Freplace_match):
8821         * search.c (Fregexp_quote):
8822         * select.c (Fown_selection_internal):
8823         * select.c (Fselection_owner_p):
8824         * select.c (Fselection_exists_p):
8825         * select.c (Fget_selection_internal):
8826         * specifier.c:
8827         * symbols.c:
8828         * symbols.c (Fintern):
8829         * symbols.c (Fintern_soft):
8830         * symbols.c (Funintern):
8831         * symbols.c (Fapropos_internal):
8832         * symbols.c (Fset_default):
8833         * syntax.c:
8834         * syntax.c (Fsyntax_table_p):
8835         * syntax.c (Fcopy_syntax_table):
8836         * syntax.c (Fset_syntax_table):
8837         * syntax.c (Fchar_syntax):
8838         * syntax.c (syntax_match):
8839         * syntax.c (Fmatching_paren):
8840         * syntax.c (Fforward_word):
8841         * syntax.c (scan_lists):
8842         * syntax.c (Fscan_lists):
8843         * syntax.c (Fscan_sexps):
8844         * syntax.c (Fparse_partial_sexp):
8845         * toolbar.c (Fcheck_toolbar_button_syntax):
8846         * tooltalk.doc:
8847         * window.c:
8848         * window.c (Fwindowp):
8849         * window.c (Fwindow_live_p):
8850         * window.c (Fwindow_point):
8851         * window.c (Fdelete_window):
8852         * window.c (Fnext_window):
8853         * window.c (Fprevious_window):
8854         * window.c (Fother_window):
8855         * window.c (window_loop):
8856         * window.c (Fget_lru_window):
8857         * window.c (Fsplit_window):
8858         * window.c (Fenlarge_window):
8859         * window.c (Fenlarge_window_pixels):
8860         * window.c (Fshrink_window):
8861         * window.c (Fshrink_window_pixels):
8862         * window.c (change_window_height):
8863         * window.c (Fwindow_configuration_p):
8864         * window.c (Fcurrent_window_configuration):
8865         * window.h:
8866         * casefiddle.c (casify_object):
8867         * casefiddle.c (Fupcase):
8868         * casefiddle.c (Fdowncase):
8869         * casefiddle.c (Fcapitalize):
8870         * casefiddle.c (Fupcase_initials):
8871         * casefiddle.c (casify_region_internal):
8872         * casefiddle.c (casify_region):
8873         * casefiddle.c (Fupcase_region):
8874         * casefiddle.c (Fdowncase_region):
8875         * casefiddle.c (Fcapitalize_region):
8876         * casefiddle.c (Fupcase_initials_region):
8877         * casefiddle.c (Fupcase_word):
8878         * casefiddle.c (Fdowncase_word):
8879         * casefiddle.c (Fcapitalize_word):
8880         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8881         Replace 0 with '\0' when working with bytes.
8882         Replace initial "(" with "\(" in docstrings.
8883
8884 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8885
8886         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8887
8888         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8889
8890 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8891
8892         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8893
8894 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8895
8896         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8897         correctly.
8898
8899 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8900
8901         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8902         (inhibit_auto_save_session): New variable.
8903         (vars_of_fileio): Declare and initialize them.
8904         * fileio.c (Fdo_auto_save): Don't create session file if
8905         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8906
8907 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8908
8909         * sgiplay.c (play_internal): C++ compilability.
8910         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8911         * callproc.c (Fold_call_process_internal):
8912         Remove unused vars `env', `first'.
8913         * scrollbar.c (update_scrollbar_instance):
8914         #### unused var `current_window'.
8915         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8916         etc. within #ifdef NOT_YET.
8917         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8918         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8919         * specifier.c (specifier_instance):
8920         #### unused var `tag'.
8921         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8922
8923 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8924
8925         * fns.c (Fbutlast):
8926         * fns.c (list_sort):
8927         * fns.c (Ffillarray):
8928         * fns.c (bytecode_nconc2):
8929         * fns.c (Fnconc):
8930         * fns.c (mapcar1):
8931         * fns.c (Fmapconcat):
8932         Be pedantically 64-bit correct.  For the time when someone will
8933         want to have a list with length > 2**32.
8934
8935         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8936         Work around MIPSpro compiler bug.
8937
8938         * process-unix.c (unix_kill_child_process): Add snarky comment.
8939         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8940
8941         * config.h.in: Oops, _getpt ==> _getpty
8942
8943 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8944
8945         * config.h.in:
8946         * regex.c:
8947         Use void*, not char*, as return type of alloca().
8948
8949         * alloc.c (free_marker): Side effect inside assert expression!
8950
8951 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8952
8953         * mule-charset.c (Fset_charset_ccl_program): To check
8954         if the given ccl program is valid, use setup_ccl_program()
8955         instead of CHECK_VECTOR().
8956         (Fmake_charset): Likewise.
8957
8958 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8959
8960         * faces.c (get_extent_fragment_face_cache_index):
8961         Fix cachel.merged_faces memory leak.
8962
8963 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8964
8965         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8966         Reset MSB of octets obtained by DECODE_SJIS
8967         because of the incompatibility with Emacs.
8968         (ccl_driver)<CCL_ENCODE_SJIS>:
8969         Set MSB of octets before passing them to
8970         ENCODE_SJIS because of the incompatibility
8971         with Emacs.
8972
8973 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8974
8975         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8976         (DECLARE_LRECORD): Undo the last change.
8977         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8978
8979 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8980
8981         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8982         the implementation to lrecord_implementations_table.
8983
8984 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8985
8986         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8987         initial value of `lrecord_type_##c_name' and
8988         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8989         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8990         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8991         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8992         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8993
8994 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8995
8996         * miscplay.c (sndcnv8S_2mono):
8997         (sndcnv2monounsigned):
8998         (sndcnvULaw_2linear):
8999         (sndcnv16swap):
9000         Remove implementation-defined behavior.
9001
9002 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9003
9004         * input-method-xlib.c: Warning suppression.
9005
9006 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9007
9008         * mule-ccl.c: Sync up with Emacs 21.0.90.
9009         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9010         Do nothing.
9011         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9012         Likewise.
9013         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9014         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9015         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9016         leading char belongs to official 2-dimensional charset.
9017         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9018         write the given character as is.  Otherwise,
9019         if it is a multibyte char, convert it by
9020         non_ascii_set_charptr_emchar, then write it.
9021         (CCL_WRITE_STRING): Likewise.
9022         (ccl_get_compiled_code): New function.
9023         (setup_ccl_program): When ccl_prog is invalid,
9024         return -1.
9025         (Fregister_code_conversion_map): New function.
9026         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9027
9028         * mule-ccl.h: Sync up with Emacs 21.0.90.
9029         (Fregister_ccl_program): export it.
9030
9031         * redisplay-msw.c (separate_textual_runs):
9032         If ccl program is not valid, don't do ccl conversion.
9033
9034         * redisplay-x.c (separate_textual_runs): Ditto.
9035
9036         * file-coding.c (Fmake_coding_system):
9037         When type is ccl and value is vector, register it
9038         with a proper symbol.  And checks whether the
9039         given ccl program is valid.
9040         (mule_decode): When calling ccl_driver, if src indicates
9041         NULL pointer, set an empty string instead.
9042         (mule_encode): Likewise.
9043
9044 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9045
9046         The following large batch of changes gets us back to a state of
9047         C++ compilability.  Extbyte is now a char, which means that
9048         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9049
9050         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9051
9052         * sound.c (Fplay_sound): Type correctness.
9053
9054         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9055         (x_get_window_property): Type correctness.
9056         (receive_incremental_selection): unsigned char ==> Extbyte
9057         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9058         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9059         (Fx_store_cutbuffer_internal): Type correctness.
9060
9061         * process-unix.c (try_to_initialize_subtty): Type correctness.
9062
9063         * objects-x.c (x_print_color_instance): Type correctness.
9064         (x_print_font_instance): Type correctness.
9065         (x_list_fonts): SExtbyte ==> Extbyte.
9066         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9067         (x_find_charset_font): SExtbyte ==> Extbyte.
9068         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9069         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9070         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9071         Use bufbyte_strcmp.
9072
9073         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9074         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9075         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9076         (BYTE_C0_P): Use bit ops for char-signedness safety.
9077         (BYTE_C1_P): Use bit ops for char-signedness safety.
9078         (CHARSET_BY_LEADING_BYTE):
9079         (CHARSET_BY_ATTRIBUTES):
9080         Always use inline function.
9081         Use type_checking_assert.
9082         Hide chlook.
9083
9084         * mule-charset.c (non_ascii_charptr_copy_char):
9085         Modify to work with both ASCII and non-ASCII characters.
9086         Improve docs and variable names.
9087         Replace over-clever fall-through switch with a simple loop.
9088         (Lstream_get_emchar_1):
9089         Replace over-clever fall-through switch with a simple loop.
9090
9091         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9092         Warning suppression.
9093
9094         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9095         the return value of Lstream_getc, which could be EOF as well.
9096
9097         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9098
9099         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9100         APIs can be used on Extbytes without casts.  Risky!
9101         (SExtbyte): Remove.
9102         (UExtbyte): Remove.
9103
9104         * input-method-xlib.c (XIM_init_device):
9105         Use Xlib.h instead of IntrinsicP.h.
9106         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9107         which will break in X11R7.
9108         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9109         to call XRegisterIMInstantiateCallback with correct types.
9110
9111         * gui-x.c (button_item_to_widget_value): Type correctness.
9112
9113         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9114
9115         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9116         (xbm_instantiate_1): Type correctness.
9117         (BUILD_GLYPH_INST):  Type correctness.
9118
9119         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9120
9121         * file-coding.c:
9122         (decode_coding_sjis):
9123         (decode_coding_big5):
9124         (decode_coding_ucs4):
9125         (decode_coding_utf8):
9126         (decode_coding_iso2022):
9127         (decode_coding_no_conversion):
9128         Make all decoding functions take an Extbyte * arg.
9129         (encode_coding_sjis):
9130         (encode_coding_big5):
9131         (encode_coding_ucs4):
9132         (encode_coding_utf8):
9133         (encode_coding_iso2022):
9134         (encode_coding_no_conversion):
9135         Make all encoding functions take a Bufbyte * arg.
9136         Use size_t instead of unsigned int for memory sizes.
9137         Only cast to unsigned char whenever dereferencing Extbyte *.
9138
9139         * doc.c (unparesseuxify_doc_string): Type correctness.
9140
9141         * console-x.c (split_up_display_spec):
9142         Rewrite without using details of internal string representation.
9143         (x_semi_canonicalize_device_connection): Type correctness.
9144
9145         * config.h.in:
9146         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9147         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9148         (HAVE_XFREE386): Removed.
9149
9150         * buffer.h (DEC_CHARPTR): `const' correctness.
9151         (bufbyte_strcmp): New.
9152         (bufbyte_memcmp): New.
9153
9154         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9155
9156         * buffer.h (XCHAR_OR_CHAR_INT):
9157         Always use inline function.
9158         Remove redundant type checking assert() - XINT will abort quite nicely.
9159
9160 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9161
9162         * search.c (Freplace_match): Set newtext to an empty string.
9163
9164 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9165
9166         * s/decosf1-3.h: Remove #include of stropts.h
9167         * s/ptx.h: Remove #include of stropts.h
9168         * s/usg5-4.h: Remove #include of stropts.h
9169         * sysproc.h:
9170         * config.h.in:
9171         Use stropts.h, not sys/stropts.h.
9172         Use strtio.h, not sys/strtio.h.
9173
9174 2000-10-04  Martin Buchholz <martin@xemacs.org>
9175
9176         * XEmacs 21.2.36 is released.
9177
9178 2000-09-21  Andy Piper  <andy@xemacs.org>
9179
9180         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9181         changes still involve copying the widget tree.
9182         (update_widget_face): make sure a change is register in the widget
9183         tree. Call update_tab_widget_face appropriately.
9184         (update_tab_widget_face): ditto.
9185         (x_tab_control_redisplay): make sure non-structural changes still
9186         involve copying the widget tree.
9187
9188 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9189
9190         * lread.c (locate_file): Check the path element is non-nil.
9191
9192 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9193
9194         * lisp.h: Warning suppression for SCO compilers.
9195
9196         * redisplay-tty.c (reset_tty_modes): Fix crash.
9197         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9198
9199 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9200
9201         Big signal/process handling overhaul.  Bugs fixed:
9202         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9203         M-x comint-kill-subjob should work for both values nil and t of
9204         process-connection-type. It was broken on most platforms.
9205         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9206         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9207         * process-unix.c: Signal/Process handling overhaul.
9208         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9209         (allocate_pty): Use all available modern methods of allocating
9210         ptys, falling back to old style BSD allocation as a last resort.
9211         Use allegedly more secure Unix98 pty allocation by default.
9212         (allocate_pty_the_old_fashioned_way): New. the last resort.
9213         (unix_create_process): Push ptem, ldterm, ttcompat where
9214         available.  Autoconfiscate.
9215         (try_to_initialize_subtty): New.
9216         (unix_kill_child_process): Proper signal handling for ptys on most
9217         platforms, using special knowledge of AIX, BSD, etc...
9218         (unix_create_process): Always disconnect_controlling_terminal() for
9219         subprocesses, whether using ptys or not.
9220         * process.h: Remove old getpt-dependent PTY code.
9221         * process.c (Fprocess_send_signal): New, obvious generic function.
9222         (decode_signal): New.
9223         (Finterrupt_process):
9224         (Fkill_process):
9225         (Fquit_process):
9226         (Fstop_process):
9227         (Fcontinue_process):
9228         (Fsignal_process): Use decode_signal.
9229         (process_send_signal):
9230         Many docstring corrections.
9231         Allow any signal to be sent to a process object.
9232         * config.h.in: Add symbols for big signal/process overhaul.
9233         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9234         * sysproc.h: Include process-related headers, where available:
9235         sys/stropts.h sys/strtio.h pty.h libutil.h
9236         * s/irix4-0.h:
9237         * s/irix5-0.h:
9238         * s/cygwin32.h:
9239         * s/gnu.h:
9240         * s/linux.h:
9241         * s/hpux.h:
9242         * s/aix3-1.h:
9243         Remove old S&M pty stuff.
9244         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9245         * systty.h: Simplify cpp hackery, improve comments.
9246         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9247
9248         * editfns.c (Fformat_time_string):
9249         Be a little more paranoid with the return value of ctime.
9250
9251         * fileio.c (check_executable):
9252         (check_writable):
9253         Use symbolic constants X_OK, W_OK.
9254
9255         * console-x.c (split_up_display_spec): Fix a warning.
9256
9257 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9258
9259         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9260         * ntproc.c (sys_spawnve): make_string ==> build_string
9261         Small clarity improvements.
9262
9263 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9264
9265         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9266
9267         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9268
9269         * config.h.in (HAVE_STRCASECMP): Remove.
9270
9271 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9272
9273         * redisplay-output.c (redisplay_output_pixmap):
9274         Cleaner and possibly more 64-bit correct code.
9275
9276 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9277
9278         * dumper.c (pdump_load_finish): move restoration of
9279         `noninteractive1' to emacs.c (main_1).
9280         * emacs.c (main_1): protect LISP-visible command-line flags
9281         from pdump_load().
9282
9283 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9284
9285         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9286         DUMP_TARGET instead of literal program names.
9287
9288 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9289
9290         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9291
9292 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9293
9294         * *: Spelling mega-patch
9295
9296 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9297
9298         * fns.c (bad_bad_turtle):
9299         Delete "Eek!" comment, since we fixed the bug to which it refers.
9300
9301 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9302
9303         * alloca.c: Replace REGISTER with register.
9304
9305 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9306
9307         * file-coding.c (ucs_to_char): Use countof.
9308
9309 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9310
9311         * file-coding.c: (ucs_to_char):
9312         (complex_vars_of_file_coding):
9313         Use countof instead of sizeof.
9314         Use CHECK_NATNUM instead of CHECK_INT.
9315
9316         * sysdep.c (strcasecmp): Remove.
9317         * device-x.c (ascii_strcasecmp): New.
9318         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9319         Avoid using non-standard non-portable strcasecmp.
9320
9321 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9322
9323         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9324         * font-lock.c: remove reference to emacsfns.h.
9325         * search.c: small doc improvement.
9326         * event-Xt.c: correct file names in comments.
9327         * console-x.h Correct file names in comments.
9328         * frame.c: Correct file names in comments.
9329         * event-stream.c: remove Energize from comments.
9330
9331 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9332
9333         * symeval.h (DEFERROR_STANDARD):
9334         (DEFERROR):
9335         (DEFSYMBOL):
9336         (DEFSYMBOL_NO_DUMP):
9337         (DEFSYMBOL_MULTIWORD_PREDICATE):
9338         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9339         (DEFKEYWORD):
9340         The construct &##name is not sensible C.
9341         Fixes compilation errors with Unixware native compiler.
9342
9343 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9344
9345         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9346         (next_frame_internal): Removed.  We now just have next_frame.
9347         (next_frame):
9348         Write a simpler and cleaner one-pass algorithm.
9349         Remove called_from_delete_device arg and #ifdefed-out code.
9350         (previous_frame):
9351         Renamed from prev_frame.  Update callers.
9352         Cleaned up to have an analogous implementation to next_frame.
9353         (other_visible_frames_internal): Remove the
9354         called_from_delete_device bogus arg, and hence, remove this
9355         function.  Just use other_visible_frames().
9356
9357         * window.c (Fnext_window):
9358         Prettify docstring.
9359         Since next_frame() is guaranteed to return a frame, remove check
9360         for nil inserted in previous patch.
9361         (Fprevious_window):
9362         Prettify docstring.
9363         Make code look more like Fnext_window.
9364         (window_loop):
9365         Respect the `console' arg when iterating through windows.
9366         Fixes bug: (get-buffer-window buffer t device) not respecting
9367         the `device' arg.
9368         This function needs more work, as others have pointed out.
9369
9370         * frame.h: Rename prev_frame to previous_frame.
9371         device_matches_console_spec no longer takes a `frame' arg.
9372
9373         * s/gnu.h:
9374         * s/linux.h:
9375         * s/hpux.h:
9376         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9377         From "Golubev I. N." <gin@mo.msk.ru>.
9378
9379         * make-src-depend: Fix typo.
9380
9381 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9382
9383         * window.c (Fnext_window):
9384         next_frame() might return nil, not a frame.
9385         Fixes this crash:
9386         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9387
9388         * frame.c (next_frame_internal):
9389         We've passed a frame if we've passed its device.
9390         Fixes this crash:
9391         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9392 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9393
9394 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9395
9396         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9397         Allow option to suppress accelerators in menu/dialog items.
9398         (populate_or_checksum_helper): Pass dialog title through above.
9399
9400 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9401
9402         * event-msw.c (mswindows_key_to_emacs_keysym):
9403         Add "pause" key, fix "menu" key.
9404
9405 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9406
9407         * eval.c (reinit_vars_of_eval):
9408         Increase max_lisp_eval_depth to 1000,
9409         required for thai-xtis.el to byte-compile under some circumstances.
9410
9411 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9412
9413         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9414         From Kenichi Handa.
9415
9416 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9417
9418         * make-src-depend: Make the generated Makefiles smaller.
9419
9420         * s/hpux.h (SETUP_SLAVE_PTY):
9421         Provide a %d in the format string for the errno argument.
9422
9423         * editfns.c (Ftemp_directory):
9424         Warning fix.
9425         Avoid buffer overrun on very long file name.
9426
9427         * input-method-xlib.c (XIM_init_device):
9428         6th parameter of XRegisterIMInstantiateCallback has different
9429         pointer types on different OSes, so simply cast to (void *).
9430
9431         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9432
9433         * sysdll.c (dll_open):
9434         shl_load will hang hard if passed a NULL filename.
9435         Simply return NULL for compatibility with dlopen.
9436         * sysdll.c: Conform to XEmacs coding standards.
9437
9438         * sysdep.c (get_pty_max_bytes):
9439         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9440
9441 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9442
9443         * tooltalk.c: Add #include <syssignal.h>
9444
9445 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9446
9447         * s/hpux.h: Don't use undefined function sigunblock().
9448
9449 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9450
9451         * config.h.in: Add HAVE_BALLOON_HELP.
9452         * emacs.c: Use HAVE_BALLOON_HELP.
9453         * Makefile.in.in (x_objs):
9454         Make Balloon Help conditional on finding shape.h.
9455
9456 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9457
9458         * syntax.c (regex_emacs_buffer_p): New variable.
9459         * syntax.h (regex_emacs_buffer_p): extern.
9460         * search.c (looking_at_1):
9461         (string_match_1):
9462         (fast_string_match):
9463         (search_buffer): Set regex_emacs_buffer_p.
9464         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9465         when before_dot, at_dot, after_dot.
9466
9467 2000-08-23  Andy Piper  <andy@xemacs.org>
9468
9469         * gui-x.c (popup_selection_callback): Only set action_occurred
9470         when we really have an image instance.
9471         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9472
9473 2000-08-23  Andy Piper  <andy@xemacs.org>
9474
9475         * gui-msw.c (mswindows_handle_gui_wm_command): set
9476         action_occurred.
9477         * gui-x.c (popup_selection_callback): ditto.
9478
9479         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9480         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9481         (struct Lisp_Image_Instance): add action_occurred flag.
9482
9483         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9484         (image_instance_changed): ditto.
9485         (reset_frame_subwindow_instance_cache): only unmap windows - do
9486         not remove them from the cache also.
9487
9488         * glyphs-widget.c (tab_control_update): better debug.
9489         (progress_gauge_update): ditto.
9490         (layout_update): ditto.
9491         (layout_instantiate): ditto.
9492         (tab_control_order_only_changed): cope with null pending items.
9493
9494         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9495         debug. Force selection of an item when an action occurred. Cope
9496         with null pending_items.
9497         (mswindows_progress_gauge_redisplay): better debug.
9498         * glyphs-x.c (x_tab_control_redisplay): ditto.
9499
9500         * redisplay.c (redisplay_frame): reset the frame cache if the
9501         frame is garbaged.
9502
9503         * window.c (Fset_window_configuration): potentially re-enable
9504         frame cache reset.
9505         (window_unmap_subwindows): need to finalize instances here since
9506         it is only used in mark_window_as_deleted.
9507
9508 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9509
9510         * nas.c (SndOpenDataForReading):
9511         nas.c (WaveOpenDataForReading):
9512         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9513         Somehow escaped from the 2000-08-14 patch.
9514
9515 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9516
9517         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9518         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9519
9520 2000-08-21  Andy Piper  <andy@xemacs.org>
9521
9522         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9523         window if it is not already displayed.
9524
9525         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9526         it is not already displayed.
9527
9528         * window.c (Fset_window_configuration): don't reset the frame
9529         cache.
9530
9531         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9532         instances from the frame cache if we are actually finalizing them.
9533         (reset_frame_subwindow_instance_cache): reset frame cache only
9534         after unmapping everything.
9535         (map_subwindow): set displayed flag after mapping.
9536
9537 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9538
9539         * data.c (indirect_function):
9540         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9541
9542         * eval.c (function_argcount):
9543         Use original function when signaling errors.
9544
9545 2000-08-18  Andy Piper  <andy@xemacs.org>
9546
9547         * frame.c (delete_frame_internal): use new
9548         free_frame_subwindow_instances name.
9549
9550         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9551         (add_tab_item): make return type correct.
9552         (mswindows_tab_control_instantiate): assert index of tab.
9553         (mswindows_tab_control_redisplay): Re-code to use
9554         gui_item_equal_sans_selected and gui_item_list_find_selected.
9555
9556         * glyphs-widget.c (tab_control_update): Correct comment.
9557
9558         * window.c (window_unmap_subwindows): use new
9559         unmap_subwindow_instance_cache_mapper.
9560         (window_unmap_subwindows_cache_mapper): deleted.
9561         (Fset_window_configuration): comparisons should now be with
9562         EQ. Preserve the subwindow instance cache across configuration
9563         changes.
9564         (allocate_window): ditto.
9565         (make_dummy_parent): ditto.
9566
9567         * glyphs.c (free_frame_subwindow_instances): rename from
9568         free_frame_subwindow_instance_cache. finalize all instances rather
9569         than just those in the display cache.
9570         (finalize_all_subwindow_instances): walk windows unmapping and
9571         finalizing subwindows.
9572         (unmap_subwindow_instance_cache_mapper): moved from
9573         window.c. Allow finalization as well as unmapping.
9574
9575         * gui.c (gui_item_list_find_selected): new function.
9576
9577         * gui.h (gui_item_list_find_selected): declare.
9578
9579         * glyphs-x.c (x_tab_control_redisplay): pick tab
9580         explicitly. Re-code to use gui_item_equal_sans_selected and
9581         gui_item_list_find_selected.
9582
9583         * glyphs-x.h: add lwlib-utils.h
9584
9585         * buffer.c (Frecord_buffer): undo previous change.
9586
9587 2000-08-09  Vin Shelton  <acs@xemacs.org>
9588
9589         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9590         possible.  Create temporary files more securely.  The patch was
9591         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9592         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9593         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9594         for details.
9595
9596 2000-08-07  Ben Wing  <ben@xemacs.org>
9597
9598         * getloadavg.c: remove duplicate (and windows-breaking)
9599         includes of fcntl.h and sys/file.h.
9600
9601         * nt.c: remove duplicate getloadavg() definition.
9602
9603         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9604         encodings.
9605
9606 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9607
9608         * eval.c (function_argcount): If function needs to be autoloaded
9609         actually use the loaded definition.
9610         GCPRO function.
9611
9612 2000-08-05  Ben Wing  <ben@xemacs.org>
9613
9614         * getloadavg.c: add prototype for getloadavg().  remove
9615         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9616         of the code).  remove duplicate header includes.
9617
9618         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9619
9620         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9621         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9622         useful load average.
9623
9624         * alloc.c (reinit_alloc_once_early): removed references to
9625         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9626         the lisp vars are the only things referencing the malloc_sbrk_*
9627         vars, and they were already if 0'd out.  these vars only exist
9628         in the older malloc.c, which is basically unused, and they're
9629         only for informational purposes.
9630
9631         * m\*.h: removed useless VIRT_ADDR_VARIES.
9632
9633         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9634
9635 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9636
9637         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9638         color if the image is a mono pixmap.
9639
9640 2000-07-30  Ben Wing  <ben@xemacs.org>
9641
9642         * Makefile.in.in (release):
9643         Remove stray @.
9644
9645         * buffer.c (directory_is_current_directory):
9646         * dired-msw.c (mswindows_get_files):
9647         * dired.c:
9648         * dired.c (Fdirectory_files):
9649         * dired.c (file_name_completion_stat):
9650         * dired.c (Ffile_attributes):
9651         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9652         preprocessor tricks, to avoid problems on some machines
9653         (e.g. SCO).
9654
9655         * callproc.c (egetenv): GC docs.
9656
9657         * console-msw.h:
9658         * console-msw.h (struct mswindows_dialog_id):
9659         * lrecord.h (lrecord_type):
9660         New object for use with MSW dialogs.
9661
9662         * console.h (struct console_methods):
9663         New enable/disable frame methods, for proper modal dialogs.
9664
9665         * device-msw.c (msprinter_default_printer): Fix to follow
9666         proper Mule conventions.
9667
9668         * device-msw.c:
9669         * device-msw.c (signal_open_printer_error):
9670         * device-msw.c (msprinter_init_device):
9671         * device-msw.c (ensure_not_printing):
9672         * device-msw.c (plist_get_margin):
9673         * device-msw.c (Fmsprinter_select_settings):
9674         * device-msw.c (finalize_devmode):
9675         * device-msw.c (Fmsprinter_settings_despecialize):
9676         * device-msw.c (signal_enum_priner_error):
9677         * extents.c (decode_extent):
9678         * extents.c (decode_map_extents_flags):
9679         * extents.c (decode_extent_at_flag):
9680         * extents.c (Fextent_at):
9681         * extents.c (Fextents_at):
9682         * extents.c (symbol_to_glyph_layout):
9683         [[[[2]]]] Use structured errors.
9684
9685         * dialog-msw.c:
9686         * dialog-msw.c (mswindows_is_dialog_msg):
9687         * dialog-msw.c (mark_mswindows_dialog_id):
9688         * dialog-msw.c (dialog_proc):
9689         * dialog-msw.c (handle_question_dialog_box):
9690         * dialog-msw.c (syms_of_dialog_mswindows):
9691         Define new object to clean up marking; use it as a dialog identifier.
9692         Call new delete-dialog-box-hook.
9693
9694         * dialog-x.c (dbox_selection_callback):
9695         * dialog-x.c (dbox_descriptor_to_widget_value):
9696         * dialog-x.c (x_make_dialog_box_internal):
9697         Call new delete-dialog-box-hook.
9698         Return an id.
9699
9700         * dialog.c:
9701         * dialog.c (syms_of_dialog):
9702         * dialog.c (vars_of_dialog):
9703         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9704
9705         * eval.c:
9706         * eval.c (signal_call_debugger):
9707         when noninteractive, output stack traces on the console instead
9708         of in a (never-seen) buffer.
9709
9710         * eval.c (signal_type_error):
9711         * eval.c (invalid_argument_2):
9712         * lisp.h:
9713         new funs for use w/structured errors.
9714
9715         * event-Xt.c:
9716         * event-Xt.c (x_to_emacs_keysym):
9717         * event-Xt.c (describe_event):
9718         * event-Xt.c (emacs_Xt_event_handler):
9719         * event-Xt.c (vars_of_event_Xt):
9720         * event-msw.c:
9721         * event-msw.c (mswindows_wnd_proc):
9722         * event-msw.c (vars_of_event_mswindows):
9723         rename {x,mswindows}-debug-events to debug-{}-events for
9724         consistency with other debug-foo variables.
9725
9726         * event-stream.c:
9727         document next-event more clearly.
9728
9729         * fileio.c (Ffile_name_directory):
9730         * fileio.c (Ffile_name_nondirectory):
9731         * fileio.c (Funhandled_file_name_directory):
9732         * fileio.c (file_name_as_directory):
9733         * fileio.c (Ffile_name_as_directory):
9734         * fileio.c (directory_file_name):
9735         * fileio.c (Fdirectory_file_name):
9736         * fileio.c (Fmake_temp_name):
9737         * fileio.c (Ffile_truename):
9738         * fileio.c (Fsubstitute_in_file_name):
9739         * fileio.c (expand_and_dir_to_file):
9740         * fileio.c (barf_or_query_if_file_exists):
9741         * fileio.c (check_executable):
9742         * fileio.c (Ffile_exists_p):
9743         * fileio.c (Ffile_writable_p):
9744         * fileio.c (Ffile_directory_p):
9745         * fileio.c (Ffile_regular_p):
9746         * fileio.c (Ffile_modes):
9747         * fileio.c (Ffile_newer_than_file_p):
9748         * fileio.c (Fverify_visited_file_modtime):
9749         * fileio.c (Fset_visited_file_modtime):
9750         * fileio.c (auto_save_1):
9751         (1). (2).
9752         fix up gcpro's.
9753
9754         * frame-msw.c:
9755         * frame-msw.c (mswindows_init_frame_1):
9756         * frame-msw.c (mswindows_enable_frame):
9757         * frame-msw.c (error_frame_unsizable):
9758         * frame-msw.c (msprinter_init_frame_1):
9759         * frame-msw.c (msprinter_init_frame_3):
9760         * frame-msw.c (console_type_create_frame_mswindows):
9761         (2).
9762         implement new enable/disable frame methods.
9763
9764         * frame-x.c:
9765         * frame-x.c (x_enable_frame):
9766         * frame-x.c (console_type_create_frame_x):
9767         implement new enable/disable frame methods.
9768
9769         * frame.c:
9770         * frame.c (Fdisable_frame):
9771         * frame.c (syms_of_frame):
9772         * frame.h (struct frame):
9773         implement new enable/disable frame methods/functions.
9774
9775         * general-slots.h:
9776         add initial-focus.
9777
9778         * glyphs-msw.c (mswindows_widget_instantiate):
9779         comment that initial-focus should be implemented.
9780
9781         * glyphs-widget.c:
9782         * glyphs-widget.c (check_valid_instantiator):
9783         * glyphs-widget.c (check_valid_orientation):
9784         * glyphs-widget.c (check_valid_tab_orientation):
9785         * glyphs-widget.c (check_valid_justification):
9786         * glyphs-widget.c (check_valid_border):
9787         * glyphs-widget.c (check_valid_callback):
9788         * glyphs-widget.c (check_valid_int_or_function):
9789         * glyphs-widget.c (check_valid_string_or_vector):
9790         * glyphs-widget.c (check_valid_item_list_1):
9791         * glyphs-widget.c (widget_validate):
9792         * glyphs-widget.c (combo_box_validate):
9793         * glyphs-widget.c (widget_instantiate):
9794         * glyphs-widget.c (syms_of_glyphs_widget):
9795         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9796         * glyphs-widget.c (image_instantiator_combo_box):
9797         * glyphs-widget.c (image_instantiator_scrollbar):
9798         * glyphs-widget.c (image_instantiator_tab_control):
9799         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9800         (2).
9801         support (unimplemented) keyword initial-focus.
9802         reindent long macros.
9803
9804         * glyphs-x.c (x_redisplay_widget):
9805         * glyphs-x.c (x_button_instantiate):
9806         * glyphs-x.c (x_button_redisplay):
9807         * glyphs-x.c (x_progress_gauge_instantiate):
9808         * glyphs-x.c (x_edit_field_instantiate):
9809         * glyphs-x.c (x_combo_box_instantiate):
9810         * glyphs-x.c (x_tab_control_instantiate):
9811         * glyphs-x.c (x_label_instantiate):
9812         * gui-x.c:
9813         * gui-x.c (button_item_to_widget_value):
9814         * gui-x.c (gui_items_to_widget_values_1):
9815         * gui-x.c (gui_item_children_to_widget_values):
9816         * gui-x.c (gui_items_to_widget_values):
9817         * gui-x.h:
9818         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9819         add new flag to gui-parsing routines to indicate whether
9820         accelerator specs should be supported.
9821
9822         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9823
9824         * glyphs.h (struct Lisp_Image_Instance):
9825         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9826         add initial-focus flag.
9827
9828         * gui.c:
9829         * gui.c (syms_of_gui):
9830         * gui.c (vars_of_gui):
9831         clean up menu-no-selection-hook.
9832
9833         * gui.h:
9834         support delete-dialog-box-hook.
9835
9836         * lread.c (Fload_internal):
9837         * lread.c (locate_file_in_directory_mapper):
9838         (1).
9839
9840         * lrecord.h:
9841         * lrecord.h (struct toolbar_button):
9842         * lrecord.h (syms_of_toolbar):
9843         document how to create a new object.
9844
9845         * menubar-msw.c (mswindows_char_is_accelerator):
9846         may be called on frames w/o menus.
9847
9848         * menubar.c (vars_of_menubar):
9849         clean up :filter docs.
9850
9851         * nt.c (readdir):
9852         * ntproc.c:
9853         (1).
9854
9855         * process-nt.c:
9856         * process-nt.c (validate_signal_number):
9857         * process-nt.c (signal_cannot_launch):
9858         * process-nt.c (nt_create_process):
9859         * process-nt.c (nt_send_process):
9860         * process-nt.c (nt_kill_child_process):
9861         * process-nt.c (nt_open_network_stream):
9862         * process-nt.c (syms_of_process_nt):
9863         (2).
9864         delete quote-handling.  call new lisp code that does it better.
9865
9866         * process-unix.c (connect_to_file_descriptor):
9867         * process-unix.c (allocate_pty):
9868         * process-unix.c (unix_send_process):
9869         * process-unix.c (unix_kill_child_process):
9870         * process-unix.c (unix_open_network_stream):
9871         * process-unix.c (unix_open_multicast_group):
9872         (1). (2).
9873
9874         * process.c:
9875         * process.c (Fstart_process_internal):
9876         (2).  need to canonicalize process path even if absolute.
9877
9878         * select-msw.c (symbol_to_ms_cf):
9879         * select-msw.c (ms_cf_to_symbol):
9880         * select-msw.c (cf_is_autofreed):
9881         * select-msw.c (mswindows_destroy_selection):
9882         * select.c:
9883         * select.c (syms_of_select):
9884         * select.h:
9885         support dibv5, fix bugs. (from Mike Alexander)
9886
9887         * select.c (Fget_selection_internal):
9888         * select.c (select_convert_out):
9889
9890         * sysdep.c:
9891         * sysdep.c (xemacs_stat):
9892         renamed.
9893
9894         * sysdep.c (mkdir):
9895         * sysdep.c (rmdir):
9896         but keep original stat() here because we provide encapsulation
9897         around these funs.
9898
9899         * sysfile.h:
9900         * sysfile.h (fstat):
9901         remove stat garbage.
9902
9903         * syswindows.h:
9904         fix X/MSW conflict.
9905         don't include tchar.h.  it's inappropriate because it makes
9906         compile-time distinctions when we want runtime distinctions.
9907         (we provide our own tchar replacements)
9908
9909         * toolbar.c:
9910         use default object printer for toolbar-button.
9911
9912         * unexcw.c:
9913         make sure we don't encapsulate.
9914
9915         * window.c (vars_of_window):
9916         emphasize that temp-buffer-show-hook is obsolete.
9917
9918 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9919
9920         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9921         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9922
9923         * events.c (Fevent_timestamp_lessp):
9924         Not 64-bit clean.  Use EMACS_INT, not int.
9925
9926 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9927
9928         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9929         unsigned int and changed the last enum to
9930         lrecord_type_last_built_in_type.
9931         (lrecord_implementations_table): changed prototype to know how
9932         long the array is supposed to be.
9933         (lrecord_type_count): new unsigned int to keep track of the
9934         current number of lisp lrecord types.
9935         (DEFINE_EXTERNAL_LRECORD):
9936         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9937         dynamic-modules to declare new lisp types. They are the same
9938         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9939         int for each new type, and increment lrecord_type_count by 1.
9940
9941         * alloc.c (lrecord_implementations_table): Changed to reference
9942         lrecord_type_last_built_in_type for the size of the array.
9943         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9944
9945 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9946
9947         * glyphs.h (check_valid_item_list): Renamed from
9948         check_valid_item_list_1.
9949
9950 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9951
9952         * select.c (Qselect_coerce): New.
9953         * select.c (Vselection_coercion_alist): New.
9954         * select.c (syms_of_select): Declare.
9955         * select.c (get-selection-internal): Use it.
9956         Use the new select-coerce functionality.
9957
9958         * select.c (select_coerce): New.
9959         * select.h (select_coerce): Declare.
9960         New function to coerce one type of data into another.
9961
9962 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9963
9964         * callproc.c (Fcall_process_internal):
9965         (Fcall_process_internal):
9966         * process-unix.c (unix_create_process):
9967         Save and restore the value of errno, so that error messages are accurate.
9968
9969 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9970
9971         * elhash.c (print_hash_table):
9972         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9973         Prettify docstrings and indentation.
9974
9975 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9976
9977         * window.c (Fwindow_pixel_edges): Subtract frame border and
9978         gutter size.
9979
9980 2000-07-31  Andy Piper  <andy@xemacs.org>
9981
9982         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9983         will acknowledge the change.
9984
9985         * glyphs.h: declare tab_control_order_only_changed.
9986
9987         * glyphs-x.c (x_tab_control_redisplay): use
9988         tab_control_order_only_changed.
9989
9990         * glyphs-widget.c (tab_control_order_only_changed): new function.
9991
9992         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9993         tab_control_order_only_changed.
9994
9995         * gui.c (gui_item_equal_sans_selected): new function.
9996         (gui_item_equal): use it.
9997
9998         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9999         :properties in favor of :items..
10000
10001         * glyphs-widget.c (check_valid_item_list): rename from
10002         check_valid_item_list_1.
10003         (check_valid_item_list_1): renamed.
10004         (combo_box_validate): deprecate :properties in favor of :items.
10005         (widget_instantiate): ditto.
10006         (tab_control_update): ditto.
10007         (image_instantiator_combo_box): ditto.
10008         (image_instantiator_tree_view): ditto.
10009         (image_instantiator_tab_control): ditto.
10010         (layout_post_instantiate): remove dead code.
10011
10012         * print.c (debug_print_no_newline): only write to debugger if in
10013         WIN32_NATIVE.
10014
10015         * elhash.c (Fmake_hash_table): update doc string.
10016
10017         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10018         messages whilst in GC. This at least stops XEmacs crashing but has
10019         the potential for wierd behaviour.
10020
10021 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10022
10023         * config.h.in:
10024         Make existence of s&m files optional.
10025
10026         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10027         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10028         * s/gnu.h: Remove HAVE_GETLOADAVG.
10029         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10030         * s/sol2.h: Remove HAVE_GETLOADAVG.
10031         * lisp.h: Remove getloadavg() declaration.
10032         * fns.c:
10033         Include <sys/loadavg.h> if available.
10034         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10035         * config.h.in:  Group together getloadavg()-related macros.
10036         Use only configure-time tests to detect getloadavg().
10037
10038 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10039
10040         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10041
10042 2000-07-25  Andy Piper  <andy@xemacs.org>
10043
10044         * syswindows.h: add tchar.h for native builds.
10045
10046         * frame.c (syms_of_frame): remove set-glyph-image.
10047
10048         * general-slots.h: add Qset_glyph_image.
10049
10050         * glyphs-widget.c (layout_update): add domain arg to
10051         set-glyph-image.
10052         (syms_of_glyphs_widget): remove set-glyph-image.
10053
10054 2000-07-23  Ben Wing  <ben@xemacs.org>
10055
10056         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10057         Vpopup_frame_list.
10058
10059 2000-07-22  Andy Piper  <andy@xemacs.org>
10060
10061         * symsinit.h: add syms_of_win32().
10062
10063         * gui-msw.c (syms_of_gui_mswindows): remove
10064         Fmswindows_shell_execute.
10065         (Fmswindows_shell_execute): moved to win32.c.
10066
10067         * emacs.c (main_1): add syms_of_win32 ().
10068
10069         * win32.c (init_potentially_nonexistent_functions): rewrite in
10070         compiler-friendly terms.
10071         (Fmswindows_shell_execute): move here from gui-msw.c.
10072         (syms_of_win32): new.
10073
10074         * device-msw.c (Fmswindows_printer_list): clean up args to
10075         EnumPrinters.
10076         Don't include tchar under cygwin or mingw.
10077         (msprinter_default_printer): make cygwin-friendly.
10078
10079 2000-07-21  Andy Piper  <andy@xemacs.org>
10080
10081         * glyphs-widget.c (image_instantiator_tree_view): use tab
10082         control's update function.
10083         (layout_property): new function. Retrieve items.
10084
10085         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10086         function. Re-populate the tree view from the pending items.
10087
10088         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10089         is designated the parent if the domain is an image instance. This
10090         is needed so that dirtiness can be cascade up the hierarchy and
10091         thus for layout children to be redisplayed correctly.
10092         (allocate_image_instance): rename glyph -> parent.
10093
10094         * redisplay.h: change redisplay_output_layout signature.
10095
10096         * redisplay-msw.c (mswindows_output_display_block): use domain
10097         arg.
10098
10099         * redisplay-x.c (x_output_display_block): use domain arg.
10100
10101 2000-07-10  Andy Piper  <andy@xemacs.org>
10102
10103         * window.c (Fset_window_configuration): add comment.
10104
10105         * redisplay-output.c (compare_runes):
10106         (redisplay_output_subwindow): redisplay rather than update subwindow.
10107         (redisplay_output_layout): ditto.
10108
10109         * redisplay-msw.c (mswindows_frame_output_end):
10110         (mswindows_frame_output_end): make defer window pos optional.
10111
10112         * lisp.h: add Flast.
10113
10114         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10115         normalize method. Change update method to be for changed
10116         instantiators. Add redisplay method. Change signature of layout
10117         method.
10118         (struct Lisp_Image_Instance): add instantiator.
10119         (IMAGE_INSTANCE_INSTANTIATOR): new.
10120         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10121         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10122         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10123
10124         * glyphs.c:
10125         (find_instantiator_differences): new function.
10126         (Fset_instantiator_property): new convenience function.
10127         (check_image_instance_structure): strictly check for vector
10128         instantiators.
10129         (normalize_image_instantiator): make non-static.
10130         (instantiate_image_instantiator): pass on dest_mask and use new
10131         signatures for image_instance_layout and friends.
10132         (mark_image_instance): mark the instantiator. Mark the subwindow
10133         face not the widget face.
10134         (image_instance_equal): add instantiator.
10135         (image_instance_hash): ditto.
10136         (allocate_image_instance): ditto.
10137         (Fset_image_instance_property): removed.
10138         (Fimage_instance_file_name): ditto.
10139         (Fcolorize_image_instance): ditto.
10140         (image_instance_layout): add offsets to be set.
10141         (update_image_instance): new function. update an image instance
10142         from its changed instantiator.
10143         (inherit_normalize): add dest_mask.
10144         (xbm_normalize): ditto.
10145         (xface_normalize): ditto.
10146         (xpm_normalize): ditto.
10147         (text_update): set_property -> update.
10148         (image_instantiate): use the glyph identity as a hash key, not the
10149         instantiator.
10150         (glyph_width): use new image_instance_layout signature.
10151         (glyph_ascent): ditto.
10152         (glyph_descent): ditto.
10153         (glyph_height): ditto.
10154         (glyph_query_geometry): ressurrect.
10155         (glyph_layout): ditto.
10156         (redisplay_subwindow): update -> redisplay.
10157         (syms_of_glyphs): add Fset_instantiator_property.
10158         (image_instantiator_format_create): set_property -> update.
10159
10160         * glyphs-x.c:
10161         (autodetect_normalize): add dest_maks to signature.
10162         (x_redisplay_subwindow): update -> redisplay.
10163         (x_redisplay_widget): ditto.
10164         (x_button_redisplay): ditto.
10165         (x_progress_gauge_redisplay): ditto.
10166         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10167         stacking order.
10168         (console_type_create_glyphs_x): update -> redisplay.
10169         (image_instantiator_format_create_glyphs_x): ditto.
10170
10171         * glyphs-widget.c:
10172         (check_valid_instantiator): disallow glyphs in the instantiator,
10173         they must now be vectors.
10174         (check_valid_instantiator_list): ditto.
10175         (glyph_instantiator_to_glyph): use internal symbol rather than
10176         intern.
10177         (widget_update): renamed from widget_set_property. Call cascaded
10178         update methods.
10179         (redisplay_widget): renamed from update_widget.
10180         (widget_layout): image_instance_layout now takes position as well
10181         as size.
10182         (widget_normalize): ditto.
10183         (widget_instantiate): ditto.
10184         (tab_control_query_geometry) ditto.:
10185         (tab_control_update): renamed from tab_control_set_property.
10186         (progress_gauge_update): set_property -> update.
10187         (layout_normalize): rewrite so that child instantiators are
10188         normalized also.
10189         (layout_update): new function. Create glyphs from the normalized
10190         children and cope with any other layout keywords. We do not
10191         instantiate children here that will be take care of by
10192         redisplay_output_layout.
10193         (layout_instantiate): call layout_update and not much else.
10194         (layout_post_instantiate): not sure whether this is needed
10195         anymore.
10196         (layout_query_geometry): query glyph geometry rather than
10197         image_instance geometry.
10198         (layout_layout): set offsets from pass in parameters. Use glyph
10199         geometry and layout functions rather than image instance ones.
10200         (native_layout_layout): ditto.
10201         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10202         (image_instantiator_widget): set_property -> update.
10203         (image_instantiator_buttons): ditto.
10204         (image_instantiator_progress_guage): ditto.
10205         (image_instantiator_tab_control): ditto.
10206         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10207         (image_instantiator_layout): add update method.
10208
10209         * glyphs-msw.c (bmp_normalize):
10210         (mswindows_resource_normalize): add dest_mask so that it can be
10211         proprogated by layout_normalize.
10212         (begin_defer_window_pos): make optional because it may not be the
10213         right thing to do and it introduces differences with X.
10214         (mswindows_unmap_subwindow): ditto.
10215         (mswindows_map_subwindow): ditto.
10216         (mswindows_redisplay_subwindow): renamed from
10217         mswindows_update_subwindow.
10218         (mswindows_redisplay_widget): ditto.
10219         (mswindows_button_redisplay): renamed from
10220         mswindows_button_update. Update is now what the instantiation
10221         function does for a changed instantiator.
10222         (mswindows_progress_gauge_instantiate): set the progress value
10223         here if appropriate.
10224         (mswindows_tab_control_redisplay): cope with re-ordering of the
10225         members of the tab widget by simply selecting the new top
10226         widget. This makes things appear ok if you click on a tab.
10227         (mswindows_combo_box_instantiate): image_instance_layout now takes
10228         position as well as size.
10229         (mswindows_progress_gauge_redisplay): renamed from
10230         mswindows_progress_gauge_update.
10231         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10232         (image_instantiator_format_create_glyphs_mswindows): ditto.
10233
10234         * glyphs-eimage.c (jpeg_normalize):
10235         (gif_normalize):
10236         (png_normalize):
10237         (tiff_normalize): add dest_mask so that it can be proprogated by
10238         layout_normalize.
10239
10240         * elhash.c:
10241         (print_hash_table):
10242         (hash_table_weakness_validate):
10243         (decode_hash_table_weakness):
10244         (Fhash_table_weakness):
10245         (Fhash_table_type):
10246         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10247
10248         * console.h (struct console_methods): move update_* to
10249         redisplay_*.
10250
10251 2000-07-20  Ben Wing  <ben@xemacs.org>
10252
10253         * *.[ch] (XSETOBJ): remove unused middle argument.
10254         lisp-disunion.h: correct wrap_object() to one argument.
10255
10256 2000-07-15  Ben Wing  <ben@xemacs.org>
10257
10258         * s/cygwin32.h:
10259         * s/cygwin32.h (CYGWIN_CONV_PATH):
10260         Add missing logb prototype for v1.1.
10261         Use post-b20 names and alias to pre-b20 names when pre-b20.
10262
10263         * s/windowsnt.h: [5].
10264
10265 2000-07-15  Ben Wing  <ben@xemacs.org>
10266
10267         * Makefile.in.in (x_objs):
10268         * Makefile.in.in (sheap_objs):
10269         * Makefile.in.in (objs):
10270         added win32.o, cosmetic cleanups.
10271
10272         * alloc.c (Fmake_byte_code):
10273         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10274         etc. macros which declare their own args now.
10275
10276         * alloc.c (syms_of_alloc):
10277         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10278
10279         * buffer.c:
10280         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10281
10282         * buffer.c (Fget_file_buffer):
10283         Fixed GCPRO problem.
10284
10285         * buffer.c (get_truename_buffer):
10286         Fixed comment about GC checking.
10287
10288         * buffer.c (syms_of_buffer):
10289         Undeclared those dedicated frame funs.
10290         [2].
10291
10292         * buffer.h:
10293         Define convenience macros for internal/external conversions.
10294         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10295         and Qenvironment_variable_encoding for cleaner code.
10296
10297         * bufslots.h:
10298         Remove dedicated-frame; in lisp.
10299
10300         * bytecode.c (funcall_compiled_function):
10301         [1].
10302
10303         * bytecode.c (syms_of_bytecode):
10304         [2].
10305
10306         * console-msw.c:
10307         * console-msw.c (mswindows_show_console): Rewrote.
10308
10309         * console-msw.c (Fmswindows_debugging_output): New.
10310         Sends to OutputDebugString (special MSWin debugger interface).
10311
10312         * console-msw.c (Fmswindows_message_box):
10313         Fixed stupid bugs so it works when called from kill-emacs.
10314
10315         * console-msw.c (syms_of_console_mswindows):
10316         Declare Fmswindows_debugging_output.
10317
10318         * console-msw.h:
10319         New MSWin prototypes.
10320
10321         * console-msw.h (struct mswindows_frame):
10322         New entry last-click-mods for improved button-modifier support.
10323
10324         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10325         New struct entry `popup' with corresponding accessor.
10326
10327         * console-x.c:
10328         * console-x.c (split_up_display_spec):
10329         * console-x.c (get_display_arg_connection):
10330         * console-x.c (x_semi_canonicalize_console_connection):
10331         * console-x.c (x_canonicalize_device_connection):
10332         [[[6]]]: Change char to more specific type.
10333         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10334
10335         * console-x.c (x_semi_canonicalize_console_connection):
10336         * console-x.c (x_canonicalize_device_connection):
10337         [[[9]]]: Fix up error signalling to use new structured error system.
10338
10339         * console-x.h:
10340         [[[4]]]: Define codesys aliases:
10341         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10342         Qx_color_name_encoding, Qx_display_name_encoding.
10343
10344         * console.h (struct console_methods):
10345         New method make_dialog_box_internal supersedes older
10346         popup_dialog_box method.
10347
10348         * data.c:
10349         Define many new errors, part of new structured errors.
10350
10351         * data.c (init_errors_once_early):
10352         * data.c (syms_of_data):
10353         [2].
10354
10355         * device-msw.c (mswindows_init_device):
10356         [[[5]]]: Cleanup to support NT 3.51.
10357
10358         * device-msw.c (decode_devmode): Cleanup.
10359
10360         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10361         * device-msw.c (mswindows_handle_print_dialog_box):
10362         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10363         * device-msw.c (syms_of_device_mswindows):
10364         Delete the dialog box primitives recently introduced by Kirill and
10365         instead interface to general dialog box interface.
10366
10367         * device-x.c:
10368         * device-x.c (compute_x_app_name):
10369         * device-x.c (x_init_device):
10370         * device-x.c (Fx_valid_keysym_name_p):
10371         * device-x.c (Fx_set_font_path):
10372         [6].
10373         [7].
10374
10375         * device.h (wrap_device): New.
10376         First of its kind; meant to replace XSETDEVICE.
10377
10378         * dialog-msw.c: Many file-dialog symbols.
10379
10380         * dialog-msw.c (mswindows_register_popup_frame): New.
10381         * dialog-msw.c (mswindows_is_dialog_msg): New.
10382         For supporting kbd traversal in dialog boxes.
10383
10384         * dialog-msw.c (dialog_proc):
10385         Support hitting ESC in dialogs.
10386
10387         * dialog-msw.c (struct):
10388         Common dialog box errors.
10389
10390         * dialog-msw.c (handle_file_dialog_box): New.
10391         Add file dialog code.
10392
10393         * dialog-msw.c (handle_question_dialog_box):
10394         Redo existing code to support new question dialog syntax.
10395
10396         * dialog-msw.c (console_type_create_dialog_mswindows):
10397         We support new dialog console method.
10398
10399         * dialog-msw.c (syms_of_dialog_mswindows):
10400         * dialog-msw.c (vars_of_dialog_mswindows):
10401         New file dialog symbols, vars.
10402
10403         * dialog-x.c:
10404         * dialog-x.c (maybe_run_dbox_text_callback):
10405         * dialog-x.c (dbox_descriptor_to_widget_value):
10406         * dialog-x.c (x_make_dialog_box_internal):
10407         * dialog-x.c (console_type_create_dialog_x):
10408         Mule-ize entire file.
10409         Redo to support question dialog syntax.
10410         [6].
10411
10412         * dialog.c:
10413         * dialog.c (Fmake_dialog_box_internal):
10414         * dialog.c (syms_of_dialog):
10415         Kill old popup-dialog-box, replace with new primitive.
10416         Just call device method or signal error.
10417
10418         * eldap.c (Fldap_open):
10419         * eldap.c (Fldap_search_basic):
10420         * eldap.c (Fldap_add):
10421         * eldap.c (Fldap_modify):
10422         [1].
10423         [7].
10424
10425         * emacs.c:
10426         * emacs.c (make_arg_list_1):
10427         * emacs.c (make_arg_list):
10428         Mule-ize call to dll_init().
10429         [6].
10430         [8].
10431
10432         * emacs.c (make_argc_argv):
10433         * emacs.c (free_argc_argv):
10434         * emacs.c (init_cmdargs):
10435         * emacs.c (main_1):
10436         * emacs.c (Fkill_emacs):
10437         * emacs.c (Fdump_emacs):
10438         Update comments about what can be used in syms_* etc.
10439         Call init_win32() when necessary.
10440         Fix up MS Win dialog box in kill-buffer to actually work right.
10441         [7].
10442
10443         * eval.c:
10444         * eval.c (For):
10445         * eval.c (Fand):
10446         * eval.c (Fprogn):
10447         * eval.c (Fprog1):
10448         * eval.c (Fprog2):
10449         * eval.c (FletX):
10450         * eval.c (Flet):
10451         * eval.c (condition_case_3):
10452         * eval.c (Feval):
10453         * eval.c (function_argcount):
10454         * eval.c (funcall_lambda):
10455         [1].
10456
10457         * eval.c (type_error): New.
10458         * eval.c (maybe_type_error): New.
10459         * eval.c (continuable_type_error): New.
10460         * eval.c (maybe_continuable_type_error): New.
10461         * eval.c (type_error_with_frob): New.
10462         * eval.c (maybe_type_error_with_frob): New.
10463         * eval.c (continuable_type_error_with_frob): New.
10464         * eval.c (maybe_continuable_type_error_with_frob): New.
10465         New functions for use with structured errors.
10466
10467         * event-Xt.c:
10468         * event-Xt.c (x_event_to_emacs_event):
10469         Buttons are now modifiers too.
10470
10471         * event-Xt.c (emacs_Xt_current_event_timestamp):
10472         Implement new event method.
10473         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10474
10475         * event-msw.c:
10476         * event-msw.c (ntpipe_shove_writer): [5].
10477         * event-msw.c (mswindows_enqueue_mouse_button_event):
10478         * event-msw.c (mswindows_drain_windows_queue):
10479         * event-msw.c (mswindows_wnd_proc): [7].
10480         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10481         * event-msw.c (mswindows_modifier_state):
10482         Throughout: support new button modifiers.
10483
10484         * event-msw.c (emacs_mswindows_current_event_timestamp):
10485         Implement new event method.
10486         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10487
10488         * event-stream.c:
10489         * event-stream.c (event_stream_current_event_timestamp): New.
10490         * event-stream.c (maybe_kbd_translate): New functionality.
10491         * event-stream.c (vars_of_event_stream):
10492         Document new kbd-translate-table functionality.
10493
10494         * event-stream.c (Fcurrent_event_timestamp): New.
10495         New primitive for use in fabricated events.
10496         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10497
10498         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10499
10500         * events.c:
10501         * events.c (Fmake_event):
10502         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10503         [1].
10504         [9].
10505
10506         * events.c (format_event_object): fix gcc warnings.
10507
10508         * events.c (Fevent_timestamp): Document new primitives.
10509
10510         * events.c (TIMESTAMP_HALFSPACE): New.
10511
10512         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10513         comparing timestamps correctly (half-space algorithm).
10514
10515         * events.c (Fevent_modifier_bits): Doc fix.
10516
10517         * events.c (Fevent_modifiers): Major doc addition.
10518         * events.c (event_x_y_pixel_internal): Typo fix.
10519         * events.c (syms_of_events): Declare new primitives.
10520
10521         * events.h:
10522         Update long comment for button modifiers, timestamps.
10523
10524         * events.h (struct event_stream):
10525         New current_event_timestamp method.
10526
10527         * extents.c:
10528         * extents.c (extent_in_region_p):
10529         * extents.c (decode_extent):
10530         * extents.c (Fset_extent_parent):
10531         * extents.c (decode_map_extents_flags):
10532         Fix gcc warnings.
10533         [9].
10534
10535         * extents.c (struct extent_at_arg):
10536         * extents.c (decode_extent_at_flag):
10537         * extents.c (extent_at_mapper):
10538         * extents.c (extent_at_bytind):
10539         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10540         * extents.c (Fextents_at): New primitive. [9].
10541         * extents.c (symbol_to_glyph_layout): [9].
10542         Support new primitive `extents-at'.
10543
10544
10545         * extents.c (get_text_property_bytind):
10546         extent_at_bytind has another arg.
10547         [9].
10548
10549         * extents.c (syms_of_extents): New primitive.
10550
10551         * file-coding.c (Fmake_coding_system): [1].
10552         * file-coding.c (subsidiary_coding_system): fix gcc warning
10553         * file-coding.c (syms_of_file_coding): [2].
10554
10555         * fileio.c (Fexpand_file_name):
10556         * fileio.c (Fsysnetunam):
10557         * fileio.c (Ffile_exists_p):
10558         * fileio.c (Ffile_executable_p):
10559         * fileio.c (Fverify_visited_file_modtime):
10560         Clean up GCPROing.
10561
10562         * fileio.c (syms_of_fileio): [2].
10563
10564         * filelock.c (lock_file_1):
10565         * filelock.c (current_lock_owner):
10566         * filelock.c (lock_if_free):
10567         * filelock.c (lock_file):
10568         * filelock.c (unlock_file):
10569         Clean up GCPROing.
10570
10571         * fns.c (concat): Fix gcc warning.
10572
10573         * fns.c (Fmember):
10574         * fns.c (Fold_member):
10575         * fns.c (Fmemq):
10576         * fns.c (Fold_memq):
10577         * fns.c (memq_no_quit):
10578         * fns.c (Fassoc):
10579         * fns.c (Fold_assoc):
10580         * fns.c (Fassq):
10581         * fns.c (Fold_assq):
10582         * fns.c (assq_no_quit):
10583         * fns.c (Frassoc):
10584         * fns.c (Fold_rassoc):
10585         * fns.c (Frassq):
10586         * fns.c (Fold_rassq):
10587         * fns.c (rassq_no_quit):
10588         * fns.c (Fdelete):
10589         * fns.c (Fold_delete):
10590         * fns.c (Fdelq):
10591         * fns.c (Fold_delq):
10592         * fns.c (delq_no_quit):
10593         * fns.c (Fremassoc):
10594         * fns.c (Fremassq):
10595         * fns.c (remassq_no_quit):
10596         * fns.c (Fremrassoc):
10597         * fns.c (Fremrassq):
10598         * fns.c (remrassq_no_quit):
10599         * fns.c (Freverse):
10600         * fns.c (mapcar1):
10601         [1].
10602
10603         * frame-msw.c (mswindows_init_frame_1):
10604         * frame-msw.c (mswindows_delete_frame):
10605         Register popups with dialog code so keyboard traversing works.
10606
10607         * frame-tty.c (tty_raise_frame_no_select): [1].
10608
10609         * frame-x.c:
10610         * frame-x.c (x_set_frame_text_value):
10611         * frame-x.c (x_set_frame_properties):
10612         * frame-x.c (x_create_widgets):
10613         [7].
10614
10615         * frame.c:
10616         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10617
10618         * frame.h (wrap_frame): New.
10619         Macro like wrap_device.
10620
10621         * general.c:
10622         * general.c (SYMBOL):
10623         * general.c (syms_of_general):
10624         Major reorg.  This is now just a wrapper and symbols themselves
10625         are listed in general-slots.h.
10626
10627         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10628         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10629
10630         * glyphs-msw.c (mswindows_native_layout_instantiate):
10631         Add DS_CONTROL so keyboard traversal will work.
10632
10633         * glyphs-widget.c:
10634         * glyphs-widget.c (syms_of_glyphs_widget):
10635         Move some symbols to general-slots.h.
10636
10637         * glyphs-x.c:
10638         * glyphs-x.c (xbm_instantiate_1):
10639         * glyphs-x.c (x_xbm_instantiate):
10640         * glyphs-x.c (x_xface_instantiate):
10641         * glyphs-x.c (autodetect_instantiate):
10642         * glyphs-x.c (cursor_font_instantiate):
10643         * glyphs-x.c (x_update_widget):
10644         * glyphs-x.c (x_widget_instantiate):
10645         * glyphs.c (bitmap_to_lisp_data):
10646         * glyphs.c (pixmap_to_lisp_data):
10647         [7].
10648
10649         * glyphs.c (syms_of_glyphs):
10650         [2].
10651
10652         * gui-x.c:
10653         * gui-x.c (print_widget_value):
10654         * gui-x.c (menu_separator_style_and_to_external):
10655         * gui-x.c (add_accel_and_to_external):
10656         * gui-x.c (button_item_to_widget_value):
10657         * gui-x.c (gui_items_to_widget_values_1):
10658         * gui-x.c (gui_items_to_widget_values):
10659         * gui-x.c (syms_of_gui_x):
10660         * gui-x.c (vars_of_gui_x):
10661         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10662         [9].
10663
10664         * gui-x.h:
10665         Muleize, prototype changes matching gui-x.c.
10666
10667         * gui.c:
10668         * gui.c (separator_string_p):
10669         * gui.c (gui_item_add_keyval_pair):
10670         * gui.c (make_gui_item_from_keywords_internal):
10671         * gui.c (signal_too_long_error):
10672         * gui.c (parse_gui_item_tree_item):
10673         * gui.c (syms_of_gui):
10674         * gui.c (vars_of_gui):
10675         * gui.h:
10676         menu-no-selection-hook moved here (used by MSWin).
10677         Move some symbols to general-slots.h.
10678         [6].
10679         [9].
10680
10681         * insdel.c (get_buffer_pos_char):
10682         * insdel.c (get_buffer_range_char):
10683         Add GC comments.
10684
10685         * keymap.c (keymap_lookup_directly):
10686         * keymap.c (keymap_store):
10687         * keymap.c (ensure_meta_prefix_char_keymapp):
10688         * keymap.c (describe_map):
10689         * keymap.h:
10690         Support new button modifiers.
10691
10692         * lisp-disunion.h (wrap_object):
10693         * lisp-disunion.h (XSETOBJ):
10694         Rename make_obj to wrap_object.
10695
10696         * lisp-union.h:
10697         * lisp-union.h (make_int):
10698         * lisp-union.h (make_char):
10699         Support wrap_object.
10700
10701         * lisp.h:
10702         * lisp.h (LIST_LOOP):
10703         * lisp.h (EXTERNAL_LIST_LOOP):
10704         * lisp.h (LIST_LOOP_2):
10705         * lisp.h (EXTERNAL_LIST_LOOP_1):
10706         * lisp.h (EXTERNAL_LIST_LOOP_2):
10707         * lisp.h (EXTERNAL_LIST_LOOP_3):
10708         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10709         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10710         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10711         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10712         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10713         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10714         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10715         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10716         * lisp.h (struct Lisp_Symbol):
10717         * lisp.h (maybe_continuable_error_with_frob):
10718         Fix up section comments.
10719         Add new types for char to indicate usage.
10720         Delete symbols auto-generated from general-slots.h.
10721         Add prototypes for structured error functions.
10722         Add long comments describing looping macros and change interface
10723         so that lvalues are automatically declared.
10724         Add NO_DECLARE macro in case callers want to declare lvalues
10725         themselves.
10726
10727         * lread.c (read_syntax_error):
10728         * lread.c (continuable_read_syntax_error):
10729         * lread.c (read_structure):
10730         * lread.c (sequence_reader):
10731         * lread.c (read_list_conser):
10732         * lread.c (read_compiled_function):
10733         Rename syntax_error and continuable_syntax_error to avoid clash
10734         with same-named structured error functions.
10735
10736         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10737         * menubar-msw.c (populate_menu_add_item):
10738         * menubar-msw.c (populate_or_checksum_helper):
10739         [5].
10740         [9].
10741
10742         * menubar-x.c:
10743         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10744         Mule-ize whole file.
10745
10746         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10747
10748         * mule-charset.c (Fmake_charset):
10749         * mule-wnnfns.c (Fwnn_set_param):
10750         [1].
10751
10752         * ntproc.c (create_child):
10753         * ntproc.c (Fwin32_set_current_locale):
10754         Add comments portending doom.
10755
10756         * objects-msw.c:
10757         * objects-msw.c (old_font_enum_callback_2):
10758         * objects-msw.c (font_enum_callback_1):
10759         * objects-msw.c (mswindows_enumerate_fonts):
10760         [5].
10761
10762         * objects-x.c:
10763         * objects-x.c (allocate_nearest_color):
10764         * objects-x.c (x_parse_nearest_color):
10765         * objects-x.c (x_initialize_color_instance):
10766         * objects-x.c (x_print_color_instance):
10767         * objects-x.c (x_finalize_color_instance):
10768         * objects-x.c (x_valid_color_name_p):
10769         * objects-x.c (x_initialize_font_instance):
10770         * objects-x.c (x_print_font_instance):
10771         * objects-x.c (valid_x_font_name_p):
10772         * objects-x.c (truename_via_FONT_prop):
10773         * objects-x.c (truename_via_random_props):
10774         * objects-x.c (truename_via_XListFonts):
10775         * objects-x.c (x_font_truename):
10776         * objects-x.c (x_font_instance_truename):
10777         * objects-x.c (x_font_instance_properties):
10778         * objects-x.c (x_list_fonts):
10779         * objects-x.c (x_find_charset_font):
10780         Mule-ize entire file.
10781         [7].
10782
10783         * objects-x.h:
10784         Mule-verify.
10785
10786         * print.c:
10787         * print.c (std_handle_out_external):
10788         * print.c (debug_print_no_newline):
10789         * print.c (syms_of_print):
10790         Output to all debugger kinds in debug-print.
10791         Fix console-output code under MSWin to actually work.
10792
10793         * process-nt.c (send_signal):
10794         * process-nt.c (nt_create_process):
10795         Use newer Unicode macros.
10796
10797         * process-unix.c (unix_create_process):
10798         * process-unix.c (unix_canonicalize_host_name):
10799         * process-unix.c (unix_open_network_stream):
10800         [7].
10801
10802         * scrollbar-x.c:
10803         Mule-verify.
10804
10805         * search.c (syms_of_search):
10806         [2].
10807
10808         * select-msw.c (mswindows_destroy_selection):
10809         Use LIST_LOOP_2.
10810
10811         * select-x.c (symbol_to_x_atom):
10812         [7].
10813
10814         * select.c (syms_of_select):
10815         [2].
10816
10817         * sound.c (Fplay_sound_file):
10818         [7].
10819
10820         * specifier.c:
10821         * specifier.c (decode_specifier_type):
10822         * specifier.c (Fvalid_specifier_locale_type_p):
10823         * specifier.c (check_valid_locale_or_locale_type):
10824         * specifier.c (decode_locale):
10825         * specifier.c (decode_locale_type):
10826         * specifier.c (decode_locale_list):
10827         * specifier.c (check_valid_domain):
10828         * specifier.c (decode_specifier_tag_set):
10829         * specifier.c (Fcanonicalize_tag_set):
10830         * specifier.c (Fdefine_specifier_tag):
10831         * specifier.c (Fspecifier_tag_predicate):
10832         * specifier.c (check_valid_inst_list):
10833         * specifier.c (check_valid_spec_list):
10834         * specifier.c (decode_how_to_add_specification):
10835         * specifier.c (check_modifiable_specifier):
10836         * specifier.c (specifier_add_spec):
10837         * specifier.c (boolean_validate):
10838         * specifier.c (display_table_validate):
10839         [9].
10840
10841         * specifier.c (syms_of_specifier):
10842         Move some symbols to general-slots.h.
10843         [2].
10844
10845         * symbols.c:
10846         * symbols.c (Fmapatoms):
10847         * symbols.c (Fapropos_internal):
10848         Add GCPROs.
10849
10850         * symbols.c (set_default_buffer_slot_variable):
10851         * symbols.c (set_default_console_slot_variable):
10852         [1].
10853
10854         * symbols.c (defsymbol_massage_name_1):
10855         * symbols.c (defkeyword_massage_name):
10856         * symbols.c (deferror_1):
10857         * symbols.c (deferror):
10858         * symbols.c (deferror_massage_name_and_message):
10859         * symeval.h:
10860         * symeval.h (DEFSYMBOL):
10861         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10862
10863         * symbols.c (syms_of_symbols):
10864         [2].
10865
10866         * symsinit.h:
10867         * symsinit.h (init_win32): New.
10868         Also new is syms_of_dialog_mswindows.
10869
10870         * syswindows.h:
10871         Add new Unicode macros, missing Cygwin wide-char functions,
10872         convenience conversion macros for Qmswindows_tstr, macros for
10873         encapsulating required MSWin <-> Cygwin filename conversions,
10874         prototype for dynamically-extracted (not in NT 3.51) functions.
10875
10876         * toolbar-x.c:
10877         Mule-verify.
10878
10879         * tooltalk.c (Fadd_tooltalk_message_arg):
10880         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10881         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10882         [7].
10883
10884         * tooltalk.c (syms_of_tooltalk):
10885         [2].
10886
10887         * unexnt.c:
10888         * unexnt.c (unexec):
10889         Fix up headers, declaration of unexec() to be more standard.
10890
10891 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10892
10893         * offix.h: Revert change to guard macros - they're used in offix.c!
10894
10895 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10896
10897         * lisp.h: Defsubred Fdelete.
10898
10899         * console-msw.h:  (msprinter_default_printer): Added.
10900
10901         * console-msw.c (msprinter_canonicalize_console_connection):
10902         (msprinter_canonicalize_device_connection): Added.
10903
10904         * device-msw.c (msprinter_default_printer):
10905         (Fmswingows_get_default_printer):
10906         (signal_enum_priner_error):
10907         (Fmswingows_printer_list): Added.
10908
10909 2000-07-19  Martin Buchholz <martin@xemacs.org>
10910
10911         * XEmacs 21.2.35 is released.
10912
10913 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10914
10915         * select-x.c (x_handle_selection_request):
10916         Text selected in xemacs and pasted into xterm failed to appear.
10917         Spelling fixes and cosmetic changes.
10918
10919 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10920
10921         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10922         XEmacs frame (fix for doubling chars in dialog boxes).
10923
10924 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10925
10926         * select.c (select_convert_in, select_convert_out):
10927         Don't call intern() every time.
10928
10929         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10930         * select.c (vars_of_select): Initialise them.
10931
10932 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10933
10934         * select.c (selection-coercible-types): New.
10935
10936         * select.c (own-selection-internal):
10937         * select.c (get-selection-internal):
10938         MULE bug fix - these should default to COMPOUND_TEXT and not
10939         STRING for MULE. I think.
10940
10941         * select.c (select_convert_out): Use selection-coercible-types
10942         to find types that we can attempt to perform coercions on.
10943
10944 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10945
10946         * mule-wnnfns.c:
10947         * mule-canna.c:
10948         Add coding: cookie to identify encoding.
10949
10950         * mule-canna.c (CANNA_mode_keys): make static.
10951         Use proper prototypes, even for functions of no arguments.
10952         Remove external prototype for Fding().
10953
10954         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10955
10956         * select.c (syms_of_select): Add missing DEFSUBR.
10957
10958 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10959
10960         * select.c (get_selection_internal, own_selection_internal):
10961         Make the type default to STRING, rather than placing a nil type
10962         into Vselection_alist.
10963
10964 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10965
10966         * gpmevent.c (tty_selection_exists_p):
10967         * gpmevent.c (tty_own_selection):
10968         Updated parameter lists.
10969
10970 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10971
10972         * select.h (selection-alist): Removed declaration.
10973
10974         * select.h (get_local_selection):
10975         * select.c (get_local_selection):
10976         Made static.
10977
10978         * select.h (convert_selection): Removed declaration.
10979         * select.c (convert_selection): Removed.
10980         This function belongs in Lisp.
10981
10982         * select.h (select_convert_in): Declare.
10983         * select.h (select_convert_out): Declare.
10984         * select.c (select_convert_in): New.
10985         * select.c (select_convert_out): New.
10986         New conversion functions for other files to call.
10987
10988         * select.h (select_notify_buffer_kill): Declare.
10989         * select.c (select_notify_buffer_kill): New.
10990         New functions that get called from kill-buffer.
10991
10992         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10993         X-specific lisp code.
10994
10995         * select.h: Declare some of the lisp-visible functions for
10996         external use.
10997
10998         * select.c (clean_local_selection_data): Removed. This was
10999         a disgusting function, and previously should have been in
11000         select-x.c in any case. The functionality is now provided
11001         in select-convert-from-integer (select.el).
11002
11003         * select.c (available-selection-types): Fixed stupidity where
11004         INTEGER and ATOM got added twice. Also add STRING when we see an
11005         extent.
11006
11007         * select.c (get-selection-internal): Removed symbol stripping. No
11008         longer causes conversion when data comes from the internal cache.
11009
11010         * select.c (syms_of_select): Added new functions.
11011
11012         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11013         error checking - previously this called abort!
11014
11015         * select-x.c (x_own_selection): Changed comment.
11016
11017         * select-x.c (x_handle_selection_request): Use select_convert_out.
11018         Don't mess with selection-alist; it's an internal variable of select.c.
11019
11020         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11021
11022         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11023         rather than messing with selection-alist.
11024
11025         * select-msw.c (mswindows_get_foreign_selection):
11026         Use TO_INTERNAL_FORMAT rather than hacking.
11027
11028 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11029
11030         * process-unix.c (unix_open_multicast_group):
11031         (unix_open_multicast_group): Remove useless casts.
11032
11033 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11034
11035         * sound.c (Fplay_sound): Fix `unused variable' warning.
11036
11037         * emacs.c (main): Use correct type for _environ on SCO5.
11038
11039 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11040
11041         * console.h (own_selection_method):
11042         * console.h (selection_exists_p_method):
11043         * console.h (available_selection_types_method): New.
11044         * console.h (register_selection_data_type_method): New.
11045         * console.h (selection_data_type_name): New.
11046
11047         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11048         function & alist to track GlobalAlloc()'d handles that need
11049         releasing when the clipboard data gets replaced or emptied.
11050
11051         * event-msw.c (mswindows_wnd_proc): Call it.
11052
11053         * lisp.h, general.c (Qappend): New symbol representing a
11054         `how-to-add' mode.
11055
11056         * select.c (own-selection-internal):
11057         * select.c (selection-exists-p):
11058         * select.c (available-selection-types): New.
11059         * select.c (register-selection-data-type): New.
11060         * select.c (selection-data-type-name): New.  New functions to deal
11061         with device-specific selection data formats.
11062         * select.c (selection-converter-out-alist): Renamed.
11063         * select.c (selection-converter-in-alist): New.
11064         * select.c (selection-appender-alist): New.  Added new alists.
11065         * select.c (syms_of_select, vars_of_select): Added new symbols &
11066         variables.
11067         * select.c (get_local_selection): Split.
11068         * select.c: Removed spurious type checking - selections may now be
11069         of any type, not just strings.
11070         * select.c (own-selection-internal):
11071
11072         * select.h, select.c (convert_selection): New. Created
11073         convert_selection() function based on get_local_selection().
11074         * select.h, select.c (QCF_*): New symbols representing mswindows
11075         clipboard formats.
11076         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11077         symbols representing `how-to-add' modes.
11078
11079         * select-msw.c (x_sym_p): New.
11080         * select-msw.c (symbol_to_ms_cf): New.
11081         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11082         symbols & clipboard formats. Can also handle string names.
11083         * select-msw.c (mswindows_own_selection):
11084         * select-msw.c (mswindows_selection_exists_p):
11085         Added `data-type' parameter. Use it.
11086         * select-msw.c (mswindows_available_selection_types): New.
11087         * select-msw.c (mswindows_register_selection_data_type): New.
11088         * select-msw.c (mswindows_selection_data_type_name): New.
11089         * select-msw.c (mswindows_own_selection):
11090         * select-msw.c (mswindows_get_foreign_selection):
11091         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11092         * select-msw.c (console_create_select_mswindows): Added new methods.
11093         * select-msw.c (mswindows_destroy_selection): New.
11094         * select-msw.c (Vhandle_alist): New list.
11095         * select-msw.c (mswindows_own_selection):
11096
11097         * select-x.c (x_own_selection):
11098         * select-x.c (x_selection_exists_p):
11099         * select-x.c: Added some comments about maybe using new
11100         functionality.
11101         * select-x.c (x_own_selection):
11102
11103         * specifier.c: Remove definition of Qappend (now in general.c)
11104         * specifier.c (syms_of_specifier): Remove Qappend.
11105
11106 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11107
11108         * config.h.in: Add socklen_t.
11109
11110         * s/decosf4-0.h: No special compiler flags needed or desired.
11111         In particular, undefine _BSD for DEC OSF 4.0.
11112
11113 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11114
11115         * redisplay-msw.c (msprinter_frame_output_end): Added.
11116         (console_type_create_redisplay_mswindows): Referred the above.
11117
11118         * frame.c (setup_frame_without_minibuffer): Do not create a
11119         default minibuffer frame on a printer device.
11120
11121         * frame-msw.c (apply_dc_geometry): Added.
11122         (msprinter_start_page):
11123         (msprinter_init_frame_3):
11124         (msprinter_eject_page): Use it.
11125
11126         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11127         and removed residual duplex and orientation properties.
11128
11129 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11130
11131         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11132
11133         * unexalpha.c: Remove system prototypes from C sources!
11134
11135 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11136
11137         * eval.c: Remove references to M-x edit-options in DEFUNs for
11138         `defvar' and `defconst'.
11139
11140 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11141
11142         * config.h.in: Remove SMART_INCLUDE hackery.
11143
11144         PostgreSQL hacking:
11145         * config.h.in: Don't use SMART_INCLUDE.
11146
11147         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11148         * inline.c: Simply #include "postgresql.h"
11149         * postgresql.c:
11150         - Don't use SMART_INCLUDE
11151         - Use simply "const".
11152         - Use standard doc string conventions.
11153         - Use correct type for result of PQstatus.
11154
11155 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11156
11157         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11158
11159         C++ compilation changes.
11160         * config.h.in (EXTERN_C): Define.
11161         * config.h.in (not): This is also a C++ keyword.
11162         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11163         * cm.c: Use EXTERN_C.
11164         * redisplay-tty.c: Use EXTERN_C.
11165         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11166
11167 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11168
11169         * general.c: Remove duplicate definition for Qfunction.
11170
11171 2000-07-08  Ben Wing  <ben@xemacs.org>
11172
11173         * device-msw.c (msprinter_init_device):
11174         * device-msw.c (sync_printer_with_devmode):
11175         * device-msw.c (handle_devmode_changes):
11176         * device-msw.c (print_dialog_worker):
11177         * device-msw.c (Fmsprinter_apply_settings):
11178         * device-msw.c (hash_devmode):
11179         * device-msw.c (Fmsprinter_settings_despecialize):
11180         use Qmswindows_tstr, not Qctext.
11181
11182         * vm-limit.c (check_memory_limits):
11183         avoid infinite loop printing warning messages.
11184
11185 2000-07-05  Craig Lanning  <lanning@scra.org>
11186
11187         * Makefile.in.in: Add support for including the Windows resources
11188         when building with the cygwin and mingw targets.
11189
11190         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11191         not set or not correct.
11192         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11193         (init_initial_directory): Don't try to use $PWD on the
11194         WIN32_NATIVE target.
11195
11196         * s\cygwin32.h:
11197         [[Add -mwindows to eliminate console window.]] not required --ben
11198         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11199         (MAIL_USE_POP): removed; now handled by configure.
11200
11201         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11202         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11203         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11204         (MAIL_USE_POP): removed; now handled by configure.
11205         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11206         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11207         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11208         constant string.
11209         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11210         up from <winsock.h> via systime.h.
11211         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11212         (getpagesize): from Dan Holmsand, added.
11213         Added #endif which was left dangling by Ben's mega patch; added
11214         comment to help prevent this in the future.
11215
11216         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11217
11218 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11219
11220         * console-msw.h (struct mswindows_device): Removed unnecessary
11221         cached device geometry values.
11222         Added update_tick and an accessor macro.
11223         (Lisp_Devmode): Added lrecord declaration.
11224         (struct msprinter_device): Contain devmode as a Lisp object.
11225         Added mswindows_get_selected_frame_hwnd();
11226
11227         * console.h (struct console_methods): Indentation nitpicking.
11228
11229         * device-msw.c (mswindows_init_device): Do not initialize geometry
11230         cache. Initialize update tick.
11231         (mswindows_device_system_metrics): Ask the device for its geometry.
11232         (global_free_2_maybe):
11233         (devmode_to_hglobal):
11234         (handle_printer_changes):
11235         (ensure_not_printing):
11236         (print_dialog_worker):
11237         (Fmsprinter_print_setup_dialog):
11238         (Fmsprinter_print_dialog):
11239         (plist_get_margin):
11240         (plist_set_margin):
11241         (Fmsprinter_page_setup_dialog): Added functions.
11242         (sync_printer_with_devmode):
11243         (handle_devmode_changes):
11244         (Fmsprinter_get_settings):
11245         (Fmsprinter_select_settings):
11246         (Fmsprinter_apply_settings):
11247         (allocate_devmode):
11248         (Fmsprinter_settings_copy):
11249         (Fmsprinter_settings_despecialize):
11250         (print_devmode):
11251         (finalize_devmode):
11252         (equal_devmode):
11253         (hash_devmode): Added functions
11254         (syms_of_device_mswindows): Init devmode lrecord class.
11255
11256         * device.h: Added an exfun for find-device.
11257
11258         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11259         geometry; although, recreate the device compatible DC.
11260
11261         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11262         (msprinter_init_frame_3):
11263         (msprinter_frame_property):
11264         (msprinter_internal_frame_property_p):
11265         (msprinter_frame_properties):
11266         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11267         print job properties (will move to device settings).
11268
11269         * lisp.h: Added symbols.
11270
11271         * general.c (syms_of_general): Declared them.
11272
11273         * hash.c (string_hash): Added.
11274
11275         * lrecord.h (lrecord_type): Added devmode lrecord type.
11276
11277 2000-07-02  Mike Sperber <mike@xemacs.org>
11278
11279         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11280         FreeBSD 4.0.
11281
11282 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11283
11284         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11285         integer.
11286
11287 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11288
11289         * data.c (Fstring_to_number): Don't recognize floating point if
11290         base is not 10.
11291
11292 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11293
11294         * glyphs-widget.c (tab_control_query_geometry):
11295         (widget_query_geometry):
11296         (button_query_geometry):
11297         * glyphs.c (text_query_geometry):
11298         Enforce type correctness.
11299
11300 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11301
11302         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11303         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11304
11305 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11306
11307         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11308         conflicts with gcc's fixincluded version of FOO.h.
11309
11310         * glyphs.h (image_instance_geometry): Remove trailing `,'
11311
11312 2000-06-08  Mike Alexander  <mta@arbortext.com>
11313
11314         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11315         (shove_thread): Don't write the same output twice
11316         (make_ntpipe_output_stream): Increase priority of shove thread
11317         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11318         chance to run
11319         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11320         it.
11321
11322 2000-06-12  Ben Wing  <ben@xemacs.org>
11323
11324         * s\mingw32.h (sigset):
11325         * s\windowsnt.h (sigset):
11326         rename msw_ to mswindows_ for consistency with general convention.
11327
11328 2000-06-12  Ben Wing  <ben@xemacs.org>
11329
11330         * console-msw.c:
11331         * console-msw.c (mswindows_get_console_hwnd):
11332         * console-msw.c (mswindows_ensure_console_allocated):
11333         * console-msw.c (mswindows_hide_console):
11334         * console-msw.c (mswindows_show_console):
11335         * console-msw.c (mswindows_ensure_console_buffered):
11336         * console-msw.c (mswindows_output_console_string):
11337         * console-msw.c (mswindows_windows9x_p):
11338         * console-msw.h:
11339         * device-msw.c (mswindows_get_workspace_coords):
11340         * device-msw.c (mswindows_device_system_metrics):
11341         * dialog-msw.c (mswindows_popup_dialog_box):
11342         * event-msw.c (mswindows_wnd_proc):
11343         * frame-msw.c (mswindows_size_frame_internal):
11344         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11345         * menubar-msw.c (displayable_menu_item):
11346         * menubar-msw.c (mswindows_char_is_accelerator):
11347         * nt.c:
11348         * nt.c (mswindows_sigset):
11349         * nt.c (mswindows_sigrelse):
11350         * nt.c (mswindows_sigpause):
11351         * nt.c (mswindows_raise):
11352         * nt.c (timer_proc):
11353         * ntproc.c:
11354         * ntproc.c (find_child_console):
11355         * ntproc.c (sys_kill):
11356         * print.c:
11357         * print.c (std_handle_out_external):
11358         * process-nt.c (find_child_console):
11359         * process-nt.c (send_signal_the_95_way):
11360         * process-nt.c (ensure_console_window_exists):
11361         * process-nt.c (nt_create_process):
11362         * syssignal.h:
11363         rename msw_ to mswindows_ for consistency with general convention.
11364
11365         * emacs.c:
11366         * dumper.c:
11367         include nt.h, not syswindows.h.
11368
11369         * nt.c (mswindows_fstat):
11370         * nt.c (mswindows_stat):
11371         prefix mswindows_ instead of attempting to directly override the
11372         library functions.  fix declarations.
11373
11374         * nt.h:
11375         include syswindows.h.  move some sysdep.h stuff here.
11376
11377         * ntheap.h:
11378         include syswindows.h, not <windows.h>.
11379
11380         * ntplay.c:
11381         clean up headers.
11382
11383         * sysdep.c:
11384         clean up headers.
11385
11386         * sysdep.c (sys_fstat):
11387         * sysdep.c (sys_stat):
11388         call mswindows versions when appropriate.
11389
11390         * sysdep.h:
11391         move mswin decls to nt.h.
11392
11393         * syswindows.h:
11394         add long comment describing appropriate use of the various windows
11395         headers.
11396
11397 2000-06-11  Ben Wing  <ben@xemacs.org>
11398
11399         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11400
11401 2000-06-10  Ben Wing  <ben@xemacs.org>
11402
11403         * Makefile.in.in (release):
11404         Correction to make sure xemacs.exe always dumped when correct.
11405
11406         * alloca.c:
11407         * balloon_help.c:
11408         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11409
11410         * buffer.c (set_buffer_internal):
11411         [[[[2]]]]: Remove HAVE_FEP code.
11412
11413         * buffer.c (init_initial_directory):
11414         [3].
11415
11416         * bytecode.c:
11417         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11418         individual files.
11419
11420         * callproc.c:
11421         * callproc.c (call_process_cleanup):
11422         * callproc.c (Fold_call_process_internal):
11423         * callproc.c (child_setup):
11424         * callproc.c (getenv_internal):
11425         * callproc.c (init_callproc):
11426         * callproc.c (vars_of_callproc):
11427         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11428         __CYGWIN32__ -> CYGWIN.
11429         DOS_NT -> WIN32_NATIVE.
11430         Remove MSDOS support/references, converting to WIN32_NATIVE
11431           where correct.
11432         __MINGW32__ -> MINGW.
11433         Fix windows.h includes.
11434         Remove bogus HAVE_NTGUI.
11435
11436         * config.h.in:
11437         [2].
11438
11439         * console-msw.c:
11440         mswindows_message_outputted added for use in allowing startup
11441         errors on the console to be seen.
11442
11443         * console-msw.c (msw_ensure_console_allocated):
11444         * console-msw.c (msw_output_console_string):
11445         * console-msw.c (DHEADER):
11446         * console-msw.c (DOPAQUE_DATA):
11447         * console-msw.c (DEVENT):
11448         * console-msw.c (DCONS):
11449         * console-msw.c (DCONSCDR):
11450         * console-msw.c (DSTRING):
11451         * console-msw.c (DVECTOR):
11452         * console-msw.c (DSYMBOL):
11453         * console-msw.c (DSYMNAME):
11454         Fix warnings.
11455
11456         * console-stream.c (stream_init_console):
11457         Fix text/binary problems.
11458
11459         * device-msw.c:
11460         * device-msw.c (mswindows_finish_init_device):
11461         * device-msw.c (mswindows_delete_device):
11462         [1].
11463
11464         * device.c (handle_asynch_device_change):
11465         [3].
11466
11467         * dgif_lib.c:
11468         * dgif_lib.c (DGifOpenFileName):
11469         * dgif_lib.c (DGifOpenFileHandle):
11470         * dgif_lib.c (DGifGetLine):
11471         * dgif_lib.c (DGifGetPixel):
11472         Added config.h/lisp.h, fix up includes.
11473         [1].
11474
11475         * dired-msw.c:
11476         [4].
11477
11478         * dired.c:
11479         * dired.c (file_name_completion):
11480         * dired.c (Ffile_attributes):
11481         * dired.c (syms_of_dired):
11482         [1].
11483
11484         * dumper.c:
11485         * dumper.c (pdump_file_unmap):
11486         * dumper.c (pdump_load):
11487         [1].
11488
11489         * editfns.c:
11490         * editfns.c (Ftemp_directory):
11491         * editfns.c (user_login_name):
11492         * editfns.c (Fuser_real_login_name):
11493         * editfns.c (get_home_directory):
11494         [1].
11495
11496         * elhash.c (finish_marking_weak_hash_tables):
11497         [[[[5]]]]: Fix GCC warnings.
11498
11499         * emacs.c:
11500         * emacs.c (mswindows_handle_hardware_exceptions):
11501         * emacs.c (make_arg_list_1):
11502         * emacs.c (main_1):
11503         * emacs.c (Fkill_emacs):
11504         * emacs.c (Fdump_emacs):
11505         [1].
11506         Fix problems with nested crashes, add long comment.
11507
11508         * event-Xt.c (init_event_Xt_late):
11509         [1].
11510
11511         * event-msw.c:
11512         * event-msw.c (mswindows_dde_callback):
11513         * event-msw.c (mswindows_handle_sticky_modifiers):
11514         * event-msw.c (mswindows_wnd_proc):
11515         [1].
11516         [5].
11517
11518         * events.c (character_to_event):
11519         [1].
11520
11521         * fileio.c:
11522         * fileio.c (Ffile_name_directory):
11523         * fileio.c (Ffile_name_nondirectory):
11524         * fileio.c (directory_file_name):
11525         * fileio.c (Fexpand_file_name):
11526         * fileio.c (Fsubstitute_in_file_name):
11527         * fileio.c (Ffile_name_absolute_p):
11528         * fileio.c (check_executable):
11529         * fileio.c (Ffile_readable_p):
11530         * fileio.c (Ffile_accessible_directory_p):
11531         * fileio.c (Ffile_modes):
11532         * fileio.c (Funix_sync):
11533         * fileio.c (vars_of_fileio):
11534         [1]. [4].
11535
11536         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11537
11538         Expand getdefdir defn.
11539         Fix bogus rename() comment.
11540
11541         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11542         to use standard XEmacs include files, e.g. sysfile.h, rather
11543         than system-specific includes.
11544
11545         * fns.c:
11546         * fns.c (Fsubseq):
11547         [5]. [6].
11548
11549         * frame.c (vars_of_frame):
11550         [1].
11551
11552         * getloadavg.c:
11553         * getloadavg.c (getloadavg):
11554         [1]. [6].
11555         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11556         (We don't use it elsewhere in the code; just add a comment.)
11557
11558         * gif_io.c:
11559         [6].
11560         Add config.h.
11561
11562         * glyphs-msw.c:
11563         * glyphs-msw.c (mswindows_resource_instantiate):
11564         [1].
11565
11566         * glyphs-x.c (x_native_layout_instantiate):
11567         [5].
11568
11569         * gui-msw.c (Fmswindows_shell_execute):
11570         [1].
11571
11572         * insdel.c:
11573         [4].
11574
11575         * lisp.h:
11576         [4]. [5].
11577
11578         * lread.c (locate_file_in_directory_mapper):
11579         [1].
11580
11581         * lstream.c:
11582         [4].
11583
11584         * mem-limits.h:
11585         * mem-limits.h (get_lim_data):
11586         [1].
11587
11588         * menubar-msw.c:
11589         [4].
11590
11591         * ndir.h:
11592         [1].
11593
11594         * nt.c:
11595         * nt.c (getwd):
11596         * nt.c (closedir):
11597         * nt.c (rva_to_section):
11598         * nt.c (mswindows_executable_type):
11599         [1]. [6].
11600         Fix closedir() defn.
11601
11602         * nt.h:
11603         [[[[8]]]]: *_OK defs moved to sysfile.h.
11604
11605         * ntproc.c:
11606         [6]. [7].
11607
11608         * objects-x.c:
11609         [4].
11610
11611         * print.c:
11612         * print.c (std_handle_out_external):
11613         [1]. [4].
11614
11615         * process-nt.c:
11616         * process-nt.c (nt_create_process):
11617         [6].
11618         try to fix process quoting somewhat.
11619
11620         * process-unix.c (unix_create_process):
11621         [1].
11622
11623         * process.c:
11624         * process.c (vars_of_process):
11625         Add Vnull_device.
11626
11627         * process.h:
11628         [1].
11629
11630         * realpath.c:
11631         * realpath.c (xrealpath):
11632         [1].
11633
11634         * redisplay-tty.c (init_tty_for_redisplay):
11635         [3].
11636
11637         * redisplay.c:
11638         [4]. [6].
11639
11640         * scrollbar-msw.c:
11641         [4].
11642
11643         * sheap.c:
11644         * sheap.c (more_static_core):
11645         * sheap.c (report_sheap_usage):
11646         [5]. [6].
11647
11648         * signal.c:
11649         * signal.c (alarm_signal):
11650         [1]. [6].
11651
11652         * sound.c:
11653         [6].
11654
11655         * strftime.c:
11656         * strftime.c (zone_name):
11657         [1]. [5].
11658
11659         * symsinit.h (init_sunpro):
11660         [1].
11661
11662         * syscommctrl.h:
11663         commctrl.h not in Cygwin b20.1.
11664
11665         * sysdep.c:
11666         * sysdep.c (endif):
11667         * sysdep.c (sys_subshell):
11668         * sysdep.c (init_baud_rate):
11669         * sysdep.c (emacs_get_tty):
11670         * sysdep.c (emacs_set_tty):
11671         * sysdep.c (tty_init_sys_modes_on_device):
11672         * sysdep.c (init_system_name):
11673         * sysdep.c (sys_open):
11674         * sysdep.c (interruptible_open):
11675         * sysdep.c (sys_fopen):
11676         * sysdep.c (sys_mkdir):
11677         * sysdep.c (sys_rename):
11678         * sysdep.c (get_process_times_1):
11679         [1]. [6].
11680
11681         * sysdep.h:
11682         [1].
11683
11684         * sysdir.h:
11685         * sysdir.h (DIRENTRY_NONEMPTY):
11686         [1]. [6].
11687
11688         * sysdll.c (dll_init):
11689         * sysdll.h:
11690         [1].
11691
11692         * sysfile.h:
11693         [1]. [6]. [8].
11694         added text/binary defs.
11695
11696         * sysfloat.h:
11697         [1].
11698
11699         * sysproc.h:
11700         * sysproc.h (EDESTADDRREQ):
11701         * sysproc.h (poll_fds_for_input):
11702         [1]. [6].
11703
11704         * syspwd.h:
11705         [6].
11706
11707         * syssignal.h:
11708         [1].
11709
11710         * systime.h:
11711         [1]. [6].
11712
11713         * systty.h:
11714         [1].
11715
11716         * syswindows.h:
11717         [1].
11718         Always define WIN32_LEAN_AND_MEAN.
11719
11720         * unexcw.c (unexec):
11721         [5].
11722
11723         * unexec.c:
11724         * unexec.c (copy_text_and_data):
11725         * unexec.c (adjust_lnnoptrs):
11726         [1].
11727
11728         * unexnt.c:
11729         * unexnt.c (_start):
11730         [1].
11731
11732 2000-06-07  Ben Wing  <ben@xemacs.org>
11733
11734         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11735         was used only as a model.  We've long since extracted any useful
11736         logic or code out of this. (I just did an exhaustive search.)
11737
11738         * s\msdos.h: Removed.
11739
11740         * s\windows95.h: Removed.
11741
11742 2000-06-10  Ben Wing  <ben@xemacs.org>
11743
11744         * s\cygwin32.h:
11745         [1]. [5].
11746         Don't use extern with fun defs.
11747
11748         * s\mingw32.h:
11749         [1]. [7].
11750         Remove nt\inc include.
11751         Remove getdisk, getdefdir. (The former is unused, the latter
11752         expanded in fileio.h.)
11753
11754         * s\windowsnt.h:
11755         * s\windowsnt.h (WIN32_NATIVE):
11756         * s\windowsnt.h (HAVE_STRCASECMP):
11757         [1]. [7].
11758         Add long comment about preprocessor changes.
11759         Remove getdisk, getdefdir. (The former is unused, the latter
11760         expanded in fileio.h.)
11761
11762 2000-06-10  Ben Wing  <ben@xemacs.org>
11763
11764         * m\arm.h:
11765         * m\delta.h:
11766         * m\intel386.h:
11767         * m\sequent.h:
11768         * m\template.h:
11769         * m\windowsnt.h:
11770         [1].
11771         Remove bogus/unused NO_SOCK_SIGIO.
11772
11773 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11774
11775         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11776         not an Emchar.
11777
11778 2000-06-04  Mike Sperber <mike@xemacs.org>
11779
11780         * casetab.c (set_case_table): For `set-standard-case-table',
11781         actually deposit the new case tables where the rest of XEmacs can
11782         see them.
11783
11784 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11785
11786         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11787
11788 2000-06-05  Ben Wing  <ben@xemacs.org>
11789
11790         * callproc.c (child_setup): Don't do close_load_descs() under
11791         MS Windows.  Put in a comment explaining why.
11792
11793 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11794
11795         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11796         Toolkit shell" which breaks `kill-compilation' on Windows NT
11797         native, retaining STDERR handling improvements.
11798
11799 2000-06-01  Andreas Jaeger  <aj@suse.de>
11800
11801         * s/s390.h: Support for S390, based on a patch by Martin
11802         Schwidefsky <schwidefsky@de.ibm.com>.
11803
11804 2000-05-30  Andy Piper  <andy@xemacs.org>
11805
11806         * window.c (allocate_window):
11807         (make_dummy_parent):
11808         (Fset_window_configuration): use new hashtable type.
11809
11810         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11811         (struct image_instantiator_methods):
11812         (struct Lisp_Image_Instance): make instance geometry signed.
11813
11814         * glyphs.c (instantiate_image_instantiator):
11815         (image_instance_query_geometry):
11816         (image_instance_layout):
11817         (image_instance_layout):
11818         (query_string_geometry):
11819         (text_query_geometry):
11820         (image_instantiate):
11821         (image_instantiate):
11822         (cache_subwindow_instance_in_frame_maybe):
11823         (subwindow_query_geometry): make instance geometry signed.
11824
11825         * glyphs-widget.c (widget_query_geometry):
11826         (widget_layout):
11827         (button_query_geometry):
11828         (tree_view_query_geometry):
11829         (tab_control_query_geometry):
11830         (layout_query_geometry):
11831         (layout_layout):
11832         (native_layout_layout): make instance geometry signed.
11833
11834 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11835
11836         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11837         constant.
11838
11839         * general.c (syms_of_general): Add Qfull_assoc symbol.
11840
11841         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11842         correctly.
11843         (decode_weak_list_type): Decode full-assoc type.
11844         (encode_weak_list_type): Encode full-assoc type.
11845         (Fmake_weak_list): Update doc string.
11846
11847 2000-05-30  Andy Piper  <andy@xemacs.org>
11848
11849         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11850
11851         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11852         (decode_hash_table_weakness): ditto.
11853         (Fhash_table_weakness): ditto.
11854         (Fhash_table_type): ditto.
11855         (finish_marking_weak_hash_tables): ditto.
11856         (hash_table_weakness_validate): ditto.
11857         (syms_of_elhash): ditto.
11858
11859 2000-05-28  Martin Buchholz <martin@xemacs.org>
11860
11861         * XEmacs 21.2.34 is released.
11862
11863 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11864
11865         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11866         start cache.
11867         (updating_line_start_cache): Gone.
11868         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11869         generic code to force a minimum of 1 line laid out in the
11870         CMOTION_DISP case.
11871
11872 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11873
11874         * glyphs.c (instantiate_image_instantiator): Check for initialized
11875         height & width no longer special cases IMAGE_NOTHING.
11876         (nothing_instantiate): Set height and width of instance.
11877
11878 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11879
11880         * unexelf.c (unexec): Search for ".data" section.
11881         Initialize new_data2_offset from old_data_index.
11882         Remove redundant check for ElfW.
11883
11884 2000-05-23  Andy Piper  <andy@xemacs.org>
11885
11886         * glyphs.c (get_image_instantiator_governing_domain): allow more
11887         specific domains as the governing domain rather than expecting an
11888         exact match. This fixes problems with layouts.
11889
11890 2000-05-22  Andy Piper  <andy@xemacs.org>
11891
11892         * redisplay-output.c (compare_runes): check for non-images
11893
11894         * glyphs.c (set_glyph_dirty_p): ditto.
11895         (update_glyph_cachel_data): ditto.
11896
11897         * glyphs-widget.c (layout_post_instantiate): ditto.
11898         (layout_post_instantiate): ditto.
11899
11900         * event-msw.c (mswindows_wnd_proc): warning removal.
11901
11902 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11903
11904         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11905
11906         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11907
11908         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11909
11910         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11911         (mswindows_executable_type): mingw32 now has enough headers for
11912         this to work.
11913
11914 2000-05-20  Andy Piper  <andy@xemacs.org>
11915
11916         * console-msw.c (mswindows_output_last_error): ; -> ,
11917
11918 2000-05-12  Andy Piper  <andy@xemacs.org>
11919
11920         * console-msw.c (FROB): compare ints with ints.
11921
11922 2000-05-11  Andy Piper  <andy@xemacs.org>
11923
11924         * glyphs-x.c (x_finalize_image_instance): make minimal build
11925         happy.
11926
11927 2000-05-20  Ben Wing  <ben@xemacs.org>
11928
11929         * event-Xt.c:
11930         * event-Xt.c (vars_of_event_Xt):
11931         move modifier-keys-are-sticky to event-stream.c.
11932
11933         * event-msw.c:
11934         * event-msw.c (mswindows_enqueue_mouse_button_event):
11935         * event-msw.c (key_needs_default_processing_p):
11936         * event-msw.c (XEMSW_LCONTROL):
11937         * event-msw.c (mswindows_handle_sticky_modifiers):
11938         * event-msw.c (FROB):
11939         * event-msw.c (clear_sticky_modifiers):
11940         * event-msw.c (output_modifier_keyboard_state):
11941         * event-msw.c (output_alt_keyboard_state):
11942         * event-msw.c (mswindows_wnd_proc):
11943         * event-msw.c (mswindows_modifier_state):
11944         * event-msw.c (emacs_mswindows_handle_magic_event):
11945         implement sticky modifiers.
11946
11947         * event-stream.c:
11948         * event-stream.c (vars_of_event_stream):
11949         move modifier-keys-are-sticky here.
11950
11951         * lisp.h:
11952         add CHECK_FUNCTION.
11953
11954         * rangetab.c:
11955         implement map-range-table.
11956
11957
11958 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11959
11960         * redisplay-tty.c (reset_tty_modes):
11961         (tty_redisplay_shutdown): Adjust argument type to
11962         tty_frame_output_end.
11963
11964 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11965
11966         * eval.c (Fbacktrace): Don't output a line with only right
11967         parenthesis.
11968
11969 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11970
11971         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11972         (Fpq_reset_poll): Ditto.
11973
11974 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11975
11976         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11977
11978 2000-05-16  Ben Wing  <ben@xemacs.org>
11979
11980         * buffer.c:
11981         * buffer.c (dfc_convert_to/from_internal_format):
11982         * buffer.c (reinit_vars_of_buffer):
11983         Fix conversion functions to allow reentrancy.
11984
11985         * console-msw.c:
11986         * console-msw.c (mswindows_output_last_error):
11987         New fun, generally useful -- output a human-readable
11988         version of GetLastError() on the console.
11989
11990         * console-msw.h:
11991         * console-msw.h (struct mswindows_frame):
11992         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11993
11994         * console-stream.c (stream_output_begin):
11995         * console-stream.c (stream_output_end):
11996         * console-stream.c (stream_output_vertical_divider):
11997         * console-stream.c (stream_clear_region):
11998         * console-stream.c (stream_flash):
11999         * console-stream.c (console_type_create_stream):
12000         Delete blank stream methods, not needed.
12001
12002         * console.h (struct console_methods):
12003         Split begin/end methods into window and frame.
12004
12005         * event-msw.c:
12006         * event-msw.c (mswindows_handle_paint):
12007         * event-msw.c (output_alt_keyboard_state):
12008         * event-msw.c (mswindows_wnd_proc):
12009         * event-msw.c (vars_of_event_mswindows):
12010         Comment about problems with ignored-expose.
12011         Define mswindows-debug-events; not really implemented.
12012
12013         * frame-msw.c (mswindows_init_frame_1):
12014         random cleanups.
12015
12016         * glyphs-msw.c:
12017         * glyphs-msw.c (begin_defer_window_pos):
12018         * glyphs-msw.c (mswindows_unmap_subwindow):
12019         * glyphs-msw.c (mswindows_map_subwindow):
12020         * glyphs-msw.c (mswindows_resize_subwindow):
12021         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12022
12023         * glyphs.c (make_image_instance_1):
12024         Fix crash.
12025
12026         * gutter.c (Fredisplay_gutter_area):
12027         Use new begin/end methods.
12028
12029         * lisp.h (Dynarr_new2):
12030         New creation fun.
12031
12032         * redisplay-msw.c:
12033         * redisplay-msw.c (mswindows_frame_output_begin):
12034         * redisplay-msw.c (mswindows_frame_output_end):
12035         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12036         New begin/end methods -- handle DeferWindowPos.
12037
12038         * redisplay-output.c (redisplay_move_cursor):
12039         * redisplay-output.c (redraw_cursor_in_window):
12040         * redisplay-output.c (redisplay_update_line):
12041         * redisplay-output.c (redisplay_output_window):
12042         New begin/end methods.
12043
12044         * redisplay-tty.c:
12045         * redisplay-tty.c (tty_frame_output_begin):
12046         * redisplay-tty.c (tty_frame_output_end):
12047         * redisplay-tty.c (console_type_create_redisplay_tty):
12048         New begin/end methods.
12049
12050         * redisplay-x.c:
12051         * redisplay-x.c (x_window_output_begin):
12052         * redisplay-x.c (x_window_output_end):
12053         * redisplay-x.c (console_type_create_redisplay_x):
12054         New begin/end methods.
12055
12056         * redisplay.c (redisplay_frame):
12057         * redisplay.c (Fredisplay_echo_area):
12058         New begin/end methods.
12059         use MAYBE_DEVMETH for clear_frame; it may not exist.
12060
12061         * window.h (WINDOW_XFRAME):
12062         WINDOW_XFOO macros -- get locale and decode struct pointer.
12063
12064
12065 2000-05-12  Ben Wing  <ben@xemacs.org>
12066
12067         * emacs.c:
12068         * emacs.c (ensure_no_quitting_from_now_on):
12069         * emacs.c (fatal_error_signal):
12070         * emacs.c (mswindows_handle_hardware_exceptions):
12071         * emacs.c (main):
12072         * emacs.c (Fkill_emacs):
12073         * emacs.c (shut_down_emacs):
12074         * emacs.c (assert_failed):
12075         various improvements in fatal error handling.
12076
12077         * eval.c:
12078         move preparing_for_armageddon to emacs.c.
12079
12080         * lisp.h:
12081         declare fatal_error_in_progress.
12082
12083         * print.c:
12084         * print.c (std_handle_out_external):
12085         * print.c (std_handle_out_va):
12086         * print.c (stderr_out):
12087         * print.c (stdout_out):
12088         use console under mswin when no standard output.
12089         don't do code conversion during fatal error.
12090
12091         * scrollbar.c (Fscrollbar_page_up):
12092         * scrollbar.c (Fscrollbar_page_down):
12093         fix missing else.  reindent.
12094
12095 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12096
12097         Emergency fix.
12098
12099         * glyphs.h (GLYPH_CACHEL_DESCENT):
12100         (GLYPH_CACHEL_DESCENT):
12101         (GLYPH_CACHEL_DESCENT):
12102         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12103         used in case these are inline functions.
12104         Use more absurd values to error check.
12105
12106         include window.h for error check functions.
12107
12108 2000-05-11  Ben Wing  <ben@xemacs.org>
12109
12110         * cmdloop.c (Freally_early_error_handler):
12111         Display message box under windows; otherwise, message will disappear
12112         before it can be viewed.
12113
12114         * console-msw.c:
12115         * console-msw.c (Fmswindows_message_box):
12116         * console-msw.c (FROB):
12117         * console-msw.c (syms_of_console_mswindows):
12118         Define new fun `mswindows-message-box'.
12119         #### I will merge this into `popup-dialog-box'; just give me
12120         a bit of time.
12121
12122         * general.c:
12123         * general.c (syms_of_general):
12124         Some new symbols used in `mswindows-message-box'.
12125
12126         * glyphs.c:
12127         * glyphs.c (Fset_image_instance_property):
12128         put warning in this fun.
12129
12130         * glyphs.h:
12131         * glyphs.h (GLYPH_CACHEL_WIDTH):
12132         * glyphs.h (GLYPH_CACHEL_ASCENT):
12133         * glyphs.h (GLYPH_CACHEL):
12134         * glyphs.h (GLYPH_CACHEL_GLYPH):
12135         define error-checking versions to try to catch a bug i've seen --
12136         redisplay gets in an infinite loop because the glyph width of the
12137         continuation glyph is 65535.
12138
12139         * lisp.h:
12140         Extern message-box stuff.
12141
12142         * window.c (allocate_window):
12143         * window.c (make_dummy_parent):
12144         * window.c (Fset_window_configuration):
12145         Use EQUAL not EQ for subwindow caches to make them work a bit
12146         better. (Something is still very broken.)
12147
12148
12149 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12150
12151         * glyphs.c (image_instantiate): Suppress gcc warnings.
12152         (Fmake_image_instance): Fix doc string.
12153         * specifier.c (Fmake_specifier): Ditto.
12154
12155 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12156
12157         * paths.h.in (PATH_LOCK): Removed.
12158         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12159         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12160
12161 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12162
12163         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12164         Document (featurep '(and xemacs 21.02)).
12165
12166 2000-05-09  Ben Wing  <ben@xemacs.org>
12167
12168         * buffer.c (complex_vars_of_buffer):
12169         update modeline-format doc.
12170
12171         * device.h:
12172         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12173
12174         * emacs.c:
12175         timeline of all released versions of Emacs, for use in creating
12176         authorship comments and in synching up.
12177
12178         * glyphs-widget.c (image_instantiator_buttons):
12179         * glyphs-widget.c (image_instantiator_edit_fields):
12180         * glyphs-widget.c (image_instantiator_combo_box):
12181         * glyphs-widget.c (image_instantiator_scrollbar):
12182         * glyphs-widget.c (image_instantiator_progress_guage):
12183         * glyphs-widget.c (image_instantiator_tree_view):
12184         * glyphs-widget.c (image_instantiator_tab_control):
12185         * glyphs-widget.c (image_instantiator_labels):
12186         * glyphs-widget.c (image_instantiator_layout):
12187         * glyphs-widget.c (image_instantiator_native_layout):
12188         rename decode_domain method to governing_domain.
12189
12190         * glyphs.c:
12191         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12192         * glyphs.c (add_entry_to_device_ii_format_list):
12193         make sure we don't put an entry more than once into the list.
12194         * glyphs.c (check_instance_cache_mapper):
12195         *************************************************************
12196         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12197         HAVE BEEN GETTING.
12198         *************************************************************
12199         * glyphs.c (get_image_instantiator_governing_domain):
12200         clean up, expand on new concept of governing domain.
12201         * glyphs.c (instantiate_image_instantiator):
12202         * glyphs.c (allocate_image_instance):
12203         use governing_domain instead of cache_domain in naming.
12204         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12205         * glyphs.c (make_image_instance_1):
12206         * glyphs.c (Fmake_image_instance):
12207         allow for any domain (not just device), and process the
12208         governing domain correctly.  very big doc fix.
12209         * glyphs.c (Fimage_instance_domain):
12210         new primitive, to retrieve the governing domain of an image instance.
12211         * glyphs.c (image_instantiate):
12212         use new governing_domain stuff.  this fixes a crash you could get
12213         by instantiating certain widget glyphs in frame locales. (should
12214         signal an error instead of crashing.)
12215         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12216         * glyphs.c (Fglyphp): clean up doc.
12217         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12218         * glyphs.c (syms_of_glyphs):
12219         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12220         * glyphs.c (image_instantiator_format_create): add some comments about
12221         bogus code.
12222         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12223         for current-display-table. (Apparently Hrjove implemented in 1998 a
12224         design I wrote up in 1996, but didn't update the doc string.)
12225
12226         * glyphs.h: clean up a doc string.
12227         * glyphs.h (governing_domain):
12228         * glyphs.h (struct image_instantiator_methods):
12229         changes for governing_domain stuff.
12230
12231         * gutter.c:
12232         * gutter.c (Fgutter_specifier_p):
12233         * gutter.c (Fgutter_size_specifier_p):
12234         * gutter.c (Fgutter_visible_specifier_p):
12235         * objects.c:
12236         * objects.c (Fcolor_specifier_p):
12237         * objects.c (Ffont_specifier_p):
12238         * objects.c (Fface_boolean_specifier_p):
12239         doc strings moved to make-*-specifier.
12240
12241         * redisplay.c (add_disp_table_entry_runes_1):
12242         * redisplay.c (generate_fstring_runes):
12243         * redisplay.c (screen):
12244         add random comments and doc strings.
12245
12246         * specifier.c:
12247         * specifier.c (Fmake_specifier):
12248         major overhaul of this doc string.
12249
12250         * specifier.c (Fvalid_specifier_domain_p):
12251         comment about the bogosity of image instances being domains.
12252         * specifier.c (decode_domain):
12253         now non-static, used in glyphs.c.
12254         * specifier.c (specifier_instance):
12255         comment about the bogosity of image instances being domains.
12256         * specifier.c (Fgeneric_specifier_p):
12257         move doc string to make-generic-specifier.
12258         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12259         rebackslashify.
12260
12261         * specifier.h:
12262         * specifier.h (DOMAIN_FRAME):
12263         * specifier.h (DOMAIN_LIVE_P):
12264         * specifier.h (DOMAIN_XDEVICE):
12265         rebackslashify.
12266         add comments about problems with these macros.
12267         prototype for decode_domain.
12268
12269         * toolbar.c:
12270         * toolbar.c (Ftoolbar_specifier_p):
12271         move doc string to `make-toolbar-specifier'.
12272
12273         * window.c (window_unmap_subwindows_cache_mapper):
12274         *************************************************************
12275         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12276         HAVE BEEN GETTING.
12277         *************************************************************
12278
12279 2000-05-09  Andy Piper  <andy@xemacs.org>
12280
12281         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12282
12283         * window.c (Fset_window_configuration): reset the frame subwindow
12284         cache and re-initialize the window subwindow caches.
12285
12286         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12287
12288 2000-05-09  Ben Wing  <ben@xemacs.org>
12289
12290         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12291         DWORD.
12292
12293 2000-04-26  Mike Woolley  <mike@bulsara.com>
12294
12295         * ntheap.c: Changed recreate_heap to limit the amount reserved
12296         for the heap to that which is actually available. Also now
12297         displays a message box (with some dignostics) in the event that
12298         it still can't start.
12299
12300 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12301
12302         * callproc.c (Fold_call_process_internal): GCPRO path
12303
12304 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12305
12306         Patch by Bill Perry.
12307
12308         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12309         back data instead of #ifdef.
12310         (Fscrollbar_page_down): ditto.
12311
12312 2000-05-07  Ben Wing  <ben@xemacs.org>
12313
12314         * buffer.h:
12315         Kludge for defining Qmswindows_tstr.
12316
12317         * nt.c:
12318         * nt.c (open_input_file):
12319         * nt.c (open_output_file):
12320         * nt.c (rva_to_section):
12321         * nt.c (mswindows_executable_type):
12322         Move all memory-mapped-file routines here (some were in unexnt.c,
12323         which is bad because they are used by process-nt.c, and unexnt
12324         won't be around when portable dumping).  Synched the above routines
12325         with FSF 20.6.
12326
12327         * nt.h:
12328         Removed ifdef'd out bogus code.
12329         Fixed some prototypes.
12330
12331         * nt.h (file_data):
12332         * nt.h (OFFSET_TO_RVA):
12333         * nt.h (RVA_TO_OFFSET):
12334         * nt.h (RVA_TO_PTR):
12335         Moved the memory-mapped-file structures, macros and prototypes
12336         here, to parallel nt.c.  ntheap.h should really be removed
12337         entirely, and it's a non-portable-dumper specific file.
12338
12339         * ntheap.h (round_to_next):
12340         Moved the memory-mapped-file structures, macros and prototypes
12341         to nt.h.
12342
12343         * ntproc.c (compare_env):
12344         Moved rva_to_section and mswindows_executable_type to nt.c.
12345         Moved compare_env to process-nt.c.
12346         ntproc.c will die, one day.
12347
12348         * ntproc.c (sys_spawnve):
12349         Account for win32_ -> mswindows_.
12350
12351         * process-nt.c:
12352         * process-nt.c (struct nt_process_data):
12353         * process-nt.c (ensure_console_window_exists):
12354         * process-nt.c (compare_env):
12355         * process-nt.c (nt_create_process):
12356         * process-nt.c (nt_kill_process_by_pid):
12357         * process-nt.c (syms_of_process_nt):
12358         * process-nt.c (vars_of_process_nt):
12359         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12360         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12361         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12362         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12363         Move compare_env here from ntproc.c.
12364
12365         * process.c (Fprocess_send_region):
12366         Takes an optional fourth argument, BUFFER, which should fix some
12367         problems with call-process.
12368
12369         * syscommctrl.h:
12370         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12371
12372         * syswindows.h:
12373         Move ICC_BAR_CLASSES to syscommctrl.h.
12374         Add preliminary macros for MSWindows/Mule.  More to come.
12375
12376         * unexnt.c:
12377         * unexnt.c (unexec):
12378         open_output_file moved to nt.c.
12379
12380
12381 2000-05-05  Andy Piper  <andy@xemacs.org>
12382
12383         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12384         instance from the frame cache also since GC may catch up too late
12385         to make frame deletion sane.
12386
12387 2000-05-04  Andy Piper  <andy@xemacs.org>
12388
12389         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12390         (x_finalize_image_instance): ungcpro on deletion.
12391
12392         * glyphs.c (image_instantiator_format_create): give pointers a
12393         query geometry method so that the geometry is at least set.
12394
12395         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12396         initialize layouts if using widgets.
12397
12398 2000-05-03  Andy Piper  <andy@xemacs.org>
12399
12400         * nt.c: remove bogus reference to sysmmsystem.h
12401
12402         * gui-x.c (popup_selection_callback): fix no selection abort.
12403
12404 2000-05-02  Andy Piper  <andy@xemacs.org>
12405
12406         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12407         (mswindows_widget_instantiate): ditto.
12408
12409         * glyphs-widget.c (initialize_widget_image_instance): initialize
12410         children correctly.
12411         (widget_instantiate): cope with children and items in the same
12412         instance.
12413
12414         * glyphs.c (mark_image_instance): cope with children as a first
12415         class member.
12416         (image_instance_equal): ditto.
12417         (image_instance_hash): ditto.
12418         (image_instance_changed): ditto.
12419
12420 2000-04-30  Andy Piper  <andy@xemacs.org>
12421
12422         * glyphs.c (subwindow_query_geometry): new function. Return some
12423         defaults.
12424         (subwindow_instantiate): don't assign dimensions if none have been
12425         given.
12426         (image_instantiator_format_create): add subwindow_query_geometry.
12427         (print_image_instance): cope with layouts as widgets.
12428
12429 2000-04-29  Andy Piper  <andy@xemacs.org>
12430
12431         * frame.c (delete_frame_internal): call
12432         free_frame_subwindow_instance_cache so that all subwindows are
12433         finalized before their parent.
12434         (mark_frame): remove subwindow_cachels.
12435         (Fmake_frame): remove subwindow_cachel manipulation.
12436         (allocate_frame_core): subwindow_instance_cache is a weak list.
12437         (delete_frame_internal): set subwindow_instance_cache to nil.
12438
12439         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12440         finalization safe.
12441         (mswindows_finalize_image_instance): use the device
12442         not the domain as the domain may have died already.
12443
12444         * glyphs-x.c (x_finalize_image_instance): ditto.
12445         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12446         HEIGHT.
12447
12448         * redisplay-output.c (redisplay_unmap_subwindows): update for
12449         subwindow instance cache as a weak list.
12450         (redisplay_unmap_subwindows_maybe): ditto.
12451         (redisplay_unmap_subwindows_except_us): ditto.
12452
12453         * glyphs.c (unmap_subwindow): error checking will check the domain
12454         so don't deal with it here. Don't use cachels anymore.
12455         (map_subwindow): ditto.
12456         (update_subwindow_cachel_data): remove old accessor names.
12457         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12458         (Fresize_subwindow): don't update cachel.
12459         (mark_subwindow_cachels):
12460         (update_subwindow_cachel_data):
12461         (add_subwindow_cachel):
12462         (get_subwindow_cachel_index):
12463         (update_subwindow_cachel):
12464         (reset_subwindow_cachels):
12465         (mark_subwindow_cachels_as_not_updated): deleted.
12466         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12467         subwindow instance to the frame cache.
12468         (find_matching_subwindow): update for subwindow instance cache as
12469         a weak list.
12470         (update_widget_instances): ditto.
12471         (image_instance_type_to_mask):inlined.
12472         (free_frame_subwindow_instance_cache): new function. finalize all
12473         subwindows that are instantiated.
12474
12475         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12476         of cachel information.
12477         (IMAGE_INSTANCE_DISPLAY_X):
12478         (IMAGE_INSTANCE_DISPLAY_Y):
12479         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12480         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12481         (XIMAGE_INSTANCE_DISPLAY_X):
12482         (XIMAGE_INSTANCE_DISPLAY_Y):
12483         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12484         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12485         remove subwindow_cachel structure and function references.
12486         (image_instance_type_to_mask): inline from glyphs.c
12487
12488         * redisplay.c (redisplay_frame): remove subwindow_cachel
12489         references.
12490
12491         * frame.h (struct frame): remove subwindow_cachels.
12492         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12493
12494         * frameslots.h: add subwindow_instance_cache.
12495
12496         * window.c (replace_window): check subwindow cache of replacement.
12497         (window_unmap_subwindows_cache_mapper):
12498         (window_unmap_subwindows): new functions. Unmap all subwindows
12499         cached on this window.
12500         (mark_window_as_deleted): unmap all subwindows.
12501
12502 2000-04-27  Andy Piper  <andy@xemacs.org>
12503
12504         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12505
12506         * glyphs-widget.c (widget_layout): return something.
12507         (layout_layout): return something. Fail if not initialized.
12508         (layout_query_geometry): ditto.
12509         (image_instantiator_native_layout): new function. Initialized the
12510         native layout type.
12511         (widget_instantiate): don't do layout stuff here.
12512
12513         * glyphs.c (instantiate_image_instantiator): reorded calling or
12514         instantiate and post_instantiate with layout in between.
12515         (image_instance_layout): be more selective about deciding whether
12516         the layout has been done or not.
12517
12518         * glyphs.h (struct image_instantiator_methods): return a value
12519         from layout_method.
12520
12521 2000-04-26  Andy Piper  <andy@xemacs.org>
12522
12523         * glyphs.c (allocate_image_instance): make initial width and
12524         height unspecified. Set initialized to 0.
12525
12526         * syscommctrl.h new file. Encapsulates commctrl.h.
12527
12528         * syswindows.h new file. Encapsulates windows.h.
12529
12530         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12531         * nt.c: ditto.
12532         * console-msw.h: ditto.
12533
12534         * redisplay-tty.c (tty_output_display_block): remove layout references.
12535
12536         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12537         window handle rather than just the frame.
12538
12539         * glyphs.c (mark_image_instance): remove layout references.
12540         (print_image_instance): ditto.
12541         (image_instance_equal): ditto.
12542         (image_instance_hash): ditto.
12543         (decode_image_instance_type): ditto.
12544         (encode_image_instance_type): ditto.
12545         (image_instantiate): ditto.
12546         (allocate_glyph): ditto.
12547         (Fimage_instance_height): ditto.
12548         (Fimage_instance_width): ditto.
12549         (update_subwindow): ditto.
12550
12551         * redisplay-x.c (x_output_display_block): recode for layouts as
12552         widgets.
12553
12554         * redisplay-output.c (redisplay_output_layout): recode for layouts
12555         as widgets.
12556         (compare_runes): remove layout references.
12557
12558         * redisplay-msw.c (mswindows_output_display_block): recode for
12559         layouts as widgets.
12560
12561         * glyphs-widget.c (image_instantiator_layout): remove
12562         layout_possible_dest_types.
12563         (layout_possible_dest_types): deleted.
12564
12565         * glyphs.h (image_instance_type): remove layout references.
12566         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12567         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12568         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12569
12570 2000-04-25  Andy Piper  <andy@xemacs.org>
12571
12572         * glyphs-widget.c (image_instantiator_buttons):
12573         (image_instantiator_edit_fields):
12574         (image_instantiator_combo_box):
12575         (image_instantiator_scrollbar):
12576         (image_instantiator_progress_guage):
12577         (image_instantiator_tree_view):
12578         (image_instantiator_tab_control):
12579         (image_instantiator_labels):
12580         (image_instantiator_layout): call default post_instantiate method.
12581         (widget_post_instantiate): new function. Simply lays out the
12582         widgets.
12583
12584         * glyphs.h (struct image_instantiator_methods): add
12585         post_instantiate method.
12586
12587         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12588         method calls.
12589
12590 2000-04-23  Andy Piper  <andy@xemacs.org>
12591
12592         * glyphs.h (struct image_instantiator_methods): add
12593         decode_domain_method.
12594         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12595         derived from the domain.
12596         (IMAGE_INSTANCE_FRAME): new accessor.
12597         (XIMAGE_INSTANCE_FRAME): ditto.
12598
12599         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12600         instead of _SUBWINDOW_FRAME.
12601         (finalize_image_instance): ditto.
12602         (Fimage_instance_foreground): ditto.
12603         (Fimage_instance_background): ditto.
12604         (image_instantiate): ditto.
12605         (update_subwindow_cachel): ditto.
12606         (update_subwindow): ditto.
12607         (unmap_subwindow): ditto.
12608         (map_subwindow): ditto
12609         (subwindow_instantiate): ditto.
12610         * glyphs-msw.c (mswindows_update_widget): ditto.
12611         (mswindows_progress_gauge_instantiate): ditto.
12612         (mswindows_tab_control_update): ditto.
12613         * glyphs-x.c (x_update_widget): ditto.
12614         (x_widget_instantiate): ditto.
12615         (x_tab_control_instantiate): ditto.
12616         (x_tab_control_update): ditto.
12617         * event-msw.c (mswindows_wnd_proc): ditto
12618
12619         * glyphs-widget.c (image_instantiator_layout): use
12620         subwindow_decode_domain.
12621         (image_instantiator_buttons): ditto.
12622         (image_instantiator_edit_fields): ditto.
12623         (image_instantiator_combo_box): ditto.
12624         (image_instantiator_scrollbar): ditto.
12625         (image_instantiator_progress_guage): ditto.
12626         (image_instantiator_tree_view): ditto.
12627         (image_instantiator_tab_control): ditto.
12628         (image_instantiator_labels): ditto.
12629         (image_instantiator_layout): ditto.
12630
12631         * glyphs.c: add instance error checking to many functions.
12632         (instantiate_image_instantiator): decode device from cache_domain.
12633         (image_instantiate): partially rewrite by using
12634         decode_image_instantiator_domain to determine what domain the
12635         instance needs to be cached in.
12636         (decode_image_instantiator_domain): new function. Determine what
12637         domain the image needs to be cached in.
12638         (check_window_subwindow_cache): new error checking function.
12639         (check_instance_cache_mapper): ditto.
12640         (check_image_instance_structure): ditto.
12641         (subwindow_decode_domain): new function. Encodes a window as a
12642         subwindow's cache domain.
12643         (image_instantiator_format_create): use it for text and
12644         subwindows.
12645
12646 2000-04-21  Andy Piper  <andy@xemacs.org>
12647
12648         * glyphs.c (image_instance_device): new function.
12649         (image_instance_frame): new function.
12650         (image_instance_window): new function.
12651         (image_instance_live_p): new function.
12652
12653         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12654         cache to nil.
12655
12656         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12657         (IMAGE_INSTANCE_DOMAIN): new accessor.
12658         (XIMAGE_INSTANCE_DOMAIN): ditto.
12659
12660         * glyphs-x.c (x_finalize_image_instance): device->domain.
12661
12662         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12663         (mswindows_finalize_image_instance): ditto.
12664
12665         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12666         (gif_instantiate): ditto.
12667         (png_instantiate): ditto.
12668         (tiff_instantiate): ditto.
12669
12670         * glyphs.c (instantiate_image_instantiator): use domain rather
12671         than device.
12672         (mark_image_instance): device -> domain.
12673         (print_image_instance): ditto.
12674         (finalize_image_instance): ditto.
12675         (image_instance_equal): ditto.
12676         (allocate_image_instance): ditto.
12677         (Fcolorize_image_instance): ditto.
12678         (query_string_geometry): ditto.
12679         (image_instantiate): ditto
12680         (query_string_font): ditto.
12681         (image_instantiate): ditto.
12682         (update_subwindow): ditto.
12683         (unmap_subwindow): ditto.
12684         (map_subwindow): ditto.
12685         (subwindow_instantiate): ditto.
12686
12687         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12688         (DOMAIN_FRAME): ditto.
12689         (DOMAIN_WINDOW): ditto.
12690         (DOMAIN_LIVE_P): ditto.
12691         (XDOMAIN_DEVICE): ditto.
12692         (XDOMAIN_FRAME): ditto.
12693         (XDOMAIN_WINDOW): ditto.
12694
12695         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12696         a valid specifier domain.
12697
12698 2000-04-19  Andy Piper  <andy@xemacs.org>
12699
12700         * glyphs-widget.c (syms_of_glyphs_widget): remove
12701         widget-callback-current-channel.
12702         (vars_of_glyphs_widget): ditto.
12703         * glyphs.h: ditto
12704
12705         * gui.c (get_gui_callback): revert to previous behaviour.
12706
12707 2000-04-18  Andy Piper  <andy@xemacs.org>
12708
12709         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12710         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12711         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12712
12713         * glyphs.c (image_instance_equal): add margin_width.
12714         (image_instance_hash): ditto.
12715
12716         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12717         (layout_query_geometry): ditto.
12718         (layout_layout): ditto.
12719         (syms_of_glyphs_widget): add margin-width.
12720         (image_instantiator_layout): allow margin-width.
12721
12722         * glyphs.c (update_widget_instances): make a normal function.
12723         (syms_of_glyphs): remove Qupdate_widget_instances.
12724         * glyphs.h: ditto.
12725
12726         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12727         so that we don't corrupt ideas about the last event or
12728         command. Remove widget-callback-current-channel fiddling.
12729         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12730
12731 2000-05-01  Martin Buchholz <martin@xemacs.org>
12732
12733         * XEmacs 21.2.33 is released.
12734
12735 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12736
12737         * make-src-depend: Allow dots in header file name.
12738
12739 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12740
12741         * mule-charset.h (struct charset_lookup): Add
12742         next_allocated_1_byte_leading_byte and
12743         next_allocated_2_byte_leading_byte.
12744         * mule-charset.c: Move above two variables so that those values
12745         will be dumped.
12746
12747 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12748
12749         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12750         when string length is zero.
12751         (find_charsets_in_emchar_string): Ditto.
12752
12753 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12754
12755         * lisp.h: extern Qdialog and Qmenubar.
12756
12757         * gui-x.c: added events.h.
12758                 also fixed typo which made the file uncompilable.
12759
12760         * general.c: Added Qmenubar and Qdialog
12761
12762 2000-04-28  Ben Wing  <ben@xemacs.org>
12763
12764         * frame-msw.c (mswindows_init_frame_1):
12765         * frame-msw.c (mswindows_mark_frame):
12766         * event-msw.c (mswindows_enqueue_dispatch_event):
12767         * console-msw.h:
12768         * console-msw.h (struct mswindows_frame):
12769         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12770         there are now three hash tables for callbacks.
12771         mswindows_enqueue_dispatch_event is no longer static.
12772
12773         * dialog-x.c (maybe_run_dbox_text_callback):
12774         * dialog-x.c (dbox_descriptor_to_widget_value):
12775         switch to new cons3 form for callbacks.
12776
12777         * glyphs-msw.c (mswindows_register_gui_item):
12778         * glyphs-msw.c (mswindows_widget_instantiate):
12779         * glyphs-msw.c (add_tree_item):
12780         * glyphs-msw.c (add_tab_item):
12781         new image instance parameter, so it can be passed to callback-ex.
12782         respect :callback-ex as well as :callback.
12783
12784         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12785         add :callback-ex.
12786
12787         * glyphs.c (print_image_instance):
12788         prettify, e.g. now prints widget type.
12789
12790         * gui-x.h:
12791         certain funs have new image instance parameter.
12792
12793         * gui.c:
12794         * gui.c (get_gui_callback):
12795         * gui.c (gui_item_add_keyval_pair):
12796         * gui.c (gui_item_init):
12797         * gui.c (gui_add_item_keywords_to_plist):
12798         * gui.c (mark_gui_item):
12799         * gui.c (gui_item_hash):
12800         * gui.c (gui_item_equal):
12801         * gui.c (copy_gui_item):
12802         * gui.c (syms_of_gui):
12803         recognize callback-ex in a number of places.
12804         also, fix the annoying "can't get out of yes-no dialog" bug.
12805
12806         * gui.h:
12807         * gui.h (struct Lisp_Gui_Item):
12808         recognize callback-ex in a number of places.
12809
12810         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12811         new parameter in button_item_to_widget_value.
12812
12813         * glyphs-x.c (x_update_widget):
12814         * glyphs-x.c (x_button_instantiate):
12815         * glyphs-x.c (x_button_update):
12816         * glyphs-x.c (x_progress_gauge_instantiate):
12817         * glyphs-x.c (x_edit_field_instantiate):
12818         * glyphs-x.c (x_combo_box_instantiate):
12819         * glyphs-x.c (x_tab_control_instantiate):
12820         * glyphs-x.c (x_label_instantiate):
12821         new image instance parameter in various places.
12822
12823         * event-Xt.c:
12824         * event-Xt.c (enqueue_Xt_dispatch_event):
12825         this fun gets exported.
12826
12827         * gui-msw.c:
12828         * gui-msw.c (mswindows_handle_gui_wm_command):
12829         handle both :callback and :callback-ex, and generate our own
12830         event because it's one of the callback-ex arguments.
12831
12832         * gui-x.c:
12833         * gui-x.c (popup_selection_callback):
12834         handle both :callback and :callback-ex, and generate our own
12835         event because it's one of the callback-ex arguments.
12836         * gui-x.c (button_item_to_widget_value):
12837         * gui-x.c (gui_items_to_widget_values_1):
12838         * gui-x.c (gui_item_children_to_widget_values):
12839         * gui-x.c (gui_items_to_widget_values):
12840         new image instance parameter in various places.
12841
12842         * fns.c (Freplace_list):
12843         fix small typo in doc string.
12844
12845         * lisp.h:
12846         declare enqueue_Xt_dispatch_event.
12847
12848 2000-04-28  Ben Wing  <ben@xemacs.org>
12849
12850         * buffer.c:
12851         * buffer.c (Frecord_buffer):
12852         * buffer.c (syms_of_buffer):
12853         delete record-buffer-hook.
12854
12855         * fns.c:
12856         * fns.c (Freplace_list):
12857         * fns.c (syms_of_fns):
12858         new primitive replace-list.
12859
12860         * frameslots.h:
12861         slot for old buffer-alist.
12862
12863         * lisp.h:
12864         exfun replace-list.
12865
12866         * redisplay.c:
12867         * redisplay.c (redisplay_frame):
12868         * redisplay.c (syms_of_redisplay):
12869         * redisplay.c (vars_of_redisplay):
12870         new hook buffer-list-changed-hook.
12871         call it.
12872
12873 2000-04-27  Ben Wing  <ben@xemacs.org>
12874
12875         * extents.h: extern in_modeline_generation.
12876
12877         * redisplay.c (generate_formatted_string_db): set
12878         in_modeline_generation.
12879
12880         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12881         flags if in modeline generation.  otherwise frame-modified-tick
12882         is ticked far too often.
12883         Declare in_modeline_generation.
12884
12885 2000-04-26  Ben Wing  <ben@xemacs.org>
12886
12887         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12888         option.
12889         (vars_of_emacs): add quick-build as an error-checking option.
12890         A bit kludgy, but there doesn't seem much point in creating
12891         a real var for this.
12892
12893         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12894
12895 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12896
12897         * redisplay.h (struct display_line): Add a new variable,
12898         line_continuation.
12899
12900         * redisplay.c (create_text_block): Set dl->line_continuation if
12901         the line continues.
12902         (create_string_text_block): Ditto.
12903         (regenerate_window_incrementally): Use line_continuation instead
12904         of searching continuation glyph.
12905         (add_margin_runes): Call add_glyph_rune.
12906         (add_glyph_rune): Handle margin glyph.
12907
12908 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12909
12910         * filelock.c (fill_in_lock_file_name):
12911         ANSIfy.
12912         Check for IS_ANY_SEP instead of '/'.
12913         (lock_file_1):
12914         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12915         Never check errno without first seeing that system call failed.
12916         (unlock_file): Add GCPRO.
12917         (Flock_buffer): Fix docstring.
12918         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12919
12920 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12921
12922         * sysdep.c (get_pty_max_bytes):
12923         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12924         strings longer than 252 bytes.
12925
12926         * md5.c: Unconditionally include ANSI header <limits.h>
12927
12928         * glyphs-x.c (convert_EImage_to_XImage):
12929         * lisp-union.h (union Lisp_Object):
12930         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12931
12932 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12933
12934         * filelock.c (current_lock_owner): Remove unused variable o, p.
12935
12936 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12937
12938         * callint.c: Remove multiply defined symbol Qlet
12939         (syms_of_callint): ditto.
12940
12941 2000-04-14  Andy Piper  <andy@xemacs.org>
12942
12943         * general.c (syms_of_general): add last-command, this-command, let
12944         and funcall.
12945
12946         * lisp.h: declare various symbols.
12947
12948         * glyphs.h: declare Qwidget_callback_current_channel;
12949
12950         * glyphs-widget.c (syms_of_glyphs_widget): add
12951         Qgui_callback_current_channel.
12952         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12953
12954         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12955         widget-callback-current-channel when invoking the interactive
12956         arg. Also bind last-command and next-command when invoking the
12957         widget updates.
12958         * gui-x.c (popup_selection_callback): ditto.
12959
12960         * gui.c (get_gui_callback): massage args so that we are always
12961         calling eval. This allows us to add our own variable bindings
12962         outside.
12963
12964         * glyphs-x.c (x_button_instantiate): use
12965         gui_items_to_widget_values since this is GC safe.
12966         (x_progress_gauge_instantiate): ditto.
12967         (x_edit_field_instantiate): ditto.
12968         (x_label_instantiate): ditto.
12969
12970         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12971         (emacs_Xt_event_widget_focus_out): new function
12972         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12973         focus.
12974         (emacs_Xt_event_add_widget_actions): new function. add focus
12975         functions as actions.
12976         (init_event_Xt_late): use it.
12977
12978 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12979
12980         * event-stream.c (Fdispatch_event): Doc fix.
12981
12982 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12983
12984         * postgresql.c: Remove all references to PQsetenv*.
12985
12986         * postgresql.h: Remove references to PGsetenvHandler object.
12987         * lrecord.h (lrecord_type): Ditto.
12988
12989 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12990
12991         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12992         real_heigh and real_width members, and accessor macros for these.
12993
12994         * glyphs-msw.c (init_image_instance_geometry): New function.
12995         (init_image_instance_from_dibitmap): Use it.
12996         (mswindows_resource_instantiate): Use it.
12997         (init_image_instance_from_xbm_inline): Use it.
12998         (mswindows_initialize_image_instance_mask): Use real bitmap
12999         geometry.
13000         (mswindows_create_resized_bitmap): Ditto.
13001         (mswindows_create_resized_mask): Ditto.
13002
13003         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13004         and bitmap to their surface size.
13005
13006 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13007
13008         * process-unix.c (unix_send_process): Guard against process MIA
13009         after Faccept_process_output.
13010
13011 2000-04-11  Ben Wing  <ben@xemacs.org>
13012
13013         * eval.c (unbind_to_hairy): fix brokenness introduced by
13014         nanosecond speed improvements.
13015
13016 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13017
13018         * sunplay.c (init_device): To play sounds correctly, the device
13019         apparently needs to be initialized at least once by XEmacs.  Make
13020         it so.
13021
13022 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13023
13024         * redisplay.c (add_margin_runes): Add text image glyph
13025           handling.
13026
13027 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13028
13029         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13030         gcc is newer than 2.5.
13031
13032 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13033
13034         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13035
13036         * fns.c (size_bit_vector):
13037         * alloc.c (size_vector):
13038         (make_vector_internal):
13039         (make_bit_vector_internal):
13040         (sweep_bit_vectors_1):
13041         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13042
13043 2000-04-06  Andy Piper  <andy@xemacs.org>
13044
13045         * gmalloc.c (malloc): undo previous change.
13046         (malloc): ditto.
13047         (free): ditto.
13048         (realloc): ditto.
13049
13050 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13051
13052         * line-number.c (buffer_line_number): Revert to former version.
13053
13054 2000-04-06  Andy Piper  <andy@xemacs.org>
13055
13056         * gmalloc.c (malloc): add error checking.
13057         (malloc): ditto.
13058         (free): ditto.
13059         (realloc): ditto.
13060
13061         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13062         button_item_to_widget_value arg.
13063
13064         * glyphs-x.c (x_button_instantiate): add extra
13065         button_item_to_widget_value arg.
13066         (x_progress_gauge_instantiate): ditto.
13067         (x_edit_field_instantiate): ditto.
13068         (x_label_instantiate): ditto.
13069
13070         * gui-x.c (gui_items_to_widget_values_1): add extra
13071         button_item_to_widget_value arg.
13072         (button_item_to_widget_value): add extra menu_item_p arg.
13073
13074         * gui-x.h: change signature of button_item_to_widget_value.
13075
13076         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13077         button_item_to_widget_value arg.
13078
13079 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13080
13081         * buffer.h (struct buffer): auto_save_modified should be long.
13082
13083 2000-04-05  Andy Piper  <andy@xemacs.org>
13084
13085         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13086         type.
13087         (button_query_geometry): give a little more room so that athena
13088         buttons fit.
13089
13090 2000-04-05  Andy Piper  <andy@xemacs.org>
13091
13092         * faces.c (complex_vars_of_faces): The widget face should inherit
13093         the font of the gui-element face.
13094
13095 2000-04-04  Andy Piper  <andy@xemacs.org>
13096
13097         * glyphs-x.c (x_button_update): new function. unconditionally
13098         update a button's state when the instance is dirty.
13099         (image_instantiator_format_create_glyphs_x): add x_button_update.
13100         (x_widget_instantiate): remove old resize cruft.
13101
13102 2000-04-02  Andy Piper  <andy@xemacs.org>
13103
13104         * frame.c (change_frame_size_1): The introduction of gutters means
13105         that we need to allow 0 as a potential frame dimension.
13106
13107 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13108
13109         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13110         image glyph if allow_cursor.
13111         (add_hscroll_rune): Don't allow cursor to border glyph.
13112         (create_text_block): Ditto.
13113
13114         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13115         text not in buffer.
13116         (redisplay_output_layout): Call ensure_face_cachel_complete for
13117         text image glyph.
13118
13119
13120 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13121
13122         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13123
13124         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13125         not in buffer
13126
13127         * redisplay-tty.c (tty_output_display_block): Delete the routine
13128         for text image glyph
13129         * redisplay-x.c (x_output_display_block): ditto
13130         * redisplay-msw.c (mswindows_output_display_block): ditto
13131
13132 2000-02-02  Mike Alexander  <mta@arbortext.com>
13133
13134         Note: Some of these were committed by accident as part of other
13135         patches.
13136
13137         * regex.c (regex_compile): Avoid compiler warnings.
13138
13139         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13140
13141         * nt.h: Declare term_ntproc correctly.
13142
13143         * nt.c: Remove incorrect declaration of get_home_directory which
13144         is declared correctly in lisp.h.
13145
13146         * keymap.c (get_keyelt): Avoid compiler warnings.
13147         (raw_lookup_key_mapper): Avoid compiler warnings.
13148
13149         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13150
13151         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13152
13153         * filemode.c (mode_string): Avoid compiler warnings.
13154
13155         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13156         avoid warning.
13157
13158         * events-mod.h: Undef some things that winuser.h defines differently.
13159
13160         * data.c (Faset): Avoid compiler warnings.
13161
13162         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13163
13164 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13165
13166         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13167         Fall through to simple beep on error.
13168         Replace "extern" by real header file.
13169
13170         * linuxplay.c: Use nativesound.h
13171         (play_sound_data): Return error code. Be less verbose on error.
13172
13173         * sunplay.c: Use nativesound.h
13174         (play_sound_data): Return error code. Be less verbose on error.
13175
13176         * ntplay.c: Use nativesound.h
13177         (play_sound_data): Return fake error code
13178
13179         * sgiplay.c: Use nativesound.h
13180         (play_sound_data): Return error code
13181
13182         * hpplay.c: Use nativesound.h, partially implement
13183         new error code. Break compilation until finished.
13184         (play_sound_data): error code.
13185
13186         * nativesound.h (play_sound_file):
13187           (play_sound_data): Prototype in new header.
13188
13189 2000-03-31  Andy Piper  <andy@xemacs.org>
13190
13191         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13192         for toggle and radio buttons.
13193         (image_instantiator_buttons): use it.
13194
13195 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13196
13197         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13198         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13199         found. Scrollbar event probably belonged to some old config.
13200
13201 2000-03-31  Andy Piper  <andy@xemacs.org>
13202
13203         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13204         than 1.
13205         (initialize_widget_image_instance): default layout to
13206         LAYOUT_HORIZONTAL rather than 0.
13207         (widget_instantiate): reverse the item list at the end rather than
13208         every iteration.
13209         (layout_layout): re-code for the border text at the front of the
13210         item list rather than at the end.
13211         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13212         provided by the user.
13213         (widget_query_geometry): comment.
13214
13215 2000-03-30  Andy Piper  <andy@xemacs.org>
13216
13217         * glyphs-widget.c (image_instantiator_layout): allow standard
13218         widget keywords in layouts.
13219
13220         * gutter.c (output_gutter): cope with nil gutter contents.
13221
13222         * frame.c (Fset_frame_properties): add gutter docs.
13223
13224 2000-03-29  Andy Piper  <andy@xemacs.org>
13225
13226         * toolbar-msw.c (TBSTYLE_FLAT): add.
13227         (mswindows_output_toolbar): minor fiddling.
13228
13229 2000-03-29  Andy Piper  <andy@xemacs.org>
13230
13231         * gutter.c (output_gutter): force gutter size recalculation if
13232         what we are trying to display won't fit.
13233         (update_gutter_geometry): new function. A per-gutter version of
13234         update_frame_gutter_geometry.
13235         (update_frame_gutter_geometry): use it.
13236         (redraw_exposed_gutter): add extra debugging output.
13237
13238 2000-03-28  Mike Alexander  <mta@arbortext.com>
13239
13240         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13241         (pdump_file_unmap): Implement it on Windows
13242         (pdump_file_get): Save alocated handles for pdump_file_unmap
13243
13244 2000-03-28  Andy Piper  <andy@xemacs.org>
13245
13246         * gui.c (get_gui_callback): treat Quit specially.
13247
13248 2000-03-27  Andy Piper  <andy@xemacs.org>
13249
13250         * glyphs.c (image_instantiate): be careful to check in the same
13251         way we assigned.
13252
13253 2000-03-27  Didier Verna  <didier@xemacs.org>
13254
13255         * config.h.in: define the proper SMART_INCLUDE macro.
13256         handle renaming of `foo_h_path' to `foo_h_file'.
13257
13258         * database.c: ditto.
13259
13260         * emacs.c: ditto.
13261
13262         * linuxplay.c: ditto.
13263
13264         * terminfo.c: ditto.
13265
13266         * tooltalk.h: ditto.
13267
13268 2000-03-27  Andy Piper  <andy@xemacs.org>
13269
13270         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13271         gets updated whenever the face might have changed.
13272
13273 2000-03-26  Mike Alexander  <mta@arbortext.com>
13274
13275         * dumper.c (pdump_resource_free): Fix the comment.
13276
13277 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13278
13279         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13280
13281 2000-03-22  Mike Alexander  <mta@arbortext.com>
13282
13283         * dumper.c: Include Windows headers on Windows
13284         (pdump_resource_free): Add a body to the function
13285         (pdump_load): exe_name -> exe_path and add some comments.
13286
13287 2000-03-25  Mike Alexander  <mta@arbortext.com>
13288
13289         * gui.c (copy_gui_item_tree): Return a value in all cases
13290
13291 2000-03-21  Didier Verna  <didier@xemacs.org>
13292
13293         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13294         lwlib/config.h.in.
13295         (SMART_INCLUDE): new macro.
13296         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13297         the proper location.
13298
13299         * postgresql.c: use it.
13300
13301         * inline.c: ditto.
13302
13303 2000-03-24  Andy Piper  <andy@xemacs.org>
13304
13305         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13306         do this.
13307
13308 2000-03-24  Andy Piper  <andy@xemacs.org>
13309
13310         * redisplay-output.c (compare_runes): use image_instance_changed
13311         to detect changes. Do not depend on glyphs_changed, only depend on
13312         dirtiness.
13313          (redisplay_output_layout): add debug messages.
13314         (compare_runes): ditto.
13315
13316         * glyphs.h: declare new functions.
13317         (struct Lisp_Image_Instance): remove percent and associated
13318         accessors.
13319
13320         * gui.h: declare new copying functions.
13321
13322         * gui.c (copy_gui_item_tree): new function.
13323         (copy_gui_item): new function.
13324         (gui_item_id_hash): revert to standard hash.
13325         (gui_item_hash): ditto.
13326         (gui_item_hash_internal): deleted.
13327         (mark_gui_item): mark value.
13328         (gui_item_add_keyval_pair): add value.
13329         (gui_item_init): ditto.
13330         (gui_add_item_keywords_to_plist): ditto.
13331         (gui_item_equal): ditto.
13332         (syms_of_gui): add Q_value.
13333
13334         * glyphs-x.c (x_progress_gauge_update): use pending items and
13335         value for setting the state.
13336         (x_update_widget): don't set items from pending here.
13337
13338         * glyphs-widget.c (update_widget): update items here.
13339         (progress_gauge_set_property): use items for storing value. Put
13340         new value in pending items.
13341
13342         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13343         items for new value. Convert percent -> value.
13344         (mswindows_tab_control_update): don't update items here.
13345
13346         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13347         (update_subwindow): ditto.
13348         (image_instance_changed): new function. Compare hash values and
13349         past and present widget items.
13350         (image_instantiate): We more careful about where we instantiate
13351         things.
13352         (image_instantiate): add error checking.
13353
13354         * gutter.c (syms_of_gutter): use -hook.
13355
13356 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13357
13358         * console-tty.c (Fset_console_tty_input_coding_system): Use
13359         Qkeyboard.
13360         (Fset_console_tty_output_coding_system): Use Qterminal.
13361         (tty_init_console): Use Qkeyboard and Qterminal.
13362
13363 2000-03-21  Ben Wing  <ben@xemacs.org>
13364
13365         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13366         From Mike Alexander <mta@arbortext.com>.
13367
13368 2000-03-21  Ben Wing  <ben@xemacs.org>
13369
13370         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13371         process brokenness.  Proper implementation to come.
13372         * callproc.c:
13373         Rename call-process-internal to old-call-process-internal.
13374         New impl. in process.el.
13375
13376 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13377
13378         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13379
13380 2000-03-20  Andy Piper  <andy@xemacs.org>
13381
13382         * glyphs.c (full_list_hash): make hashes of the same elements in
13383         different orders return different values.
13384
13385 2000-03-20  Martin Buchholz <martin@xemacs.org>
13386
13387         * XEmacs 21.2.32 is released.
13388
13389 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13390
13391         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13392         (DFC_MALLOC_USE_CONVERTED_DATA):
13393         Add aliasing-safe casts to allow use with char* or unsigned char*
13394         lvalues.
13395
13396         * eldap.c (Fldap_open):
13397         (Fldap_search_basic):
13398         (Fldap_add):
13399         (Fldap_modify):
13400         Make C++-compilable.
13401         Make sure GCPRO'ed variables are initialized.
13402         Use temp variables to avoid repeated calls to Flength.
13403
13404 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13405
13406         * sysfile.h:
13407         Make sure PATH_MAX is always defined.
13408         Include limits.h for PATH_MAX.
13409         Deprecate use of MAXPATHLEN.
13410
13411 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13412
13413         * emacs.c: Add reinit_vars_of_fileio.
13414         * symsinit.h: Add reinit_vars_of_fileio.
13415         * fileio.c (reinit_vars_of_fileio): New.
13416         * fileio.c (Fmake_temp_name):
13417         Initialize temp_name random number from microseconds to make
13418         collisions even less likely.  Initialize always at process startup
13419         time.  (make-temp-name) used to return the same file name twice in
13420         a row when PDUMP.
13421         Random stylistic fiddling.
13422         Comment fixes.
13423
13424 2000-03-20  Andy Piper  <andy@xemacs.org>
13425
13426         * glyphs.c (image_instantiate): allow text glyphs to be
13427         instantiated in the minibuffer window.
13428
13429 2000-03-19  Andy Piper  <andy@xemacs.org>
13430
13431         * glyphs.c (image_instance_hash): be careful about which items we
13432         hash on.
13433
13434         * glyphs-widget.c (tab_control_set_property): record into pending
13435         items rather than the actual items.
13436
13437         * glyphs-x.c (x_update_widget): use pending items to update with.
13438
13439         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13440         to update with.
13441
13442         * glyphs.c (mark_image_instance): mark pending items.
13443
13444         * window.c (Fset_window_configuration): record the buffer.
13445         (Fselect_window): totally revert previous change which breaks many
13446         things.
13447
13448 2000-03-18  Andy Piper  <andy@xemacs.org>
13449
13450         * glyphs-msw.c (mswindows_tab_control_update): force selected
13451         item.
13452
13453         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13454         window domain cache, otherwise we get inconsistencies at
13455         startup. There is something fishy at startup which can lead to the
13456         minibuffer being the selected window when the gutter content is
13457         instantiated.
13458
13459         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13460         gcpros.
13461         (parse_gui_item_tree_children): ditto.
13462         (parse_gui_item_tree_item): ditto.
13463
13464         * glyphs.c (Fupdate_widget_instances): return something.
13465
13466 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13467
13468         * window.c (Fselect_window): Undo 2000-03-17 change.
13469
13470 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13471
13472         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13473         against v7.0 libraries.  Insta-coredump city until the postgres
13474         folks fix it.
13475
13476 2000-03-17  Andy Piper  <andy@xemacs.org>
13477
13478         * faces.c (complex_vars_of_faces): don't give the widget face an
13479         inherited background pixmap.
13480
13481         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13482         selected item.
13483
13484         * event-stream.c (Fdispatch_non_command_events): return something.
13485
13486         * gutter.c (output_gutter): use widget face.
13487         (clear_gutter): ditto.
13488
13489         * NEWS: adjust again.
13490
13491         * window.c (Fselect_window): make sure this runs to completion to
13492         avoid oddities with Fset_window_configuration.
13493         (Fcurrent_window_configuration): in general do not save the
13494         minibuffer as the selected window.
13495
13496         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13497
13498 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13499
13500         * emacs.c (Frunning_temacs_p): Revert previous patch.
13501         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13502
13503 2000-03-16  Andy Piper  <andy@xemacs.org>
13504
13505         * glyphs-x.c (x_tab_control_update): if no widget values then
13506         return.
13507
13508         * NEWS: update for new features.
13509
13510         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13511         synthetic event to the native system.
13512         (reinit_vars_of_event_Xt): set force_event_pending to
13513         emacs_Xt_force_event_pending.
13514
13515         * events.h (struct event_stream): add force_event_pending.
13516
13517         * specifier.c (recompute_one_cached_specifier_in_window): add
13518         comment.
13519
13520         * redisplay.c (redisplay_frame): don't call
13521         update_frame_subwindows. Reset subwindow cachels when
13522         subwindows_changed, removing this was an optimization too far.
13523
13524         * redisplay-output.c (compare_runes): reorganize so that we catch
13525         glyph changes when we want them. Set optimize_output when this
13526         would help layouts.
13527         (redisplay_output_layout): remove frame_really_changed, use
13528         optimize_output instead.
13529
13530         * redisplay-msw.c (mswindows_output_display_block): reset
13531         optimize_output after outputting a glyph.
13532         * redisplay-x.c (x_output_display_block): ditto.
13533         * redisplay-tty.c (tty_output_display_block): ditto.
13534
13535         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13536         functions.
13537         (gutter_specs_changed): do specific gutter positions.
13538         (top_gutter_specs_changed): new function. Only update the
13539         specified gutter specs.
13540         (bottom_gutter_specs_changed): ditto.
13541         (left_gutter_specs_changed): ditto.
13542         (right_gutter_specs_changed): ditto.
13543
13544         * gui.c (gui_item_hash_internal): new function, does a real hash.
13545         (gui_item_id_hash): use it.
13546         (gui_item_hash): hash the eval'ed gui_item.
13547
13548         * gui-x.c (popup_selection_callback): send an eval event to call
13549         Fupdate_widget_instances.
13550
13551         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13552         to call Fupdate_widget_instances.
13553
13554         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13555         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13556
13557         * glyphs.c: (update_frame_subwindows): deleted.
13558         (Fupdate_widget_instances): new function for updating the dirty
13559         state of widgets that might have changed.
13560         (syms_of_glyphs): add Qupdate_widget_instances.
13561         (full_list_hash): hash a list completely.
13562         (image_instance_hash): use it for items and properties.
13563
13564         * frame-msw.c (mswindows_size_frame_internal): remove unused
13565         variable.
13566
13567         * faces.h (struct face_cachel): fix comment.
13568
13569         * event-stream.c (Fdispatch_non_command_events): new
13570         function. Process non-command events, forcing an event cycle
13571         beforehand.
13572         (syms_of_event_stream): declare.
13573         (event_stream_force_event_pending): new function. Force an event
13574         on the native event queue so that an event cycle will occur next
13575         time we check.
13576
13577         * event-msw.c:
13578         (struct ntpipe_shove_stream):
13579         (mswindows_enqueue_dispatch_event):
13580         (mswindows_dequeue_dispatch_event):
13581         (mswindows_cancel_dispatch_event):
13582         (mswindows_pump_outstanding_events):
13583         (mswindows_drain_windows_queue):
13584         (mswindows_handle_paint):
13585         (mswindows_wnd_proc):
13586         (mswindows_key_to_emacs_keysym):
13587         (get_process_input_waitable):
13588         (emacs_mswindows_delete_stream_pair): re-indent file.
13589         (mswindows_need_event): do not process further fds if the windows
13590         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13591         fixes the 100% cpu problem.
13592         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13593
13594 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13595
13596         * alloc.h: New.
13597         * dumper.h: New.
13598         * dumper.c: New.
13599
13600         * emacs.c: Moved dump file searching to dumper.c.
13601         (Frunning_temacs_p): Fixed.
13602
13603         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13604         last_lrecord_type_index_assigned.
13605
13606 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13607
13608         * symsinit.h: Added reinit parameter to init_console_stream
13609         declaration.
13610
13611         * lisp.h: Added file parameter to pdump_load declaration.
13612
13613         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13614         support.  Added dump file searching.
13615
13616         * config.h.in: Added EMACS_PROGNAME.
13617
13618         * console-stream.c (init_console_stream): Fix reinitialisation
13619         when running from temacs.
13620
13621         * alloc.c (pdump): Add id support.
13622         (pdump_load): Add file parameter and signature/id support.
13623
13624         * Makefile.in.in: Add full pdump support.
13625
13626 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13627
13628         * postgresql.c: Update documentation to reflect latest code
13629         status.
13630         (print_result): Show tuple counts in printed representation when
13631         appropriate.
13632         (Fpq_put_nbytes): MULE-ize.
13633         (Fpq_get_line_async): Ditto.
13634
13635 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13636
13637         * postgresql.c (Fpq_lo_import): Fix return value.
13638         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13639
13640 2000-03-13  Ben Wing  <ben@xemacs.org>
13641
13642         * alloc.c (pdump_load):
13643         Fix compile warning under mswin.
13644
13645 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13646
13647         * postgresql.c: Mule-ization, bug fixes.
13648         Use PG_CODING to encapsulate coding system name changes.
13649         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13650         (pg-coding-system): Create.
13651
13652         (Fpq_conn_defaults): Mule-ize.
13653         (Fpq_connectdb): Mule-ize & bug fix.
13654         (Fpq_connect_start): Mule-ize.
13655         (Fpq_set_client_encoding): Mule-ize.
13656         (Fpq_finish): Document `DEAD' connection status.
13657         (Fpq_clear): Ditto.
13658         (Fpq_pgconn): Mule-ize.
13659         (Fpq_exec): Mule-ize & bug fix.
13660         (Fpq_send_query): Ditto.
13661         (Fpq_get_result): Ditto.
13662         (Fpq_res_status): Mule-ize.
13663         (Fpq_result_error_message): Mule-ize.
13664         (Fpq_ntuples): fix comments.
13665         (Fpq_fname): Mule-ize.
13666         (Fpq_fnumber): Mule-ize.
13667         (Fpq_ftype): fix comments.
13668         (Fpq_get_value): Mule-ize.
13669         (Fpq_cmd_status): Ditto.
13670         (Fpq_cmd_tuples): Ditto.
13671         (Fpq_oid_value): Ditto.
13672         (Fpq_notifies): Ditto.
13673         (Fpq_lo_import): Ditto.
13674         (Fpq_lo_export): Ditto.
13675         (Fpq_get_line): Ditto.
13676         (Fpq_put_line): Mule-ize and bug fix.
13677         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13678
13679 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13680
13681         * postgresql.c (vars_of_postgresql): Mule-ize.
13682         (Fpq_conn_defaults): Ditto.
13683
13684 2000-03-12  Ben Wing  <ben@xemacs.org>
13685
13686         * alloc.c (Fmake_byte_code):
13687         * alloc.c (debug_string_purity_print):
13688         * alloc.c (pdump_backtrace):
13689         * alloc.c (pdump_get_indirect_count):
13690         * alloc.c (pdump_register_sub):
13691         * alloc.c (pdump_register_object):
13692         * alloc.c (pdump_register_struct):
13693         * alloc.c (pdump_dump_data):
13694         * alloc.c (pdump_reloc_one):
13695         Minor cleanups.
13696
13697         * console-msw.c:
13698         * console-msw.c (GetConsoleHwnd):
13699         * console-msw.c (msw_hide_console):
13700         * console-msw.c (msw_show_console):
13701         * console-msw.c (msw_ensure_console_buffered):
13702         * console-msw.c (msw_output_console_string):
13703         * console-msw.c (console_type_create_mswindows):
13704
13705         a) Added functions to manipulate the console window for use with
13706         shell support.
13707
13708         b) Added support for writing text to the console, which is now
13709         used under Windows when xemacs is not being run non-interactively,
13710         to write text that would otherwise be destined for stdout because
13711         under these circumstances, text written to stdout tends to
13712         disappear and not be seen.
13713
13714         * console-msw.h:
13715         * event-Xt.c:
13716         * event-Xt.c (x_event_to_emacs_event):
13717         * event-Xt.c (describe_event_window):
13718         * events-mod.h (XEMACS_MOD_CONTROL):
13719         * events.c:
13720         * events.c (Fmake_event):
13721         * events.c (character_to_event):
13722         * events.c (event_to_character):
13723         * events.c (format_event_object):
13724         * events.c (Fevent_modifiers):
13725         * events.h:
13726         * events.h (struct key_data):
13727         * events.h (struct button_data):
13728         * events.h (struct misc_user_data):
13729         * frame-x.c (Fcde_start_drag_internal):
13730         * frame-x.c (Foffix_start_drag_internal):
13731         * gpmevent.c (Freceive_gpm_event):
13732         * keymap.c:
13733         * keymap.c (bucky_sym_to_bucky_bit):
13734         * keymap.c (control_meta_superify):
13735         * keymap.c (make_key_description):
13736         * keymap.c (keymap_lookup_directly):
13737         * keymap.c (create_bucky_submap):
13738         * keymap.c (keymap_store):
13739         * keymap.c (define_key_check_and_coerce_keysym):
13740         * keymap.c (define_key_parser):
13741         * keymap.c (define_key_alternate_name):
13742         * keymap.c (Fdefine_key):
13743         * keymap.c (raw_lookup_key_mapper):
13744         * keymap.c (struct map_keymap_unsorted_closure):
13745         * keymap.c (map_keymap_unsorted_mapper):
13746         * keymap.c (map_keymap_sort_predicate):
13747         * keymap.c (map_keymap_sorted):
13748         * keymap.c (accessible_keymaps_mapper_1):
13749         * keymap.c (where_is_recursive_mapper):
13750         * keymap.c (describe_map_mapper):
13751         * keymap.c (describe_map_sort_predicate):
13752         * keymap.c (describe_map):
13753         * keymap.c (complex_vars_of_keymap):
13754         And a number of other files, the key modifier preprocessor
13755         constants that xemacs uses have names that conflict with constants
13756         defined under MS Windows for other purposes, so they were renamed
13757         to begin with the prefix XEMACS_. The variables that hold such
13758         modifiers were changed to consistently be of type int to fix
13759         various compile warnings.
13760
13761         * console.c (complex_vars_of_console):
13762         * device.c:
13763         * device-msw.c:
13764         * device-msw.c (mswindows_finish_init_device):
13765         * device-msw.c (msw_get_workspace_coords):
13766         * device-msw.c (mswindows_device_system_metrics):
13767         and various other files, added support for a new
13768         device property called offset-workspace which returns the position
13769         of the upper left corner of the workspace area and goes along with
13770         the existing size-workspace property.
13771
13772         * dialog-msw.c:
13773         * dialog-msw.c (push_bufbyte_string_as_unicode):
13774         * dialog-msw.c (mswindows_popup_dialog_box):
13775         Added support for XEmacs-style accelerator specifications in
13776         button text.  Note: I didn't add support for this under X Windows,
13777         and somebody needs to do this.
13778
13779         * dialog.c:
13780         * dialog.c (Fpopup_dialog_box):
13781         Documented the support for accelerators that was just mentioned.
13782
13783         editfns.c (get_home_directory): Changed behavior under Windows
13784         when HOME not defined; former behavior was irretrievably broken.
13785
13786         * emacs.c:
13787         * emacs.c (main_1):
13788         * emacs.c (main):
13789         * minibuf.c (clear_echo_area_internal):
13790         * minibuf.c (echo_area_append):
13791         * print.c:
13792         * print.c (std_handle_out_external):
13793         * print.c (std_handle_out_va):
13794         * print.c (fatal):
13795         * print.c (write_string_to_stdio_stream):
13796         * print.c (output_string):
13797         * print.c (debug_print):
13798         * print.c (debug_backtrace):
13799         * print.c (debug_short_backtrace):
13800         Cleaned up the code that prints text to stdout so that this can be
13801         changed to output into a console window instead under MS Windows,
13802         as described above.
13803
13804         * eval.c:
13805         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13806         * eval.c (internal_catch):
13807         * eval.c (unwind_to_catch):
13808         * eval.c (throw_or_bomb_out):
13809         * eval.c (condition_case_1):
13810         * eval.c (signal_1):
13811         * eval.c (check_error_state_sanity):
13812         * eval.c (call_with_suspended_errors_1):
13813         * eval.c (call_with_suspended_errors):
13814         * eval.c (reinit_vars_of_eval):
13815         Added code to catch throw loops and check for a pesky bug that may
13816         be gone now.
13817
13818         * event-msw.c:
13819         * event-msw.c (key_needs_default_processing_p):
13820         * event-msw.c (mswindows_wnd_proc):
13821         * event-msw.c (mswindows_modifier_state):
13822         * event-msw.c (emacs_mswindows_quit_p):
13823         * event-msw.c (vars_of_event_mswindows):
13824         a) Added support for using the alt key to select menu items as is
13825         standard under MS Windows.  This is controlled using the variable
13826         menu-accelerator-enabled, just like under X Windows.  There is an
13827         option on the options menu to turn this support on.  I really
13828         think that it should be on by default under Windows, but I'm not
13829         going to make this change yet.
13830
13831         b)  Added support for dynamic display size changes under Windows.
13832
13833         * event-stream.c:
13834         * event-stream.c (maybe_echo_keys):
13835         * event-stream.c (Fnext_event):
13836         * event-stream.c (command_builder_find_leaf):
13837         * event-stream.c (lookup_command_event):
13838         * event-stream.c (execute_command_event):
13839         * event-stream.c (pre_command_hook):
13840         * event-stream.c (post_command_hook):
13841         * event-stream.c (syms_of_event_stream):
13842         * event-stream.c (vars_of_event_stream):
13843         * event-stream.c (complex_vars_of_event_stream):
13844         * events.h (struct command_builder):
13845
13846         a) Tried to clean up a little bit the horribly written x-specific
13847         accelerator code that crept into this file.  I moved this code
13848         into menubar-x.c where it belongs. I also needed to move the
13849         command builder structure into the file events.h because it is
13850         accessed directly by this accelerator code.  What I didn't do, but
13851         which should be done at some point, is to properly abstract this
13852         code using device methods instead of the kludgy way that it
13853         currently hooks into the event code.
13854
13855         b) Added the lisp variables this-command-properties and
13856         last-command- properties, which should be used to synchronize two
13857         adjacent commands in preference to playing games with the variable
13858         this-command, which is typically what happens.
13859
13860         c) Added some slightly nasty code to hook into the lisp support
13861         for shifted- motion-key selection.  This is actually necessary for
13862         somewhat complicated reasons, which are described in
13863         simple.el. (NB: I think the proper thing would be to have the code
13864         that calls the pre and post command hooks also call out to generic
13865         lisp functions in simple.el, where all built-in stuff could be
13866         added.  I will think about this more.)
13867
13868         * event-unixoid.c (poll_fds_for_input):
13869         * lread.c (readchar):
13870         * redisplay-tty.c (tty_clear_frame):
13871         * redisplay-x.c (x_get_gc):
13872         * signal.c (interrupt_signal):
13873         And a whole bunch of other files: fixed up places that printed
13874         directly to stderr to instead call the function stderr_out so that
13875         the changes I made under Windows work correctly.
13876
13877         * filemode.c (mode_string):
13878         Warning fixes.
13879
13880         * frame-msw.c:
13881         * frame-msw.c (mswindows_size_frame_internal):
13882         Fixed the computation of frame size and position to keep the frame
13883         within the workspace area, rather than within the physical
13884         dimensions of the screen, so that the frame doesn't overlap window
13885         manager decorations, such as the start menu and toolbar, typically
13886         at the bottom of the screen.
13887
13888         * frame.c (vars_of_frame):
13889         Changed the default frame title format under MS Windows to consist
13890         of buffername-XEmacs, which is standard under MS Windows.  I think
13891         it might be a good idea to change this everywhere because I think
13892         it is superior to the current frame title format, but this is the
13893         kind of change that is likely to cause some people to get annoyed,
13894         so I'm not making it.
13895
13896         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13897
13898         * gui-msw.c (mswindows_handle_gui_wm_command):
13899         Fixed compile warnings.
13900
13901         * gui-x.c:
13902         * gui-x.c (strdup_and_add_accel):
13903         * gui-x.c (button_item_to_widget_value):
13904         * gui-x.h:
13905         Added code to automatically put an accelerator onto the beginning
13906         of menu items that don't have one as is now the standard, and is
13907         described more later.  Also fixed things so that the menu item
13908         name can be an evaluated expression, again a new standard.
13909
13910         * gui.c:
13911         * gui.c (gui_item_add_keyval_pair):
13912         * gui.c (make_gui_item_from_keywords_internal):
13913         * gui.c (gui_add_item_keywords_to_plist):
13914         * gui.c (gui_item_accelerator):
13915         * gui.c (gui_name_accelerator):
13916         * gui.c (gui_item_included_p):
13917         * gui.c (gui_item_display_flush_left):
13918         * gui.c (gui_item_display_flush_right):
13919         * gui.c (parse_gui_item_tree_item):
13920         * gui.c (parse_gui_item_tree_children):
13921         * gui.c (parse_gui_item_tree_list):
13922         Mule-ized.  Cleanup.  GCPRO addition.
13923
13924         * line-number.c (buffer_line_number):
13925         * lisp.h:
13926         * lisp.h (EMACS_INT_MAX):
13927         Added the manifest constant EMACS_INT_MIN corresponding to the
13928         existing constant EMACS_INT_MAX.  This is partially to fix compile
13929         warnings under Windows, and partly for cleanliness.
13930
13931         * menubar-msw.c:
13932         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13933         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13934         * menubar-msw.c (displayable_menu_item):
13935         * menubar-msw.c (populate_menu_add_item):
13936         * menubar-msw.c (populate_or_checksum_helper):
13937         * menubar-msw.c (populate_menu):
13938         * menubar-msw.c (update_frame_menubar_maybe):
13939         * menubar-msw.c (prune_menubar):
13940         * menubar-msw.c (msw_char_is_accelerator):
13941         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13942         * menubar-msw.c (mswindows_handle_wm_command):
13943         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13944         * menubar-msw.c (mswindows_handle_wm_initmenu):
13945         * menubar-msw.c (mswindows_update_frame_menubars):
13946         * menubar-msw.c (mswindows_free_frame_menubars):
13947         * menubar-msw.c (mswindows_popup_menu):
13948         Fixed a bug in handling accelerators where an extra character
13949         would be displayed in the menu item.  Also generalized the
13950         function displayable_menu_item because it is now used by the
13951         dialog box code as well.  And finally, added code in the functions
13952         that create the menubar to extract a list of accelerators for the
13953         top level menubar, which is used in the event code to determine
13954         whether a particular alt-key combination should be used to invoke
13955         a menu item, or should be passed through to access the standard
13956         XEmacs keymap binding for this key combination.
13957
13958         Much needed GCPROing.
13959
13960         * menubar-x.c:
13961         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13962         * menubar-x.c (menu_item_descriptor_to_widget_value):
13963         * menubar-x.c (restore_in_menu_callback):
13964         * menubar-x.c (x_popup_menu):
13965         * menubar-x.c (menu_move_up):
13966         * menubar-x.c (menu_move_down):
13967         * menubar-x.c (menu_move_left):
13968         * menubar-x.c (menu_move_right):
13969         * menubar-x.c (menu_select_item):
13970         * menubar-x.c (command_builder_operate_menu_accelerator):
13971         * menubar-x.c (menu_accelerator_junk_on_error):
13972         * menubar-x.c (command_builder_find_menu_accelerator):
13973         * menubar-x.c (Faccelerate_menu):
13974         * menubar.h:
13975         Moved a whole bunch of code here that was previously in
13976         event-stream.c as described above.  There is also code connected
13977         to the new standard of adding an accelerator to the beginning of
13978         menu items that don't have one as described above and below.
13979
13980         * menubar.c:
13981         * menubar.c (menu_parse_submenu_keywords):
13982         * menubar.c (Fmenu_find_real_submenu):
13983         * menubar.c (Fnormalize_menu_item_name):
13984         * menubar.c (syms_of_menubar):
13985         * menubar.c (vars_of_menubar):
13986         * menubar.c (complex_vars_of_menubar):
13987
13988         a) Cleaned up a bunch of documentation and improved it.
13989
13990         b) XEmacs now automatically adds an accelerator onto the beginning
13991         of any menu items that don't have one.  I did this because there
13992         will inevitably be some menu items on the main menubar that don't
13993         have accelerators on them because the package that adds that
13994         particular menu item hasn't yet been fixed up to have accelerators
13995         in them and it looked rather strange to have some items with and
13996         some items without accelerators, especially since even in items
13997         without accelerators, you can, at least under windows, still
13998         access the item through an accelerator corresponding to the first
13999         character in the item's name.  If people don't like this behavior,
14000         I can add a variable to turn it off optionally, but I'm not sure
14001         this is a good idea because we really do need to have accelerators
14002         on all of the menu items, and if a package doesn't like the
14003         accelerators being put on the first character, then it should put
14004         the accelerators where they belong.
14005
14006         c) I made a behavior change, which is that the descriptor that
14007         specifies the text of the menu item, which formerly was just a
14008         string, can now also be an evaluated expression.  This makes this
14009         descriptor parallel with all of the others, which could also be
14010         evaluated expressions.  This also obviates the need for the
14011         keyword :label, which was previously listed in the documentation
14012         as unimplemented, and which was for the same purpose.
14013
14014         d) GCPROing.
14015
14016         * ntproc.c:
14017         * ntproc.c (new_child):
14018         * ntproc.c (sys_spawnve):
14019         * ntproc.c (find_child_console):
14020         * ntproc.c (sys_kill):
14021         Fixed compile warnings.  By the way, this file should really go
14022         away entirely, and this will happen as soon as Kirill makes his
14023         final round of process cleanups, which affect the function
14024         call-process.
14025
14026         * process-nt.c:
14027         * process-nt.c (struct nt_process_data):
14028         * process-nt.c (find_process_from_pid):
14029         * process-nt.c (send_signal_the_nt_way):
14030         * process-nt.c (enable_child_signals):
14031         * process-nt.c (find_child_console):
14032         * process-nt.c (send_signal_the_95_way):
14033         * process-nt.c (nt_finalize_process_data):
14034         * process-nt.c (ensure_console_window_exists):
14035         * process-nt.c (nt_create_process):
14036         * process-nt.c (nt_kill_child_process):
14037         * process-nt.c (nt_kill_process_by_pid):
14038         * process-nt.c (nt_open_network_stream):
14039         * process-nt.c (vars_of_process_nt):
14040         Copied over code from Emacs 20.5 to correctly send signals to sub-
14041         processes under Windows 95.  Also added code to automatically
14042         create and hide console window when a sub-process is created under
14043         Windows 95, which obviates the need for the separate runemacs.exe
14044         executable, and finally implemented some variables that were
14045         implemented in Emacs 20.5, but previously not in XEmacs.  These
14046         include mswindows- start-process-share-console and
14047         mswindows-start-process-inherit-error-mode. (Both of these only
14048         apply to Windows 95.)
14049
14050         * regex.c (regex_compile): Fixed a compile warning.
14051
14052         * select-msw.c:
14053         * select-msw.c (mswindows_own_selection):
14054         * select-msw.c (mswindows_get_foreign_selection):
14055         * select-msw.c (mswindows_disown_selection):
14056         * select-msw.c (console_type_create_select_mswindows):
14057         * select-msw.c (syms_of_select_mswindows):
14058         Cleaned up the file and implemented the device method
14059         selection_exists_p, which had accidentally been left out.  Also
14060         removed four lisp functions that were remnants from before the
14061         time when the selection code was properly device abstracted.
14062         These functions are no longer needed because there are generic
14063         equivalents, and because they were added recently and don't exist
14064         in FSF Emacs, I don't think there's any problem with just deleting
14065         them.
14066
14067         * sysdep.c:
14068         * sysdep.c (sys_subshell):
14069         Fixed a compile warning, although in this case there's probably
14070         something wrong with this code, and it ought to be looked into
14071         more thoroughly by somebody who understands it.
14072
14073         * window.c:
14074         * window.c (Fwindow_text_area_height):
14075         * window.c (Fwindow_width):
14076         * window.c (Fwindow_full_width):
14077         * window.c (Fwindow_pixel_width):
14078         * window.c (debug_print_window):
14079         * window.c (syms_of_window):
14080         Added functions window-text-area-height and window-full-width,
14081         which are functions for returning various width and height
14082         characteristics of a window. (One of these functions is necessary
14083         for making the file dialog box work correctly, and the other one
14084         was added for completeness.)  Also added a table to the
14085         documentation for window-height which describes the entire scheme
14086         for accessing width and height characteristics of a window.
14087
14088 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14089
14090         * nt.c (fstat): Added a comment for another problem with
14091         non-encapsulated [f]stat(), reported by Adrian Aichner
14092         <aichner@ecf.teradyne.com>.
14093
14094 2000-03-11  Andy Piper  <andy@xemacs.org>
14095
14096         * window.c (make_dummy_parent): initialize subwindow instance
14097         cache.
14098         (Fset_window_configuration): zero extent_modiff.
14099
14100 2000-03-10  Andy Piper  <andy@xemacs.org>
14101
14102         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14103         more changes can be triggered.
14104         (Fredisplay_frame): ditto.
14105         (Fredraw_device): ditto.
14106         (Fredisplay_device): ditto.
14107         (redisplay_frame): make non-static.
14108         (redisplay_frame): call update_frame_gutter_geometry outside of
14109         display proper.
14110
14111         * gutter.h: declare update_frame_gutter_geometry.
14112
14113         * redisplay.h: declare redisplay_frame.
14114
14115         * gutter.c (update_frame_gutter_geometry): move geometry changes
14116         in update_frame_gutters here. Geometry changes can only occur
14117         outside of redisplay.
14118         (update_frame_gutters): remove geometry change code.
14119         (Fredisplay_gutter_area): make sure that we are in display when we
14120         update and that we have flushed any size changes.
14121
14122 2000-03-11  Andy Piper  <andy@xemacs.org>
14123
14124         * alloc.c (pdump_dump_data): remove i & count shadows.
14125
14126 2000-02-27  Mike Alexander  <mta@arbortext.com>
14127
14128         * sysdep.h: Declare pdump_read_file
14129
14130         * sysdep.c (pdump_read_file): New function
14131
14132         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14133         dump data
14134
14135 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14136
14137         * lrecord.h: add `lrecord_type_pgsetenv'.
14138
14139 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14140
14141         * symsinit.h: declare (vars|syms)_of* functions.
14142         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14143
14144 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14145
14146         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14147
14148         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14149         GCCs.
14150
14151         * emacs.c (main_1): Call postgres initialization code.
14152
14153         * postgresql.h: New file.  PostgreSQL RDBMS support.
14154         * postgresql.c: New file.
14155
14156 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14157
14158         * redisplay-output.c (redisplay_output_display_block): Disable
14159         redundant code.
14160
14161 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14162
14163         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14164         (Fcanna_henkan_next): Ditto.
14165         (Fcanna_bunsetu_henkou): Ditto.
14166         (Fcanna_henkan_kakutei): Ditto.
14167         (Fcanna_henkan_end): Ditto.
14168         (Fcanna_henkan_quit): Ditto.
14169         (Fcanna_henkan_next): Set retun value correctly.
14170         (c2mu): Use unsigned char instead of signed char.
14171
14172 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14173
14174         * emacs.c (main_1): Always call syms_of_gui.
14175         * inline.c: include gui.h
14176
14177 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14178
14179         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14180         converted to Lisp_Object.
14181         (Qtop_bottom): New variable.
14182         (syms_of_redisplay): Initialize it.
14183         * redisplay.h (Vvisible_bell): Ditto.
14184         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14185         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14186         only flash top and bottom.
14187
14188 2000-03-08  Andy Piper  <andy@xemacs.org>
14189
14190         * buffer.c (Frename_buffer): record new buffer name the right way.
14191
14192 2000-03-08  Andy Piper  <andy@xemacs.org>
14193
14194         * glyphs.c (update_subwindow): increase hash depth so that widget
14195         items get picked up properly.
14196
14197         * redisplay-output.c (compare_runes): increase hash depth so that
14198         widget items get picked up properly.
14199
14200 2000-03-08  Andy Piper  <andy@xemacs.org>
14201
14202         * gutter.c (output_gutter): add some debug.
14203
14204         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14205         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14206         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14207
14208         * redisplay-output.c (compare_runes): use display_hash to
14209         determine if glyphs really are not the same.
14210
14211         * glyphs.c (update_subwindow): check display_hash to see if
14212         anything really needs to be updated. If not then do
14213         nothing. Record the display_hash after updating.
14214         (image_instance_equal): compare the image_instance face also.
14215
14216 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14217
14218         * redisplay.h: Fix comment style.
14219
14220 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14221
14222         * consle-msw.h (struct mswindows_frame):
14223         Added new member paint_pending to indicate whether a WM_PAINT
14224         magic event has been queued for this frame.
14225
14226         * event-msw.c (mswindows_drain_windows_queue):
14227         Don't queue a WM_PAINT magic event if one is already queued.
14228         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14229
14230         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14231
14232 2000-03-07  Didier Verna  <didier@xemacs.org>
14233
14234         * dired.c: #include `regex.h' after `sysfile.h'.
14235
14236 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14237
14238         * sound.c (init_nas_sound): Fix compiler warning.
14239
14240         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14241         (FREE_STRUCT_P):
14242         (MARK_STRUCT_AS_FREE):
14243         (MARK_STRUCT_AS_NOT_FREE):
14244         Make `gcc -fstrict-aliasing' work properly.
14245
14246 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14247
14248         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14249         (mswindows_delete_device): Call CoUnnitialize().
14250
14251         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14252
14253 2000-02-25    <CraigL@DyCon.com>
14254
14255         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14256         <errno.h>.
14257
14258         * sysdep.c: This extern declaration for environ prevents MinGW
14259         from finding the variable in CRTDLL.DLL.
14260
14261         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14262         windows headers.
14263         (SHGFI_EXETYPE): ..
14264         (WM_MOUSEWHEEL): ..
14265         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14266         definitions.
14267         (MMRESULT): Removed, now defined in cygwin's windows headers.
14268         (TIMECAPS): ..
14269         (uid_t,gid_t,pid_t,ssize_t): ..
14270         (_timeb): Removed, MinGW defines both _timeb and timeb.
14271         (HAVE_H_ERRNO): Added.
14272         (HAVE_TZNAME): Added, configure is not detecting this.
14273
14274 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14275
14276         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14277         * syntax.c (syntax_match): Use it.
14278
14279         * cmds.c: Import auto-fill-chars from FSF Emacs.
14280         (Vauto_fill_chars): New variables.
14281         (internal_self_insert): Check Vauto_fill_chars.
14282         (vars_of_cmds):
14283         Declare auto-fill-chars as a Lisp variable and initialize it.
14284
14285 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14286
14287         * fileio.c (Fmake_symbolic_link):
14288         (Ffile_symlink_p):
14289         Run handlers even if local machine doesn't have symlinks.
14290
14291 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14292
14293         * event-msw.c (mswindows_drain_windows_queue):
14294         Don't generate paint magic events for non-XEmacs frames.
14295
14296 2000-03-05  Andy Piper  <andy@xemacs.org>
14297
14298         * redisplay.c (redisplay_frame): generate_displayable_area and
14299         friends assumes that we are not in GC, we therefore have to make
14300         sure that this doesn't happen.
14301
14302         * gutter.c (calculate_gutter_size): generate_displayable_area
14303         assumes that we are not in GC, we therefore have to make sure that
14304         this doesn't happen.
14305
14306 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14307
14308         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14309
14310 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14311
14312         * redisplay.c (regenerate_window): Make sure we set a sane value
14313         for end_pos even if we jump out of the loop.
14314         (regenerate_window): Answer Ben's question :-).
14315         (start_end_of_last_line): Add may_error argument.
14316         (start_of_last_line):
14317         (end_of_last_line): Pass may_error = 0.
14318         (end_of_last_line_may_error): New function.
14319         (pixel_to_glyph_translation): Use it, so we don't crash in
14320         event_to_glyph.
14321
14322 2000-03-04  Andy Piper  <andy@xemacs.org>
14323
14324         * window.h (struct window): add gutter_extent_modiff.
14325
14326         * window.c (allocate_window): zero out gutter_extent_modiff.
14327
14328         * redisplay.h: declare sync_display_line_structs.
14329
14330         * redisplay.c (add_glyph_rune): add a better comment.
14331
14332         * redisplay-output.c (sync_display_line_structs): made non-static.
14333         (compare_runes): remove unneccesary glyph cachel access.
14334
14335         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14336
14337         * gutter.c (output_gutter): don't output the gutter if extent
14338         changes only involve extents in buffers. use 4 sets of display
14339         lines.
14340         (gutter_extent_signal_changed_region_maybe): new function. Mark
14341         extents in gutters as changed.
14342         (update_frame_gutters): use 4 sets of display lines.
14343         (reset_gutter_display_lines): ditto.
14344         (free_frame_gutters): ditto.
14345         (redraw_exposed_gutter): force output of gutters.
14346
14347         * frame.h (struct frame): add 4 sets of gutter display lines.
14348
14349         * extents.c: (extent_changed_for_redisplay): signal changes to
14350         extents in strings in the gutter as well as extents in buffers.
14351
14352 2000-03-02  Andy Piper  <andy@xemacs.org>
14353
14354         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14355
14356         * frame.c (Fmake_frame): make sure the gutters get initialized
14357         after the frame is visible.
14358         (set_frame_selected_window): re-arrange compilation macros a
14359         little.
14360         (change_frame_size_1): mark gutters changed.
14361
14362         * device.c (Fset_device_class): mark gutters changed.
14363
14364 2000-03-01  Andy Piper  <andy@xemacs.org>
14365
14366         * window.c (window_top_frame_gutter_height): deleted.
14367         (window_bottom_frame_gutter_height): ditto.
14368         (window_left_frame_gutter_height): ditto.
14369         (window_right_frame_gutter_height): ditto.
14370         (window_top_gutter_height): don't use them.
14371         (window_bottom_gutter_height): ditto.
14372         (window_left_gutter_width): ditto.
14373         (window_right_gutter_width): ditto.
14374         (Fsplit_window): ditto.
14375         (Fwindow_pixel_edges): don't use border dimensions here.
14376
14377         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14378         (update_scrollbar_instance): ditto.
14379
14380         * redisplay.c (generate_modeline): don't take gutters into account.
14381         (generate_modeline): ditto.
14382         (redisplay_frame): small gutter display optimization.
14383
14384         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14385
14386         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14387         gutters into account.
14388
14389         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14390         for window position and type.
14391
14392         * gutter.c (get_gutter_coords): fix for frame gutters.
14393         (update_frame_gutters): update frame geometry if the gutters have
14394         changed.
14395         (init_frame_gutters): record current gutter geometries.
14396
14397         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14398         var.
14399         (mswindows_widget_instantiate): ditto.
14400
14401         * frame.h (struct frame): add current_gutter_bounds.
14402
14403         * frame.c (change_frame_size_1): position window and minibuffer
14404         appropriately taking into account the frame gutters.
14405
14406         * frame-x.c: (x_initialize_frame_size): take into account the
14407         frame gutters.
14408
14409 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14410
14411         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14412
14413 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14414
14415         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14416
14417 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14418
14419         * file-coding.c (reset_decoding_stream): Clear previous
14420         detection state when autodetect.
14421
14422 2000-02-29  Didier Verna  <didier@xemacs.org>
14423
14424         * extents.c (set_extent_glyph_1): don't require extents to be
14425         attached.
14426
14427 2000-02-27  Andy Piper  <andy@xemacs.org>
14428
14429         * gutter.c (Fset_default_gutter_position): don't default left and
14430         right gutter visibility to t.
14431         (Fset_default_gutter_position): run
14432         default-gutter-position-changed-hook.
14433         (syms_of_gutter): add default-gutter-position-changed-hook.
14434
14435 2000-02-26  Andy Piper  <andy@xemacs.org>
14436
14437         * specifier.c (Fmake_specifier): add gutter references.
14438
14439         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14440
14441         * lisp.h: declare Fvalid_plist_p.
14442
14443         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14444         as changed.
14445         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14446         well as its visibility so that it gets reconstructed.
14447         (construct_window_gutter_spec): new function. Construct a string
14448         to be displayed in the gutter from a plist of strings. Take care
14449         to only use elements that are declared as visible.
14450         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14451         WINDOW_GUTTER.
14452         (gutter_validate): allow plists of strings in the specifier.
14453         (gutter_specs_changed): construct the real_gutter from the gutter
14454         specs using construct_window_gutter_spec.
14455         (gutter_visible_validate): gutter-visible is a new specifier type.
14456         (Fgutter_visible_specifier_p): new function for the new specifier.
14457         (syms_of_gutter): declare gutter-visible and
14458         Fgutter_visible_specifier_p.
14459         (specifier_type_create_gutter): intitalize new gutter-visible
14460         specifier.
14461         (reinit_specifier_type_create_gutter): ditto.
14462         (specifier_vars_of_gutter): use new specifier type for gutter
14463         visibility.
14464         (init_frame_gutters): construct real_gutter correctly.
14465         (Fgutter_specifier_p): beef up documentation.
14466         (Fgutter_size_specifier_p): ditto.
14467
14468         * winslots.h: add real_gutter slots.
14469
14470 2000-02-25  Andy Piper  <andy@xemacs.org>
14471
14472         * device-msw.c: Be kind to older cygwin versions. From Raymond
14473         Toy <toy@rtp.ericsson.se>.
14474
14475         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14476         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14477
14478 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14479
14480         * elhash.c (MARK_OBJ): Practice macro hygiene.
14481
14482 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14483
14484         * miscplay.c: s/__inline__/inline/g;
14485         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14486         (get_device_compdc): INLINE ==> static inline
14487         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14488         find -name '*.h' | \
14489         xargs global-replace \
14490         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14491
14492 2000-02-25  Andy Piper  <andy@xemacs.org>
14493
14494         * window.c (window_top_frame_gutter_height): new function.
14495         (window_top_window_gutter_height): ditto.
14496         (window_top_gutter_height): use them.
14497         (window_bottom_frame_gutter_height): new function.
14498         (window_bottom_window_gutter_height): ditto.
14499         (window_bottom_gutter_height): use them.
14500         (window_left_window_gutter_width): new function.
14501         (window_left_frame_gutter_width): ditto.
14502         (window_left_gutter_width): use them.
14503         (window_right_window_gutter_width): new function.
14504         (window_right_frame_gutter_width): ditto.
14505         (window_right_gutter_width): use them.
14506         (window_pixel_height): new function. calulate window pixel height
14507         with frame gutter involvement.
14508         (Fsplit_window): calculate new sizes taking frame gutters into
14509         account.
14510         (window_char_height_to_pixel_height): don't include frame gutters.
14511         (window_char_height): use window_pixel_height.
14512         (window_pixheight): rename from window_pixel_height.
14513         (change_window_height): use it.
14514         (window_pixel_height_to_char_height): don't include frame gutters.
14515         (window_char_width_to_pixel_width): ditto.
14516
14517 2000-02-25  Andy Piper  <andy@xemacs.org>
14518
14519         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14520         if it is.
14521
14522 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14523
14524         * alloc.c (staticpro):
14525         (staticpro_nodump):
14526         (dumpstruct):
14527         (dumpopaque):
14528         (pdump_wire):
14529         (pdump_wire_list):
14530         (compact_string_chars):
14531         (pdump_dump_wired):
14532         Convert:  if (foo) abort();  ==>  assert (! foo);
14533
14534         * eldap.c (Fldap_search_basic):
14535         (Fldap_add):
14536         (Fldap_modify):
14537         (Fldap_delete):
14538         Fix compiler warnings, and possible crashes if (random) return
14539         value were to be used.
14540
14541 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14542
14543         * device-msw.c: Workaround ResetDC failure.
14544
14545         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14546         applying a devmode.
14547
14548         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14549         (mswindows_text_width): Do not start printer page.
14550
14551         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14552
14553         * glyphs-msw.c: Added image methods to msprinter console and
14554         msprinter-specific image instantiation.
14555
14556 2000-02-20  Mike Alexander  <mta@arbortext.com>
14557
14558         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14559         to avoid crashes when selection-sets-clipboard is on
14560         (mswindows_own_selection): ditto
14561
14562 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14563
14564         * glyphs-msw.c:
14565         * redisplay-msw.c (get_frame_dc):
14566         (get_frame_compdc):
14567         * console-msw.h:
14568         * device-msw.c (mswindows_init_device):
14569         (mswindows_delete_device):
14570         (msprinter_init_device):
14571         (msprinter_delete_device):
14572         * frame-msw.c (mswindows_init_frame_1):
14573         (mswindows_delete_frame):
14574         (msprinter_init_frame_3):
14575         (msprinter_delete_frame): Move compatible DC to device object from
14576         frame object, for both mswindows and msprinter. Only one at a time
14577         is needed, it is a real waste to have one per frame!
14578
14579 2000-02-23  Andy Piper  <andy@xemacs.org>
14580
14581         * glyphs.c: add dynamic width and height elements.
14582         (image_instance_equal): ditto.
14583
14584         * glyphs-widget.c (widget_query_geometry): calculate width and
14585         height dynamically if required.
14586         (initialize_widget_image_instance): initialize dynamic dimensions.
14587         (widget_instantiate): pick-up dynamic dimensions.
14588
14589         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14590         dynamic determination. Add appropriate macros.
14591
14592         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14593         dimensions safe.
14594         (WINDOW_GUTTER_SIZE): ditto.
14595         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14596
14597         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14598         inline.
14599         (get_frame_dc): ditto.
14600
14601         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14602         here.
14603
14604 2000-02-23  Martin Buchholz <martin@xemacs.org>
14605
14606         * XEmacs 21.2.31 is released.
14607
14608 2000-02-22  Ben Wing <ben@xemacs.org>
14609
14610         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14611
14612 2000-02-22  Andy Piper  <andy@xemacs.org>
14613
14614         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14615
14616 2000-02-21  Mike Sperber <mike@xemacs.org>
14617
14618         * .dbxrc:
14619         * .gdbinit:
14620         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14621         variables.
14622
14623 2000-02-21  Mike Sperber <mike@xemacs.org>
14624
14625         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14626
14627 2000-02-21  Martin Buchholz <martin@xemacs.org>
14628
14629         * XEmacs 21.2.30 is released.
14630
14631 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14632
14633         Performance hacking.
14634         * *.c (syms_of_*):
14635         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14636         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14637         * emacs.c (main_1):
14638         * lisp.h (DEFUN):
14639         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14640         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14641         * symeval.h (DEFVAR_SYMVAL_FWD):
14642         * symbols.c (guts_of_unbound_marker):
14643         Make all c_readonly objects also lisp_readonly and marked for life.
14644         * lrecord.h (struct lrecord_implementation):
14645         Document flags better.
14646         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14647         * lrecord.h (DECLARE_LRECORD):
14648         * lrecord.h (XSETRECORD):
14649         * lrecord.h (RECORDP):
14650         * lrecord.h (RECORD_TYPEP):
14651         * lrecord.h (RECORD_MARKER): New.
14652         * lrecord.h (error_check_*):
14653         * lrecord.h (CONCHECK_NONRECORD):
14654         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14655         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14656         * lrecord.h (set_lheader_implementation):
14657         * lrecord.h (enum lrecord_type): New.
14658         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14659         * alloc.c (disksave_object_finalization_1):
14660         * alloc.c (mark_object):
14661         * alloc.c (lrecord_type_index):
14662         * alloc.c (tick_lcrecord_stats):
14663         * alloc.c (Fgarbage_collect):
14664         * alloc.c (init_alloc_once_early):
14665         * alloc.c (pdump_load):
14666         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14667         * alloc.c (lrecord_type_index): Delete.
14668         Make lisp object type indexes be constant.
14669           Makes (byte-compile) 5% faster.
14670         Put all marker functions into their own array.
14671           Makes (garbage-collect) 5% faster.
14672         Optimize SYMBOL_VALUE_MAGIC_P.
14673           Makes (byte-compile) 2-3% faster.
14674         * config.h.in (gc_checking_assert): New.
14675         * alloc.c: Use gc_checking_assert().
14676         * .dbxrc: Make compatible with new object type implementation.
14677         * .gdbinit: Make compatible with new object type implementation.
14678         * alloc.c: Delete all symbols defined only for debugging, such as
14679         Lisp_Type_Vector and lrecord_charset.
14680
14681 2000-02-21  Andy Piper  <andy@xemacs.org>
14682
14683         * gui-msw.c (Fmswindows_shell_execute): fix file location
14684         problems.
14685
14686         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14687         unshowing so that set_window_buffer doesn't undo
14688         kill_buffer_hook's hard work.
14689
14690         * glyphs-widget.c (tab_control_query_geometry): don't count the
14691         first item when calculating geometry.
14692
14693         * glyphs.c (map_subwindow): remove redundant code.
14694         (update_frame_subwindows): be more circumspect about when to
14695         update subwindows.
14696
14697         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14698         when items haven't changed. Update faces if faces have changed as
14699         well as just the widget face.
14700         (x_tab_control_update): Update faces if faces have changed as well
14701         as just the widget face.
14702
14703 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14704
14705         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14706         registration.
14707         (build_syscolor_string): Use mswindows_color_to_string to try to
14708         get a named color.
14709         (mswindows_device_system_metrics): Reverse the foreground and
14710         background colors so that they match the documentation.
14711
14712         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14713         they match the default Windows palette.
14714         (mswindows_color_to_string): New function.
14715
14716 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14717
14718         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14719
14720 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14721
14722         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14723         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14724
14725         * symbols.c (init_symbols_once_early): Removed obsolete
14726         DATA_SEG_BITS related kludge.
14727         (defvar_magic): Ditto.
14728
14729         * malloc.c: Removed obsolete DATA_SEG_BITS
14730         * ralloc.c: Ditto.
14731         * mem-limits.h: Ditto.
14732
14733         * Makefile.in.in: Removed obsolete HAVE_SHM
14734         * emacs.c: Ditto.
14735
14736 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14737
14738         *  device-msw.c (mswindows_delete_device): Free DDE string
14739         handles.
14740
14741 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14742
14743         * keymap.c (get_keyelt):
14744         * unexnt.c (unexec):
14745         * vm-limit.c (memory_warnings):
14746         * ntheap.c (recreate_heap):
14747         * ntheap.h (UNINIT_PTR):
14748         * select-msw.c (Fmswindows_get_clipboard):
14749         (Fmswindows_set_clipboard):
14750         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14751         * objects-msw.c:
14752         * menubar-msw.c (displayable_menu_item):
14753         * glyphs-msw.c:
14754         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14755         * sysdep.c (sys_subshell):
14756         * process-nt.c (nt_create_process):
14757         * nt.c (normalize_filename):
14758         (dostounix_filename):
14759         (unixtodos_filename):
14760         * ntproc.c (win32_executable_type):
14761         * ntplay.c (play_sound_data_1):
14762         (play_sound_file):
14763         * editfns.c (get_home_directory):
14764         * event-msw.c (struct winsock_stream):
14765         (mswindows_dde_callback):
14766         * device-msw.c (msprinter_init_device):
14767         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14768
14769         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14770         mswindows_clear_toolbar were swapped!
14771
14772         * objects-msw.c:(colormap_t):
14773         (fontmap_t):
14774         * emacs.c (struct standard_args): Fixed const jumble.
14775
14776         * glyphs-widget.c (update_widget): Fixed comparison notation.
14777
14778         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14779
14780         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14781         __declspec(noreturn) syntax.
14782
14783 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14784
14785         * eldap.c (Fldap_open):
14786         (Fldap_search_basic):
14787         (Fldap_add):
14788         (Fldap_modify):
14789         Use new coding system conversion macros.
14790
14791 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14792
14793         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14794
14795 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14796
14797         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14798         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14799
14800         * eldap.c (Qadd, Qreplace): New constant symbols
14801         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14802         interruptions by XEmacs signals
14803         Remove unnecessary calls to slow_down_interrupts and
14804         speed_up_interrupts
14805         (Fldap_search_basic): Renamed from Fldap_search_internal
14806         Added new optional parameter VERBOSE that triggers the
14807         display of progress messages
14808         Remove unnecessary calls to slow_down_interrupts and
14809         speed_up_interrupts
14810         LDAP result code analysis rewritten
14811         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14812         (syms_of_eldap): Define the new symbols and functions
14813
14814
14815 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14816
14817         * realpath.c: Determine PATH_MAX maximally portably.
14818
14819         * insdel.c (bytecount_to_charcount): Optimize.
14820         The function used to be optimized for entirely ASCII sequences.
14821         Now it is optimized for successive characters from the same
14822         charset.  This also wins big for _mostly_ ASCII sequences.
14823
14824         * fileio.c (Ffile_truename): convert return from realpath() using
14825         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14826         - Rewrite GCPROing slightly.
14827
14828         * sysdep.c (sys_open): Do filename conversion, like all other
14829         sys_* functions.  Fixes bug:
14830         (let ((file-name-coding-system 'iso-8859-2))
14831            (write-region x y latin2-name))
14832         ==> writes filename using internal encoding.
14833
14834 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14835
14836         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14837         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14838         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14839         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14840         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14841         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14842         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14843         (CONST_IF_NOT_DEBUG): Delete.
14844         * alloc.c (this_one_is_unmarkable): Delete.
14845         (mark_object): Don't check for this_one_is_unmarkable. Use the
14846         c_readonly flag instead.
14847         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14848
14849 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14850
14851         * event-msw.c (mswindows_drain_windows_queue):
14852         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14853         away redundant repaint events.
14854
14855 2000-02-17  Andy Piper  <andy@xemacs.org>
14856
14857         * redisplay.h: declare mark_redisplay_structs.
14858
14859         * redisplay.c (redisplay_window):
14860         (redisplay_frame): don't check subwindows_state_changed.
14861         (mark_redisplay): mark gutters here.
14862
14863         * glyphs.c: (instantiate_image_instantiator): always layout if we
14864         haven't done so already.
14865         (allocate_image_instance): don't mark as dirty.
14866         (update_subwindow): bind inhibit_quit.
14867
14868         * gutter.c (mark_gutters): new function.
14869
14870         * glyphs-x.c (x_update_widget): Always resize to get round a
14871         widget bug.
14872
14873         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14874         breaking absolutely everything.
14875
14876         * gutter.h: declare mark_gutters.
14877
14878 2000-02-16  Martin Buchholz <martin@xemacs.org>
14879
14880         * XEmacs 21.2.29 is released.
14881
14882 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14883
14884         * fns.c (size_bit_vector): Fix computation of the size.
14885
14886 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14887
14888         * *.[ch]: Change CONST to const globally.
14889         find -name '*.[ch]' | \
14890         xargs global-replace \
14891         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14892         - Remove vestigial references to CONST_IS_LOSING
14893
14894 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14895
14896         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14897         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14898         events instead of dispatching them directly.
14899         (mswindows_handle_paint): New function to do repainting.
14900         (mswindows_wnd_proc):
14901         (emacs_mswindows_handle_magic_event): Call above function.
14902
14903 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14904
14905         * objects-msw.c (mswindows_create_font_variant): Return the new
14906         font handle.
14907         (initialize_font_instance): Get font metrics from the underlined
14908         variant of the font to cope with the case where the underlined
14909         font has a bigger descent.
14910
14911 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14912
14913         * gui.c (gui_item_accelerator): Return the first underlined
14914         character in item name.
14915
14916 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14917
14918         * lisp.h: Added Qprinter.
14919
14920         * general.c (syms_of_general): Initialized it.
14921
14922         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14923         (get_frame_dc):
14924         (get_frame_compdc): Made inline.
14925
14926         * console.h (struct console_methods): Added eject_page method.
14927
14928         * frame.h: Added FRAME_DISPLAY_P and friends.
14929         Aligned backslahes in many macros in more readable fashion.
14930         Added page_number to struct frame, and an accessor macro
14931         for it.
14932
14933         * defice.h: Added DEVICE_DISPLAY_P and friends.
14934
14935         * device.c (Fdevice_printer_p): Used these.
14936
14937         * frame.c (allocate_frame_core): Initialize page number.
14938         (Fprint_job_page_number):
14939         (Fprint_job_eject_page): Implemented.
14940
14941         * frame-msw.c (msprinter_eject_page): Added method.
14942         (msprinter_start_page): Added.
14943
14944         * window.c (Fwindow_truncated_p): Fixed docstring.
14945         (Fwindow_last_line_visible_height): Implemented.
14946
14947 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14948
14949         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14950
14951 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14952
14953         * syntax.c (scan_words): Always advance at least one character.
14954
14955 2000-02-13  Andy Piper  <andy@xemacs.org>
14956
14957         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14958         to make sure the glyph is in the cachels.
14959
14960         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14961         global image instance flag.
14962         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14963         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14964
14965         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14966         (Fset_image_instance_property): mark layout as changed.
14967         (invalidate_glyph_geometry_maybe): mark layout as changed.
14968         (glyph_width): use new NEEDS_LAYOUT macro.
14969         (glyph_ascent): ditto.
14970         (glyph_descent): ditto.
14971         (glyph_height): ditto.
14972         (image_instance_layout): mark layout as clean after laying out.
14973         (update_subwindow): don't mark layout as clean here.
14974
14975         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14976         should no longer be needed.
14977
14978         * glyphs-x.c (x_update_widget): sanitize asserts.
14979         (x_finalize_image_instance): sanitize assignment to widgets.
14980
14981         * glyphs-widget.c (widget_instantiate): don't need to clear the
14982         layout flag here.
14983
14984 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14985
14986         * sysdep.c (getcwd): Use standard prototype.
14987         * sysdep.h (getcwd): Use standard prototype.
14988
14989         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14990         (sequence, start, end).
14991         Remove redundant type checking.
14992         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14993         view of `caller-protects') to avoid a crash where the real fix was
14994         found elsewhere.
14995
14996 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14997
14998         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14999
15000         * s/sol2.h: Remove feature macro initialization.
15001
15002         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15003         (vector_hash): New.  Code from internal_hash.
15004         * lrecord.h:
15005         Fix up allocation subsystem comments.
15006
15007         * config.h.in: Add __EXTENSIONS__ for Solaris.
15008
15009         * systime.h (EMACS_GETTIMEOFDAY): New.
15010         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15011         Remove Solaris-specific code.
15012         Use void* for the (ignored) second arg for gettimeofday().
15013
15014         * elhash.c (hash_table_hash): Implement it, finally.
15015         * elhash.c:  Use hashcode_t.
15016
15017         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15018         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15019
15020         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15021         * fns.c (size_bit_vector):
15022         * alloc.c (size_vector):
15023         (make_vector_internal):
15024         (make_bit_vector_internal):
15025         (sweep_bit_vectors_1):
15026         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15027
15028 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15029
15030         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15031         Include strings.h to avoid warnings for bzero and strcasecmp.
15032
15033 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15034
15035         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15036         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15037
15038         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15039         sequence.
15040
15041 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15042
15043         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15044         use a value field instead.
15045         (symbol_value_forward_forward): Use value field.
15046         (DEFVAR_SYMVAL_FWD): Use value field.
15047         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15048         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15049         (DEFVAR_CONST_INT): Ditto.
15050         (DEFVAR_BOOL): Ditto.
15051         (DEFVAR_CONST_BOOL): Ditto.
15052         (DEFVAR_INT_MAGIC): Ditto.
15053         (DEFVAR_BOOL_MAGIC): Ditto.
15054
15055         * symbols.c (guts_of_unbound_marker): Use value field.
15056         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15057         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15058
15059         * lisp.h: Declare dumpopaque and noninteractive1.
15060
15061         * alloc.c (dumpopaque): Added.
15062         (pdump_dump_opaquevec): Added.
15063         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15064         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15065         noninteractive.
15066
15067 2000-02-10  Andy Piper  <andy@xemacs.org>
15068
15069         * glyphs.c (image_instance_layout): if the size changes, mark it
15070         as such.
15071
15072         * redisplay-output.c (redisplay_output_layout): Update the
15073         subwindow here.
15074         (redisplay_output_subwindow): ditto.
15075
15076         * glyphs.c (update_subwindow): make sure we reset flags for
15077         layouts as well as everything else.
15078
15079         * glyphs-widget.c (layout_layout): don't need to set the instances
15080         dimensions here.
15081
15082 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15083
15084         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15085         not HAVE_DLOPEN, which is a lower-level thing.
15086
15087         * .cvsignore: Ignore gmon.out
15088
15089 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15090
15091         * .cvsignore: Ignore portable dumper xemacs.dmp file
15092
15093 2000-02-09  Andy Piper  <andy@xemacs.org>
15094
15095         * redisplay-output.c (redisplay_output_layout): be more clever
15096         about when we output based on the changed flags.
15097
15098         * glyphs.h (struct image_instantiator_methods): add update_method.
15099         (struct Lisp_Image_Instance): add changed flags. Declare new
15100         macros for manipulating them.
15101
15102         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15103         (image_instance_parent_glyph): find an image_instance's parent
15104         glyph or image_instance.
15105         (image_instance_layout): mark the size as changed.
15106         (set_image_instance_dirty_p): new function. mark an image
15107         instance, plus all of its parents, as dirty.
15108         (Fset_image_instance_property): use it.
15109         (Fglyph_animated_timeout_handler): use it.
15110         (update_subwindow): call update_widget and device methods for
15111         update_subwindow. Mark all changed flags as clean.
15112         (Fresize_subwindow): mark size as changed.
15113
15114         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15115         failures.
15116         (x_update_subwindow): only resize subwindows here.
15117         (x_update_widget): new function. Update all changed properties of
15118         a widget.
15119         (x_resize_subwindow): deleted.
15120         (x_widget_set_property): deleted.
15121         (x_progress_gauge_set_property): deleted.
15122         (x_progress_gauge_update): new function. Implement recorded
15123         changes.
15124         (x_tab_control_update): ditto.
15125         (x_tab_control_set_property): deleted.
15126         (console_type_create_glyphs_x): declare new functions.
15127         (image_instantiator_format_create_glyphs_x): ditto.
15128
15129         * glyphs-widget.c (widget_set_property): mark text changed.
15130         (update_widget): new function. Update properties of a widget.
15131         (widget_instantiate): for layouts make sure we set their
15132         children's parent correctly.
15133         (tab_control_set_property): new function. Record changes that will
15134         take place under redisplay's control.
15135         (progress_gauge_set_property): ditto.
15136         (image_instantiator_progress_guage): declare new functions.
15137         (image_instantiator_tab_control): ditto.
15138
15139         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15140         now.
15141         (mswindows_update_widget): new function. Update all properties on
15142         a widget that have changed.
15143         (mswindows_button_update): new function. Update a button's set
15144         state.
15145         (mswindows_tab_control_update): new function. Update the items in
15146         a tab.
15147         (mswindows_tab_control_set_property): deleted.
15148         (mswindows_progress_gauge_update): new function. Update the
15149         progress gauge's progress.
15150         (mswindows_widget_set_property): deleted. This is all done
15151         asynchronously now.
15152         (mswindows_progress_gauge_set_property): ditto.
15153         (console_type_create_glyphs_mswindows): declare new methods.
15154         (image_instantiator_format_create_glyphs_mswindows): ditto.
15155
15156         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15157         (msprinter_set_frame_properties): ditto.
15158
15159         * console.h (struct console_methods): Add update_widget_method.
15160
15161 2000-02-09  Andy Piper  <andy@xemacs.org>
15162
15163         * gui-msw.c (Fmswindows_shell_execute): Make
15164         mswindows-shell-execute industrial strength.
15165
15166 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15167
15168         * lrecord.h: Make macro argument `props' match member function `plist'.
15169         * fns.c (Fget):
15170         * fns.c (Fput):
15171         * fns.c (Fremprop):
15172         * fns.c (Fobject_plist):
15173         * alloc.c:
15174         * symbols.c:
15175         Object property list frobbing cleanup.
15176         - Allow any lisp object (compared with `eq'), not just symbols, as
15177           keys in object plists.
15178         - Move symbol plist frobbing into symbols.c, where it belongs.
15179         - Move string plist frobbing into alloc.c, where it belongs.
15180         - Everything's an lrecord now, so no need to test for symbolp, etc.
15181         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15182
15183         * extents.c: Reorder code to remove declarations.
15184
15185         * frame.h (store_in_alist): Remove useless declaration.
15186
15187 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15188
15189         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15190         * config.h.in: Add HAVE_XCONVERTCASE.
15191
15192 2000-02-07  Andy Piper  <andy@xemacs.org>
15193
15194         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15195         it breaks many things.
15196
15197 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15198
15199         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15200         actually can start a common comment type.
15201         * src/syntax.h (SYNTAX_END_P): ditto for end.
15202
15203 2000-02-07  Martin Buchholz <martin@xemacs.org>
15204
15205         * XEmacs 21.2.28 is released.
15206
15207 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15208
15209         * event-Xt.c (x_keysym_to_character): New.
15210         (maybe_define_x_key_as_self_inserting_character): New.
15211         (x_has_keysym): New.
15212         Auto-define all keys on the keyboard as self-insert-key.
15213
15214 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15215
15216         * menubar.c (vars_of_menubar): A small code simplification.
15217
15218         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15219
15220         * ExternalShell.c:
15221         * ExternalClient.c:
15222         * EmacsShell-sub.c:
15223         * EmacsManager.c:
15224         * EmacsFrame.c:
15225         Use consistent style for specifying X resources.
15226
15227         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15228         This makes (dontusethis-set-symbol-value-handler) actually usable.
15229
15230         * lrecord.h (lrecord_decription_type):
15231         * alloc.c (pdump_register_sub):
15232         (pdump_dump_data):
15233         (pdump_reloc_one):
15234         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15235         Comply with XEmacs coding style.
15236         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15237         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15238
15239         * keymap.c (Faccessible_keymaps):
15240         Make (accessible-keymaps map "\C-h") do the Right Thing.
15241         Make (accessible-keymaps map []) do the Right Thing.
15242         Make (accessible-keymaps map "") do the Right Thing.
15243         (check_keymap_definition_loop): New function.
15244         (keymap_store_internal): Keep luser from shooting self in foot,
15245           via (define-key ctl-x-4-map "p" global-map).
15246         Remove fullness slot from struct Lisp_Keymap, since hash tables
15247         are now reliable.
15248         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15249
15250 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15251
15252         * redisplay.c (init_redisplay): Fix small memory leak.
15253         * elhash.h:
15254         * elhash.c (pdump_reorganize_hash_table):
15255         Rename from reorganize_hash_table. Change prototype.
15256         Reuse the original memory for hentries.  Save 100k.
15257         * alloc.c (PDUMP_READ): new macro.
15258         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15259         * alloc.c: No need to #ifndef before #undef.
15260
15261         * print.c: Allow debug_print() to print readably by modifying
15262         debug_print_readably.  Use consistent variable names.
15263
15264         * .dbxrc: Try to get things to work even if stopped in a function
15265         without source available by explicitly specifying source files.
15266 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15267
15268         * unexnt.c (_start): Removed bogus code which caused loading heap
15269         from differrent executable file.
15270         Removed bogus assignment to _fmode, which caused inconsistencies.
15271
15272 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15273
15274         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15275         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15276         Do not preliminary `#define signal sigset'.
15277
15278         * systime.h: Do not prototype environ on windows nt and cygwin,
15279         this conflicts with system header.
15280
15281         * syssignal.h: Use correct define for WINDOWSNT
15282
15283         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15284         with system header.
15285
15286         * sysdep.c (near start of file): Fixed commentary and rearranged
15287         ifdefs in readable order.
15288         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15289         (start_of_text):
15290         (end_of_text):
15291         (end_of_data): Do not compile in if using PDUMP.
15292
15293         * symsinit.h: Prototyped vars_of_nt().
15294
15295         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15296         (find_child_console): Use it.
15297         (sys_kill): Use it.
15298
15299         * ntheap.h: Do not extern os_subtype.
15300
15301         * ntheap.c (cache_system_info): Do not cache unneeded:
15302         nt_major_version, nt_minor_version and os_subtype.
15303         (recreate_heap): Do not compile in when PDUMPing.
15304
15305         * nt.c (geteuid and friends): Use the new varibale
15306         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15307         (init_user_info): Removed the above mentioned hackery.
15308         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15309         stat has been fixed in the C runtime.
15310         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15311
15312         * file-coding.c (struct file_coding_dump): Do not define
15313         ucs_to_mule_table in the struct if not MULE.
15314         (struct struct lrecord_description fcd_description_1): Do not dump
15315         the above.
15316
15317         * emacs.c (main_1): Call vars_of_nt().
15318         (right before Fdump_emacs_data): Don't need lastfile if using both
15319         portabe dumper and system malloc.
15320
15321         * alloc.c (Fmemory_limit): Conditionalized out.
15322         (pdump): Use OPEN_BINARY for the portable dump file.
15323         (pdump_load): Ditto.
15324
15325 2000-02-02  Mike Alexander  <mta@arbortext.com>
15326
15327         * nt.c (convert_time): Set tm_isdst before calling mktime and
15328         avoid calling it at all if the compiler supports 64 bit integers.
15329         Also initialize utc_base_ft before using it.
15330
15331 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15332
15333         * frame.c (change_frame_size_1): Take f->internal_border_width
15334         into consideration when calculating the width of the frame.
15335
15336 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15337
15338         * window.c (frame_min_height):
15339         (frame_size_valid_p):
15340         (frame_pixsize_valid_p): Added.
15341         (check_frame_size): Generalized.
15342
15343         * window.h: Prototyped the above.
15344
15345         * lisp.h:
15346         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15347         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15348         Deleted Vwin32_* and Vbinary_process_* unused variables.
15349
15350         * device-msw.c (msprinter_init_device): Do not get printer font
15351         list; Added DEVMODE functions.
15352
15353         * frame-msw.c: Added lots of printer code.
15354
15355         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15356         general.c.
15357
15358         * console-msw.h: Added more msprinter device private slots.
15359
15360 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15361
15362         * event-msw.c (key_needs_default_processing_p): Added.
15363         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15364
15365 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15366
15367         * glyphs.c (image_instance_layout): Mark image instance as clean
15368         after layout.
15369         (glyph_dirty_p): Removed redundant function.
15370         (invalidate_glyph_geometry_maybe): Added.
15371         (update_glyph_cachel_data): Call it.
15372
15373         * glyphs.h: Prototyped it.
15374
15375         * redisplay.c (add_glyph_rune): Call it.
15376         (redisplay_window): Reset glyphs cachels when frame faces have
15377         changed, thus forcing recomputation of built-in border glyphs.
15378
15379 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15380
15381         * Makefile.in.in: Make portable dumper and purify play well together.
15382         Add imperfect, but better than nothing, support for pdump.
15383         Remove xemacs.dmp when temacs is re-generated.
15384         Don't ignore errors when dumping xemacs.
15385
15386         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15387
15388 2000-01-28  Andy Piper  <andy@xemacs.org>
15389
15390         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15391         (setup_normal_frame): ditto.
15392         (setup_frame_without_minibuffer): ditto.
15393         (setup_minibuffer_frame): ditto.
15394         (delete_frame_internal): ditto.
15395         (Fmake_frame_invisible): ditto.
15396         (Ficonify_frame): ditto.
15397
15398         * window.h: change Fset_window_buffer signature.
15399
15400         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15401         (Fset_window_buffer): allow recording of buffer if the window is
15402         the selected window.
15403         (window_loop): Use new Fset_window signature.
15404
15405 2000-01-23  Daniel Pittman  <daniel@danann.net>
15406
15407         * config.h.in: Added template for `HAVE_ATHENA_3D'
15408
15409 2000-01-29  Andy Piper  <andy@xemacs.org>
15410
15411         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15412
15413         * gutter.c (output_gutter): Don't output if the window isn't live.
15414
15415 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15416
15417         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15418         of 01/12/00: Moved SetFocus back here where it belongs.
15419
15420 2000-01-23  Andy Piper  <andy@xemacs.org>
15421
15422         * s/cygwin32.h: declare printer things.
15423
15424 2000-01-26  Andy Piper  <andy@xemacs.org>
15425
15426         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15427         Alexander.
15428
15429 2000-01-24  Andy Piper  <andy@xemacs.org>
15430
15431         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15432         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15433
15434         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15435
15436         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15437
15438         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15439
15440         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15441         (mswindows_output_display_block): Avoid local shadows.
15442
15443         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15444         (mswindows_enqueue_mouse_button_event): ditto.
15445         (mswindows_handle_gui_wm_command): remove declaration.
15446
15447         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15448         warnings.
15449
15450         * console-msw.h: Avoid shadows.
15451         (mswindows_get_toolbar_button_text):
15452         (emacs_mswindows_create_stream_pair):
15453         (emacs_mswindows_delete_stream_pair):
15454         (mswindows_handle_toolbar_wm_command): declare.
15455
15456         * device-msw.c (build_syscolor_string): Avoid shadows.
15457
15458 2000-01-23  Andy Piper  <andy@xemacs.org>
15459
15460         * glyphs-widget.c (widget_instantiate): reverse the items for
15461         layouts so that children are in the expected order.
15462
15463 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15464
15465         * ralloc.c: safe_bcopy ==> memmove
15466         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15467         * s/msdos.h: Remove BCOPY macros.
15468         * insdel.c (gap_right): Remove BCOPY conditional code.
15469         * insdel.c (gap_left): Remove BCOPY conditional code.
15470         XEmacs demands a working ANSI C compiler - hence memmove.
15471
15472         * regex.c (regex_compile): Remove accidental use of trigraphs.
15473
15474 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15475
15476         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15477         event timestamp.
15478
15479 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15480
15481         * event-msw.c (mswindows_drain_windows_queue): Added the
15482         parameter.
15483         (mswindows_need_event): Commented the call to
15484         mswindows_drain_windows_queue().
15485         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15486         only.
15487
15488         * console-msw.h: Moved a few function prototypes here from
15489         event-msw.c.
15490
15491         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15492         parameter from unsigned short to unsigned long.
15493         (Fmswindows_shell_execute): Added return value.
15494
15495 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15496
15497         * sysdep.c (init_system_name):
15498           process-unix.c (unix_canonicalized_host_name):
15499         Don't call freeaddrinfo() if getaddrinfo() fails.
15500
15501         * process-unix.c (unix_open_unix_network_stream):
15502         Moved the code to get a port # into address loop.
15503
15504 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15505
15506         * buffer.c (reinit_vars_of_buffer):
15507         The right place to initialize conversion_in_dynarr and
15508         conversion_out_dynarr.
15509
15510         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15511
15512         * process-unix.c (unix_canonicalize_host_name): Muleize.
15513         (unix_open_network_stream): Muleize.
15514
15515         * buffer.h: Fix up prototypes for ralloc.c functions.
15516
15517 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15518         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15519         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15520                 instead of gethostbyname()
15521         * process-unix.c: In unix_canonicalize_host_name() and
15522                 unix_open_network_stream(), add code to use getaddrinfo()
15523                 instead of gethostbyname().
15524
15525 2000-01-27  Daniel Pittman <daniel@danann.net>
15526
15527         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15528         libs when built with flat Athena.
15529
15530 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15531
15532         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15533         Use coding standards for function prototypes.
15534
15535 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15536
15537         * dialog-msw.c (push_lisp_string_as_unicode):
15538         * doc.c (unparesseuxify_doc_string):
15539         * dired.c (Fuser_name_completion_1):
15540         * dired.c (Fuser_name_all_completions):
15541         * dired.c (free_user_cache):
15542         * dired.c (user_name_completion):
15543         * console-x.c (get_display_arg_connection):
15544         * minibuf.c (clear_echo_area_internal):
15545         * minibuf.c (echo_area_append):
15546         * eldap.c (Fldap_open):
15547         * eldap.c (Fldap_search_internal):
15548         * frame-x.c (x_set_frame_text_value):
15549         * frame-x.c (x_set_frame_properties):
15550         * frame-x.c (x_create_widgets):
15551         * redisplay-tty.c (term_get_fkeys_1):
15552         * objects-x.c (x_parse_nearest_color):
15553         * objects-x.c (x_valid_color_name_p):
15554         * objects-x.c (x_initialize_font_instance):
15555         * objects-x.c (x_list_fonts):
15556         * objects-x.c (x_find_charset_font):
15557         * tooltalk.c (Fadd_tooltalk_message_arg):
15558         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15559         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15560         * process-unix.c (unix_create_process):
15561         * ntproc.c (sys_spawnve):
15562         * sound.c (Fplay_sound_file):
15563         * sound.c (Fplay_sound):
15564         * buffer.c (init_initial_directory):
15565         * buffer.c (init_buffer):
15566         * editfns.c (init_editfns):
15567         * editfns.c (Ftemp_directory):
15568         * editfns.c (Fuser_full_name):
15569         * editfns.c (uncache_home_directory):
15570         * editfns.c (get_home_directory):
15571         * editfns.c (Fuser_home_directory):
15572         * editfns.c (Fformat_time_string):
15573         * editfns.c (Fcurrent_time_string):
15574         * gui-x.c (button_item_to_widget_value):
15575         * database.c (Fopen_database):
15576         * event-Xt.c (x_to_emacs_keysym):
15577         * event-Xt.c (x_event_to_emacs_event):
15578         * event-Xt.c (describe_event_window):
15579         * event-msw.c (mswindows_wnd_proc):
15580         * glyphs-eimage.c (jpeg_instantiate):
15581         * glyphs-eimage.c (gif_instantiate):
15582         * glyphs-eimage.c (png_instantiate):
15583         * glyphs-eimage.c (tiff_instantiate):
15584         * glyphs-x.c (xbm_instantiate_1):
15585         * glyphs-x.c (x_xbm_instantiate):
15586         * glyphs-x.c (x_xface_instantiate):
15587         * glyphs-x.c (autodetect_instantiate):
15588         * glyphs-x.c (cursor_font_instantiate):
15589         * glyphs-x.c (x_widget_instantiate):
15590         * glyphs-x.c (x_widget_set_property):
15591         * glyphs-x.c (x_widget_property):
15592         * glyphs-x.c (BUILD_GLYPH_INST):
15593         * print.c (write_string_to_stdio_stream):
15594         * print.c (output_string):
15595         * print.c (Falternate_debugging_output):
15596         * print.c (Fexternal_debugging_output):
15597         * glyphs-msw.c (extract_xpm_color_names):
15598         * glyphs-msw.c (mswindows_xpm_instantiate):
15599         * glyphs-msw.c (bmp_instantiate):
15600         * glyphs-msw.c (resource_name_to_resource):
15601         * glyphs-msw.c (mswindows_resource_instantiate):
15602         * glyphs-msw.c (xbm_instantiate_1):
15603         * glyphs-msw.c (mswindows_xbm_instantiate):
15604         * glyphs-msw.c (mswindows_xface_instantiate):
15605         * glyphs-msw.c (mswindows_widget_instantiate):
15606         * glyphs-msw.c (add_tree_item):
15607         * glyphs-msw.c (add_tab_item):
15608         * glyphs-msw.c (mswindows_combo_box_instantiate):
15609         * glyphs-msw.c (mswindows_widget_property):
15610         * glyphs-msw.c (mswindows_combo_box_property):
15611         * glyphs-msw.c (mswindows_widget_set_property):
15612         * console.c (stuff_buffered_input):
15613         * objects-msw.c (mswindows_initialize_color_instance):
15614         * objects-msw.c (mswindows_valid_color_name_p):
15615         * objects-msw.c (mswindows_list_fonts):
15616         * objects-msw.c (mswindows_font_instance_truename):
15617         * bytecode.c (optimize_compiled_function):
15618         * select-x.c (symbol_to_x_atom):
15619         * select-x.c (x_atom_to_symbol):
15620         * select-x.c (hack_motif_clipboard_selection):
15621         * select-x.c (selection_data_to_lisp_data):
15622         * select-x.c (lisp_data_to_selection_data):
15623         * select-x.c (Fx_get_cutbuffer_internal):
15624         * select-x.c (Fx_store_cutbuffer_internal):
15625         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15626         * buffer.h (TO_INTERNAL_FORMAT): New function.
15627         * emacs.c (make_arg_list_1):
15628         * emacs.c (make_argc_argv):
15629         * emacs.c (main_1):
15630         * emacs.c (Fdump_emacs):
15631         * emacs.c (split_string_by_emchar_1):
15632         * file-coding.h:
15633         * lisp.h:
15634         * lstream.h:
15635         * symsinit.h:
15636         * device-x.c (x_init_device):
15637         * device-x.c (Fx_valid_keysym_name_p):
15638         * device-x.c (Fx_get_font_path):
15639         * device-x.c (Fx_set_font_path):
15640         * glyphs.c (bitmap_to_lisp_data):
15641         * glyphs.c (pixmap_to_lisp_data):
15642         * alloc.c (make_ext_string): Use coding system arguments.  Update
15643         all callers.
15644         * alloc.c (build_string):
15645         * callproc.c (child_setup):
15646         * callproc.c (init_callproc):
15647         * fileio.c (lisp_strerror):
15648         * fileio.c (directory_file_name):
15649         * fileio.c (Fexpand_file_name):
15650         * fileio.c (Ffile_truename):
15651         * fileio.c (Fsysnetunam):
15652         * fileio.c (Fdo_auto_save):
15653         * sysdep.c (sys_readdir):
15654         * tests.c: New file.  Allow adding C tests.
15655         Replace GET_* macros with a more comprehensible and flexible
15656         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15657         Modify all calls.
15658         Any coding system can be used to do format conversion.
15659         Eliminate enum external_data_format.
15660         Eliminate convert_to_external_format.
15661         Eliminate convert_to_internal_format.
15662         Make sure file-name, keyboard, terminal, and ctext are always
15663         defined as coding systems or aliases.  Make
15664         file-name-coding-system, terminal-coding-system, and
15665         keyboard-coding-system magical variables that are equivalent to
15666         defining the corresponding coding system aliases.
15667
15668         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15669         * file-coding.c (Fcoding_system_alias_p): New function.
15670         * file-coding.c (Fcoding_system_aliasee): New function.
15671         * file-coding.c (append_suffix_to_symbol): New function.
15672         * file-coding.c (dangling_coding_system_alias_p): New function.
15673         * file-coding.c (Ffind_coding_system):
15674         * file-coding.c (Fcopy_coding_system):
15675         * file-coding.c (encode_coding_no_conversion):
15676         * file-coding.c (syms_of_file_coding):
15677         * file-coding.c (vars_of_file_coding):
15678         Rewrite coding system alias code.
15679         Allow nested aliases, like symbolic links.
15680         Allow redefinition of coding system aliases.
15681         Prevent existence of dangling coding system aliases.
15682
15683         * dired.c (Fuser_name_completion_1):
15684         * dired.c (Fuser_name_all_completions):
15685         A crash would happen if user did QUIT in the middle of building
15686         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15687
15688         * lisp.h:
15689         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15690
15691         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15692         an unsigned char *.  Update all callers.
15693
15694 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15695
15696         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15697
15698 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15699
15700         * elhash.c (hentry_description): Use more portable definition.
15701         (resize_hash_table): Initialize new hentries using
15702         xnew_array_and_zero, thereby simplifying the code.
15703
15704         * mule-charset.c (make_charset): Make sure entire object is
15705         initialized, to avoid Purify warnings.
15706
15707         * alloc.c (resize_string): Fix unlikely crash with big strings.
15708
15709 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15710
15711         * realpath.c (xrealpath):
15712         Don't call getwd().
15713
15714 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15715
15716         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15717
15718 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15719
15720         * unexelfsgi.c (unexec): Change the way we decide which segment
15721         should be extended.
15722
15723         Assumption that .bss section should be outside the PT_LOADable
15724         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15725         it's present) is inside the 'data' segment. This would fail the
15726         test which was used to find a segment to grow and cover new
15727         heap. Instead of this assumption, I created another one - on IRIX
15728         the segment to grow should start below .bss and it's address
15729         should extent above the end of .bss. Once this segment is
15730         identified, it's grown to accommodate the new heap and new
15731         zero-length .bss section is added at the end of .data2.
15732
15733 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15734
15735         * eval.c (Feval): Wrong number of arguments should use original
15736         function, not the indirect_function version of it.
15737
15738 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15739
15740         * glyphs-x.c (x_button_instantiate): Don't add image if
15741         it is not a pixmap.
15742         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15743         is relative.
15744
15745 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15746
15747         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15748         declaration.
15749         (DEFVAR_INT_MAGIC): Ditto.
15750         (DEFVAR_BOOL_MAGIC): Ditto.
15751         * glyphs.h: Reindent backslash.
15752
15753 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15754
15755         * glyphs-widget.c (layout_query_geometry):
15756         (layout_layout): Use correct types for gheight, gwidth.
15757
15758 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15759
15760         * EmacsManager.c (QueryGeometry): Purified.
15761
15762 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15763
15764         * alloc.c (make_float): Make sure entire object is initialized, to
15765         avoid Purify warnings.
15766         (pdump_register_sub): Remove useless assignment.
15767         (pdump): Use xmalloc, not malloc.
15768         (pdump_load): Use xmalloc, not malloc.
15769
15770 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15771
15772         * callproc.c:
15773         * dired-msw.c:
15774         * fileio.c:
15775         * process-nt.c:
15776         * redisplay-msw.c:
15777         * sysdep.c: Removed redundant #include <windows.h>
15778
15779 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15780
15781         * frame.c (delete_frame_internal): Do not delete device when its
15782         implementation so declares.
15783         (delete_frame_internal): Set device selected frame to nil when
15784         last frame goes away.
15785
15786         * device-msw.c (msprinter_device_system_metrics): Implemented.
15787         (mswindows_device_system_metrics): Added 'device-dpi property.
15788
15789         * device.c: (Fdevice_printer_p): Added.
15790         Added 'offset-workspace device metric.
15791
15792         * console.h (device_metrics): Declared DM_offset_workspace.
15793
15794 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15795
15796         * fileio.c (Ffile_truename): Remove pointless and confusing
15797         initialization of elen.
15798
15799         * glyphs-widget.c: Compiler warning fixes.
15800
15801 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15802
15803         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15804         instead of a Lisp_Object as argument to make it consistent with
15805         the other LIVE_P macros.
15806         (CHECK_LIVE_PROCESS): New macro.
15807
15808         * process.c: Declare Qprocess_live_p.
15809         (Fprocess_live_p): New function.
15810         (create_process): Use PROCESS_LIVE_P.
15811         (read_process_output): Ditto.
15812         (set_process_filter): Ditto.
15813         (Fdelete_process): Ditto.
15814         (kill_buffer_processes): Ditto
15815         (process_send_signal): Use CHECK_LIVE_PROCESS.
15816         (Fprocess_input_coding_system): Check whether process is still
15817         alive (fix PR#1061).
15818         (Fprocess_output_coding_system): Ditto.
15819         (Fprocess_coding_system): Ditto.
15820         (Fset_process_input_coding_system): Ditto.
15821         (Fset_process_output_coding_system): Ditto.
15822
15823 2000-01-23  Andy Piper  <andy@xemacs.org>
15824
15825         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15826         layout and widget.
15827
15828         * glyphs.c (mark_image_instance): take into account changed
15829         image_instance format.
15830         (image_instance_equal): ditto.
15831         (image_instance_hash): ditto.
15832
15833         * glyphs-widget.c (widget_instantiate): Incorporate layout
15834         instantiation here. Delay layout of the layout until later.
15835         (layout_instantiate): deleted.
15836         (layout_query_geometry): new function. get the geometry of a
15837         layout.
15838         (layout_layout): layout a layout dynamically.
15839         (image_instantiator_widget): New function - splitting up
15840         image_instantiator_format_create_glyphs_widget for netwinder
15841         compilation.
15842         (image_instantiator_buttons):
15843         (image_instantiator_edit_fields):
15844         (image_instantiator_combo_box):
15845         (image_instantiator_scrollbar):
15846         (image_instantiator_progress_guage):
15847         (image_instantiator_tree_view):
15848         (image_instantiator_tab_control):
15849         (image_instantiator_labels):
15850         (image_instantiator_layout): ditto.
15851         (image_instantiator_format_create_glyphs_widget): Call preceding
15852         functions.
15853
15854 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15855
15856         * process.c (Fset_process_coding_system):
15857         * device-x.c (Fx_keysym_hash_table):
15858         Docstring fixes.
15859
15860         * lstream.c (Lstream_write): Return documented value, not 0.
15861
15862         * fileio.c (directory_file_name):
15863         (Fsubstitute_in_file_name):
15864         (Fsubstitute_insert_file_contents_internal):
15865         (Fwrite_region_internal):
15866         * emacs.c:
15867         * sysdep.c:
15868         * getloadavg.c:
15869         * systty.h:
15870         Remove vestigial APOLLO-conditional code.
15871
15872 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15873
15874         * getpagesize.h: Add guard macros.
15875         * libsst.h: Add guard macros.
15876         * libst.h: Add guard macros.
15877         * line-number.h: Add guard macros.
15878         * ndir.h: Add guard macros.
15879         * sysfloat.h: Add guard macros.
15880         * sysfile.h: Add guard macros.
15881         * sysproc.h: Add guard macros.
15882         * syswait.h: Add guard macros.
15883         * xintrinsic.h: Add guard macros.
15884         * xintrinsicp.h: Add guard macros.
15885         * xmmanager.h: Add guard macros.
15886         * xmmanagerp.h: Add guard macros.
15887         * xmprimitive.h: Add guard macros.
15888         * xmu.h: Add guard macros.
15889         * gpmevent.h: Add copyright statement. Add guard macros.
15890         * miscplay.h: Add guard macros.
15891         * *.h: Use consistent C-standards-approved guard macro names.
15892
15893         * opaque.c (make_opaque): Switch parameter order.
15894         * opaque.h (make_opaque): Switch parameter order.
15895         Update all callers.
15896         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15897
15898         * config.h.in (type_checking_assert): Added.
15899         (bufpos_checking_assert): Added.
15900
15901 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15902
15903         * alloc.c: Harmless pdump changes.
15904         - Use countof().
15905         - spell alignment correctly.
15906         * sysdep.c: Use countof()
15907
15908 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15909
15910         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15911         initially_selected_for_input() console method, default to 0.
15912         (semi_canonicalize_console_connection): Try to delegate to
15913         canonicalize_console_connection if no such console method.
15914         (canonicalize_console_connection): Vice versa.
15915         (print_console): Do not print nil connection.
15916
15917         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15918         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15919         (XDEVIMPF_FRAMELESS_OK): Added.
15920         (CONSOLE_INHERITS_METHOD): Added.
15921
15922         * console-msw.c (mswindows_canonicalize_console_connection):
15923         Added.
15924         (mswindows_canonicalize_device_connection): Added.
15925
15926         * console-msw.h (struct msprinter_device): Added this struct and
15927         accessor macros.
15928         (mswindows_device): Made fontlist a lisp object.
15929
15930         * device.c (semi_canonicalize_device_connection):  Try to delegate
15931         to canonicalize_device_connection if no such console method.
15932         (canonicalize_device_connection): Vice versa.
15933         (print_device): Do not print nil connection.
15934
15935         * device-msw.c (mswindows_init_device): Call InitCommonControls
15936         when have widgets.
15937         (mswindows_delete_device): Removed fontlist deallocation.
15938         (mswindows_mark_device): Added.
15939
15940         * events.c (event_equal): Added abort() at unreached code.
15941         (event_hash): Ditto.
15942
15943         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15944         fallback tags of Windows devices.
15945
15946         * general.c (syms_of_general): Initialized Qmsprinter.
15947
15948         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15949         of fallback tags of Windows devices.
15950
15951         * lisp.h: Declared Qmsprinter.
15952
15953         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15954         of strings.
15955         (mswindows_list_fonts): Ditto.
15956         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15957         that it can be used by both mswindows and msprinter devices.
15958         (initialize_font_instance): Added.
15959         (mswindows_initialize_font_instance): Use it.
15960         (msprinter_initialize_font_instance): Added.
15961
15962         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15963         and implementation flags check.
15964         (redisplay_without_hooks): Changed the call to the above.
15965         (Fredraw_device): Ditto.
15966         (Fredisplay_device): Ditto.
15967
15968         * redisplay-msw.c (get_frame_dc): Implemented.
15969         (get_frame_compdc): Implemented.
15970         (many functions): Use the two functions above to get device
15971         contexts, ether for a window or a printer.
15972
15973 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15974
15975         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15976         initialization here.
15977         (init_symbols_once_early): Call it.
15978         * emacs.c (main_1): Call it.
15979         * symsinit.h: Declare it.
15980
15981 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15982
15983         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15984         Lisp_Object.
15985         (pdump_backtrace): Ditto.
15986         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15987         (pdump_get_entry): Abort if trying to register a null pointer.
15988         (pdump_dump_data): Cleanup types when relocating.
15989         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15990         (pdump_dump_rtables): Remove bad casts.
15991         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15992         Lisp_Object instead of a EMACS_INT for the hashtable
15993         reorganization.
15994
15995 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15996
15997         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15998
15999         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16000
16001         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16002
16003         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16004
16005 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16006
16007         * faces.h (FACE_STRIKETHRU_P): Added.
16008
16009         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16010         of font variants.
16011
16012         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16013         (mswindows_set_dc_font): New function, aware of font variants,
16014         separated from mswindows_update_dc.
16015
16016         * objects-msw.h (struct mswindows_font_instance_data): Added
16017         definition.
16018
16019         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16020         cached fonts and the data structure.
16021         (mswindows_initialize_font_instance): Added creation of font data
16022         structure.
16023         (mswindows_print_font_instance): Print at least something.
16024         (mswindows_create_font_variant): Implemented.
16025         (mswindows_get_hfont): Implemented.
16026
16027 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16028
16029         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16030         prototyping problem with msvc.
16031
16032         * emacs.c (main_1): added syms_of_gui_mswindows() call
16033
16034         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16035         syms_of_gui_mswindows() function
16036
16037         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16038
16039 2000-01-18  Martin Buchholz <martin@xemacs.org>
16040
16041         * XEmacs 21.2.27 is released.
16042
16043 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16044
16045         * glyphs-eimage.c (struct tiff_error_struct):
16046         (tiff_error_func):
16047         (tiff_warning_func):
16048         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16049
16050         * unexmips.c:
16051         * unexhp9k3.c:
16052         * unexfreebsd.c:
16053         * unexec.c: Remove vestigial Lucid C code.
16054         * unexalpha.c:
16055         * unexaix.c:
16056         * termcap.c:
16057         * libsst.c: Ansify.
16058         Remove declarations of errno and strerror().
16059
16060         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16061
16062         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16063
16064 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16065
16066         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16067         Optimize.
16068
16069 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16070
16071         * md5.c:
16072         * file-coding.c:
16073         * file-coding.h:
16074         Change enum eol_type to eol_type_t.
16075
16076 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16077
16078         * gui.c (get_gui_callback): Check cons before accessing car.
16079
16080 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16081
16082         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16083         (XSETSPECIFIER_TYPE): Ditto.
16084
16085 2000-01-17  Didier Verna  <didier@xemacs.org>
16086
16087         * redisplay.c (generate_fstring_runes): compute string size in
16088         characters, not bytes.
16089
16090 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16091
16092         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16093
16094 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16095
16096         * print.c (print_error_message): Call print_prepare().
16097
16098 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16099
16100         * .dbxrc: Renamed from dbxrc.
16101
16102         * events.c (event_to_character):
16103         Use `assert (foo)' instead of `if (!foo) abort()'
16104
16105         * .gdbinit (xtype): Add documentation.
16106         * .gdbinit (check-temacs): New function.
16107         * .gdbinit (check-xemacs): New function.
16108         * dbxrc (check-xemacs): New function.
16109         * dbxrc (check-xemacs): New function.
16110
16111 2000-01-14  Andy Piper  <andy@xemacs.org>
16112
16113         * glyphs-widget.c (widget_query_geometry): Make sure that we
16114         calculate default dimensions correctly.
16115
16116 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16117
16118         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16119
16120         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16121         pdump_wire'd variable.
16122
16123         * emacs.c: (main_1): Conditionalized calls to
16124         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16125
16126 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16127
16128         * window.c (Fset_window_configuration):
16129         * sysdep.c (_start):
16130         * input-method-motif.c (res):
16131         * event-Xt.c (Xt_process_to_emacs_event):
16132         Simple compiler warning fixes.
16133
16134         * bytecode.c (funcall_compiled_function): Use the original
16135         function symbol on the backtrace list in preference to the
16136         compiled_function object in error messages.
16137
16138 2000-01-13  Andy Piper  <andy@xemacs.org>
16139
16140         * glyphs-x.c (update_widget_face): Make sure we update the widget
16141         background as well as foreground.
16142
16143 2000-01-13  Andy Piper  <andy@xemacs.org>
16144
16145         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16146         fields to subwindow.
16147         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16148         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16149         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16150         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16151
16152         * glyphs-widget.c (check_valid_tab_orientation): new function.
16153         (initialize_widget_image_instance): zero orientation and
16154         justification.
16155         (widget_instantiate): pick up orientation.
16156         (tab_control_query_geometry): return appropriate values for
16157         vertical tabs.
16158
16159         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16160         appropriate creation flags for left, right and bottom tabs.
16161
16162         * s/cygwin32.h: add tab definitions.
16163
16164 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16165
16166         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16167         frame upon hiding a subwindow.
16168         (mswindows_button_instantiate): Changed the push button style to
16169         BS_PUSHBUTTON.
16170         (mswindows_button_instantiate): Removed button BS_NOTIFY
16171         style.
16172         (mswindows_button_instantiate): Removed redundant check for
16173         a disabled gui item.
16174         (mswindows_button_instantiate): Made use of WS_TABSTOP
16175         consistent: "operable" controls (edit, button, tree, scroll) have
16176         this style, "display-only" ones (static, progress gauge) do
16177         not. This style is currently ignored by XEmacs though. Also,
16178         removed the WS_EX_CONTROLPARENT style - it is not for children,
16179         it is for their parents!
16180         (mswindows_edit_field_instantiate): Ditto.
16181         (mswindows_progress_gauge_instantiate): Ditto.
16182         (mswindows_tree_view_instantiate): Ditto.
16183         (mswindows_tab_control_instantiate): Ditto.
16184         (mswindows_scrollbar_instantiate): Ditto.
16185         (mswindows_combo_box_instantiate): Ditto.
16186         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16187         style to the "clip" window.
16188         (mswindows_button_instantiate): Removed compilation warning by
16189         equally typing terms of the ?: operator.
16190
16191 2000-01-12  Didier Verna  <didier@xemacs.org>
16192
16193         * redisplay.c (generate_fstring_runes): new parameter holding the
16194         last modeline-format extent.
16195         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16196         extent, fill the glyph block with it.
16197         (generate_fstring_runes): handle these parameters.
16198         (generate_formatted_string_db): ditto.
16199
16200         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16201         glyphs'extents in the modeline.
16202
16203 1999-01-11  Mike Woolley  <mike@bulsara.com>
16204
16205         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16206         256Mb, as a workaround for the non-starting problem many people
16207         have experienced.
16208
16209 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16210
16211         * console-tty.c (Fset_console_tty_output_coding_system):
16212         Force redrawing tty frame.
16213
16214 2000-01-10  Didier Verna  <didier@xemacs.org>
16215
16216         * redisplay.c (generate_fstring_runes): fix size computation bug.
16217
16218 2000-01-09  William M. Perry <wmperry@aventail.com>
16219
16220         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16221
16222 2000-01-09  Andy Piper  <andy@xemacs.org>
16223
16224         * glyphs-msw.c: index -> i to avoid shadows.
16225         (xbm_create_bitmap_from_data): make static.
16226         (check_valid_string_or_int): deleted.
16227         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16228
16229         * glyphs-x.c (x_update_subwindow): remove unused args.
16230
16231         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16232         back pointer - this is done in allocate_image_instance.
16233         (query_string_font): return Qnil to make the compiler happy.
16234         (unmap_subwindow): set to ~0 to make the compiler happy.
16235         (glyph_query_geometry): comment out until used.
16236         (glyph_layout): ditto.
16237
16238 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16239
16240         * insdel.c (signal_after_change): Remove extraneous unbind_to().