d7b3548a40654bcc83331a2c4a67f43f9f36e59a
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Q_same): New variable.
4         (Q_same_of): New variable.
5         (Fput_char_attribute): Convert char-refs in value of `{->|<-}same'
6         to characters and put reverse links.
7         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
8         for `{->|<-}same'.
9         (syms_of_chartab): Add new symbols `{->|<-}same'.
10
11 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
12
13         * chartab.c (Q_component): New variable.
14         (Q_component_of): Likewise.
15         (Fput_char_attribute): Convert char-refs in value of
16         `{->|<-}ideographic-component-forms' to characters and put reverse
17         links.
18         (syms_of_chartab): Add new symbols
19         `{->|<-}ideographic-component-forms'.
20
21 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
22
23         * chartab.c (Q_identical): New variable.
24         (Q_identical_from): New variable.
25         (Fchar_feature): Regard `->identical' as a feature to find
26         ancestors.
27         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
28         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
29         for `{->|<-}identical'.
30         (syms_of_chartab): Add new symbols `{->|<-}identical'.
31
32 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * char-ucs.h (encode_char_2): New inline function.
35         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
36
37 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
38
39         * chartab.c (Fput_char_attribute): Convert char-specs to
40         characters in value of `ideographic-structure'.
41         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
42         for `{<-|->}simplified(@...)'.
43         (Fdefine_char): bTry to use predefined character's id.
44
45 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * fns.c (simplify_char_spec): Try to convert builtin chars to
48         defined chars.
49
50 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
51
52         * chartab.c (Fput_char_attribute): Convert char-refs in value of
53         `<-simplified[^*]*' to characters and put reverse links.
54
55 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
56
57         * chartab.c (Q_subsumptive): Renamed from Q_unified.
58         (Q_subsumptive_from): Renamed from Q_unified_from.
59         (Fchar_feature): Use `Q_subsumptive_from' instead of
60         `Q_unified_from'.
61         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
62         `Q_unified'.
63         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
64         `<-unified' to `<-subsumptive'.
65
66 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
69         inheritance itself; fix typo; stop recursive search if cyclic
70         inheritance is found.
71
72 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
73
74         * chartab.c (Q_denotational): New variable.
75         (Q_denotational_from): New variable.
76         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
77         (put_char_attribute): New function.
78         (Fput_char_attribute): Use `put_char_attribute'; regard
79         `->denotational' and `<-denotational' as same as `->unified' and
80         `<-unified'.
81         (syms_of_chartab): Add new symbols `->denotational' and
82         `<-denotational'.
83
84 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
85
86         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
87         `Fget_char_attribute'.
88         (Fchar_variants): Likewise.
89         (get_char_table): Likewise.
90         (Fchar_feature): New function.
91         (put_char_composition): Use `Fchar_feature' instead of
92         `Fget_char_attribute'.
93         (Fput_char_attribute): Likewise; don't put the target character
94         into its `->unified' value.
95         (syms_of_chartab): Add new builtin function `char-feature'.
96
97 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
100         `Fget_char_attribute'.
101         (char_encode_utf8): Likewise.
102
103         * chartab.h: Add an EXFUN for `Fchar_feature'.
104
105 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * chartab.c (Vnext_defined_char_id): New variable.
108         (Fput_char_attribute): Accept characters in `->unified'.
109         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
110         new characters which are not related with builtin char-id ranges.
111         (vars_of_chartab): Add new variable `next-defined-char-id'.
112
113 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * chartab.c (Q_unified): New variable.
116         (Q_unified_from): New variable.
117         (Fput_char_attribute): Add code for `->unified'.
118         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
119         XEmacs CHISE.
120
121 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * mule-charset.c (decode_ccs_conversion): New function.
124         (decode_defined_char): Use `decode_ccs_conversion'.
125         (decode_builtin_char): Likewise.
126
127 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
128
129         * char-ucs.h: Change some charset-ids of private coded-charsets.
130
131 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
134         (char_encode_as_entity_reference): Likewise.
135         (decode_coding_big5): Modify for `decode_defined_char' and
136         `DECODE_CHAR'.
137         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
138         avoid compiler warning.
139         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
140
141         * mule-charset.c (decode_defined_char): Add new argument
142         `without_inheritance'.
143         (Fdecode_char): Add new optional argument `without_inheritance'.
144         (Fdecode_builtin_char): Modify for `Fdecode_char'.
145
146         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
147         (simplify_char_spec): Likewise.
148
149         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
150         setting.
151
152         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
153         (map_char_table): Likewise.
154         (Fdefine_char): Use `Fdecode_char' without inheritance.
155         (Ffind_char): Modify for `Fdecode_char'.
156
157         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
158
159         * char-ucs.h (decode_defined_char): Add new argument
160         `without_inheritance'.
161         (DECODE_CHAR): Likewise.
162         (MAKE_CHAR): Modify for `DECODE_CHAR'.
163
164 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * chartab.c (Vchise_system_db_directory): New variable.
167         (vars_of_chartab): Add new variable `chise-system-db-directory'.
168
169 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
170
171         * chartab.c: EXFUN `Fmount_char_attribute_table'.
172         (print_chartab_range): Don't define when `UTF2000' is defined.
173         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
174         `CHISE_DS_open'.
175
176 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
177
178         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
179         and optional argument `rehash' is specified, call
180         `open_chise_data_source_maybe' before
181         `chise_ds_foreach_char_feature_name' is called.
182
183 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * chartab.c (char_attribute_list_reset_map_func): New function
186         when HAVE_LIBCHISE is defined.
187         (Fchar_attribute_list): Add new optional argument `rehash' when
188         HAVE_LIBCHISE is defined.
189         (open_chise_data_source_maybe): Use "chise-db" instead of
190         "char-db".
191         (char_attribute_system_db_file): Likewise.
192         (Fload_char_attribute_table): Use
193         `chise_feature_foreach_char_with_value' instead of
194         `chise_char_feature_value_iterate'.
195
196 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * chartab.c (Vchise_db_directory): New variable.
199         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
200
201 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
204         instead of HAVE_CHISE to specify using with libchise.
205
206         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
207
208         * chartab.h: Don't use HAVE_CHISE_CLIENT.
209
210         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
211         defined or HAVE_LIBCHISE_LIBCHISE is defined.
212         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
213         is defined.
214         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
215         HAVE_CHISE to specify using with libchise.
216         (syms_of_chartab): Don't define symbol `system-char-id' when
217         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
218
219 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
222         specify CHISE DB support.
223         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
224         of `char_attribute_system_db_file' to check feature DB file.
225
226         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
227         HAVE_CHISE_CLIENT to specify CHISE DB support.
228
229         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
230         specify CHISE DB support.
231         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
232         not defined.
233         (Freset_char_attribute_table): Use `chise_feature_setup_db'
234         instead of `char_attribute_system_db_file' to check feature DB
235         file.
236
237 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
240         `HAVE_CHISE_CLIENT'.
241
242 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
243
244         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
245         (Fsave_charset_mapping_table): Don't use
246         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
247
248         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
249         (HAVE_LIBCHISE): New macro.
250
251         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
252
253         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
254         (Fsave_char_attribute_table): Don't use
255         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
256
257 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
258
259         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
260         defined.
261         (save_uint16_byte_table): Likewise.
262         (save_byte_table): Likewise.
263         (char_table_get_db): Use `chise_ds_load_char_feature_value'
264         instead of `chise_char_load_feature_value'.
265         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
266
267 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
268
269         * chartab.h (struct Lisp_Char_Table): Delete member
270         `feature_table' if CHISE is defined.
271
272         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
273         (Fcopy_char_table): Likewise.
274         (char_table_open_db_maybe): Likewise.
275         (char_table_close_db_maybe): Likewise.
276         (char_table_get_db): Likewise.
277         (Fmount_char_attribute_table): Likewise.
278         (Fload_char_attribute_table): Likewise.
279
280 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
281
282         * mule-charset.c (load_char_decoding_entry_maybe): Use
283         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
284         `chise_ccs_decode'.
285
286 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
287
288         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
289         instead of `chise_open_data_source'.
290         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
291         `chise_ds_close'.
292
293 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
294
295         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
296         instead of `chise_ds_open_feature_table'.
297         (char_table_close_db_maybe): Don't use `chise_ft_close'.
298
299 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * mule-charset.c (Fsave_charset_mapping_table): Use
302         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
303         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
304         `chise_ccs_sync' instead of `chise_ccst_close'.
305         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
306
307         * chartab.c (open_chise_data_source_maybe): Modify for
308         `chise_open_data_source'.
309         (char_table_open_db_maybe): Modify for
310         `chise_ds_open_feature_table'.
311
312 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
313
314         * mule-charset.c (load_char_decoding_entry_maybe): Use
315         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
316         `chise_ccst_close'.
317
318 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
319
320         * mule-charset.c (Fsave_charset_mapping_table): Use
321         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
322         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
323         `chise_dt_put_char' and `chise_dt_close'.
324         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
325         `chise_ccs_decode' and `chise_ccst_close' instead of
326         `chise_ds_open_decoding_table', `chise_dt_get_char' and
327         `chise_dt_close'.
328
329         * chartab.c (char_table_get_db): Use
330         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
331         (load_char_attribute_table_map_func): Modify for
332         `chise_char_feature_value_iterate'.
333         (Fload_char_attribute_table): Use
334         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
335
336 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
337
338         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
339
340 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
341
342         * chartab.c (put_char_table): Modify for inherited coded-charsets
343         in XEmacs CHISE.
344
345 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
346
347         * chartab.c (Fput_char_table_map_function): Fixed.
348         (word_boundary_p): Don't check charset in XEmacs CHISE.
349
350 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
351
352         * mule-charset.c (Fsave_charset_mapping_table): Use
353         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
354         instead of `chise_open_decoding_table'; refer
355         `default_chise_data_source'; use `chise_dt_close' instead of
356         `chise_close_decoding_table'.
357         (load_char_decoding_entry_maybe): Likewise.
358
359         * chartab.c (default_chise_data_source): New variable when `CHISE'
360         is defined.
361         (Fcopy_char_table): `ct->ds' is deleted.
362         (open_chise_data_source_maybe): New function.
363         (Fclose_char_data_source): New function.
364         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
365         use `chise_ds_open_feature_table' instead of
366         `chise_open_feature_table'.
367         (char_table_close_db_maybe): Use `chise_ft_close' instead of
368         `chise_close_feature_table'; `cit->ds' is deleted.
369         (syms_of_chartab): Add new builtin function
370         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
371
372         * chartab.h (default_chise_data_source): New extern variable.
373         (open_chise_data_source_maybe): New prototype.
374         (struct Lisp_Char_Table): Delete `ds'.
375
376 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
377
378         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
379         `CHISE' is defined.
380
381 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
382
383         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
384         not defined; add code for non-libchise setting.
385         (char_table_close_db_maybe): Likewise.
386         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
387         defined.
388         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
389         even if `CHISE' is not defined.
390         (Freset_char_attribute_table): Likewise.
391         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
392         `char_table_close_db_maybe' even if `CHISE' is not defined; use
393         `char_table_get_db'.
394         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
395         `char_table_close_db_maybe' even if `CHISE' is not defined.
396
397 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
398
399         * chartab.c (char_table_open_db_maybe): New function.
400         (char_table_close_db_maybe): New function.
401         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
402         (Freset_char_attribute_table): Likewise.
403         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
404         `char_table_close_db_maybe'.
405         (Fload_char_attribute_table): Likewise.
406
407 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
408
409         * chartab.c: Don't include <chise.h> because it is included in
410         chartab.h.
411         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
412         defined.
413         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
414         `CHISE' is defined.
415         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
416         `CHISE' is defined.
417         (Fclose_char_attribute_table): Close `ct->feature_table' and
418         `ct->ds' when `CHISE' is defined.
419         (Freset_char_attribute_table): Likewise.
420         (load_char_attribute_maybe): Use `cit->ds' and
421         `cit->feature_table' when `CHISE' is defined.
422         (Fload_char_attribute_table): Likewise.
423
424         * chartab.h: Include <chise.h> when `CHISE' is defined.
425         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
426         when `CHISE' is defined.
427
428 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
429
430         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
431         is defined.
432         (char_table_description): Likewise.
433         (Fmake_char_table): Likewise.
434         (Fcopy_char_table): Likewise.
435         (Fmount_char_attribute_table): Likewise.
436         (Fclose_char_attribute_table): Likewise.
437         (Freset_char_attribute_table): Likewise.
438         (load_char_attribute_maybe): Likewise.
439         (Fload_char_attribute_table): Likewise.
440
441         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
442         defined.
443
444 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
445
446         * chartab.c (load_char_attribute_table_map_func): New function
447         when CHISE is defined.
448         (Qload_char_attribute_table_map_function): Don't define when CHISE
449         is defined.
450         (Fload_char_attribute_table_map_function): Likewise.
451         (Fload_char_attribute_table): Use libchise when `CHISE' is
452         defined.
453         (syms_of_chartab): Don't define
454         `load-char-attribute-table-map-function' when CHISE is defined.
455
456 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
457
458         * chartab.c: Include <chise.h> when `CHISE' is defined.
459         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
460
461 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * mule-charset.c (charset_code_point): Fix problem when searching
464         in mother CCS fails with `defined_only' mode.
465
466 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
467
468         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
469         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
470         (put_char_composition): Likewise.
471         (Fput_char_attribute): Likewise.
472         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
473
474 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
475
476         * chartab.c (Q_ucs): Deleted.
477         (Fput_char_attribute): Don't refer `->ucs'.
478         (Fdefine_char): Likewise.
479         (Ffind_char): Likewise.
480         (syms_of_chartab): Delete `->ucs'.
481
482 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
483
484         * mule-charset.c (Qmap_cns11643_2): Renamed from
485         `Qchinese_cns11643_2'.
486         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
487         `chinese-cns11643-2'.
488         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
489         `=cns11643-2'.
490
491 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
492
493         * mule-charset.c (Qmap_cns11643_1): Renamed from
494         `Qchinese_cns11643_1'.
495         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
496         `chinese-cns11643-1'.
497         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
498         `=cns11643-1'.
499
500 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
501
502         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
503         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
504         `chinese-gb12345'.
505         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
506         `=gb12345'.
507
508 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
509
510         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
511         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
512         `chinese-gb2312'.
513         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
514         `=gb2312'.
515
516 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
517
518         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
519         (syms_of_mule_charset): Add new symbol `=big5' instead of
520         `chinese-big5'.
521         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
522
523 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
524
525         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
526         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
527         `korean-ksc5601'.
528         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
529         `=ks-x1001'.
530
531 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
532
533         * mule-charset.c (Qmap_jis_x0212): Renamed from
534         `Qjapanese_jisx0212'.
535         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
536         `japanese-jisx0212'.
537         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
538         `=jis-x0212'.
539
540 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
541
542         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
543         `Qjapanese_jisx0208'.
544         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
545         of `japanese-jisx0208'.
546         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
547         `=jis-x0208-1983'.
548
549 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
550
551         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
552         `Qjapanese_jisx0208_1978'.
553         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
554         of `japanese-jisx0208-1978'.
555         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
556         `=jis-x0208-1978'.
557
558 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
559
560         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
561         only for XEmacs CHISE.
562
563 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
564
565         * char-ucs.h: Compact non-ISO-IR charset-ids.
566         (LEADING_BYTE_UCS): Changed to -177.
567         (LEADING_BYTE_CONTROL_1): Changed to -77.
568         (LEADING_BYTE_UCS_BMP): Changed to -176.
569         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
570
571 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * mule-charset.c (Qiso_ir): New variable.
574         (Fmake_charset): Recognise new property `iso-ir'.
575         (syms_of_mule_charset): Add new symbol `iso-ir'.
576
577 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
578
579         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
580         n to -n; charset-id of non ISO-IR sets are changed to positive
581         numbers.
582
583 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
584
585         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
586         for &MCS-XXXXXXXX; values.
587
588 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
589
590         * mule.c (Vxemacs_chise_version): Renamed from
591         `Vutf_2000_version'.
592         (vars_of_mule): Add new variable `xemacs-chise-version'; define
593         `utf-2000-version' as an alias for `xemacs-chise-version'.
594
595 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
596
597         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
598         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
599         defined.
600
601         * config.h.in (CHISE): New macro.
602
603 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
604
605         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
606         of `ucs'.
607         (Qmap_ucs): New variable.
608         (syms_of_mule_charset): Add new symbol `=ucs'.
609         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
610
611         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
612         (simplify_char_spec): Likewise.
613
614         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
615
616         * char-ucs.h (Qmap_ucs): New extern variable.
617
618 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
619
620         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
621         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
622         don't define it when UTF2000 is not defined.
623         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
624         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
625         when UTF2000 is not defined.
626         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
627         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
628
629 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
630
631         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
632
633         * mule-charset.c (Vcharset_ucs_gb): Deleted.
634         (Qucs_gb): Deleted.
635         (syms_of_mule_charset): Delete `ucs-gb'.
636         (complex_vars_of_mule_charset): Likewise.
637
638 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
639
640         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
641
642         * mule-charset.c (Vcharset_ucs_cns): Deleted.
643         (Qucs_cns): Deleted.
644         (syms_of_mule_charset): Delete `ucs-cns'.
645         (complex_vars_of_mule_charset): Likewise.
646
647 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
650
651         * mule-charset.c (Vcharset_ucs_jis): Deleted.
652         (Qucs_jis): Deleted.
653         (syms_of_mule_charset): Delete `ucs-jis'.
654         (complex_vars_of_mule_charset): Likewise.
655
656 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
657
658         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
659
660         * mule-charset.c (Vcharset_ucs_ks): Deleted.
661         (Qucs_ks): Deleted.
662         (syms_of_mule_charset): Delete `ucs-ks'.
663         (complex_vars_of_mule_charset): Likewise.
664
665 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
666
667         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
668         (Qideograph_daikanwa_2): Deleted.
669         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
670         (complex_vars_of_mule_charset): Likewise.
671
672         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
673         (LEADING_BYTE_DAIKANWA_1): Deleted.
674         (LEADING_BYTE_DAIKANWA_2): Deleted.
675         (MIN_CHAR_DAIKANWA): Deleted.
676         (MAX_CHAR_DAIKANWA): Deleted.
677
678 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
679
680         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
681         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
682         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
683
684         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
685         (Vcharset_ideograph_daikanwa): Deleted.
686         (Qideograph_hanziku_{1..12}): Deleted.
687         (Qideograph_daikanwa): Deleted.
688         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
689         Vcharset_ideograph_daikanwa.
690         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
691         `ideograph-hanziku-{1..12}'.
692         (complex_vars_of_mule_charset): Likewise.
693
694 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
695
696         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
697
698         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
699         (Qideograph_gt_pj_{1..11}): Deleted.
700         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
701         (complex_vars_of_mule_charset): Likewise.
702
703 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * mule-charset.c (Vcharset_ucs_big5): Deleted.
706         (Vcharset_ideograph_gt): Deleted.
707         (Qucs_big5): Deleted.
708         (Qideograph_gt): Deleted.
709         (syms_of_mule_charset): Delete symbol `ucs-big5' and
710         `ideograph-gt'.
711         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
712         and `ideograph-gt'.
713
714         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
715         (LEADING_BYTE_GT): Deleted.
716         (MIN_CHAR_GT): Deleted.
717         (MAX_CHAR_GT): Deleted.
718
719 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
720
721         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
722
723 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
726         (save_uint16_byte_table): Likewise.
727         (save_byte_table): Likewise; convert values by it.
728         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
729         for `ideographic-structure'.
730         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
731         as the filter for `ideographic-structure'.
732
733 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
734
735         * chartab.c (put_char_composition): New function.
736         (Fput_char_attribute): Use `put_char_composition'; use
737         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
738
739         * fns.c (simplify_char_spec): New function.
740         (char_ref_simplify_spec): New function.
741         (Fchar_refs_simplify_char_specs): New function.
742         (syms_of_fns): Add new builtin function
743         `char-refs-simplify-char-specs'.
744
745 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
746
747         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
748         (Qideograph_cbeta): Deleted.
749         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
750         (complex_vars_of_mule_charset): Likewise.
751
752         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
753         (MIN_CHAR_CBETA): Comment out.
754         (MAX_CHAR_CBETA): Likewise.
755
756 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
757
758         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
759         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
760         CHISE client feature.
761
762 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
763
764         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
765
766 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
767
768         * mule-charset.c (charset_lookup_description_1): Use
769         `NUM_LEADING_BYTES' in UTF-2000.
770
771 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
772
773         * char-ucs.h (GC_CHARSETP): Deleted.
774
775 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
776
777         * char-ucs.h (MAX_CHAR_GT): Updated.
778
779 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
780
781         * text-coding.c: Sync with XEmacs 21.4.10.
782
783 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
784
785         * mule-charset.c (Vcharset_china3_jef): Deleted.
786         (Qchina3_jef): Deleted.
787         (syms_of_mule_charset): Don't define `china3-jef'.
788         (complex_vars_of_mule_charset): Likewise.
789
790         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
791         (MIN_CHAR_CHINA3_JEF): Comment out.
792         (MAX_CHAR_CHINA3_JEF): Comment out.
793
794 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * mule-charset.c (Vcharset_ucs_gb): New variable.
797         (Qucs_gb): New variable.
798         (syms_of_mule_charset): Add new symbol `ucs-gb'.
799         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
800
801         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
802
803 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
804
805         * mule-charset.c (charset_code_point): if a coded-charset has a
806         final-byte, don't inherit the builtin range of the mother CCS.
807
808 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
809
810         * mule-charset.c (charset_code_point): Fix problem about
811         inheritance.
812
813 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
814
815         * mule-charset.c (decode_builtin_char): Reorganized.
816
817 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
818
819         * text-coding.c (char_encode_as_entity_reference): Modify for
820         `charset_code_point'.
821         (char_encode_shift_jis): Likewise.
822         (char_encode_big5): Likewise.
823         (char_encode_utf8): Likewise.
824         (char_encode_iso2022): Likewise.
825
826         * mule-charset.c (charset_code_point): Add new argument
827         `defined_only'.
828         (Fencode_char): Add new optional argument `defined_only'.
829
830         * chartab.c (put_char_table): Modify for `charset_code_point'.
831
832         * char-ucs.h (charset_code_point): Add new argument
833         `defined_only'.
834         (encode_char_1): Modify for `charset_code_point'.
835
836 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
839         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
840
841 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
842
843         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
844         (Qjis_x0208): Likewise.
845         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
846         XCHARSET_FINAL(charset).
847         (charset_code_point): Modify condition for final-byte based
848         builtin-chars.
849         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
850         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
851         in UTF-2000; specify `=jis-x0208' as the mother of
852         `japanese-jisx0208-1978', `japanese-jisx0208' and
853         `japanese-jisx0208-1990' in UTF-2000.
854
855 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
856
857         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
858
859 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
860
861         * text-coding.c (decode_coding_utf16): Support UTF-16.
862         (char_encode_utf16): Fixed.
863
864 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
865
866         * text-coding.c (Qutf16): New variable in MULE.
867         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
868         (Fcoding_system_type): Add `utf-16' in MULE.
869         (struct detection_state): Add a structure for utf16 in MULE.
870         (detect_coding_type): Setup st->utf16.mask in MULE.
871         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
872         MULE.
873         (reset_encoding_stream): Use `char_encode_utf16' and
874         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
875         (detect_coding_utf16): New function [incomplete].
876         (decode_coding_utf16): New function [support only UCS-2].
877         (char_encode_utf16): New function.
878         (char_finish_utf16): New function.
879         (syms_of_file_coding): Add new symbol `utf-16'; setup
880         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
881
882         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
883         UTF-2000.
884         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
885         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
886
887 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
888
889         * chartab.c (put_char_table): When a charset is specified as a
890         range in UTF-2000, don't support builtin characters.
891
892 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
893
894         * mule-charset.c (decode_defined_char): Don't refer external
895         database if Qunbound or Qnil are found.
896         (Fsave_charset_mapping_table): Don't define it if
897         HAVE_CHISE_CLIENT is not defined.
898         (Freset_charset_mapping_table): New function.
899         (load_char_decoding_entry_maybe): Store Qnil if a character is not
900         found in external database.
901         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
902         if HAVE_CHISE_CLIENT is not defined; add new builtin function
903         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
904
905 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
906
907         * text-coding.c (decode_coding_utf8): Check CCS is specified or
908         not.
909
910 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
911
912         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
913         Q_lowercase, Q_uppercase in UTF-2000.
914
915         * chartab.c (get_char_table): Add special code for the standard
916         case table to use character attribute `->downcase' and
917         `->uppercase' for case operations in UTF-2000.
918
919         * casetab.c (Qflippedcase): New variable in UTF-2000.
920         (Q_lowercase): Likewise.
921         (Q_uppercase): Likewise.
922         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
923         and `->uppercase' in UTF-2000.
924         (complex_vars_of_casetab): Assign attribute name `downcase' to
925         downcase and CANON table of Vstandard_case_table in UTF-2000;
926         assign attribute name `flippedcase' to upcase and EQV table of
927         Vstandard_case_table in UTF-2000.
928
929 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * text-coding.c (decode_add_er_char): Support isolated-chars.
932         (char_encode_as_entity_reference): Likewise.
933
934 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
935
936         * emacs.c (Vutf_2000_lisp_directory): New variable.
937         (Vconfigure_utf_2000_lisp_directory): Likewise.
938         (complex_vars_of_emacs): Add new variable
939         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
940
941 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
942
943         * char-ucs.h (DECODE_CHAR): Delete special code for
944         `chinese-big5-1' and `chinese-big5-2'.
945
946         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
947         (Qbig5_2): Likewise.
948         (decode_defined_char): Support CONVERSION_BIG5_1 and
949         CONVERSION_BIG5_2.
950         (decode_builtin_char): Likewise.
951         (charset_code_point): Likewise.
952         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
953         'conversion in UTF-2000.
954         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
955         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
956         `chinese-big5-2' as children of `chinese-big5'.
957
958         * char-ucs.h (CONVERSION_BIG5_1): New macro.
959         (CONVERSION_BIG5_2): New macro.
960
961 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
962
963         * text-coding.c (char_encode_big5): Support entity-reference.
964
965 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
966
967         * text-coding.c (char_encode_as_entity_reference): New function.
968         (char_encode_utf8): Use `char_encode_as_entity_reference'.
969
970 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
971
972         * text-coding.c (decode_coding_big5): Support entity-reference
973         decoding feature.
974
975 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * text-coding.c (allocate_coding_system): Initialize initial
978         charsets for CODESYS_UTF8.
979         (Fmake_coding_system): Accept charset-g0, charset-g1 and
980         charset-g2 for CODESYS_UTF8.
981         (decode_coding_utf8): Use charset-g0.
982         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
983         to force variants to map to UCS.
984
985 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
986
987         * text-coding.c (Qutf_8_mcs): New variable.
988         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
989         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
990         instead of `utf-8' in UTF-2000.
991
992 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
993
994         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
995         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
996         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
997         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
998         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
999         CONVERSION_96x96x96x96 are introduced.
1000         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1001         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1002         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1003
1004         * char-ucs.h (CONVERSION_94): New macro.
1005         (CONVERSION_96): New macro.
1006         (CONVERSION_94x94): New macro.
1007         (CONVERSION_96x96): New macro.
1008         (CONVERSION_94x94x94): New macro.
1009         (CONVERSION_96x96x96): New macro.
1010         (CONVERSION_94x94x94x60): New macro.
1011         (CONVERSION_94x94x94x94): New macro.
1012         (CONVERSION_96x96x96x96): New macro.
1013
1014 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1015
1016         * chartab.c (Vcharacter_variant_table): Deleted.
1017         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1018         of `Vcharacter_variant_table'.
1019         (Fput_char_attribute): Likewise.
1020         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1021         (complex_vars_of_chartab): Likewise.
1022
1023 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1024
1025         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1026
1027         * fns.c (Qideographic_structure): New variable.
1028         (Qkeyword_char): New variable.
1029         (ids_format_unit): New function.
1030         (Fideographic_structure_to_ids): New function.
1031         (syms_of_fns): Add new symbols `ideographic-structure' and
1032         `:char'; add new builtin function `ideographic-structure-to-ids'.
1033
1034         * data.c (Fchar_ref_p): New function.
1035         (syms_of_data): Add new builtin function `char-ref-p'.
1036
1037         * chartab.h: Add an EXFUN for `Ffind_char'.
1038
1039 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1040
1041         * text-coding.c (Vcharacter_composition_table): Deleted.
1042         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1043         in every UTF-2000.
1044
1045         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1046         UTF-2000.
1047         (Vcharacter_composition_table): Deleted.
1048         (Fget_composite_char): Use the implementation for external-DB
1049         support in every UTF-2000.
1050         (Fput_char_attribute): Likewise.
1051         (char_attribute_system_db_file): Don't define if external-DB
1052         feature is not available.
1053         (Fsave_char_attribute_table): Likewise.
1054         (Fmount_char_attribute_table): Likewise.
1055         (Fclose_char_attribute_table): Likewise.
1056         (Freset_char_attribute_table): Likewise.
1057         (Fload_char_attribute_table): Likewise.
1058         (syms_of_chartab): Don't define `save-char-attribute-table',
1059         `mount-char-attribute-table', `reset-char-attribute-table',
1060         `close-char-attribute-table' and `load-char-attribute-table' if
1061         external-DB feature is not available.
1062         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1063
1064 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1065
1066         * text-coding.c (Qcomposition): Add extern if external-DB feature
1067         is supported.
1068         (Vcharacter_composition_table): Don't add extern if external-DB
1069         feature is supported.
1070         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1071         character composition rule if external-DB feature is supported.
1072
1073         * chartab.c (Vcharacter_composition_table): Don't define if
1074         external-DB feature is supported.
1075         (Qcomposition): New variable.
1076         (Fget_composite_char): New implementation for external-DB support.
1077         (Fput_char_attribute): Use `composition' property of each
1078         character instead of `Vcharacter_composition_table' to store
1079         character-composition rules if external-DB feature is supported.
1080         (syms_of_chartab): Add new symbol `composition'.
1081         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1082         external-DB feature is supported.
1083
1084 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1085
1086         * chartab.c (Vchar_db_stingy_mode): New variable.
1087         (load_char_attribute_maybe): Close database if
1088         Vchar_db_stingy_mode is not NIL.
1089         (Fload_char_attribute_table_map_function): Use
1090         `get_char_id_table_0' instead of `get_char_id_table'.
1091         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1092
1093         * chartab.h (get_char_id_table_0): New inline function.
1094         (get_char_id_table): Use `get_char_id_table_0'.
1095
1096 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1097
1098         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1099         and `COMPOSE_ADD_CHAR'.
1100         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1101
1102 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1103
1104         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1105         instead of `DECODE_ADD_UCS_CHAR'.
1106         (COMPOSE_ADD_CHAR): Likewise.
1107
1108 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1109
1110         * text-coding.c (decode_flush_er_chars): New inline function.
1111         (decode_add_er_char): New function.
1112         (decode_coding_utf8): Use `decode_flush_er_chars' and
1113         `decode_add_er_char'.
1114
1115 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1116
1117         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1118         done before `decode_output_utf8_partial_char'.
1119
1120         * mule-charset.c (complex_vars_of_mule_charset): Specify
1121         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1122         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1123
1124 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1125
1126         * mule-charset.c (decode_defined_char): New function; search
1127         mother.
1128         (decode_builtin_char): Don't search mother if
1129         XCHARSET_MAX_CODE(charset) == 0.
1130         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1131         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1132         (Fdecode_char): Use `decode_defined_char' instead of
1133         `DECODE_DEFINED_CHAR'.
1134         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1135         mother of `Vcharset_ucs_jis'.
1136
1137         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1138         instead of `DECODE_DEFINED_CHAR'.
1139
1140         * char-ucs.h (decode_defined_char): Renamed from
1141         `DECODE_DEFINED_CHAR'; changed to normal function.
1142         (DECODE_CHAR): Use `decode_defined_char' instead of
1143         `DECODE_DEFINED_CHAR'.
1144
1145         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1146
1147 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1148
1149         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1150
1151         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1152         variable.
1153         (Quse_entity_reference): New variable.
1154         (Qd): New variable.
1155         (Qx): New variable.
1156         (QX): New variable.
1157         (coding_system_description): Add description for
1158         `ccs_priority_list'.
1159         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1160         (allocate_coding_system): Initialize `ccs_priority_list' in
1161         UTF-2000.
1162         (Fmake_coding_system): Add description about
1163         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1164         (codesys).
1165         (Fcoding_system_property): Accept `disable-composition' and
1166         `use-entity-reference' in UTF-2000.
1167         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1168         in UTF-2000.
1169         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1170         (decode_coding_utf8): Decode entity-reference if
1171         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1172         (char_encode_utf8): Encode non-Unicode characters as
1173         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1174         (str->codesys).
1175         (syms_of_file_coding): Add new symbols `use-entity-reference',
1176         `d', `x', `X'.
1177         (vars_of_file_coding): Add new variable
1178         `coded-charset-entity-reference-alist'.
1179         (complex_vars_of_file_coding): Declare `disable-composition' and
1180         `use-entity-reference' to be coding-system-properties in UTF-2000.
1181
1182         * file-coding.h (struct Lisp_Coding_System): Add new member
1183         `use_entity_reference' and `ccs_priority_list'.
1184         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1185         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1186         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1187
1188 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1189
1190         * chartab.c (save_uint8_byte_table): Don't clear the table.
1191         (save_uint16_byte_table): Likewise.
1192         (save_byte_table): Likewise.
1193         (Fmount_char_attribute_table): New function.
1194         (syms_of_chartab): Add new builtin function
1195         `mount-char-attribute-table'.
1196
1197 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1198
1199         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1200         "w+" mode.
1201         (load_char_decoding_entry_maybe): Open database as read-only mode.
1202
1203         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1204         open database as "w+" mode.
1205         (load_char_attribute_maybe): Open database as read-only mode.
1206         (Fload_char_attribute_table): Likewise.
1207
1208 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1209
1210         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1211         (char_table_description): Delete member `db_file'.
1212         (Fmake_char_table): Don't refer `ct->db_file'.
1213         (Fcopy_char_table): Likewise.
1214         (Fsave_char_attribute_table): Likewise.
1215         (Fclose_char_attribute_table): Likewise.
1216         (Freset_char_attribute_table): Likewise.
1217         (load_char_attribute_maybe): Likewise.
1218         (Fload_char_attribute_table): Likewise.
1219
1220         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1221
1222 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1225         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1226         `ct->db' is living.
1227         (load_char_attribute_maybe): Likewise.
1228         (Fload_char_attribute_table): Likewise.
1229
1230 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1231
1232         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1233         `ct->db_file' unconditionally.
1234
1235 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1236
1237         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1238         UTF-2000.
1239         (char_table_description): Add description for `db_file' and `db'
1240         in UTF-2000.
1241         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1242         UTF-2000.
1243         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1244         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1245         (Fclose_char_attribute_table): New function.
1246         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1247         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1248         and `cit->db'.
1249         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1250         (syms_of_chartab): Add new builtin function
1251         `Fclose_char_attribute_table'.
1252
1253 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1254
1255         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1256         `db' in UTF-2000.
1257         (load_char_attribute_maybe): Change interface.
1258         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1259
1260 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1261
1262         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1263
1264 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1265
1266         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1267         instead of `DECODE_CHAR' for mother; don't use special code for
1268         chinese-big5 to use code space of chinese-big5-1 and
1269         chinese-big5-2.
1270         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1271         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1272
1273         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1274         (MAX_CHAR_BIG5_CDP): Revival.
1275
1276 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1277
1278         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1279         the XLFD registry-encoding name of `chinese-big5'.
1280
1281 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1282
1283         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1284         (Qchinese_big5_cdp): Deleted.
1285         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1286         (complex_vars_of_mule_charset): Delete coded-charset
1287         `chinese-big5-cdp'.
1288
1289         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1290         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1291         `CHARSET_ID_OFFSET - n' for private CCS.
1292         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1293         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1294         of `MIN_LEADING_BYTE'.
1295         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1296         `(CHARSET_ID_OFFSET - 97)'.
1297         (MIN_CHAR_BIG5_CDP): Deleted.
1298         (MAX_CHAR_BIG5_CDP): Deleted.
1299
1300 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1301
1302         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1303
1304 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1305
1306         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1307         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1308         chartab.c].
1309
1310         * chartab.c (Vutf_2000_version): Moved to mule.c.
1311         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1312
1313 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1314
1315         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1316         when HAVE_CHISE_CLIENT is not defined.
1317
1318         * mule.c (vars_of_mule): Provide feature `chise' when
1319         HAVE_CHISE_CLIENT is defined.
1320
1321 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1322
1323         * config.h.in (UTF2000): Add comment.
1324         (HAVE_CHISE_CLIENT): New macro.
1325
1326 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1327
1328         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1329         CONSP.
1330         (Fput_char_attribute): Likewise.
1331         (char_attribute_system_db_file): Encode file-name of attribute.
1332         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1333         the initial value.
1334
1335 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1336
1337         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1338         (Fsave_charset_mapping_table): Use
1339         `char_attribute_system_db_file'.
1340         (load_char_decoding_entry_maybe): Likewise.
1341
1342         * chartab.h (Qsystem_char_id): New external variable.
1343         (char_attribute_system_db_file): New prototype.
1344
1345         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1346         (char_attribute_system_db_file): New function.
1347         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1348         (Freset_char_attribute_table): Likewise.
1349         (load_char_attribute_maybe): Likewise.
1350         (Fload_char_attribute_table): Likewise.
1351         (syms_of_chartab): Add new symbol `system-char-id'.
1352
1353 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1354
1355         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1356         `XCHARSET_GRAPHIC(ccs)'.
1357
1358 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1359
1360         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1361
1362 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1363
1364         * chartab.c (Q_ucs_variants): New variable.
1365         (syms_of_chartab): Add new symbol `->ucs-variants'.
1366         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1367         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1368         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1369
1370         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1371
1372         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1373         `HAVE_DATABASE' is defined.
1374         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1375         `HAVE_DATABASE' is defined.
1376
1377 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1378
1379         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1380         attribute-table.
1381         (Freset_char_attribute_table): New function.
1382         (syms_of_chartab): Add new builtin function
1383         `reset-char-attribute-table'.
1384
1385 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1386
1387         * chartab.c (load_char_attribute_maybe): Don't make directories.
1388
1389 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1390
1391         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1392
1393         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1394         for decoding-table.
1395
1396 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1397
1398         * mule-charset.c (Fsave_charset_mapping_table): Use
1399         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1400
1401         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1402         instead of `XCHARSET_CHARS'.
1403
1404 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1407         (XCHARSET_BYTE_SIZE): Likewise.
1408
1409         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1410         mule-charset.c].
1411         (XCHARSET_BYTE_SIZE): Likewise.
1412
1413 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1414
1415         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1416         data-directory to store database.
1417         (Fsave_char_attribute_table): Likewise.
1418         (load_char_attribute_maybe): Likewise.
1419         (Fload_char_attribute_table): Likewise.
1420
1421 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1422
1423         * mule-charset.c (Fsave_charset_mapping_table): New function.
1424         (syms_of_mule_charset): Add new builtin function
1425         `save-charset-mapping-table'.
1426
1427 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1430         (get_ccs_octet_table): New inline function.
1431         (put_ccs_octet_table): Likewise.
1432         (decoding_table_put_char): Use `get_ccs_octet_table' and
1433         `put_ccs_octet_table'.
1434         (decoding_table_remove_char): Use `decoding_table_put_char'.
1435         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1436
1437         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1438         into encoding_table.
1439         (make_charset): Use Qunbound instead Qnil as initial value of
1440         decoding_table.
1441
1442 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1443
1444         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1445         element is Qunloaded.
1446         (map_over_uint16_byte_table): Likewise.
1447         (map_over_byte_table): Likewise.
1448         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1449         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1450         database support, load encoding-table of the specified
1451         coded-charset if it is not loaded yet.
1452         (save_uint8_byte_table): New function of UTF-2000 with external
1453         database support.
1454         (save_uint16_byte_table): Likewise.
1455         (save_byte_table): Likewise.
1456         (Fput_char_attribute): Don't store value into external database
1457         even if the external database feature is supported in UTF-2000;
1458         set `attribute' as name of char-table if the external database
1459         feature is supported.
1460         (Fsave_char_attribute_table): New function in UTF-2000.
1461         (syms_of_chartab): Add new builtin function
1462         `save-char-attribute-table' in UTF-2000.
1463
1464 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1465
1466         * chartab.c (char_attribute_table_to_put): New variable in
1467         UTF-2000.
1468         (Qput_char_table_map_function): Likewise.
1469         (value_to_put): Likewise.
1470         (Fput_char_table_map_function): New function in UTF-2000.
1471         (put_char_table): Use `Fmap_char_attribute' for
1472         CHARTAB_RANGE_CHARSET in UTF-2000.
1473         (Fput_char_attribute): Store symbol instead of string in
1474         `XCHAR_TABLE_NAME (table)'.
1475         (load_char_attribute_maybe): Likewise.
1476         (syms_of_chartab): Add new symbol/function
1477         `put-char-table-map-function'.
1478
1479 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1480
1481         * database.h: Add new EXFUN for `Fmap_database'.
1482
1483         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1484         (syms_of_database): Likewise.
1485
1486         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1487         UTF-2000.
1488         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1489         (XCHAR_TABLE_UNLOADED): Likewise.
1490
1491         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1492         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1493         HAVE_DATABASE is defined.
1494         (char_attribute_table_to_load): New variable of UTF-2000 with
1495         external database support.
1496         (Qload_char_attribute_table_map_function): Likewise.
1497         (Fload_char_attribute_table_map_function): New function of
1498         UTF-2000 with external database support.
1499         (Fload_char_attribute_table): New function of UTF-2000.
1500         (Fmap_char_attribute): Call Fload_char_attribute_table if
1501         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1502         (syms_of_chartab): Add new symbol and function
1503         `load-char-attribute-table-map-function' in UTF-2000 with external
1504         database support; add new function `load-char-attribute-table' in
1505         UTF-2000.
1506
1507 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1508
1509         * chartab.h (load_char_attribute_maybe): New prototype for
1510         UTF-2000 with DATABASE support.
1511         (get_char_id_table): Use `load_char_attribute_maybe' if
1512         HAVE_DATABASE is defined.
1513
1514         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1515         with DATABASE support.
1516
1517 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1518
1519         * chartab.c (Fput_char_attribute): Use S-expression as key of
1520         external database.
1521
1522         * chartab.h (get_char_id_table): Use S-expression as key of
1523         external database.
1524
1525 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1526
1527         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1528         if an element is not loaded, load the corresponding attributes
1529         from an external database.
1530         (map_over_uint16_byte_table): Likewise.
1531         (map_over_byte_table): Likewise.
1532         (map_char_table): Modify for `map_over_uint8_byte_table',
1533         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1534         element is not loaded, load the corresponding attributes from an
1535         external database.
1536         (Fput_char_attribute): Change initial values to Qunloaded.
1537
1538         * chartab.h (get_char_id_table): If a character attribute is not
1539         loaded and the attribute value is not found in an external
1540         database, store Qunbound as the attribute value.
1541
1542 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1543
1544         * chartab.c (BT_UINT8_unloaded): New macro.
1545         (UINT8_VALUE_P): Accept Qunloaded.
1546         (UINT8_ENCODE): Likewise.
1547         (UINT8_DECODE): Likewise.
1548         (BT_UINT16_unloaded): New macro.
1549         (UINT16_VALUE_P): Accept Qunloaded.
1550         (UINT16_ENCODE): Likewise.
1551         (UINT16_DECODE): Likewise.
1552         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1553         BT_UINT16_unloaded.
1554         (mark_char_table): Mark `ct->name' in UTF-2000.
1555         (char_table_description): Add `name' in UTF-2000.
1556         (Fmake_char_table): Initialize `ct->name'.
1557         (Fcopy_char_table): Copy `ct->name'.
1558         (Fput_char_attribute): Store value into an external database if
1559         HAVE_DATABASE is defined.
1560
1561         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1562         UTF-2000.
1563         (CHAR_TABLE_NAME): New macro in UTF-2000.
1564         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1565         (get_char_id_table): Try to read an external database if Qunloaded
1566         is stored in a table.
1567
1568         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1569         Qunloaded.
1570
1571 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1572
1573         * database.h: Add EXFUN definitions for Fopen_database,
1574         Fput_database, Fget_database and Fclose_database.
1575
1576         * data.c (Qunloaded): New variable in UTF-2000.
1577
1578         * lisp.h (Qunloaded): New variable in UTF-2000.
1579
1580 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1581
1582         * mule-charset.c (put_char_ccs_code_point): Modify for
1583         `decoding_table_remove_char' and `decoding_table_put_char'.
1584         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1585
1586         * char-ucs.h (decoding_table_remove_char): Change arguments to
1587         hide decoding_table vector.
1588         (decoding_table_put_char): Likewise.
1589
1590 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1591
1592         * mule-charset.c (decoding_table_remove_char): Moved to
1593         char-ucs.h.
1594         (decoding_table_put_char): Likewise.
1595
1596         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1597         from mule-charset.c].
1598         (decoding_table_remove_char): New inline function [moved from
1599         mule-charset.c].
1600         (decoding_table_put_char): Likewise.
1601
1602 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1603
1604         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1605         extension.
1606
1607 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1608
1609         * mule-charset.c (decode_builtin_char): Support mother charsets.
1610
1611 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1612
1613         * mule-charset.c (Q94x94x60): New variable.
1614         (charset_code_point): Support conversion `94x94x60'.
1615         (Fmake_charset): Likewise.
1616         (syms_of_mule_charset): Add new symbol `94x94x60'.
1617
1618         * char-ucs.h (CONVERSION_94x94x60): New macro.
1619
1620 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1621
1622         * mule-charset.c (charset_code_point): Unify code about
1623         `code-offset'.
1624
1625 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1626
1627         * mule-charset.c (charset_code_point): Merge code about builtin
1628         characters into code about mother charsets; don't use
1629         `range_charset_code_point'.
1630         (range_charset_code_point): Deleted.
1631
1632 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1633
1634         * mule-charset.c (Qcode_offset): New variable.
1635         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1636         `max-code'; accept new property `code-offset'.
1637         (syms_of_mule_charset): Add new symbol `code-offset'.
1638
1639 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1640
1641         * mule-charset.c (range_charset_code_point): Fixed.
1642
1643 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1644
1645         * mule-charset.c (decode_builtin_char): Change semantics of
1646         code-offset of coded-charset.
1647         (charset_code_point): Likewise.
1648         (range_charset_code_point): Likewise.
1649         (complex_vars_of_mule_charset): Modify for the change.
1650
1651 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1652
1653         * mule-charset.c (Fencode_char): Reverse arguments.
1654
1655         * mule-charset.c (charset_code_point): Fixed.
1656
1657 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1658
1659         * mule-charset.c (Vcharset_mojikyo): Deleted.
1660         (Vcharset_mojikyo_2022_1): Deleted.
1661         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1662         (Qmin_code): New variable in UTF-2000.
1663         (Qmax_code): Likewise.
1664         (Qmother): Likewise.
1665         (Qconversion): Likewise.
1666         (Q94x60): Likewise.
1667         (Qmojikyo): Deleted.
1668         (Qmojikyo_2022_1): Deleted.
1669         (Qmojikyo_pj_{1..22}): Deleted.
1670         (mark_charset): Mark `cs->mother'.
1671         (charset_description): Add description for `mother'.
1672         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1673         new arguments `mother' and `conversion'; use
1674         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1675         (charset_code_point): Moved from char-ucs.h; support `mother'
1676         charset feature.
1677         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1678         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1679         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1680         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1681         allow 2 as the value of `graphic' in UTF-2000; add new properties
1682         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1683         require `final' in UTF-2000; modify for `make_charset'.
1684         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1685         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1686         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1687         (Fencode_char): New function.
1688         (syms_of_mule_charset): Add new builtin function `encode-char' in
1689         UTF-2000; add new symbols `min-code', `max-code', `mother',
1690         `conversion' and `94x60'; delete symbols `mojikyo',
1691         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1692         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1693         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1694         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1695
1696         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1697         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1698
1699         * char-ucs.h (Vcharset_mojikyo): Deleted.
1700         (Vcharset_mojikyo_2022_1): Deleted.
1701         (LEADING_BYTE_MOJIKYO): Deleted.
1702         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1703         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1704         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1705         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1706         add new member `mother'; add new member `conversion'.
1707         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1708         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1709         (CHARSET_MOTHER): New macro.
1710         (CHARSET_CONVERSION): New macro.
1711         (CONVERSION_IDENTICAL): New macro.
1712         (CONVERSION_94x60): New macro.
1713         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1714         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1715         (XCHARSET_MOTHER): New macro.
1716         (XCHARSET_CONVERSION): New macro.
1717         (MIN_CHAR_MOJIKYO): Deleted.
1718         (MAX_CHAR_MOJIKYO): Deleted.
1719         (DECODE_MOJIKYO_2022): Deleted.
1720         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1721         (charset_code_point): Changed to non-inline function.
1722         (encode_char_1): Use `charset_code_point'.
1723         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1724
1725 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1726
1727         * lread.c (read_compiled_function): Fix prototype.
1728         (read_vector): Likewise.
1729
1730 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * lrecord.h (struct lrecord_header): Delete `older'.
1733         (set_lheader_implementation): Delete code for `older'.
1734         (set_lheader_older_implementation): Deleted.
1735         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1736         (OLDER_RECORD_P): Deleted.
1737         (OLDER_RECORD_HEADER_P): Deleted.
1738         (alloc_older_lcrecord): Deleted.
1739         (alloc_older_lcrecord_type): Deleted.
1740
1741         * alloc.c (all_older_lcrecords): Deleted.
1742         (alloc_older_lcrecord): Deleted.
1743         (disksave_object_finalization_1): Delete code for older objects.
1744         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1745         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1746
1747 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1748
1749         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1750         instead of `make_older_vector'.
1751         (put_char_ccs_code_point): Likewise.
1752         (mark_charset): Mark `cs->decoding_table'.
1753         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1754
1755         * lisp.h (make_older_vector): Deleted.
1756         (make_vector_newer): Deleted.
1757
1758         * config.h.in (HAVE_GGC): Deleted.
1759
1760         * alloc.c (make_older_vector): Deleted.
1761         (make_vector_newer_1): Deleted.
1762         (make_vector_newer): Deleted.
1763
1764 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1765
1766         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1767         (Qideograph_daikanwa_2): New variable.
1768         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1769         (complex_vars_of_mule_charset): Add new coded-charset
1770         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1771         `LEADING_BYTE_DAIKANWA'.
1772
1773         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1774         (LEADING_BYTE_DAIKANWA_1): New macro.
1775         (LEADING_BYTE_DAIKANWA_2): New macro.
1776         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1777
1778 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1779
1780         * mule-charset.c (complex_vars_of_mule_charset): Change
1781         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1782         the second revised version.
1783
1784 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1785
1786         * mule-charset.c (Vcharset_ucs_smp): New variable.
1787         (Vcharset_ucs_sip): New variable.
1788         (Qucs_smp): New variable.
1789         (Qucs_sip): New variable.
1790         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1791         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1792         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1793         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1794         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1795         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1796
1797         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1798         (LEADING_BYTE_UCS_SIP): New macro.
1799         (MIN_CHAR_SMP): New macro.
1800         (MAX_CHAR_SMP): New macro.
1801         (MIN_CHAR_SIP): New macro.
1802         (MAX_CHAR_SIP): New macro.
1803
1804 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1805
1806         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1807         utf-2000.
1808
1809 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1810
1811         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1812         value; don't store value into `encoding_table' of `Lisp_Charset'.
1813         (mark_charset): `encoding_table' was deleted.
1814         (charset_description): Likewise.
1815         (make_charset): Likewise.
1816         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1817         `put_char_ccs_code_point'.
1818
1819         * chartab.h (Fput_char_attribute): New EXFUN.
1820
1821         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1822         is unified with normal symbol space.
1823         (Fget_char_attribute): Likewise.
1824         (Fput_char_attribute): Likewise; behavior of
1825         `put_char_ccs_code_point' is changed.
1826
1827         * char-ucs.h: Include "elhash.h".
1828         (Vchar_attribute_hash_table): New external variable.
1829         (struct Lisp_Charset): Delete `encoding_table'.
1830         (CHARSET_ENCODING_TABLE): New implementation; refer
1831         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1832         `Lisp_Charset'.
1833
1834 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1835
1836         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1837         (cs) == 0.
1838
1839 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1840
1841         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1842         `chinese-big5'.
1843
1844 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1845
1846         * chartab.c (uint8_byte_table_description): New constant.
1847         (uint8-byte-table): Use `uint8_byte_table_description'.
1848         (uint16_byte_table_description): New constant.
1849         (uint16-byte-table): Use `uint16_byte_table_description'.
1850
1851 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1852
1853         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1854         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1855
1856 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1857
1858         * mule-charset.c (Vcharset_ucs_ks): New variable.
1859         (Qucs_ks): New variable.
1860         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1861         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1862
1863         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1864
1865 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1866
1867         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1868         (Fdecode_char): Likewise.
1869
1870         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1871         chartab.h.
1872         (Fdefine_char): Modify for Fdecode_char.
1873         (Ffind_char): Likewise.
1874
1875         * mule-charset.c (Fdecode_char): Add new optional argument
1876         `defined-only'.
1877         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1878
1879 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1880
1881         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1882         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1883         (allocate_coding_system): Initialize initial-charsets of
1884         CODESYS_BIG5 in XEmacs UTF-2000.
1885         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1886         CODESYS_BIG5 in XEmacs UTF-2000.
1887         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1888         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1889
1890         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1891         variables.
1892         (Qideograph_hanziku_{1 .. 12}): Likewise.
1893         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1894         .. 12}'.
1895         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1896         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1897         `ideograph-hanziku-{1 .. 12}'.
1898
1899         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1900         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1901         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1902         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1903         (DECODE_DEFINED_CHAR): New inline function.
1904         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1905
1906 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1907
1908         * mule-charset.c (Vcharset_china3_jef): Renamed from
1909         `Vcharset_japanese_jef_china3'.
1910         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1911         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1912         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1913         (syms_of_mule_charset): Rename `china3-jef' from
1914         `japanese-jef-china3'.
1915         (complex_vars_of_mule_charset): Likewise; rename
1916         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1917
1918         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1919         `LEADING_BYTE_JEF_CHINA3'.
1920         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1921         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1922
1923 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1924
1925         * mule-charset.c (encode_builtin_char_1): Comment out special code
1926         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1927
1928         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1929         (MAX_CHAR_MOJIKYO_0): Comment out.
1930         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1931         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1932         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1933         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1934
1935 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1936
1937         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1938         (Qideograph_cbeta): New variable.
1939         (encode_builtin_char_1): Comment out special code for
1940         coded-charset `mojikyo' and `japanese-jef-china3'.
1941         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1942         (complex_vars_of_mule_charset): Add new coded-charset
1943         `ideograph-cbeta'.
1944
1945         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1946         (MIN_CHAR_CBETA): New macro.
1947         (MAX_CHAR_CBETA): New macro.
1948
1949 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1950
1951         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1952         (LEADING_BYTE_JEF_CHINA3): New macro.
1953         (MIN_CHAR_JEF_CHINA3): New macro.
1954         (MAX_CHAR_JEF_CHINA3): Likewise.
1955         (DECODE_CHAR): Fixed.
1956
1957 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1958
1959         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1960         (Qjapanese_jef_china3): New variable.
1961         (encode_builtin_char_1): Support `japanese-jef-china3'.
1962         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1963         (complex_vars_of_mule_charset): Add new coded-charset
1964         `japanese-jef-china3'.
1965
1966 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1969         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1970         94^4, 96^3, 96^4, 128^n and 256^n set.
1971         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1972         (map_char_table): Likewise.
1973
1974 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1975
1976         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1977         UTF-2000.
1978
1979 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1980
1981         * chartab.h (get_char_id_table): New inline function.
1982
1983         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1984         function.
1985
1986 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1987
1988         * chartab.h (decode_char_table_range): New prototype in XEmacs
1989         UTF-2000.
1990         (put_char_id_table): New inline function in XEmacs UTF-2000.
1991
1992         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1993         function.
1994         (decode_char_table_range): Delete static declaration in XEmacs
1995         UTF-2000.
1996
1997 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1998
1999         * chartab.c (put_char_id_table): Use `put_char_table'.
2000
2001 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2002
2003         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2004         (map_over_uint16_byte_table): Likewise.
2005         (map_over_byte_table): Likewise.
2006         (map_char_table): Modify for `map_over_uint8_byte_table',
2007         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2008         UTF-2000.
2009
2010 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2011
2012         * chartab.c (struct map_char_table_for_charset_arg): New
2013         structure.
2014         (map_char_table_for_charset_fun): New function.
2015         (map_char_table): Use `map_char_table' for encoding_table of
2016         `range->charset'.
2017
2018 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2019
2020         * chartab.c (map_char_table): Check a character is found in
2021         range->charset instead of non default value is defined in
2022         char-table when range is CHARTAB_RANGE_ROW.
2023
2024 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2025
2026         * chartab.c (map_char_id_table): Deleted.
2027         (Fmap_char_attribute): Use `map_char_table' instead of
2028         `map_char_id_table'.
2029
2030 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2031
2032         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2033         UTF-2000.
2034         (update_syntax_table): Deleted in XEmacs UTF-2000.
2035
2036         * syntax.c (find_defun_start): Use `syntax_table' instead of
2037         `mirror_syntax_table' in XEmacs UTF-2000.
2038         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2039         UTF-2000.
2040         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2041         XEmacs UTF-2000.
2042         (Fmatching_paren): Likewise.
2043         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2044         in XEmacs UTF-2000.
2045         (find_start_of_comment): Likewise.
2046         (find_end_of_comment): Likewise.
2047         (Fforward_comment): Likewise.
2048         (scan_lists): Likewise.
2049         (char_quoted): Likewise.
2050         (Fbackward_prefix_chars): Likewise.
2051         (scan_sexps_forward): Likewise.
2052         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2053         (update_syntax_table): Likewise.
2054
2055         * search.c (skip_chars): Use `syntax_table' instead of
2056         `mirror_syntax_table' in XEmacs UTF-2000.
2057         (wordify): Likewise.
2058         (Freplace_match): Likewise.
2059
2060         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2061         `mirror_syntax_table' in XEmacs UTF-2000.
2062         (WORDCHAR_P_UNSAFE): Likewise.
2063         (re_match_2_internal): Likewise.
2064
2065         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2066         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2067
2068         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2069         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2070
2071         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2072         XEmacs UTF-2000.
2073
2074         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2075         UTF-2000.
2076         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2077         (char_table_description): Delete `mirror_table' in XEmacs
2078         UTF-2000.
2079         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2080         UTF-2000.
2081         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2082         (Fcopy_char_table): Likewise.
2083         (put_char_table): Don't call `update_syntax_table' in XEmacs
2084         UTF-2000.
2085
2086         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2087         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2088         (casify_region_internal): Likewise.
2089
2090         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2091
2092         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2093         `mirror_syntax_table' in XEmacs UTF-2000.
2094
2095         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2096         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2097         (Fexpand_abbrev): Likewise.
2098
2099 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2100
2101         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2102
2103 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2104
2105         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2106         (map_over_uint16_byte_table): Likewise.
2107         (map_over_byte_table): Likewise.
2108         (get_char_id_table): Refer `cit->default_value'.
2109         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2110         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2111         of character-id ranges.
2112         (mark_char_table): Mark `ct->default_value'.
2113         (char_table_description): Add `default_value'.
2114         (fill_char_table): Use `default_value'.
2115         (decode_char_table_range): Decode `nil' as
2116         `CHARTAB_RANGE_DEFAULT'.
2117         (get_char_id_table): Refer `cit->default_value'.
2118         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2119         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2120         temporary hack; check value of char-table is bound or not.
2121         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2122
2123         * chartab.h (struct Lisp_Char_Table): Add new member
2124         `default_value' in XEmacs UTF-2000.
2125         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2126         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2127         UTF-2000.
2128
2129 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2130
2131         * chartab.h (Lisp_Char_ID_Table): Deleted.
2132
2133         * chartab.c (char_table_description): Fix typo.
2134         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2135         `Lisp_Char_ID_Table'.
2136
2137 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2138
2139         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2140         `CHAR_ID_TABLE_P'.
2141
2142         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2143         `CHAR_ID_TABLE_P'.
2144
2145         * chartab.h (XCHAR_ID_TABLE): Deleted.
2146         (XSETCHAR_ID_TABLE): Deleted.
2147         (CHAR_ID_TABLE_P): Deleted.
2148
2149         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2150         `CHAR_ID_TABLE_P'.
2151         (Fget_composite_char): Likewise.
2152         (put_char_table): Likewise.
2153         (add_char_attribute_alist_mapper): Fixed.
2154         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2155         `CHAR_ID_TABLE_P'.
2156         (Fget_char_attribute): Likewise.
2157         (Fget_char_attribute): Likewise.
2158         (Fmap_char_attribute): Likewise.
2159
2160         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2161         `CHAR_ID_TABLE_P'.
2162         (encode_char_1): Likewise.
2163
2164 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2165
2166         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2167         `XCHAR_ID_TABLE'.
2168
2169         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2170         instead of `XCHAR_ID_TABLE'.
2171         (remove_char_ccs): Likewise.
2172
2173         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2174         `XCHAR_ID_TABLE'.
2175         (Fget_composite_char): Likewise.
2176         (Fchar_variants): Likewise.
2177         (put_char_table): Likewise.
2178         (add_char_attribute_alist_mapper): Likewise.
2179         (Fchar_attribute_alist): Likewise.
2180         (Fget_char_attribute): Likewise.
2181         (Fput_char_attribute): Likewise.
2182         (Fmap_char_attribute): Likewise.
2183         (Fmap_char_attribute): Likewise.
2184
2185         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2186         `XCHAR_ID_TABLE'.
2187         (encode_char_1): Likewise.
2188
2189 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2190
2191         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2192         `Lisp_Char_ID_Table'.
2193         (mark_char_id_table): Deleted.
2194         (print_char_id_table): Likewise.
2195         (char_id_table_equal): Likewise.
2196         (char_id_table_hash): Likewise.
2197         (char_id_table_description): Likewise.
2198         (char_id_table): Likewise.
2199         (make_char_id_table): Use `Fmake_char_table' and
2200         `fill_char_table'.
2201         (get_char_id_table): Use `Lisp_Char_Table' instead of
2202         `Lisp_Char_ID_Table'.
2203         (put_char_id_table): Likewise.
2204         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2205         `XCHAR_ID_TABLE'.
2206         (Fremove_char_attribute): Likewise.
2207         (syms_of_chartab): Don't define type `char-id-table'.
2208
2209         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2210         (char_id_table): Likewise.
2211         (GC_CHAR_ID_TABLE_P): Likewise.
2212         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2213         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2214         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2215         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2216         (get_char_id_table): Use `Lisp_Char_Table' instead of
2217         `Lisp_Char_ID_Table'.
2218         (put_char_id_table_0): Likewise.
2219         (put_char_id_table): Likewise.
2220
2221 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2222
2223         * chartab.h: Lisp_Byte_Table related codes are moved from
2224         chartab.h.
2225
2226         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2227
2228 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2229
2230         * chartab.h: Don't include "chartab.h".
2231         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2232         (Lisp_Char_ID_Table): Likewise.
2233         (char_id_table): Likewise.
2234         (XCHAR_ID_TABLE): Likewise.
2235         (XSETCHAR_ID_TABLE): Likewise.
2236         (CHAR_ID_TABLE_P): Likewise.
2237         (GC_CHAR_ID_TABLE_P): Likewise.
2238         (get_char_id_table): Likewise.
2239
2240         * char-ucs.h: Include "chartab.h".
2241         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2242         (Lisp_Char_ID_Table): Likewise.
2243         (char_id_table): Likewise.
2244         (XCHAR_ID_TABLE): Likewise.
2245         (XSETCHAR_ID_TABLE): Likewise.
2246         (CHAR_ID_TABLE_P): Likewise.
2247         (GC_CHAR_ID_TABLE_P): Likewise.
2248         (get_char_id_table): Likewise.
2249
2250 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2251
2252         * chartab.c (copy_uint8_byte_table): New function.
2253         (copy_uint16_byte_table): New function.
2254         (copy_byte_table): New function.
2255         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2256         characters to call.
2257         (map_over_uint16_byte_table): Likewise.
2258         (map_over_byte_table): Likewise.
2259         (get_byte_table): Move prototype to chartab.h.
2260         (put_byte_table): Likewise.
2261         (put_char_id_table_0): Moved to chartab.h.
2262         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2263         (char_table_entry_equal): Likewise.
2264         (char_table_entry_hash): Likewise.
2265         (char_table_entry_description): Likewise.
2266         (char_table_entry): Likewise.
2267         (make_char_table_entry): Likewise.
2268         (copy_char_table_entry): Likewise.
2269         (get_non_ascii_char_table_value): Likewise.
2270         (map_over_charset_ascii): Likewise.
2271         (map_over_charset_control_1): Likewise.
2272         (map_over_charset_row): Likewise.
2273         (map_over_other_charset): Likewise.
2274         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2275         (print_char_table): Likewise.
2276         (char_table_equal): Likewise.
2277         (char_table_hash): Likewise.
2278         (char_table_description): Likewise.
2279         (fill_char_table): Likewise.
2280         (Fcopy_char_table): Likewise.
2281         (get_char_table): Likewise.
2282         (Fget_range_char_table): Likewise.
2283         (put_char_table): Likewise.
2284         (map_char_table): Likewise.
2285         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2286         UTF-2000.
2287
2288 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2289
2290         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2291         `Vauto_fill_chars' in XEmacs UTF-2000.
2292
2293         * chartab.h (get_byte_table): New prototype [moved from
2294         chartab.c].
2295         (put_byte_table): Likewise [moved from chartab.c].
2296         (put_char_id_table_0): New inline function [moved from chartab.c].
2297         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2298         (Lisp_Char_Table_Entry): Likewise.
2299         (char_table_entry): Likewise.
2300         (XCHAR_TABLE_ENTRY): Likewise.
2301         (XSETCHAR_TABLE_ENTRY): Likewise.
2302         (CHAR_TABLE_ENTRYP): Likewise.
2303         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2304         (NUM_ASCII_CHARS): Likewise.
2305         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2306         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2307
2308 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2309
2310         * chartab.c (get_char_id_table): Change interface.
2311         (put_char_id_table_0): New function.
2312         (put_char_id_table): Change interface; new implementation.
2313         (Fget_composite_char): Modify for interface change of
2314         `get_char_id_table'.
2315         (Fchar_variants): Likewise.
2316         (add_char_attribute_alist_mapper): Likewise.
2317         (Fchar_attribute_alist): Likewise.
2318         (Fget_char_attribute): Likewise.
2319         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2320         as same as character as the first argument like `put-char-table';
2321         modify for interface change of `put_char_id_table'.
2322         (Fremove_char_attribute): Modify for interface change of
2323         `put_char_id_table'.
2324
2325 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2326
2327         * text-coding.c: Sync up with XEmacs 21.2.41.
2328         (COMPOSE_ADD_CHAR): Modify for interface change of
2329         `get_char_id_table'.
2330
2331         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2332         change of `put_char_id_table'.
2333         (remove_char_ccs): Likewise.
2334
2335         * chartab.h (put_char_id_table): Change interface.
2336
2337         * char-ucs.h (get_char_id_table): Change interface.
2338         (charset_code_point): Modify for interface change of
2339         `get_char_id_table'.
2340         (encode_char_1): Likewise.
2341
2342 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2343
2344         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2345         argument `ccs'.
2346         (map_over_uint16_byte_table): Likewise.
2347         (map_over_byte_table): Likewise.
2348         (map_char_id_table): Add new argument `range' like
2349         `map_char_table'.
2350         (Fmap_char_attribute): Add new argument `range' like
2351         `Fmap_char_table'.
2352
2353 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2354
2355         * chartab.c (map_over_uint8_byte_table): Change interface of
2356         mapping function to use struct chartab_range instead of Emchar.
2357         (map_over_uint16_byte_table): Likewise.
2358         (map_over_byte_table): Likewise.
2359         (map_char_id_table): Likewise.
2360         (struct slow_map_char_id_table_arg): Deleted.
2361         (slow_map_char_id_table_fun): Deleted.
2362         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2363         function `slow_map_char_table_fun' instead of struct
2364         `slow_map_char_id_table_arg' and function
2365         `slow_map_char_id_table_fun'.
2366
2367 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2368
2369         * mule-charset.c: Move char-it-table related codes to chartab.c.
2370         (Vutf_2000_version): Moved to chartab.c.
2371         (Fdefine_char): Likewise.
2372         (Ffind_char): Likewise.
2373         (syms_of_mule_charset): Move types `uint8-byte-table',
2374         `uint16-byte-table', `byte-table' and `char-id-table' to
2375         chartab.c; move functions `char_attribute_list,
2376         `find_char_attribute_table, `char_attribute_alist,
2377         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2378         `map_char_attribute, `define_char, `find_char, `char_variants and
2379         `get_composite_char to chartab.c; move symbols `=>ucs',
2380         `->decomposition', `compat', `isolated', `initial', `medial',
2381         `final', `vertical', `noBreak', `fraction', `super', `sub',
2382         `circle', `square', `wide', `narrow', `small' and `font' to
2383         chartab.c.
2384         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2385         setting codes for `Vcharacter_composition_table' and
2386         `Vcharacter_variant_table' to chartab.c.
2387         (complex_vars_of_mule_charset): Move setting code for
2388         `Vchar_attribute_hash_table' to chartab.c.
2389
2390         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2391         (make_char_id_table): New prototype.
2392         (put_char_id_table): Likewise.
2393         (Fget_char_attribute): Likewise.
2394
2395         * chartab.c: Move char-id-table related code from mule-charset.c.
2396         (Vutf_2000_version): Moved from mule-charset.c.
2397
2398         * char-ucs.h (Qucs): New external variable.
2399         (put_char_ccs_code_point): New prototype.
2400         (remove_char_ccs): Likewise.
2401
2402 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2403
2404         * mule-charset.c (Vcharset_ucs_jis): New variable.
2405         (Qucs_jis): Likewise.
2406         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2407         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2408
2409         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2410
2411 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2412
2413         * mule-charset.c (map_over_uint8_byte_table): New function.
2414         (map_over_uint16_byte_table): Likewise.
2415         (map_over_byte_table): Likewise.
2416         (map_char_id_table): Likewise.
2417         (slow_map_char_id_table_fun): Likewise.
2418         (Fmap_char_attribute): Likewise.
2419         (syms_of_mule_charset): Add new function `map-char-attribute'.
2420
2421 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2422
2423         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2424         (syms_of_mule_charset): Add new function `find-char'.
2425
2426 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2427
2428         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2429         XEmacs UTF-2000.
2430         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2431         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2432         XEmacs UTF-2000.
2433         (complex_vars_of_mule_charset): Add new coded-charset
2434         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2435         `ideograph-gt-pj-*'.
2436
2437         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2438
2439 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2440
2441         * mule-charset.c (encode_builtin_char_1): Purge codes about
2442         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2443         {MIN|MAX}_CHAR_HEBREW.
2444         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2445         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2446
2447         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2448         (MAX_CHAR_GREEK): Purged.
2449         (MIN_CHAR_CYRILLIC): Purged.
2450         (MAX_CHAR_CYRILLIC): Purged.
2451         (MIN_CHAR_HEBREW): Commented out.
2452         (MAX_CHAR_HEBREW): Likewise.
2453
2454 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2455
2456         * mule-charset.c (Qto_ucs): New variable.
2457         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2458         (Fdefine_char): Likewise.
2459         (syms_of_mule_charset): Add new symbol `=>ucs'.
2460
2461 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2462
2463         * mule-charset.c (Fdecode_char): Fixed.
2464
2465 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2466
2467         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2468         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2469         "tcvn5712-1".
2470
2471 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2472
2473         * mule-charset.c (Vcharset_ucs_big5): New variable.
2474         (Qucs_big5): Likewise.
2475         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2476         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2477
2478         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2479
2480 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2481
2482         * mule-charset.c (decode_builtin_char): Check Big5 code range
2483         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2484
2485 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2486
2487         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2488         (Qchinese_gb12345): Likewise.
2489         (Fdecode_builtin_char): Fixed.
2490         (syms_of_mule_charset): Add `chinese-gb12345'.
2491         (complex_vars_of_mule_charset): Add coded-charset
2492         `chinese-gb12345'.
2493
2494         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2495         (LEADING_BYTE_CHINESE_GB12345): New macro.
2496
2497 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2498
2499         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2500         and `latin-viscii-upper' for `latin-viscii'.
2501
2502 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2503
2504         * mule-charset.c (Fdecode_builtin_char): Comment out
2505         regularization code for ISO-IR GR representation.
2506
2507 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2508
2509         * mule-charset.c (decode_builtin_char): New function; renamed from
2510         `make_builtin_char'; return -1 instead of signal.
2511         (Fdecode_builtin_char): Use `decode_builtin_char'.
2512
2513         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2514         `make_builtin_char'.
2515         (DECODE_CHAR): Use `decode_builtin_char' instead of
2516         `make_builtin_char'; use mapping table of `chinese-big5' for
2517         `chinese-big5-{1,2}'.
2518
2519 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2520
2521         * text-coding.c (char_encode_big5): New function.
2522         (char_finish_big5): Likewise.
2523         (reset_encoding_stream): Use `char_encode_big5' and
2524         `char_finish_big5' for CODESYS_BIG5.
2525         (mule_encode): Don't use `encode_coding_big5'.
2526         (encode_coding_big5): Deleted.
2527
2528 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2529
2530         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2531         0x81- in XEmacs UTF-2000.
2532         (detect_coding_big5): Likewise.
2533
2534 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2535
2536         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2537         generate character-id if the CCS property does not have
2538         corresponding predefined character.
2539         (make_builtin_char): Return -1 if corresponding predefined
2540         character is not found.
2541         (Fdecode_char): Return nil if corresponding character is not
2542         found.
2543         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2544         don't map to builtin ucs space.
2545
2546 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2547
2548         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2549         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2550
2551 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2552
2553         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2554         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2555         (Qideograph_gt): Likewise.
2556         (Qideograph_gt_pj_{1..11}): Likewise.
2557         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2558         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2559         `ideograph-gt-pj-11'.
2560         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2561         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2562         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2563
2564         * char-ucs.h (LEADING_BYTE_GT): New macro.
2565         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2566         (MIN_CHAR_GT): Likewise.
2567         (MAX_CHAR_GT): Likewise.
2568
2569 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2570
2571         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2572         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2573
2574         * doprnt.c (unsigned_int_converters): Add `c'.
2575         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2576
2577         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2578         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2579         `MIN_CHAR_MOJIKYO'.
2580         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2581         (MAX_CHAR_MOJIKYO_0): New macro.
2582         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2583
2584 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2585
2586         * mule-charset.c (Fdefine_char): Delete cemented out code.
2587         (encode_builtin_char_1): Modify for new allocation of builtin
2588         Mojikyo characters.
2589
2590         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2591
2592 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2593
2594         * mule-charset.c (Vcharset_ucs_cns): New variable.
2595         (Qucs_cns): New variable.
2596         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2597         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2598
2599 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2600
2601         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2602
2603 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2604
2605         * search.c (search_buffer): Make `charset_base_code' as
2606         character-id >> 6 to eliminate the corresponding last byte in
2607         UTF-8 representation [I'm not sure it is right thing].
2608         (boyer_moore): Likewise.
2609
2610 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2611
2612         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2613         representation in MULE.
2614
2615 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2616
2617         * text-coding.c (Fmake_coding_system): Use
2618         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2619         `EXTERNAL_PROPERTY_LIST_LOOP'.
2620
2621 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2622
2623         * text-coding.c (decode_output_utf8_partial_char): New function.
2624         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2625
2626 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2627
2628         * text-coding.c (decode_coding_utf8): Output original byte
2629         sequence if it is broken; change order of conditions.
2630
2631         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2632         of conditions.
2633
2634         * mb-multibyte.h (BYTE_ASCII_P):
2635         Use bit ops for char-signedness safety.
2636         (BYTE_C0_P): Use bit ops for char-signedness safety.
2637         (BYTE_C1_P): Use bit ops for char-signedness safety.
2638
2639         * character.h: (XCHAR_OR_CHAR_INT):
2640         Always use inline function.
2641         Remove redundant type checking assert() - XINT will abort quite
2642         nicely.
2643
2644 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2645
2646         * text-coding.c: (Fencode_shift_jis_char):
2647         (Fencode_big5_char):
2648         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2649         Replace 0 with '\0' when working with bytes.
2650         Replace initial "(" with "\(" in docstrings.
2651
2652         (Fmake_coding_system):
2653         When type is ccl and value is vector, register it with a proper
2654         symbol.  And checks whether the given ccl program is valid.
2655         (mule_decode): When calling ccl_driver, if src indicates
2656         NULL pointer, set an empty string instead.
2657         (mule_encode): Likewise.
2658
2659         (detect_eol_type):
2660         (detect_coding_sjis):
2661         (decode_coding_sjis):
2662         (detect_coding_big5):
2663         (decode_coding_big5):
2664         (detect_coding_ucs4):
2665         (decode_coding_ucs4):
2666         (detect_coding_utf8):
2667         (decode_coding_utf8):
2668         (detect_coding_iso2022):
2669         (decode_coding_iso2022):
2670         (decode_coding_no_conversion):
2671         (mule_decode):
2672         Make all detecting and decoding functions take an Extbyte * arg.
2673         (text_encode_generic):
2674         (encode_coding_big5):
2675         (encode_coding_no_conversion):
2676         (mule_encode):
2677         Make all encoding functions take a Bufbyte * arg.
2678         Use size_t instead of unsigned int for memory sizes.
2679         Only cast to unsigned char whenever dereferencing Extbyte *.
2680
2681         (struct lrecord_description fcd_description_1): Use countof.
2682         (complex_vars_of_file_coding):
2683         Use countof instead of sizeof.
2684         Use CHECK_NATNUM instead of CHECK_INT.
2685
2686 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2687
2688         * mule-charset.c (Fget_char_attribute): Add new optional argument
2689         `default-value'.
2690         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2691         (remove_char_ccs): Likewise.
2692
2693 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2694
2695         * text-coding.c (char_encode_shift_jis): New implementation in
2696         UTF-2000.
2697         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2698         ...)'.
2699
2700         * mule-charset.c (Vcharset_chinese_big5): New variable in
2701         UTF-2000.
2702         (Qchinese_big5): New variable in UTF-2000.
2703         (BIG5_SAME_ROW): New macro in UTF-2000.
2704         (make_builtin_char): Use builtin characters of
2705         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2706         characters of `Vcharset_chinese_big5'.
2707         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2708         (complex_vars_of_mule_charset): Add new coded-charset
2709         `chinese-big5' in UTF-2000.
2710
2711         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2712         (Vcharset_chinese_big5): New external variable declaration.
2713         (Vcharset_japanese_jisx0208_1990): Likewise.
2714
2715 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2716
2717         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2718         function.
2719         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2720
2721 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2722
2723         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2724         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2725         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2726         `mojikyo-pj-*'.
2727
2728 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2729
2730         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2731
2732 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2733
2734         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2735         to 0.17.
2736
2737 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2738
2739         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2740         for `CHARSET_BY_ATTRIBUTES'.
2741         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2742         `CHARSET_BY_ATTRIBUTES'.
2743
2744         * text-coding.c (struct decoding_stream): Rename member `CH' to
2745         `CPOS'.
2746         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2747         (decode_coding_sjis): Likewise.
2748         (decode_coding_big5): Likewise.
2749         (decode_coding_ucs4): Likewise.
2750         (decode_coding_utf8): Likewise.
2751         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2752         `CHARSET_BY_ATTRIBUTES'.
2753         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2754         `str->counter'; decode 3, 4 bytes sets.
2755         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2756         sets.
2757         (decode_coding_no_conversion): Use `str->cpos' instead of
2758         `str->ch'.
2759
2760         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2761         (Qmojikyo_2022_1): New variable.
2762         (make_charset): Don't use `CHARSET_TYPE_*'.
2763         (range_charset_code_point): Support coded-charset
2764         `mojikyo-2022-1'.
2765         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2766         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2767         `CHARSET_BY_ATTRIBUTES'.
2768         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2769         `CHARSET_BY_ATTRIBUTES'.
2770         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2771         (complex_vars_of_mule_charset): Add new coded-charset
2772         `mojikyo-2022-1'.
2773
2774         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2775         interface; changed to inline function.
2776
2777         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2778         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2779         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2780         (CHARSET_TYPE_94): Deleted.
2781         (CHARSET_TYPE_94X94): Deleted.
2782         (CHARSET_TYPE_96): Deleted.
2783         (CHARSET_TYPE_96X96): Deleted.
2784         (CHARSET_TYPE_128): Deleted.
2785         (CHARSET_TYPE_128X128): Deleted.
2786         (CHARSET_TYPE_256): Deleted.
2787         (CHARSET_TYPE_256X256): Deleted.
2788         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2789         to inline function.
2790         (DECODE_MOJIKYO_2022): New inline function.
2791         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2792         `Vcharset_mojikyo_2022_1'.
2793
2794 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2795
2796         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2797         instead of `EQ'.
2798         (put_byte_table): Likewise.
2799         (char_id_table_equal): Use `get_byte_table' [new implementation].
2800
2801 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2802
2803         * mule-charset.c: Include <limits.h> in UTF-2000.
2804         (BT_UINT8_MIN): New macro in UTF-2000.
2805         (BT_UINT8_MAX): New macro in UTF-2000.
2806         (BT_UINT8_t): New macro in UTF-2000.
2807         (BT_UINT8_nil): New macro in UTF-2000.
2808         (BT_UINT8_unbound): New macro in UTF-2000.
2809         (INT_UINT8_P): New inline function in UTF-2000.
2810         (UINT8_VALUE_P): New inline function in UTF-2000.
2811         (UINT8_ENCODE): New inline function in UTF-2000.
2812         (UINT8_DECODE): New inline function in UTF-2000.
2813         (mark_uint8_byte_table): New function in UTF-2000.
2814         (print_uint8_byte_table): New function in UTF-2000.
2815         (uint8_byte_table_equal): New function in UTF-2000.
2816         (uint8_byte_table_hash): New function in UTF-2000.
2817         (make_uint8_byte_table): New function in UTF-2000.
2818         (uint8_byte_table_same_value_p): New function in UTF-2000.
2819         (BT_UINT16_MIN): New macro in UTF-2000.
2820         (BT_UINT16_MAX): New macro in UTF-2000.
2821         (BT_UINT16_t): New macro in UTF-2000.
2822         (BT_UINT16_nil): New macro in UTF-2000.
2823         (BT_UINT16_unbound): New macro in UTF-2000.
2824         (INT_UINT16_P): New inline function in UTF-2000.
2825         (UINT16_VALUE_P): New inline function in UTF-2000.
2826         (UINT16_ENCODE): New inline function in UTF-2000.
2827         (UINT16_DECODE): New inline function in UTF-2000.
2828         (UINT8_TO_UINT16): New inline function in UTF-2000.
2829         (mark_uint16_byte_table): New function in UTF-2000.
2830         (print_uint16_byte_table): New function in UTF-2000.
2831         (uint16_byte_table_equal): New function in UTF-2000.
2832         (uint16_byte_table_hash): New function in UTF-2000.
2833         (make_uint16_byte_table): New function in UTF-2000.
2834         (uint16_byte_table_same_value_p): New function in UTF-2000.
2835         (print_byte_table): New function in UTF-2000.
2836         (byte-table): Use `print_byte_table' as printer.
2837         (make_byte_table): Delete second argument `older'.
2838         (byte_table_same_value_p): New function in UTF-2000.
2839         (copy_byte_table): Deleted.
2840         (get_byte_table): New function in UTF-2000.
2841         (put_byte_table): New function in UTF-2000.
2842         (print_char_id_table): New function in UTF-2000.
2843         (char-id-table): Use `print_char_id_table' as printer.
2844         (make_char_id_table): Delete second argument `older'.
2845         (get_char_id_table): Use `get_byte_table [new implementation].
2846         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2847         implementation].
2848         (Ffind_char_attribute_table): New function in UTF-2000.
2849         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2850         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2851         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2852         (syms_of_mule_charset): Add new function
2853         `find-char-attribute-table' in UTF-2000.
2854
2855         * lrecord.h (enum lrecord_type): Add
2856         `lrecord_type_uint16_byte_table' and
2857         `lrecord_type_uint8_byte_table'.
2858
2859         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2860         (Lisp_Uint8_Byte_Table): New type.
2861         (XUINT8_BYTE_TABLE): New macro.
2862         (XSETUINT8_BYTE_TABLE): New macro.
2863         (UINT8_BYTE_TABLE_P): New macro.
2864         (GC_UINT8_BYTE_TABLE_P): New macro.
2865         (struct Lisp_Uint16_Byte_Table): New structure.
2866         (Lisp_Uint16_Byte_Table): New type.
2867         (XUINT16_BYTE_TABLE): New macro.
2868         (XSETUINT16_BYTE_TABLE): New macro.
2869         (UINT16_BYTE_TABLE_P): New macro.
2870         (GC_UINT16_BYTE_TABLE_P): New macro.
2871
2872 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2873
2874         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2875         (Vcharacter_ideographic_strokes_table): Deleted.
2876         (Vcharacter_total_strokes_table): Deleted.
2877         (Vcharacter_morohashi_daikanwa_table): Deleted.
2878         (Vcharacter_decomposition_table): Deleted.
2879         (Qname): Deleted because it is duplicated.
2880         (Qideographic_radical): Deleted.
2881         (Qideographic_strokes): Deleted.
2882         (Qtotal_strokes): Deleted.
2883         (Qmorohashi_daikanwa): Deleted.
2884         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2885         `ideographic-radical', `ideographic-strokes', `total-strokes',
2886         `morohashi-daikanwa' and `->decomposition'.
2887         (Fget_char_attribute): Likewise.
2888         (Fput_char_attribute): Likewise; use `make-vector' instead of
2889         `make_older_vector' for `->decomposition' value.
2890         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2891         `ideograph-daikanwa'.
2892         (syms_of_mule_charset): Delete builtin symbols `name',
2893         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2894         `morohashi-daikanwa'.
2895         (vars_of_mule_charset): Don't setup
2896         `Vcharacter_ideographic_radical_table',
2897         `Vcharacter_ideographic_strokes_table',
2898         `Vcharacter_total_strokes_table',
2899         `Vcharacter_morohashi_daikanwa_table' and
2900         `Vcharacter_decomposition_table'.
2901
2902 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2903
2904         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2905         `make_older_vector', `make_vector_newer_1' and
2906         `make_vector_newer'.
2907
2908         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2909         `make_older_vector' and `make_vector_newer'.
2910
2911         * config.h.in (HAVE_GGC): New macro.
2912
2913 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2914
2915         * mule-charset.c (struct char_attribute_list_closure): New
2916         structure in UTF-2000.
2917         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2918         (Fchar_attribute_list): Likewise.
2919         (Fset_charset_mapping_table): Use `make_vector_newer'.
2920         (Fdecode_builtin_char): New function in UTF-2000.
2921         (syms_of_mule_charset): Add new function `char-attribute-list' and
2922         `decode-builtin-char' in UTF-2000.
2923
2924         * lisp.h (make_vector_newer): New prototype.
2925
2926         * alloc.c (make_vector_newer_1): New function.
2927         (make_vector_newer): New function.
2928
2929 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2930
2931         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2932         50100)'.
2933
2934 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2935
2936         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2937         (Vcharacter_attribute_table): Deleted.
2938         (Vcharacter_name_table): Deleted.
2939         (put_char_attribute): Deleted.
2940         (remove_char_attribute): Deleted.
2941         (struct char_attribute_alist_closure): New structure.
2942         (add_char_attribute_alist_mapper): New function.
2943         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2944         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2945         (Fget_char_attribute): Likewise.
2946         (Fput_char_attribute): Likewise.
2947         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2948         of `remove_char_attribute'.
2949         (Fdefine_char): Return character.
2950         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2951         and `Vcharacter_name_table'.
2952         (complex_vars_of_mule_charset): Likewise
2953         `Vchar_attribute_hash_table'.
2954
2955 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2956
2957         * character.h (CHARC_CHARSET): New macro.
2958         (CHARC_CHARSET_ID): New macro.
2959         (CHARC_CODE_POINT): New macro.
2960         (CHARC_COLUMNS): New macro.
2961         (CHARC_TO_CHAR): New inline function.
2962         (CHARC_EQ): New inline function.
2963         (CHARC_ASCII_EQ): New inline function.
2964         (CHARC_IS_SPACE): New inline function.
2965         (ASCII_TO_CHARC): New inline function.
2966
2967         * char-ucs.h (encode_char_2): Deleted.
2968         (ENCODE_CHAR): Use `encode_char_1' again.
2969         (breakup_char_1): Likewise.
2970         (CHAR_TO_CHARC): New inline function.
2971
2972         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2973
2974 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2975
2976         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2977         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2978         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2979         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2980         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2981         `CHARC_IS_SPACE'.
2982         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2983
2984         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2985         `CHARC_CODE_POINT'.
2986         (x_output_display_block): Use `CHARC_CHARSET' and
2987         `CHARC_ASCII_EQ'.
2988
2989         * redisplay-tty.c (tty_output_display_block): Use
2990         `CHARC_ASCII_EQ'.
2991         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2992
2993         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2994
2995         * insdel.c (find_charsets_in_charc_string): Use
2996         `CHARC_CHARSET_ID'.
2997         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2998         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2999         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3000         (convert_charc_string_into_malloced_string): Likewise.
3001
3002 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3003
3004         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3005         instead of <Emchar_dynarr *> for buf; use
3006         `convert_bufbyte_string_into_charc_dynarr' instead of
3007         `convert_bufbyte_string_into_emchar_dynarr'; use
3008         `find_charsets_in_charc_string' instead of
3009         `find_charsets_in_emchar_string'.
3010
3011         * redisplay.h:
3012         - Include "character.h".
3013         (struct rune): New member `cglyph'; delete member `chr'.
3014
3015         * redisplay.c (redisplay_text_width_charc_string): New function;
3016         delete `redisplay_text_width_emchar_string'.
3017         (rtw_charc_dynarr): New variable; renamed from
3018         `rtw_emchar_dynarr'.
3019         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3020         `rtw_emchar_dynarr'; use
3021         `convert_bufbyte_string_into_charc_dynarr' instead of
3022         `convert_bufbyte_string_into_emchar_dynarr'; use
3023         `redisplay_text_width_charc_string' instead of
3024         `redisplay_text_width_emchar_string'.
3025         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3026         instead of `rtw_emchar_dynarr'; use
3027         `convert_bufbyte_string_into_charc_dynarr' instead of
3028         `convert_bufbyte_string_into_emchar_dynarr'.
3029         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3030         `redisplay_text_width_charc_string' instead of
3031         `redisplay_text_width_emchar_string'.
3032         (create_text_block): Modify for <struct rune> change.
3033         (generate_formatted_string_db): Likewise.
3034         (create_string_text_block): Likewise.
3035         (pixel_to_glyph_translation): Likewise.
3036
3037         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3038         instead of <const Emchar *>.
3039         (x_text_width): Likewise.
3040         (x_output_display_block): Use <Charc_dynarr *> instead
3041         <Emchar_dynarr *>; modify for <structure rune> change.
3042         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3043         *>.
3044
3045         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3046         <const Emchar *>; use `charc_string_displayed_columns' instead of
3047         `emchar_string_displayed_columns'.
3048         (tty_output_display_block): Use <Charc_dynarr *> instead of
3049         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3050         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3051         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3052         `tty_output_emchar_dynarr_dynarr'.
3053         (tty_output_charc_dynarr): New function; delete
3054         `tty_output_charc_dynarr'.
3055
3056         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3057         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3058         <Emchar_dynarr *> for buf; use
3059         `convert_bufbyte_string_into_charc_dynarr' instead of
3060         `convert_bufbyte_string_into_emchar_dynarr'.
3061
3062         * frame.c (title_string_charc_dynarr): New variable; renamed from
3063         `title_string_emchar_dynarr'.
3064         (generate_title_string): Use `title_string_charc_dynarr' instead
3065         of `title_string_emchar_dynarr'; use
3066         `convert_charc_string_into_malloced_string' instead of
3067         `convert_emchar_string_into_malloced_string'.
3068         (init_frame): Use `title_string_charc_dynarr' instead of
3069         `title_string_emchar_dynarr'.
3070
3071         * console.h:
3072         - Include "character.h".
3073         (struct console_methods): Use <const Charc *> instead of <const
3074         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3075         <Emchar_dynarr *> in output_string_method.
3076
3077         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3078         <Emchar_dynarr *>.
3079
3080         * console-stream.c (stream_text_width): Use <const Charc *>
3081         instead of <const Emchar *>.
3082
3083         * character.h (Charc_dynarr): New type.
3084
3085         * char-ucs.h (structure Charc): New structure; define new type
3086         `Charc'.
3087
3088         * char-lb.h (DECODE_CHAR): New inline function.
3089         (encode_char_1): New inline function.
3090         (ENCODE_CHAR): New macro.
3091         (structure Charc): New structure; define new type `Charc'.
3092
3093         * char-1byte.h (Vcharset_control_1): New macro.
3094         (Vcharset_latin_iso8859_1): New macro.
3095         (DECODE_CHAR): New inline function.
3096         (encode_char_1): New inline function.
3097         (ENCODE_CHAR): New macro.
3098         (structure Charc): New structure; define new type `Charc'.
3099
3100         * insdel.c (find_charsets_in_charc_string): New function; delete
3101         `find_charsets_in_emchar_string'.
3102         (charc_string_displayed_columns): New function; delete
3103         `emchar_string_displayed_columns'.
3104         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3105         `convert_bufbyte_string_into_emchar_dynarr'.
3106         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3107         `convert_charc_string_into_bufbyte_dynarr'.
3108         (convert_charc_string_into_malloced_string): New function; delete
3109         `convert_charc_string_into_malloced_string'.
3110
3111         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3112         `find_charsets_in_emchar_string'.
3113         (charc_string_displayed_columns): New prototype; delete
3114         `emchar_string_displayed_columns'.
3115         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3116         `convert_charc_string_into_bufbyte_dynarr'.
3117         (convert_charc_string_into_malloced_string): New prototype; delete
3118         `convert_charc_string_into_malloced_string'.
3119
3120 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3121
3122         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3123
3124 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3125
3126         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3127
3128         * char-ucs.h: Use <short> for <Charset_ID>.
3129
3130         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3131         <Charset_ID>.
3132
3133 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3134
3135         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3136         to 0.16.
3137
3138 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3139
3140         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3141         variable.
3142         (Qmorohashi_daikanwa): New variable.
3143         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3144         for `morohashi-daikanwa' attribute.
3145         (Fget_char_attribute): Likewise.
3146         (Fput_char_attribute): Likewise.
3147         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3148         has the same value of `ideograph-daikanwa'.
3149         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3150         (vars_of_mule_charset): Setup
3151         `Vcharacter_morohashi_daikanwa_table'.
3152
3153 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3154
3155         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3156         attributes.
3157         (add_charset_to_list_mapper): Add `key' instead of
3158         `XCHARSET_NAME (value)' to return aliases.
3159
3160 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3161
3162         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3163         variable.
3164         (Vcharacter_ideographic_strokes_table): New variable.
3165         (Qideographic_radical): New variable.
3166         (Qideographic_strokes): New variable.
3167         (Fchar_attribute_alist): Use
3168         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3169         attribute; use `Vcharacter_ideographic_strokes_table' for
3170         `ideographic-strokes' attribute.
3171         (Fget_char_attribute): Likewise.
3172         (Fput_char_attribute): Likewise.
3173         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3174         `ideographic-strokes'.
3175         (vars_of_mule_charset): Setup
3176         `Vcharacter_ideographic_radical_table' and
3177         `Vcharacter_ideographic_strokes_table'.
3178
3179 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3180
3181         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3182         (Qtotal_strokes): New variable.
3183         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3184         `total-strokes' attribute.
3185         (Fget_char_attribute): Likewise.
3186         (Fput_char_attribute): Likewise.
3187         (syms_of_mule_charset): Add new symbol `total-strokes'.
3188         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3189
3190 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3191
3192         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3193         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3194         are found.
3195         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3196         `->decomposition' attribute.
3197         (Fput_char_attribute): Likewise.
3198         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3199
3200 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3201
3202         * mule-charset.c (decoding_table_check_elements): New function.
3203         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3204
3205 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3206
3207         * mule-charset.c (Fset_charset_mapping_table): Use
3208         `put_char_ccs_code_point'.
3209
3210 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3211
3212         * mule-charset.c (decoding_table_put_char): New inline function.
3213         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3214
3215 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3216
3217         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3218         (XCHARSET_BYTE_SIZE): New macro.
3219         (decoding_table_remove_char): New inline function.
3220         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3221         `decoding_table_remove_char'.
3222         (remove_char_ccs): Use `decoding_table_remove_char'.
3223         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3224
3225 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3226
3227         * mule-charset.c (Vcharacter_name_table): New variable.
3228         (Qname): New variable.
3229         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3230         attribute.
3231         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3232         `Vcharacter_name_table' for `name' attribute.
3233         (Fremove_char_attribute): Use function `remove_char_ccs'.
3234         (put_char_ccs_code_point): New function.
3235         (remove_char_ccs): New function.
3236         (syms_of_mule_charset): Add new symbol `name'.
3237         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3238
3239 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3240
3241         * mule-charset.c (make_byte_table): Add new argument `older'.
3242         (make_char_id_table): Likewise.
3243         (copy_char_id_table): Comment out because it is not used.
3244         (put_char_id_table): Modify for `make_byte_table'.
3245         (Fput_char_attribute): Make encoding_table as older object;
3246         inherit older bit of `Vcharacter_composition_table'.
3247         (mark_charset): Don't mark `cs->encoding_table'.
3248         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3249         normal object; make `Vcharacter_composition_table' as an older
3250         object; delete staticpro for `Vcharacter_composition_table'; make
3251         `Vcharacter_variant_table' as a normal object.
3252
3253         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3254         (mark_object): Don't check older object in UTF-2000.
3255
3256         * lrecord.h (struct lrecord_header): Add new member `older' in
3257         UTF-2000.
3258         (set_lheader_implementation): Setup `SLI_header->older' in
3259         UTF-2000.
3260         (set_lheader_older_implementation): New macro in UTF-2000.
3261         (OLDER_RECORD_P): New macro in UTF-2000.
3262         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3263         (alloc_older_lcrecord): New prototype in UTF-2000.
3264         (alloc_older_lcrecord_type): New macro in UTF-2000.
3265
3266 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3267
3268         * mule-charset.c (byte_table_description): Use
3269         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3270         (char_id_table_description): Delete bogus `, 1'.
3271         (Fget_char_attribute): Refer encoding_table of each coded-charset
3272         to get value of coded-charset attribute of a character.
3273         (Fput_char_attribute): Use `make_older_vector' instead of
3274         `make_vector'; use encoding_table of each coded-charset to store
3275         value of coded-charset attribute of a character.
3276         (Fremove_char_attribute): Use encoding_table of each coded-charset
3277         to store value of coded-charset attribute of a character.
3278         (mark_charset): Mark `cs->encoding_table'; don't mark
3279         `cs->decoding_table'.
3280         (charset_description): Add description of new member
3281         `encoding_table'.
3282         (make_charset): Initialize `encoding_table'.
3283
3284         * char-ucs.h (struct Lisp_Charset): Add new member
3285         `encoding_table'.
3286         (CHARSET_ENCODING_TABLE): New macro.
3287         (XCHARSET_ENCODING_TABLE): New macro.
3288         (charset_code_point): New implementation.
3289         (encode_char_1): Likewise.
3290
3291         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3292         (disksave_object_finalization_1): Call finalizers of
3293         `all_older_lcrecords' in UTF-2000.
3294         (make_older_vector): New function in UTF-2000.
3295         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3296         UTF-2000.
3297
3298         * lisp.h (make_older_vector): New prototype in UTF-2000.
3299
3300 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3301
3302         * lrecord.h (enum lrecord_type): Rename
3303         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3304
3305         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3306         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3307         `get_char_code_table'.
3308
3309         * mule-charset.c (mark_char_id_table): Renamed from
3310         `mark_char_code_table'.
3311         (char_id_table_equal): Renamed from `char_code_table_equal'.
3312         (char_id_table_hash): Renamed from `char_code_table_hash'.
3313         (make_char_id_table): Renamed from `make_char_code_table'.
3314         (copy_char_id_table): Renamed from `copy_char_code_table'.
3315         (get_char_id_table): Renamed from `get_char_code_table'.
3316         (put_char_id_table): Renamed from `put_char_code_table'.
3317         (to_char_id): Renamed from `to_char_code'.
3318
3319         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3320         `Lisp_Char_Code_Table'.
3321         (char_id_table): Renamed from `char_code_table'.
3322         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3323         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3324         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3325         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3326         (get_char_id_table): Renamed from `get_char_code_table'.
3327
3328 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3329
3330         * lrecord.h (enum lrecord_type): Rename
3331         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3332
3333         * mule-charset.c (mark_byte_table): Renamed from
3334         `mark_char_byte_table'.
3335         (byte_table_equal): Renamed from `char_byte_table_equal'.
3336         (byte_table_hash): Renamed from `byte_table_hash'.
3337         (make_byte_table): Renamed from `make_byte_table'.
3338         (copy_byte_table): Renamed from `copy_char_byte_table'.
3339
3340         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3341         `Lisp_Char_Byte_Table'.
3342         (byte_table): Renamed from `char_byte_table'.
3343         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3344         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3345         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3346         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3347
3348 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3351         (dfc_convert_to_internal_format): Likewise.
3352         
3353         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3354         * text-coding.c (Fcoding_system_alias_p): New function.
3355         * text-coding.c (Fcoding_system_aliasee): New function.
3356         * text-coding.c (append_suffix_to_symbol): New function.
3357         * text-coding.c (dangling_coding_system_alias_p): New function.
3358         * text-coding.c (Ffind_coding_system):
3359         * text-coding.c (Fcopy_coding_system):
3360         * text-coding.c (encode_coding_no_conversion):
3361         * text-coding.c (syms_of_file_coding):
3362         * text-coding.c (vars_of_file_coding):
3363         Rewrite coding system alias code.
3364         Allow nested aliases, like symbolic links.
3365         Allow redefinition of coding system aliases.
3366         Prevent existence of dangling coding system aliases.
3367         Eliminate convert_to_external_format.
3368         Eliminate convert_to_internal_format.
3369         
3370         * text-coding.c: Change enum eol_type to eol_type_t.
3371
3372 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3373
3374         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3375         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3376
3377         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3378         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3379
3380 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3381
3382         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3383         `ideograph-daikanwa'.
3384
3385         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3386         (Vcharset_ucs_bmp): Likewise.
3387         (Vcharset_mojikyo): Add new extern variable definition.
3388         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3389         (Vcharset_latin_iso8859_3): Likewise.
3390         (Vcharset_latin_iso8859_4): Likewise.
3391         (Vcharset_latin_iso8859_9): Likewise.
3392         (Vcharset_latin_viscii_lower): Likewise.
3393         (Vcharset_latin_viscii_upper): Likewise.
3394         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3395         `mojikyo' code-point is used to decode.
3396         (encode_char_2): New function [to convert `mojikyo' code-point to
3397         Mojikyo font encoding].
3398         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3399         (breakup_char_1): Likewise.
3400         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3401
3402 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3403
3404         * text-coding.c (Fmake_coding_system): Add document about
3405         `disable-composition' property.
3406
3407 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3408
3409         * text-coding.c (Qdisable_composition): New variable; delete
3410         `Qcomposite'.
3411         (Fmake_coding_system): Add new property `disable-composite';
3412         delete property `composite'.
3413         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3414         instead of `!CODING_SYSTEM_COMPOSITE'.
3415         (syms_of_file_coding): Add new symbol `disable-composition';
3416         delete symbol `composite'.
3417
3418         * file-coding.h (struct Lisp_Coding_System): Add
3419         `disable_composition'; delete `enable_composition'.
3420         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3421         `CODING_SYSTEM_COMPOSITE'.
3422         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3423         `XCODING_SYSTEM_COMPOSITE'.
3424
3425 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3426
3427         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3428         to 0.15.
3429
3430 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3431
3432         * text-coding.c (Qcomposite): New variable.
3433         (Fmake_coding_system): Add new property `composite'.
3434         (struct decoding_stream): Add `combined_char_count',
3435         `combined_chars' and `combining_table' in UTF-2000.
3436         (COMPOSE_FLUSH_CHARS): New macro.
3437         (COMPOSE_ADD_CHAR): New macro.
3438         (reset_decoding_stream): Reset `str->combined_char_count' and
3439         `str->combining_table' in UTF-2000.
3440         (decode_coding_iso2022): Modify for character-decomposition.
3441         (syms_of_file_coding): Add new symbol `composite'.
3442
3443 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3444
3445         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3446         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3447         of `Vcharacter_composition_table' if `->decomposition' property
3448         has only 1 element.
3449         (Qlatin_tcvn5712): New variable.
3450         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3451         (complex_vars_of_mule_charset): Add new coded-charset
3452         `latin-tcvn5712'.
3453
3454         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3455
3456 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3457
3458         * file-coding.h (struct Lisp_Coding_System): Add
3459         `enable_composition'.
3460         (CODING_SYSTEM_COMPOSITE): New macro.
3461         (XCODING_SYSTEM_COMPOSITE): New macro.
3462
3463 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3464
3465         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3466
3467 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3468
3469         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3470         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3471
3472 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3473
3474         * mule-charset.c (Vcharset_mojikyo): New variable.
3475         (Fdefine_char): Don't use coded-charset which does not have
3476         non-builtin character range to allocate character-id.
3477         (Qmojikyo): New variable.
3478         (syms_of_mule_charset): Add new symbol `mojikyo'.
3479         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3480
3481         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3482         (LEADING_BYTE_MOJIKYO): New macro.
3483         (MIN_CHAR_MOJIKYO): New macro.
3484         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3485         (MAX_CHAR_MOJIKYO): New macro.
3486
3487 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3488
3489         * mule-charset.c (remove_char_attribute): Fixed.
3490
3491 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3492
3493         * mule-charset.c (remove_char_attribute): New function.
3494         (Fremove_char_attribute): New function.
3495         (encode_builtin_char_1): Comment out builtin-support for
3496         greek-iso8859-7 and cyrillic-iso8859-5.
3497         (Fdecode_char): Check `code' is an integer.
3498         (syms_of_mule_charset): Add `remove-char-attribute'.
3499         (MIN_CHAR_GREEK): Deleted.
3500         (MAX_CHAR_GREEK): Likewise.
3501         (MIN_CHAR_CYRILLIC): Likewise.
3502         (MAX_CHAR_CYRILLIC): Likewise.
3503         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3504         MAX_CHAR_GREEK for `greek-iso8859-7'.
3505
3506         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3507         (MAX_CHAR_GREEK): Likewise.
3508         (MIN_CHAR_CYRILLIC): Likewise.
3509         (MAX_CHAR_CYRILLIC): Likewise.
3510
3511 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3512
3513         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3514         format is used without `ucs' property.
3515         (Fdecode_char): Fix problem with GR representation.
3516         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3517         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3518
3519 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3520
3521         * mule-charset.c (make_builtin_char): New function.
3522         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3523         (Fset_charset_mapping_table): Modify for new representation of
3524         code-point.
3525         (Fdecode_char): New function.
3526         (syms_of_mule_charset): Add new builtin function `decode-char' in
3527         UTF-2000.
3528
3529         * char-ucs.h (make_builtin_char): New prototype.
3530         (DECODE_CHAR): New inline function.
3531         (MAKE_CHAR): Use `DECODE_CHAR'.
3532
3533 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3534
3535         * text-coding.c (parse_charset_conversion_specs): Use
3536         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3537         `XCHARSET_TYPE'.
3538         (iso2022_designate): Likewise.
3539
3540         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3541         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3542
3543         * mule-charset.c (Vcharset_ucs): New variable.
3544         (print_charset): Change design; use `CHARSET_CHARS' and
3545         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3546         (make_charset): Change signature to specify `chars' and
3547         `dimension' instead of `type'.
3548         (range_charset_code_point): Modify for 256^n-set.
3549         (encode_builtin_char_1): Encode as `ucs' in default.
3550         (Fmake_charset): Modify for `make_charset'.
3551         (Fmake_reverse_direction_charset): Likewise.
3552         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3553         UTF-2000.
3554         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3555         for `make_charset'.
3556
3557         * char-ucs.h (Vcharset_ucs): New variable.
3558         (LEADING_BYTE_UCS): New macro.
3559         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3560         and `chars' to `unsigned short' from `unsigned int'.
3561         (CHARSET_TYPE): Deleted.
3562         (XCHARSET_TYPE): Deleted.
3563
3564 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3565
3566         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3567
3568         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3569         (ENCODE_CHAR): New macro.
3570
3571 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3572
3573         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3574         to 0.14 (Kawachi-Katakami).
3575
3576 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3577
3578         * text-coding.c (char_encode_shift_jis): Modify for
3579         `charset_code_point'.
3580         (char_encode_iso2022): Likewise.
3581
3582         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3583         (integer) instead of list of <Lisp_Object>s (integers) as the
3584         format of code-point of a coded-charset.
3585         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3586         (encode_builtin_char_1): New function; delete
3587         `split_builtin_char'.
3588         (charset_code_point): Return <int> instead of <Lisp_Object>.
3589         (Fsplit_char): Don't use `SPLIT_CHAR'.
3590
3591         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3592         prototype for `split_builtin_char'.
3593         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3594         (charset_code_point): Likewise.
3595         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3596         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3597
3598 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3599
3600         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3601         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3602
3603 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3604
3605         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3606
3607         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3608         (MAX_CHAR_OBS_94x94): Deleted.
3609
3610 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3611
3612         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3613
3614         * char-ucs.h (MAX_CHAR_BMP): New macro.
3615
3616 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3617
3618         * text-coding.c: Sync with r21-2-24.
3619
3620 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3621
3622         * file-coding.c: Modify for UTF-2000.
3623
3624 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3625
3626         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3627         to 0.13 (Takaida).
3628
3629 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3630
3631         * mule-charset.c (split_builtin_char): Delete builtin support for
3632         `katakana-jisx0201'.
3633         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3634         BMP area in builtin representation.
3635
3636         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3637         `Vcharset_katakana_jisx0201'.
3638
3639 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3640
3641         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3642         (Qisolated): New variable.
3643         (Qinitial): New variable.
3644         (Qmedial): New variable.
3645         (Qfinal): New variable.
3646         (Qvertical): New variable.
3647         (Qsmall): New variable.
3648         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3649         `Qvertical' and `Qsmall'.
3650         (Qmojikyo_pj_[1 .. 21]): New variable.
3651         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3652         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3653         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3654         .. 21]'.
3655
3656 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3657
3658         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3659         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3660         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3661
3662 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3663
3664         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3665         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3666         BMP.
3667         (Qjapanese_jisx0208_1990): New variable.
3668         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3669         (complex_vars_of_mule_charset): Add new coded-charset
3670         `japanese-jisx0208-1990'.
3671
3672         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3673         (MIN_CHAR_JIS_X0208_1990): New macro.
3674         (MAX_CHAR_JIS_X0208_1990): New macro.
3675
3676 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3677
3678         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3679         coded-charset is not found.
3680
3681 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3682
3683         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3684         (Fdefine_char): Use `Fmake_char'.
3685
3686 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3687
3688         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3689         (Vcharset_hiragana_jisx0208): Deleted.
3690         (Vcharset_katakana_jisx0208): Deleted.
3691         (Qideograph_daikanwa): New variable.
3692         (Qhiragana_jisx0208): Deleted.
3693         (Qkatakana_jisx0208): Deleted.
3694         (split_builtin_char): Split `ideograph-daikanwa'.
3695         (Fsplit_char): New implementation for UTF-2000.
3696         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3697         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3698         (complex_vars_of_mule_charset): Add new coded-charset
3699         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3700         `katakana-jisx0208'.
3701
3702         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3703         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3704         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3705         (MIN_CHAR_DAIKANWA): New macro.
3706         (MAX_CHAR_DAIKANWA): New macro.
3707
3708 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3709
3710         * data.c (Fstring_to_number): Don't recognize floating point if
3711         base is not 10.
3712
3713 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3714
3715         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3716
3717 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3718
3719         * mule-charset.c (Qsquare): New variable.
3720         (to_char_code): Add `Qsquare'.
3721         (syms_of_mule_charset): Add new symbol `square'.
3722
3723 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3724
3725         * mule-charset.c (Qcircle): New variable.
3726         (to_char_code): Add `Qcircle'.
3727         (syms_of_mule_charset): Add new symbol `circle'.
3728
3729 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3730
3731         * mule-charset.c (Qfont): New variable.
3732         (to_char_code): Add `Qfont'.
3733         (syms_of_mule_charset): Add new symbol `font'.
3734
3735 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3736
3737         * mule-charset.c (Qsub): New variable.
3738         (to_char_code): Add `Qsub'.
3739         (syms_of_mule_charset): Add new symbol `sub'.
3740
3741 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3742
3743         * mule-charset.c (Fput_char_attribute): Convert each element of
3744         VALUE to GL position if ATTRIBUTE is a GR-set,
3745
3746 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3747
3748         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3749         coded-charset is a GR-set.
3750
3751 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3752
3753         * mule-charset.c (Fput_char_attribute): Check each element of
3754         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3755
3756 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3757
3758         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3759         UTF-2000.
3760         (Qethiopic_ucs): New variable in UTF-2000.
3761         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3762         (complex_vars_of_mule_charset): Add new coded-charset
3763         `ethiopic-ucs' in UTF-2000.
3764
3765         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3766         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3767         9)'.
3768         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3769         10)'.
3770         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3771
3772 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3773
3774         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3775         `ascii'.
3776
3777 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3778
3779         * mule-charset.c (Vcharacter_variant_table): New variable.
3780         (Q_ucs): New variable.
3781         (Fchar_variants): New function.
3782         (Fput_char_attribute): Register `->ucs' value to
3783         `Vcharacter_variant_table'.
3784         (syms_of_mule_charset): Add new function `char-variants' and new
3785         symbol `->ucs'.
3786         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3787
3788 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3789
3790         * mule-charset.c (get_char_code_table): Allow negative character
3791         code.
3792         (put_char_code_table): Likewise.
3793         (Vcharacter_composition_table): New variable.
3794         (Q_decomposition): New variable.
3795         (Qwide): New variable.
3796         (Qnarrow): New variable.
3797         (Qcompat): New variable.
3798         (QnoBreak): New variable.
3799         (Qsuper): New variable.
3800         (Qfraction): New variable.
3801         (to_char_code): New function.
3802         (Fget_composite_char): New function.
3803         (Fput_char_attribute): Register `->decomposition' value to
3804         `Vcharacter_composition_table'.
3805         (syms_of_mule_charset): Add new function `get-composite-char', new
3806         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3807         `super' and `fraction'.
3808         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3809
3810 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3811
3812         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3813         character; copy the return value.
3814
3815 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3816
3817         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3818
3819         * mule-charset.c (range_charset_code_point): Must use make_int.
3820         (split_builtin_char): New function.
3821
3822 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3823
3824         * mule-charset.c (char_byte_table): Change name from
3825         "char-code-table" to "char-byte-table".
3826         (mark_char_code_table): New function.
3827         (char_code_table_equal): New function.
3828         (char_code_table_hash): New function.
3829         (char_code_table_description): New constant.
3830         (char_code_table): New type.
3831         (make_char_code_table): New function.
3832         (copy_char_code_table): New function.
3833         (get_char_code_table): Modify for `char_code_table' type.
3834         (put_char_code_table): Likewise.
3835         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3836         (Kashiwara).
3837
3838         * char-ucs.h (char_code_table): New type.
3839         (XCHAR_CODE_TABLE): New macro.
3840         (XSETCHAR_CODE_TABLE): New macro.
3841         (CHAR_CODE_TABLE_P): New macro.
3842         (GC_CHAR_CODE_TABLE_P): New macro.
3843         (struct Lisp_Char_Code_Table): New structure.
3844
3845 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3846
3847         * mule-charset.c (Fmake_charset): Setup byte_offset for
3848         {94|96}^n-set.
3849
3850 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3851
3852         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3853         character.
3854
3855 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3856
3857         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3858         is found.
3859
3860 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3861
3862         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3863         charset, it is regarded as a charset.
3864         (put_char_attribute): New function in UTF-2000.
3865         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3866         charset, mapping-table of the charset is modified.
3867         (Fdefine_char): New function in UTF-2000.
3868         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3869         `Fput_char_attribute'.
3870         (syms_of_mule_charset): Add new function `define-char' and new
3871         symbol `ucs' in UTF-2000.
3872         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3873
3874 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3875
3876         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3877         non-UTF-2000 configuration.
3878
3879 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3880
3881         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3882         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3883
3884         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3885         deleted.
3886         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3887         (Fset_charset_mapping_table): Likewise.
3888
3889         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3890         (CHARSET_ENCODING_TABLE): Delete.
3891         (XCHARSET_ENCODING_TABLE): Delete.
3892         (charset_code_point): New interface.
3893
3894 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3895
3896         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3897         instead of `charset_get_byte1' and `charset_get_byte2'.
3898
3899         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3900         (charset_get_byte2): Deleted.
3901
3902 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3903
3904         * char-ucs.h (SPLIT_CHAR): New inline function.
3905         (breakup_char_1): Use `SPLIT_CHAR'.
3906
3907         * mule-charset.c (range_charset_code_point): New function.
3908         (charset_code_point): New function.
3909
3910         * char-ucs.h (range_charset_code_point): New interface.
3911         (breakup_char_1): Use `range_charset_code_point'.
3912
3913 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3914
3915         * mule-charset.c (Fmake_charset): Delete unused local variable
3916         `code_offset'.
3917
3918         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3919         (breakup_char_1): Find a charset and code-point in
3920         `Vcharacter_attribute_table'.
3921
3922 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3923
3924         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3925         to 0.10 (Yao).
3926
3927 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3928
3929         * mule-charset.c (Vcharacter_attribute_table): New variable.
3930         (Fchar_attribute_alist): New function.
3931         (Fget_char_attribute): New function.
3932         (Fput_char_attribute): New function.
3933         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3934         too.
3935         (syms_of_mule_charset): Add new function `char-attribute-alist',
3936         `get-char-attribute' and `put-char-attribute'.
3937         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3938
3939 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3940
3941         * mule-charset.c (Fmake_charset): Just use
3942         `get_unallocated_leading_byte'.
3943
3944         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3945         sets; don't use final-byte based number for private sets.
3946
3947 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3948
3949         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3950         integer.
3951
3952 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3953
3954         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3955         to 0.9.
3956
3957 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3958
3959         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3960         of `CHAR_LEADING_BYTE' in UTF-2000.
3961
3962         * insdel.c (find_charsets_in_bufbyte_string): Use
3963         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3964         (find_charsets_in_emchar_string): Likewise.
3965
3966         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3967         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3968
3969         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3970         (CHAR_CHARSET_ID): New macro.
3971
3972 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3973
3974         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3975         charset-id - MIN_LEADING_BYTE.
3976         (put_char_table): Likewise.
3977
3978 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3979
3980         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3981         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3982         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3983         (CHARSET_ID_OFFSET): New macro.
3984         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3985         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3986         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3987         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3988         4).
3989         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3990         5).
3991         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3992         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3993         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3994         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3995         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3996
3997 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3998
3999         * mule-charset.c (next_allocated_leading_byte): New variable in
4000         UTF-2000.
4001         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4002         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4003         (get_unallocated_leading_byte): Simply use
4004         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4005         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4006         UTF-2000.
4007
4008         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4009         (MAX_LEADING_BYTE_PRIVATE): New macro.
4010         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4011         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4012
4013 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4014
4015         * mule-charset.c (Fmake_charset): Allocate final-byte based
4016         charset-id for 94-set, 96-set and 94x94-set.
4017
4018 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4019
4020         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4021         ambiguous `else'.
4022         (Fmake_charset): Likewise.
4023         (complex_vars_of_mule_charset): Modify the font registry of
4024         `ucs-bmp' not to match `Ethiopic-Unicode'.
4025
4026 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4027
4028         * mule-charset.c (complex_vars_of_mule_charset): Add font
4029         registory of `ucs-bmp'.
4030
4031 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4032
4033         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4034         coded-charsets in `default-coded-charset-priority-list' when
4035         breaking up a character.
4036
4037         * mule-charset.c (Vcharset_latin_viscii): New variable.
4038         (Qlatin_viscii): New variable.
4039         (make_charset): Don't use `decoding_table'.
4040         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4041         byte_offset.
4042         (Fset_charset_mapping_table): New implementation.
4043         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4044         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4045         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4046         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4047         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4048         charset `latin_viscii'.
4049
4050         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4051         (CHARSET_TYPE_94X94): Change to 1 from 2.
4052         (CHARSET_TYPE_96): Change to 2 from 1.
4053         (CHARSET_TYPE_128): New macro.
4054         (CHARSET_TYPE_128X128): Change to 5 from 4.
4055         (CHARSET_TYPE_256): New macro.
4056         (CHARSET_TYPE_256X256): Change to 7 from 5.
4057         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4058
4059 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4060
4061         * text-coding.c (char_encode_shift_jis): Refer
4062         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4063         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4064
4065         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4066         (char_byte_table_equal): New function in UTF-2000.
4067         (char_byte_table_hash): New function in UTF-2000.
4068         (char_byte_table_description): New constant in UTF-2000.
4069         (char_byte_table): New type in UTF-2000.
4070         (make_char_byte_table): New function in UTF-2000.
4071         (copy_char_byte_table): New function in UTF-2000.
4072         (make_char_code_table): New macro in UTF-2000.
4073         (get_char_code_table): New function in UTF-2000.
4074         (put_char_code_table): New function in UTF-2000.
4075         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4076         (charset_description): Add setting in UTF-2000.
4077         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4078         `CHARSET_TO_BYTE1_TABLE(cs)'.
4079         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4080         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4081         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4082         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4083         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4084         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4085         `CHARSET_TO_BYTE2_TABLE(cs)'.
4086
4087         * char-ucs.h (char_byte_table): New type.
4088         (XCHAR_BYTE_TABLE): New macro.
4089         (XSETCHAR_BYTE_TABLE): New macro.
4090         (CHAR_BYTE_TABLE_P): New macro.
4091         (GC_CHAR_BYTE_TABLE_P): New macro.
4092         (struct Lisp_Char_Byte_Table): New structure.
4093         (get_char_code_table): New interface.
4094         (Emchar_to_byte_table): Deleted.
4095         (get_byte_from_character_table): Deleted.
4096         (struct Lisp_Charset): Add `encoding_table'; delete
4097         `to_byte1_table' and `to_byte2_table'.
4098         (CHARSET_ENCODING_TABLE): New macro.
4099         (CHARSET_TO_BYTE1_TABLE): Deleted.
4100         (CHARSET_TO_BYTE2_TABLE): Deleted.
4101         (XCHARSET_ENCODING_TABLE): New macro.
4102         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4103         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4104
4105 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4106
4107         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4108         `vietnamese-viscii-*'.
4109
4110 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4111
4112         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4113         (Qvietnamese_viscii_upper): New variable.
4114         (Fdefine_charset_alias): New function.
4115         (syms_of_mule_charset): Add new function `define-charset-alias'.
4116         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4117         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4118         `latin-viscii-*'.
4119
4120 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4121
4122         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4123         (MAX_CHAR_OBS_94x94): New macro.
4124         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4125         for 94x94 sets.
4126
4127         * mule-charset.c (put_byte_from_character_table): Change unit size
4128         from 128 to 256.
4129         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4130         not defined.
4131         (Fmake_reverse_direction_charset): Modify dummy argument of
4132         `make_charset' for non-UTF-2000 environment.
4133
4134 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4135
4136         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4137
4138         * mule-charset.c (destroy_byte_from_character_table): New macro.
4139         (latin_jisx0201_to_ucs): Deleted.
4140         (latin_iso8859_2_to_ucs): Deleted.
4141         (latin_iso8859_3_to_ucs): Deleted.
4142         (latin_iso8859_4_to_ucs): Deleted.
4143         (latin_iso8859_9_to_ucs): Deleted.
4144         (latin_viscii_lower_to_ucs): Deleted.
4145         (latin_viscii_upper_to_ucs): Deleted.
4146         (mark_charset): Mark `cs->decoding_table'.
4147         (Fcharset_mapping_table): Fix DOC-string.
4148         (Fset_charset_mapping_table): New function.
4149         (syms_of_mule_charset): Add nwe function
4150         `set-charset-mapping-table'.
4151         (complex_vars_of_mule_charset): Don't setup and use
4152         `latin_*_to_ucs'.
4153
4154 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4155
4156         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4157         charset.
4158
4159 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4160
4161         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4162         (Vcharset_katakana_jisx0208): New variable.
4163         (Qhiragana_jisx0208): New variable.
4164         (Qkatakana_jisx0208): New variable.
4165         (make_charset): Add new argument `byte_offset'.
4166         (charset_get_byte1): Modify for new coded-charset definition; use
4167         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4168         `XCHARSET_BYTE_OFFSET'.
4169         (Fmake_charset): Modify for `make_charset'.
4170         (Fmake_reverse_direction_charset): Likewise.
4171         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4172         `katakana-jisx0208'.
4173         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4174         `.'  in font registry of charset `katakana-jisx0201',
4175         `latin-jisx0201', `vietnamese-viscii-lower' and
4176         `vietnamese-viscii-upper'; modify DOC-string of charset
4177         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4178         registry of charset `japanese-jisx0208' not to use font for JIS
4179         X0208:1990; add new charset `hiragana-jisx0208' and
4180         `katakana-jisx0208'.
4181
4182         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4183         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4184         (struct Lisp_Charset): Add `byte_offset'.
4185         (CHARSET_BYTE_OFFSET): New macro.
4186         (XCHARSET_UCS_MIN): New macro.
4187         (XCHARSET_UCS_MAX): New macro.
4188         (XCHARSET_CODE_OFFSET): New macro.
4189         (XCHARSET_BYTE_OFFSET): New macro.
4190         (MIN_CHAR_HIRAGANA): New macro.
4191         (MAX_CHAR_HIRAGANA): New macro.
4192         (MIN_CHAR_KATAKANA): New macro.
4193         (MAX_CHAR_KATAKANA): New macro.
4194         (MAKE_CHAR): Modify for new coded-charset definition; use
4195         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4196         `XCHARSET_BYTE_OFFSET'.
4197
4198 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4199
4200         * mule-charset.c (CHAR96): Deleted.
4201         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4202         <Lisp_Object>.
4203         (latin_iso8859_2_to_ucs): Likewise.
4204         (latin_iso8859_3_to_ucs): Likewise.
4205         (latin_iso8859_4_to_ucs): Likewise.
4206         (latin_iso8859_9_to_ucs): Likewise.
4207         (latin_viscii_lower_to_ucs): Likewise.
4208         (latin_viscii_upper_to_ucs): Likewise.
4209         (latin_tcvn5712_to_ucs): Commented out.
4210         (make_charset): Change type of argument `decoding_table' from
4211         <Emchar*> to <Lisp_Object> [vector of characters].
4212         (Fmake_charset): Modify for `make_charset'.
4213         (Fmake_reverse_direction_charset): Likewise.
4214         (Fcharset_mapping_table): New function in UTF-2000.
4215         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4216         UTF-2000.
4217         (complex_vars_of_mule_charset): Modify for type change of
4218         `*_to_ucs'; modify for `make_charset'.
4219
4220         * char-ucs.h (struct Lisp_Charset): Change type of
4221         `decoding_table' from <Emchar*> to <Lisp_Object>.
4222         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4223
4224 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4225
4226         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4227         error with non-UTF-2000-Mule.
4228
4229 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4230
4231         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4232         in lisp again].
4233         (Vcharset_chinese_cns11643_4): Likewise.
4234         (Vcharset_chinese_cns11643_5): Likewise.
4235         (Vcharset_chinese_cns11643_6): Likewise.
4236         (Vcharset_chinese_cns11643_7): Likewise.
4237         (Qchinese_cns11643_3): Likewise.
4238         (Qchinese_cns11643_4): Likewise.
4239         (Qchinese_cns11643_5): Likewise.
4240         (Qchinese_cns11643_6): Likewise.
4241         (Qchinese_cns11643_7): Likewise.
4242         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4243         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4244         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4245         (complex_vars_of_mule_charset): Likewise.
4246
4247 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4248
4249         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4250         96-set.
4251         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4252         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4253
4254 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4255
4256         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4257         0xFF60.
4258         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4259         (breakup_char_1): Likewise.
4260
4261         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4262         one of them includes the specified character.
4263
4264 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4265
4266         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4267
4268 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4269
4270         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4271
4272 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4273
4274         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4275         definition for non-UTF-2000 Mule.
4276         (latin_iso8859_3_to_ucs): Likewise.
4277         (latin_iso8859_4_to_ucs): Likewise.
4278         (latin_iso8859_9_to_ucs): Likewise.
4279         (latin_jisx0201_to_ucs): Likewise.
4280         (MIN_CHAR_THAI): Likewise.
4281         (MAX_CHAR_THAI): Likewise.
4282         (MIN_CHAR_GREEK): Likewise.
4283         (MAX_CHAR_GREEK): Likewise.
4284         (MIN_CHAR_HEBREW): Likewise.
4285         (MAX_CHAR_HEBREW): Likewise.
4286         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4287         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4288         (MIN_CHAR_CYRILLIC): Likewise.
4289         (MAX_CHAR_CYRILLIC): Likewise.
4290
4291 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4292
4293         * char-ucs.h (breakup_char_1): Use
4294         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4295         thai-tis620 and katakana-jisx0201 area.
4296
4297 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4298
4299         * char-ucs.h (breakup_char_1): Use
4300         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4301         area.
4302
4303         * text-coding.c (reset_encoding_stream): Fixed.
4304         (char_encode_ucs4): Delete `& 255'.
4305
4306         * char-ucs.h (breakup_char_1): Use
4307         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4308
4309 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4310
4311         * file-coding.c (Fmake_coding_system): Don't set up
4312         `codesys->fixed.size'.
4313         (encode_coding_no_conversion): Don't refer
4314         `str->codesys->fixed.size'.
4315
4316 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4317
4318         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4319         (latin_a_char_to_byte1): Deleted.
4320         (latin_a_char_to_byte2): Deleted.
4321
4322 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4323
4324         * mule-charset.c (make_charset): Add new argument `ucs_min',
4325         `ucs_max' and `code_offset'.
4326         (charset_get_byte1): New implementation [delete specific charset
4327         depended implementations].
4328         (Fmake_charset): Modify for `make_charset'.
4329         (Fmake_reverse_direction_charset): Likewise.
4330         (complex_vars_of_mule_charset): Likewise.
4331
4332         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4333         `code_offset'.
4334         (CHARSET_UCS_MIN): New macro.
4335         (CHARSET_UCS_MAX): New macro.
4336         (CHARSET_CODE_OFFSET): New macro.
4337         (MAKE_CHAR): Delete charset depended definitions [except
4338         katakana-jisx0201].
4339
4340 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4341
4342         * char-ucs.h (breakup_char_1): Use
4343         `Vdefault_coded_charset_priority_list' for C0-Controls,
4344         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4345
4346 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4347
4348         * char-ucs.h (charset_get_byte1): New function.
4349         (XCHARSET_GET_BYTE1): Deleted.
4350         (charset_get_byte2): New function.
4351         (XCHARSET_GET_BYTE2): Deleted.
4352         (Vdefault_coded_charset_priority_list): New external variable.
4353         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4354         `Vdefault_preferred_coded_charset_list'.
4355
4356         * mule-charset.c (charset_get_byte1): New function.
4357         (charset_get_byte2): New function.
4358         (Vdefault_coded_charset_priority_list): New variable.
4359         (vars_of_mule_charset): Add new variable
4360         `default-coded-charset-priority-list'.
4361
4362 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4363
4364         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4365         (XCHARSET_GET_BYTE2): New inline function.
4366         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4367         `XCHARSET_GET_BYTE2'.
4368
4369 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4370
4371         * mule-charset.c (make_charset): Initialize
4372         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4373         NULL if table is not defined.
4374
4375 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4376
4377         * text-coding.c (char_encode_shift_jis): Use
4378         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4379         `ucs_to_latin_jisx0201'.
4380
4381         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4382         (ucs_to_latin_iso8859_2): Deleted.
4383         (ucs_to_latin_iso8859_3): Deleted.
4384         (ucs_to_latin_iso8859_4): Deleted.
4385         (ucs_to_latin_iso8859_9): Deleted.
4386         (ucs_to_latin_viscii_lower): Deleted.
4387         (ucs_to_latin_viscii_upper): Deleted.
4388         (ucs_to_latin_tcvn5712): Deleted.
4389         (make_charset): Add new argument `decoding_table'; set up
4390         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4391         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4392         `decoding_table' is defined in UTF-2000.
4393         (Fmake_charset): Modify for `make_charset'.
4394         (Fmake_reverse_direction_charset): Likewise.
4395         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4396         and `GENERATE_96_SET'.
4397
4398         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4399         (ucs_to_latin_jisx0201): Deleted.
4400         (latin_iso8859_2_to_ucs): Deleted.
4401         (ucs_to_latin_iso8859_2): Deleted.
4402         (latin_iso8859_3_to_ucs): Deleted.
4403         (ucs_to_latin_iso8859_3): Deleted.
4404         (latin_iso8859_4_to_ucs): Deleted.
4405         (ucs_to_latin_iso8859_4): Deleted.
4406         (latin_iso8859_9_to_ucs): Deleted.
4407         (ucs_to_latin_iso8859_9): Deleted.
4408         (latin_viscii_lower_to_ucs): Deleted.
4409         (ucs_to_latin_viscii_lower): Deleted.
4410         (latin_viscii_upper_to_ucs): Deleted.
4411         (ucs_to_latin_viscii_upper): Deleted.
4412         (struct Lisp_Charset): Renamed `encoding_table' to
4413         `to_byte1_table'; add `to_byte2_table'.
4414         (CHARSET_DECODING_TABLE): New macro.
4415         (CHARSET_TO_BYTE1_TABLE): New macro.
4416         (CHARSET_TO_BYTE2_TABLE): New macro.
4417         (XCHARSET_DECODING_TABLE): New macro.
4418         (XCHARSET_TO_BYTE1_TABLE): New macro.
4419         (XCHARSET_TO_BYTE2_TABLE): New macro.
4420         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4421         tables.
4422         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4423         don't use `ucs_to_*' tables.
4424
4425 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4426
4427         * text-coding.c (Fmake_coding_system): Don't set up
4428         `codesys->fixed.size'.
4429         (encode_coding_no_conversion): Use `if' instead of `switch'.
4430
4431         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4432
4433 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4434
4435         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4436         (Fmake_charset): Modify for `make_charset'.
4437         (Fmake_reverse_direction_charset): Likewise.
4438         (complex_vars_of_mule_charset): Likewise.
4439
4440 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4441
4442         * text-coding.c (char_encode_shift_jis): Use table
4443         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4444
4445 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4446
4447         * text-coding.c (text_encode_generic): Use `if' instead of
4448         `switch'.
4449         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4450         decode JIS-Latin.
4451
4452 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4453
4454         * text-coding.c (encode_coding_sjis): Deleted.
4455         (char_encode_shift_jis): New function.
4456         (char_finish_shift_jis): New function.
4457         (reset_encoding_stream): Set up `encode_char' and `finish' for
4458         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4459         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4460         (char_encode_utf8): Treat `eol_type'.
4461
4462 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4463
4464         * file-coding.c (decode_coding_iso2022): Use
4465         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4466
4467 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4468
4469         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4470         to 0.7 (Hirano).
4471
4472 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4473
4474         * char-lb.h (CHAR_COLUMNS): New macro.
4475
4476 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4477
4478         * text-coding.c (char_encode_ucs4): New function.
4479         (char_finish_ucs4): New function.
4480         (encode_coding_ucs4): Deleted.
4481         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4482         (text_encode_generic): Delete local variable `charset' and `half'.
4483         (ucs_to_mule_table): Deleted.
4484         (mule_to_ucs_table): Deleted.
4485         (Fset_ucs_char): Deleted.
4486         (ucs_to_char): Deleted.
4487         (Fucs_char): Deleted.
4488         (Fset_char_ucs): Deleted.
4489         (Fchar_ucs): Deleted.
4490         (decode_ucs4): Deleted.
4491         (mule_char_to_ucs4): Deleted.
4492         (encode_ucs4): Deleted.
4493         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4494         (decode_coding_utf8): Likewise.
4495         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4496         (char_encode_iso2022): Fixed.
4497         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4498         `Fset_char_ucs' and `Fchar_ucs'.
4499         (complex_vars_of_file_coding): Don't initialize
4500         `ucs_to_mule_table'.
4501
4502         * objects-tty.c (tty_initialize_font_instance): Don't use
4503         `XCHARSET_COLUMNS'.
4504
4505         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4506         UTF-2000.
4507
4508         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4509         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4510
4511         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4512         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4513         (emchar_string_displayed_columns): Likewise.
4514
4515         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4516         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4517         (string_column_at_point): Likewise.
4518         (Fmove_to_column): Likewise.
4519
4520         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4521         `encoding_table' and `decoding_table'.
4522         (CHARSET_REP_BYTES): Deleted.
4523         (XCHARSET_REP_BYTES): Deleted.
4524         (XCHARSET_COLUMNS): Deleted.
4525         (CHAR_COLUMNS): New macro.
4526         (lookup_composite_char): Deleted unconditionally.
4527         (composite_char_string): Likewise.
4528
4529 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4530
4531         * char-ucs.h (Emchar_to_byte_table): New type.
4532         (get_byte_from_character_table): New function interface.
4533         (Vcharset_latin_jisx0201): New variable.
4534         (latin_jisx0201_to_ucs): New variable.
4535         (ucs_to_latin_jisx0201): New variable.
4536         (Vcharset_latin_iso8859_2): New variable.
4537         (latin_iso8859_2_to_ucs): New variable.
4538         (ucs_to_latin_iso8859_2): New variable.
4539         (Vcharset_latin_iso8859_3): New variable.
4540         (latin_iso8859_3_to_ucs): New variable.
4541         (ucs_to_latin_iso8859_3): New variable.
4542         (Vcharset_latin_iso8859_4): New variable.
4543         (latin_iso8859_4_to_ucs): New variable.
4544         (ucs_to_latin_iso8859_4): New variable.
4545         (Vcharset_latin_iso8859_9): New variable.
4546         (latin_iso8859_9_to_ucs): New variable.
4547         (ucs_to_latin_iso8859_9): New variable.
4548         (Vcharset_latin_viscii_lower): New variable.
4549         (latin_viscii_lower_to_ucs): New variable.
4550         (ucs_to_latin_viscii_lower): New variable.
4551         (Vcharset_latin_viscii_upper): New variable.
4552         (latin_viscii_upper_to_ucs): New variable.
4553         (ucs_to_latin_viscii_upper): New variable.
4554         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4555         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4556         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4557         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4558         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4559         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4560         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4561         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4562         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4563         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4564
4565         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4566         (Vcharset_latin_viscii_upper): New variable.
4567         (make_byte_from_character_table): New function.
4568         (put_byte_from_character_table): New function.
4569         (get_byte_from_character_table): New function.
4570         (CHAR96): New macro.
4571         (ucs_to_latin_jisx0201): New variable.
4572         (latin_jisx0201_to_ucs): New variable.
4573         (ucs_to_latin_iso8859_2): New variable.
4574         (latin_iso8859_2_to_ucs): New variable.
4575         (ucs_to_latin_iso8859_3): New variable.
4576         (latin_iso8859_3_to_ucs): New variable.
4577         (ucs_to_latin_iso8859_4): New variable.
4578         (latin_iso8859_4_to_ucs): New variable.
4579         (ucs_to_latin_iso8859_9): New variable.
4580         (latin_iso8859_9_to_ucs): New variable.
4581         (ucs_to_latin_viscii_lower): New variable.
4582         (latin_viscii_lower_to_ucs): New variable.
4583         (ucs_to_latin_viscii_upper): New variable.
4584         (latin_viscii_upper_to_ucs): New variable.
4585         (ucs_to_latin_tcvn5712): New variable.
4586         (latin_tcvn5712_to_ucs): New variable.
4587         (Qlatin_viscii_lower): New variable.
4588         (Qlatin_viscii_upper): New variable.
4589         (syms_of_mule_charset): Set up new symbol
4590         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4591         (complex_vars_of_mule_charset): Set up new charset
4592         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4593         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4594         `ucs_to_<CHARSET>' tables.
4595
4596 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4597
4598         * text-coding.c: New file.
4599
4600 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4601
4602         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4603
4604         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4605         (MAKE_CHAR): Modify for `ucs-bmp'.
4606         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4607         non-MULE characters of BMP.
4608
4609 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4610
4611         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4612         to 0.6.
4613
4614 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4615
4616         * lstream.h:
4617         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4618         - Include character.h for `CHAR_ASCII_P'.
4619
4620         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4621
4622         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4623         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4624
4625         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4626         (BYTE_C0_P): Likewise.
4627         (BYTE_C1_P): Likewise.
4628         (Lstream_get_emchar_1): Likewise.
4629         (Lstream_fput_emchar): Likewise.
4630         (Lstream_funget_emchar): Likewise.
4631         (copy_internal_to_external): Likewise.
4632         (copy_external_to_internal): Likewise.
4633
4634         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4635         (BYTE_C0_P): Likewise.
4636         (BYTE_C1_P): Likewise.
4637         (Lstream_get_emchar_1): Likewise.
4638         (Lstream_fput_emchar): Likewise.
4639         (Lstream_funget_emchar): Likewise.
4640         (copy_internal_to_external): Likewise.
4641         (copy_external_to_internal): Likewise.
4642
4643         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4644         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4645
4646         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4647         (BYTE_ASCII_P): Moved to mb-1byte.h.
4648
4649 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4650
4651         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4652
4653         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4654         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4655         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4656         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4657         (VALIDATE_CHARPTR_FORWARD): Likewise.
4658         (simple_charptr_emchar): Moved to mb-multibyte.h.
4659         (simple_set_charptr_emchar): Likewise.
4660         (simple_charptr_copy_char): Likewise.
4661         (non_ascii_charptr_emchar): Likewise.
4662         (non_ascii_set_charptr_emchar): Likewise.
4663         (non_ascii_charptr_copy_char): Likewise.
4664         (charptr_emchar): Moved to mb-*byte.h.
4665         (set_charptr_emchar): Likewise.
4666         (charptr_copy_char): Likewise.
4667
4668         * mb-1byte.h, mb-multibyte.h: New files.
4669
4670 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4671
4672         * mb-utf-8.h (MULTIBYTE): New macro.
4673         (MAX_EMCHAR_LEN): Moved from buffer.h.
4674         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4675
4676         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4677
4678         * mb-lb.h, multibyte.h: New files.
4679
4680         * char-1byte.h (Charset_ID): Moved from buffer.h.
4681         (MIN_LEADING_BYTE): Likewise.
4682         (LEADING_BYTE_ASCII): Likewise.
4683         (NUM_LEADING_BYTES): Likewise.
4684         (CHARSETP): Likewise.
4685         (CHARSET_BY_LEADING_BYTE): Likewise.
4686         (XCHARSET_LEADING_BYTE): Likewise.
4687         (XCHARSET_GRAPHIC): Likewise.
4688         (XCHARSET_COLUMNS): Likewise.
4689         (XCHARSET_DIMENSION): Likewise.
4690         (CHAR_CHARSET): Likewise.
4691         (CHAR_LEADING_BYTE): Likewise.
4692         (BREAKUP_CHAR): Likewise.
4693         (Vcharset_ascii): Likewise.
4694
4695         * buffer.h: Include multibyte.h unconditionally.
4696         (VALID_CHARPTR_P): Moved to multibyte.h.
4697         (ASSERT_VALID_CHARPTR): Likewise.
4698         (REAL_INC_CHARPTR): Likewise.
4699         (REAL_INC_CHARBYTIND): Likewise.
4700         (REAL_DEC_CHARPTR): Likewise.
4701         (INC_CHARPTR): Likewise.
4702         (INC_CHARBYTIND): Likewise.
4703         (DEC_CHARPTR): Likewise.
4704         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4705         (VALIDATE_CHARPTR_FORWARD): Likewise.
4706         (charptr_n_addr): Likewise.
4707         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4708         (simple_charptr_emchar): Moved to multibyte.h.
4709         (simple_set_charptr_emchar): Likewise.
4710         (simple_charptr_copy_char): Likewise.
4711         (non_ascii_charptr_emchar): Likewise.
4712         (non_ascii_set_charptr_emchar): Likewise.
4713         (non_ascii_charptr_copy_char): Likewise.
4714         (charptr_emchar): Likewise.
4715         (set_charptr_emchar): Likewise.
4716         (charptr_copy_char): Likewise.
4717         (charptr_emchar_n): Likewise.
4718         (Charset_ID): Moved to char-1byte.h.
4719         (Vcharset_ascii): Likewise.
4720         (CHAR_CHARSET): Likewise.
4721         (CHAR_LEADING_BYTE): Likewise.
4722         (LEADING_BYTE_ASCII): Likewise.
4723         (NUM_LEADING_BYTES): Likewise.
4724         (MIN_LEADING_BYTE): Likewise.
4725         (CHARSETP): Likewise.
4726         (CHARSET_BY_LEADING_BYTE): Likewise.
4727         (XCHARSET_LEADING_BYTE): Likewise.
4728         (XCHARSET_GRAPHIC): Likewise.
4729         (XCHARSET_COLUMNS): Likewise.
4730         (XCHARSET_DIMENSION): Likewise.
4731         (BREAKUP_CHAR): Likewise.
4732
4733 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4734
4735         * character.h: Add document about interface for characters.
4736
4737         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4738         (MAKE_CHAR): Delete comment about
4739         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4740         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4741         (BREAKUP_CHAR): Modify name of arguments.
4742         (CHAR_CHARSET): Modify name of argument.
4743
4744         * buffer.h: Delete document about Emchar accessors.
4745
4746 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4747
4748         * character.h (CHAR_INTP): Moved from buffer.h
4749         (CHAR_OR_CHAR_INTP): Likewise.
4750         (XCHAR_OR_CHAR_INT): Likewise.
4751         (CHECK_CHAR_COERCE_INT): Likewise.
4752
4753         * buffer.h (CHAR_INTP): Moved to character.h
4754         (CHAR_OR_CHAR_INTP): Likewise.
4755         (XCHAR_OR_CHAR_INT): Likewise.
4756         (CHECK_CHAR_COERCE_INT): Likewise.
4757
4758 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4759
4760         * character.h:
4761         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4762         - Include char-1byte.h, char-lb.h or char-ucs.h.
4763
4764         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4765
4766         * buffer.h: Include character unconditionally.
4767         (valid_char_p): Moved to char-*.h.
4768         (non_ascii_valid_char_p): Moved to char-lb.h.
4769
4770         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4771
4772 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4773
4774         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4775         in UTF-2000 because it is not ported yet and not to use
4776         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4777         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4778         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4779
4780         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4781         (CHAR_ASCII_P): Moved from character.h.
4782
4783         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4784         (CHAR_ASCII_P): Likewise.
4785         (CHAR_FIELD1_MASK): Deleted.
4786         (CHAR_FIELD2_MASK): Deleted.
4787         (CHAR_FIELD3_MASK): Deleted.
4788         (MAX_CHAR_BASIC_LATIN): New macro.
4789         (CHAR_FIELD1): Deleted.
4790         (CHAR_FIELD2_INTERNAL): Deleted.
4791         (CHAR_FIELD3_INTERNAL): Deleted.
4792         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4793         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4794         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4795         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4796         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4797         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4798         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4799         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4800         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4801         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4802         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4803         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4804         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4805         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4806         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4807         (MIN_CHAR_COMPOSITION): Deleted.
4808         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4809         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4810
4811 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4812
4813         * buffer.h: Include mb-utf-8.h in UTF-2000.
4814
4815         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4816
4817         * mb-utf-8.h: New file.
4818
4819 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4820
4821         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4822         instead of `int'.
4823
4824         * mule-charset.h, buffer.h (Charset_ID): New type.
4825
4826 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4827
4828         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4829         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4830         instead of `MULE_CHAR_PRIVATE_OFFSET',
4831         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4832         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4833         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4834
4835         * character.h (Vcharset_japanese_jisx0212): New variable
4836         definition.
4837
4838 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4839
4840         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4841         (charset_by_attributes): Delete array about direction.
4842         (latin_a_char_to_charset): New variable in UTF-2000.
4843         (latin_a_char_to_byte1): New variable in UTF-2000.
4844         (latin_a_char_to_byte2): New variable in UTF-2000.
4845         (Qucs_bmp): New variable.
4846         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4847         `Bufbyte'.
4848         (next_allocated_2_byte_leading_byte): Likewise.
4849         (non_ascii_set_charptr_emchar): Likewise.
4850         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4851         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4852         `charset_by_attributes'.
4853         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4854         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4855         and `CHARSET_BY_LEADING_BYTE'.
4856         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4857         `utf-2000-version' to `vars_of_mule_charset'.
4858         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4859         define `leading-code-private-11' in UTF-2000; move setting of
4860         `utf-2000-version' from `syms_of_mule_charset'.
4861         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4862         UTF-2000.
4863
4864         * character.h (Charset_ID): New type.
4865         (LEADING_BYTE_UCS_BMP): New macro.
4866         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4867         (CHARSET_ID_OFFSET_94): New macro.
4868         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4869         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4870         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4871         final-byte.
4872         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4873         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4874         (CHARSET_ID_OFFSET_96): New macro.
4875         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4876         CHARSET_ID_OFFSET_96 and final-byte.
4877         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4878         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4879         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4880         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4881         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4882         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4883         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4884         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4885         (LEADING_BYTE_THAI_TIS620): Likewise.
4886         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4887         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4888         (CHARSET_ID_OFFSET_94x94): New macro.
4889         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4890         CHARSET_ID_OFFSET_94x94 and final-byte.
4891         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4892         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4893         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4894         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4895         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4896         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4897         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4898         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4899         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4900         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4901         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4902         (CHARSET_TYPE_128X128): New macro.
4903         (CHARSET_TYPE_256X256): New macro.
4904         (XCHARSET_PRIVATE_P): Delete unconditionally.
4905         (charset_by_attributes): Delete array about direction.
4906         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4907         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4908         (MIN_CHAR_94): New macro.
4909         (MAX_CHAR_94): New macro.
4910         (MIN_CHAR_96): New macro.
4911         (MAX_CHAR_96): New macro.
4912         (MIN_CHAR_94x94): New macro.
4913         (MAX_CHAR_94x94): New macro.
4914         (MIN_CHAR_96x96): New macro.
4915         (MAX_CHAR_96x96): New macro.
4916         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4917         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4918         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4919         - 32)'.
4920         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4921         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4922         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4923         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4924         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4925         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4926         `XCHARSET_LEADING_BYTE' to make code-point.
4927         (latin_a_char_to_charset): New variable.
4928         (latin_a_char_to_byte1): New variable.
4929         (latin_a_char_to_byte2): New variable.
4930         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4931         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4932         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4933
4934         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4935         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4936         (find_charsets_in_emchar_string): Likewise.
4937         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4938
4939         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4940         `int'.
4941         (decode_coding_iso2022): Likewise.
4942
4943         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4944         of `unsigned char'.
4945
4946         * redisplay.c (redisplay_text_width_emchar_string): Use
4947         `Charset_ID' instead of `unsigned char'.
4948         (redisplay_frame_text_width_string): Likewise.
4949
4950         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4951         `unsigned char'.
4952
4953         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4954         instead of `unsigned char'.
4955         (face_cachel_charset_font_metric_info): Likewise.
4956
4957         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4958         (get_non_ascii_char_table_value): Likewise.
4959         (get_char_table): Likewise.
4960         (put_char_table): Likewise.
4961         (map_over_other_charset): Likewise.
4962         (map_char_table): Likewise.
4963
4964         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4965         instead of `unsigned char'.
4966
4967 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4968
4969         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4970         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4971
4972         * mule-charset.c (leading_code_private_11): Don't define in
4973         UTF-2000.
4974
4975         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4976         in UTF-2000 because it is not ported yet and not to use
4977         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4978
4979 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4980
4981         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4982
4983 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4984
4985         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4986         in UTF-2000.
4987
4988         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4989         of unsigned char to store leading-byte.
4990
4991         * chartab.c (get_non_ascii_char_table_value): Don't use
4992         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4993
4994         * file-coding.c (encode_coding_big5): Delete bogus implementation
4995         in UTF2000.
4996
4997         * character.h (LEADING_BYTE_*): Delete definition for
4998         non-UTF-2000.
4999         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5000         (LEADING_BYTE_PREFIX_P): Deleted.
5001         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5002         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5003         (BUFBYTE_LEADING_BYTE_P): Deleted.
5004         (CHARSET_PRIVATE_P): Deleted unconditionally.
5005         (rep_bytes_by_first_byte): Deleted unconditionally.
5006         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5007         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5008         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5009         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5010         (CHAR_FIELD2): Deleted.
5011         (CHAR_FIELD3): Deleted.
5012         (MAKE_CHAR): Delete definition for non-UTF-2000.
5013         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5014         (breakup_char_1): New implementation.
5015         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5016         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5017
5018 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5019
5020         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5021         condition.
5022
5023 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5024
5025         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5026         (CHARSET_PRIVATE_P): Likewise.
5027         (XCHARSET_PRIVATE_P): Likewise.
5028         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5029
5030         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5031         UTF2000.
5032         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5033
5034 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5035
5036         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5037         (NUM_LEADING_BYTES): Changed from 128 to 256.
5038         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5039         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5040         UTF2000.
5041         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5042
5043         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5044         UTF2000.
5045         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5046         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5047         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5048         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5049         (Qchinese_cns11643_3): New variable in UTF2000.
5050         (Qchinese_cns11643_4): New variable in UTF2000.
5051         (Qchinese_cns11643_5): New variable in UTF2000.
5052         (Qchinese_cns11643_6): New variable in UTF2000.
5053         (Qchinese_cns11643_7): New variable in UTF2000.
5054         (syms_of_mule_charset): Define `chinese-cns11643-3',
5055         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5056         and `chinese-cns11643-7' in UTF2000.
5057         (vars_of_mule_charset): Initialize
5058         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5059         + 1 in UTF2000.
5060         (complex_vars_of_mule_charset): Setup charset
5061         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5062         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5063
5064 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5065
5066         * mule-charset.c: Move setting for `leading-code-private-11' from
5067         `syms_of_mule_charset' to `vars_of_mule_charset'.
5068
5069 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5070
5071         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5072         and `NUM_LEADING_BYTES' in assert.
5073
5074 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5075
5076         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5077         instead of 128.
5078         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5079         `NUM_LEADING_BYTES' instead of 128.
5080
5081 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5082
5083         * mule-charset.h (charset_by_leading_byte): Use
5084         `NUM_LEADING_BYTES' instead of 128.
5085         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5086
5087         * mule-charset.c (charset_by_leading_byte): Use
5088         `NUM_LEADING_BYTES' instead of 128.
5089         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5090
5091         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5092         128.
5093
5094 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5095
5096         * mule-charset.c (syms_of_mule_charset): Update to
5097         0.4 (Shin-Imamiya).
5098
5099 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5100
5101         * file-coding.c (encode_coding_sjis): New implementation for
5102         UTF2000.  (decode_coding_sjis): Ditto.
5103
5104 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5105
5106         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5107         Don't define in UTF2000.
5108
5109         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5110         defined.
5111
5112         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5113         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5114         MULE.
5115
5116 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5117
5118         * config.h.in (CHAR_IS_UCS4): New macro.
5119
5120         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5121         conventional MULE representation.
5122         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5123
5124         * mule-charset.h: Reverted to original.
5125
5126         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5127         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5128         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5129
5130         * character.h: New file.
5131
5132         * file-coding.c (Fmake_coding_system): Set 1 to
5133         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5134         defined.
5135         (encode_coding_no_conversion): New implementation for UTF2000.
5136
5137         * file-coding.h (struct Lisp_Coding_System): Add new member
5138         `fixed.size'.
5139
5140 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5141
5142         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5143         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5144         (encode_coding_iso2022): New implementation for UTF2000.
5145
5146 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5147
5148         * mule-canna.c (c2mu): New implementation for UTF2000.
5149         (m2c): Likewise.
5150
5151 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5152
5153         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5154
5155 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5156
5157         * file-coding.c (reset_encoding_stream): Set 0 to
5158         `str->iso2022.current_char_boundary' in UTF2000.
5159         (encode_utf8): Don't define in UTF2000.
5160         (encode_coding_utf8): New implementation for UTF-8 representation
5161         of UTF2000.
5162         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5163
5164 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5165
5166         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5167
5168         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5169         UTF2000.
5170         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5171
5172         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5173
5174         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5175         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5176         as UTF-8 in UTF2000.
5177         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5178         (non_ascii_valid_char_p): Don't define in UTF2000.
5179         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5180         (Lstream_get_emchar_1): Likewise.
5181         (utf-2000-version): New variable in UTF2000.
5182
5183         * lread.c (read_escape): Add new reader `u'.
5184
5185         * insdel.c (three_to_one_table): Don't define in UTF2000.
5186         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5187         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5188         UTF2000.
5189         (bytind_to_bufpos_func): Likewise.
5190         (buffer_mule_signal_inserted_region): Likewise.
5191         (vars_of_insdel): Don't initialize `three_to_one_table'.
5192         (init_buffer_text): Use `buf->text->mule_size' instead of
5193         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5194         UTF2000.
5195
5196         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5197         UTF-8 representation in UTF2000.
5198         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5199         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5200         (decode_coding_iso2022): Don't define local variable `lb' in
5201         UTF2000; don't use LEADING_BYTE in UTF2000; use
5202         `DECODE_ADD_UCS_CHAR' in UTF2000.
5203         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5204
5205         * config.h.in (UTF2000): New macro.
5206
5207         * buffer.h (struct buffer_text): Add new member `mule_size' and
5208         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5209         (valid_char_p): Return always 1 in UTF2000.
5210         (MAX_EMCHAR_LEN): 6 in UTF2000.
5211         (three_to_one_table): Don't define in UTF2000.
5212         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5213         UTF2000.
5214         (real_bytind_to_bufpos): Likewise.
5215
5216         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5217
5218 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5219
5220         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5221         representation change.
5222         (Vutf_2000_version): New variable.
5223         (leading_code_private_11): New variable.
5224         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5225         `leading-code-private-11'.
5226
5227         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5228         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5229         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5230         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5231         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5232         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5233         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5234         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5235         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5236         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5237         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5238         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5239         (MIN_CHAR_GREEK): New macro.
5240         (MAX_CHAR_GREEK): New macro.
5241         (MIN_CHAR_CYRILLIC): New macro.
5242         (MAX_CHAR_CYRILLIC): New macro.
5243         (MIN_CHAR_HEBREW): New macro.
5244         (MAX_CHAR_HEBREW): New macro.
5245         (MIN_CHAR_THAI): New macro.
5246         (MAX_CHAR_THAI): New macro.
5247         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5248         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5249         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5250         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5251         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5252         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5253         (CHAR_FIELD2): New inline function.
5254         (CHAR_FIELD3): New inline function.
5255         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5256         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5257         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5258         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5259         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5260         (MIN_CHAR_COMPOSITION): Likewise.
5261         (CHAR_LEADING_BYTE): Modified for character representation change.
5262         (MAKE_CHAR): Likewise.
5263
5264         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5265         (Vcharset_greek_iso8859_7): Likewise.
5266         (Vcharset_cyrillic_iso8859_5): Likewise.
5267         (Vcharset_hebrew_iso8859_8): Likewise.
5268         (Vcharset_thai_tis620): Likewise.
5269         (Vcharset_katakana_jisx0201): Likewise.
5270
5271 2003-09-03  Vin Shelton <acs@xemacs.org>
5272
5273         * XEmacs 21.4.14 is released
5274
5275 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5276
5277         * config.h.in (REGEX_MALLOC): Make it configure'able.
5278
5279 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5280
5281         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5282         linking.
5283         * sysdll.c (dll_init):
5284         * sysdll.c (dll_open):
5285         * sysdll.c (dll_close):
5286         * sysdll.c (dll_function):
5287         * sysdll.c (dll_variable):
5288         * sysdll.c (dll_error):
5289         Add support for loading bundles using Darwin/MacOSX
5290         native API.
5291
5292 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5293
5294         * process.c (start-process-internal): Document coding systems.
5295
5296 2003-07-30  Jerry James  <james@xemacs.org>
5297
5298         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5299
5300 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5301
5302         * event-msw.c (mswindows_enqueue_mouse_button_event):
5303         * event-msw.c (mswindows_wnd_proc):
5304           enqueue button event when scrollwheel event isn't handled by 
5305           mswindows_handle_mousewheel_event, such as when the scrollbars
5306           are not showing.
5307
5308 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5309
5310         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5311
5312 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5313
5314         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5315
5316 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5317
5318         * regex.c (re_match_2_internal): Fix matching degenerate word
5319         boundaries.
5320
5321 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5322
5323         * XEmacs 21.4.13 is released
5324
5325 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5326
5327         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5328         * lisp.h (<inttypes.h>):
5329         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5330         the definition.
5331
5332 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5333
5334         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5335         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5336         Result: "temacs can only be run in -batch mode."
5337         Fix: Check xemacs executable candidate for directory-ness.
5338
5339 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5340
5341         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5342           they conflict with <sys/types.h>.
5343
5344 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5345
5346         * database.c: Berkeley DB wants __STDC__ to be defined.
5347
5348 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5349
5350         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5351
5352 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5353
5354         * process-unix.c (unix_send_process): Fix C++ compile error.
5355
5356 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5357
5358         * Added .dylib as an acceptable shared library file extension
5359         * to support MacOSX.
5360
5361 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5362
5363         * EmacsFrameP.h (EmacsFramePart):
5364         Kludge to allow compiling with Motif1, but linking with Motif2.
5365
5366 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5367
5368         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5369
5370
5371 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5372
5373         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5374
5375 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5376
5377         * sysdll.c: Included lisp.h to define needed alloca_array.
5378
5379 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5380
5381         Make XEmacs redisplay 10 times faster.
5382         If, that is, you're using a slow X connection and MoveOpaque.
5383         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5384         Use compress_motion = TRUE.
5385         * EmacsFrame.c (emacsFrameClassRec): 
5386         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5387         * EmacsManager.c (emacsManagerClassRec):
5388         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5389
5390 2003-01-30  Vin Shelton  <acs@xemacs.org>
5391
5392         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5393
5394 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5395
5396         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5397         Patch by Martin Buchholz.
5398
5399 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5400
5401         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5402         Thanks to icc for warning and Martin Buchholz for reporting.
5403
5404 2003-01-29  Vin Shelton <acs@xemacs.org>
5405
5406         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5407
5408         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5409         remember to multiply by the element size.
5410
5411 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5412
5413         * XEmacs 21.4.12 "Portable Code" is released.
5414
5415 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5416
5417         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5418         * s/cygwin.sc: new linker file.
5419
5420 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5421
5422         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5423
5424         * redisplay-x.c (x_output_string): Use X11-specified types.
5425         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5426         * emacs.c (__free_hook): Use typeof with Intel compiler.
5427         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5428
5429 2003-01-08  Andy Piper  <andy@xemacs.org>
5430
5431         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5432         reserve size during unexec().
5433
5434 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5435
5436         * process-unix.c (unix_create_process): Don't let outchannel block.
5437
5438 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5439
5440         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5441         Needed for IsBadReadPtr().
5442
5443 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5444
5445         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5446
5447 2002-12-14  Ben Wing  <ben@xemacs.org>
5448
5449         * callint.c: Declaration error.
5450         * dumper.c (pdump):
5451         * dumper.c (pdump_load): Warning fix.
5452         * process.c: GCPRO error.
5453         * glyphs.c (unmap_subwindow):
5454         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5455         * event-stream.c (maybe_kbd_translate): Wrong argument to
5456         character_to_event().
5457
5458         * alloc.c (garbage_collect_1):
5459         * emacs.c:
5460         * emacs.c (debug_can_access_memory):
5461         * emacs.c (fatal_error_signal):
5462         * emacs.c (mswindows_handle_hardware_exceptions):
5463         * emacs.c (main_1):
5464         * emacs.c (main):
5465         * emacs.c (assert_failed):
5466         * emacs.c (syms_of_emacs):
5467         * lisp.h:
5468         * print.c:
5469         * print.c (std_handle_out_va):
5470         * print.c (write_string_to_stdio_stream):
5471         * print.c (write_fmt_string):
5472         * print.c (printing_badness):
5473         * print.c (printing_major_badness):
5474         * print.c (print_internal):
5475         * print.c (debug_print_no_newline):
5476         * print.c (debug_backtrace):
5477         Be more defensive in handling bad values when printing.  Add code
5478         from trunk involving inhibit_non_essential_printing_operations.
5479         When going down or in debug_print(), don't do external conversion
5480         and such and try really, really hard when printing to avoid core
5481         dumping.  Add force-debugging-signal, debug_break().
5482
5483 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5484
5485         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5486         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5487
5488 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5489
5490         * database.c: Fix open_database. Berkeley DB API has changed in
5491         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5492
5493 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5494
5495         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5496
5497 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5498
5499         * event-Xt.c (Xt_timeout):
5500         (Xt_timeout_callback):
5501         (emacs_Xt_add_timeout):
5502         (emacs_Xt_remove_timeout):
5503         (Xt_timeout_to_emacs_event):
5504         Turn completed_timeouts from a stack into a queue.  Fixes
5505         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5506
5507 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5508
5509         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5510         * emacs.c (main): Assert that mmap'd allocation is disabled.
5511
5512 2002-10-14  Andy Piper  <andy@xemacs.org>
5513
5514         * glyphs-widget.c (layout_query_geometry): add in fiddle
5515         factor. Include border text in width layout calculation.
5516         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5517
5518 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5519
5520         * XEmacs 21.4.10 "Military Intelligence" is released.
5521
5522 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5523
5524         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5525         using the NAS private array SoundFileInfo that no longer exists in
5526         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5527         and earlier.  This is broken for some versions between 1.5a and
5528         1.5f.
5529
5530 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5531
5532         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5533
5534         * emacs.c (shut_down_emacs): Improve crash message.
5535
5536 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5537
5538         * file-coding.c (determine_real_coding_system): Check for coding
5539         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5540         shebangs and Python PEP 263.
5541
5542 2002-10-08  Andy Piper  <andy@xemacs.org>
5543
5544         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5545         if static sizes haven't been set.
5546
5547 2002-08-30  Mike Alexander  <mta@arbortext.com>
5548
5549         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5550         to close a socket.
5551
5552 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5553
5554         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5555
5556 2002-09-20  Mike Sperber <mike@xemacs.org>
5557
5558         (This partially gets back my patch from 2002-07-20 without the
5559         bug.)
5560         * callproc.c (child_setup): Remove Ben's comment noting confusion
5561         over the file descriptors >= 3: close_process_descs() doesn't
5562         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5563         * process-unix.c (unix_create_process): Call
5564         begin_dont_check_for_quit to inhibit unwanted interaction (and
5565         thus breaking of X event synchronicity) in the child.
5566
5567 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5568
5569         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5570         widget.
5571
5572 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5573
5574         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5575         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5576         the xemacs process did not exit, but looped infinitely here.  This
5577         fixes that problem.
5578
5579 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5580
5581         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5582         (find_context): Improve comments.
5583
5584         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5585         (re_match_2): An XCHAR_TABLE operation was missing.
5586
5587         Many of the following changes were inspired by Andy Piper's (now
5588         obsolete) patch to make syntax-table text property lookup optional.
5589
5590         [Documentation]
5591
5592         * syntax.h (top level): Document semantics of syntax flags.
5593         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5594         * syntax.c, syntax.h (top level): Document syntax cache better in
5595         comments.
5596
5597         [Instrument syntax caching (temporary change)]
5598
5599         * syntax.h (enum syntax_cache_statistics_functions, struct
5600         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5601         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5602         * syntax.c (scan_words, Fforward_comment, scan_lists,
5603         Fbackward_prefix_characters):
5604         * font-lock.c (find_context):
5605         Use them to instrument syntax caching. 
5606         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5607         syntax_cache_statistics_function_names): New type and variables.
5608         * syntax.c (update_syntax_cache): Update and report statistics.
5609
5610         [Major syntax cache optimizations]
5611
5612         syntax.c (lookup_syntax_properties): Default off.
5613
5614         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5615         * syntax.c (update_syntax_cache):
5616         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5617
5618         [Minor syntax cache optimizations and code clarifications]
5619
5620         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5621         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5622         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5623         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5624         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5625         (Code clarification.)
5626
5627         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5628         scan_lists): Compute code from syncode, use Boolean macros instead
5629         of redundant masking operations.  (Code clarification; any decent
5630         compiler can do this optimization.)
5631
5632         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5633         for clarity.
5634
5635         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5636         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5637         use F*_single_property_change instead of F*_extent_change.
5638         Currently F*_single_property_change is _much_ less efficient.
5639
5640         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5641         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5642         syntax_cache.object properly, don't leave Qt or Qnil.
5643         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5644         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5645         tests for Qt or Qnil.
5646
5647 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5648
5649         * redisplay.c (point_in_line_start_cache): 
5650         * extents.c (print_extent_1):
5651         Fix warnings.
5652
5653         * extents.c (Fset_extent_property): Document `syntax-table' property.
5654
5655         * extents.h (Fnext_single_property_change): EXFUN it.
5656
5657 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5658
5659         * search.c (clear_unused_search_regs): New static function.
5660         (search_buffer): 
5661         (simple_search): 
5662         (boyer_moore):
5663         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5664         Minor clarifications in comments.
5665
5666         * regex.c (re_match_2_internal): Ensure no stale submatches.
5667
5668 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5669
5670         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5671
5672 2002-08-29  Jerry James  <james@xemacs.org>
5673
5674         * lisp.h: structrures -> structures.
5675
5676 2002-06-03  Andy Piper  <andy@xemacs.org>
5677
5678         * frame.c (frame_conversion_internal): add conversion appropriate
5679         for setting frame dimensions in pixels.
5680
5681         * console.h (struct console_methods): add device-specific widget
5682         layout functions.
5683
5684         * emacs.c (main_1): initialize glyph vars.
5685
5686         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5687         (handle_focus_event_2): new function. Allow focus to
5688         be set to a particular window and widget.
5689         (enqueue_focus_event): new function. Create a
5690         synthetic focus event.
5691         (emacs_Xt_handle_magic_event): call
5692         handle_focus_event_2.
5693
5694         * frame.c (Fset_frame_pixel_height): new function. Allow
5695         pixel-based sizing. Does the right thing on character-oriented
5696         displays.
5697         (Fset_frame_pixel_width): ditto.
5698         (Fset_frame_pixel_size): ditto.
5699         (syms_of_frame): declare.
5700
5701         * general-slots.h: add :vertically-justify and
5702         :horizontally-justify.
5703
5704         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5705         (mswindows_widget_border_width): new function.
5706         (mswindows_combo_box_instantiate): set border widths.
5707         (console_type_create_glyphs_mswindows): declare.
5708
5709         * glyphs-widget.c:
5710         (check_valid_justification): allow vertical and horizontal
5711         justification.
5712         (widget_border_width): new function. Call device methods.
5713         (widget_instance_border_width): ditto.
5714         (logical_unit_height): new function. Determine the height of a
5715         logical-unit. Logical units are intended to provide grid-like
5716         layout for subcontrols in a layout. If the layout is
5717         :vertically-justify top then subcontrols will be positioned on
5718         logical-unit boundaries, thus allowing adjacent subcontrols to
5719         line up.
5720         (widget_logical_unit_height): ditto for widgets.
5721         (redisplay_widget): misc cleanup.
5722         (widget_spacing): new function. Call device specific
5723         methods. Intended to be the default gap between adjacent widgets.
5724         (widget_query_geometry): use new spacing functions to determine
5725         appropriate geometry.
5726         (initialize_widget_image_instance): initialize horizontal and
5727         vertical justification.
5728         (widget_instantiate): use logica-units where appropriate for
5729         sizing large widgets.
5730         (button_query_geometry): use widget_instance_border_width.
5731         (tree_view_query_geometry): ditto.
5732         (tab_control_query_geometry): ditto.
5733         (edit_field_query_geometry): new function.
5734         (layout_update): pick up :justify, :horizontally-justify and
5735         :vertically-justify none of which worked previously. :justify is
5736         used as a fallback for both horizontal and vertical justification.
5737         (layout_query_geometry): use logical units to size appropriately.
5738         (layout_layout): ditto.
5739         (Fwidget_logical_to_character_width): new function. Allow users to
5740         convert from logical units to characters so that frame sizes can
5741         be set appropriately.
5742         (Fwidget_logical_to_character_height): ditto.
5743         (syms_of_glyphs_widget): declare.
5744         (image_instantiator_edit_fields): add edit_field_query_geometry.
5745         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5746         :horizontally-justify.
5747         (specifier_vars_of_glyphs_widget): new function. Declare
5748         Vwidget_border_width which is not yet used.
5749
5750         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5751         (x_widget_border_width): new function.
5752         (x_widget_instantiate): create a sensible name for widgets.
5753         (console_type_create_glyphs_x): declare x_widget_border_width.
5754
5755         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5756         (struct Lisp_Image_Instance): add :vertically-justify and
5757         :horizontally-justify.
5758         (LAYOUT_JUSTIFY_TOP): new.
5759         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5760         (ROUND_UP): new macro. Round argument up to next integral
5761         interval.
5762
5763         * redisplay-output.c (redisplay_output_layout): misc formatting.
5764
5765         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5766
5767 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5768
5769         * XEmacs 21.4.9 "Informed Management" is released.
5770
5771 2002-08-19  Andy Piper  <andy@xemacs.org>
5772
5773         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5774         win32 format.
5775
5776         * realpath.c (xrealpath): normalize drive spec also so that dir
5777         sep chars are not mixed on cygwin.
5778
5779 2002-08-06  Jerry James  <james@xemacs.org>
5780
5781         * window.c (Fsplit_window): Count only half of the divider width
5782         against the left window when splitting horizontally. 
5783
5784 2002-06-24  Andy Piper  <andy@xemacs.org>
5785
5786         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5787         toolbar was cleared.
5788
5789         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5790         function. Split out from mswindows_output_frame_toolbars.
5791         (mswindows_output_frame_toolbars): move clear pieces to
5792         mswindows_output_frame_toolbars.
5793
5794         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5795         out from gtk_output_frame_toolbars.
5796         (gtk_output_frame_toolbars): move clear pieces to
5797         gtk_clear_frame_toolbars.
5798
5799         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5800         the frame is cleared. How this ever worked before is a mystery.
5801         (x_output_frame_toolbars): Only output toolbars.
5802         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5803
5804         * gutter.c (update_gutter_geometry):
5805         Mark frame layout changed.
5806         (update_frame_gutter_geometry, update_frame_gutters):
5807         Respect frame_layout_changed.
5808
5809         * console.h (struct console_methods): add
5810         clear_frame_toolbars_method.
5811
5812         * redisplay.c (redisplay_frame): call
5813         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5814
5815         * toolbar.h: declare update_frame_toolbars_geometry.
5816
5817         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5818         out from update_frame_toolbars.  Call clear_frame_toolbars.
5819         (update_frame_toolbars): only output, do not change geometry.
5820
5821         * redisplay.c: add frame_layout_changed.
5822
5823         * redisplay.h: add frame_layout_changed.
5824         (CLASS_RESET_CHANGED_FLAGS): set it.
5825         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5826         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5827         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5828
5829         * device.h (struct device): add frame_layout_changed.
5830         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5831
5832         * frame.h (struct frame): add frame_layout_changed.
5833         (MARK_FRAME_LAYOUT_CHANGED): new.
5834
5835 2002-06-30  Mike Alexander  <mta@arbortext.com>
5836
5837         * event-msw.c (mswindows_need_event): Don't wait for a new message
5838         if the queue is not empty.  Suggested by Paul Moore.
5839
5840 2002-06-12  Andy Piper  <andy@xemacs.org>
5841
5842         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5843         for printing on accurately.
5844
5845 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5846
5847         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5848         WM_ACTIVATE message. Make sure that the frame is visible if the
5849         window is visible. This seemss to fix the problem where XEmacs
5850         appears to freeze after switching desktops with certain virtual
5851         window managers.
5852         (debug_output_mswin_message): Added code to output message
5853         parameters for WM_WINDOWPOSCHANGED, 
5854         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5855
5856 2002-05-25  Andy Piper  <andy@xemacs.org>
5857
5858         * select-x.c (vars_of_select_x): Fix docstring of
5859         x-selection-strict-motif-ownership
5860
5861 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5862
5863         * keymap.c (get_keymap):
5864         Add comment about do_autoload GCPROs own args.
5865
5866 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5867
5868         * bytecode.c (execute_optimized_program): check_opcode ifdef
5869         ERROR_CHECK_BYTE_CODE.
5870
5871 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5872
5873         Thanks to Ben Wing and Michael Sperber.
5874
5875         * eval.c (Fcommand_execute):
5876         (Feval):
5877         (Ffuncall):
5878         (Fmacroexpand_internal):
5879         (function_argcount):
5880         callint.c (Fcall_interactively):
5881         Add comment about do_autoload GCPROs own args.
5882
5883         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5884
5885         * eval.c (Ffuncall): Extra braces to placate GCC.
5886
5887 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5888
5889         * backtrace.h (grow_specpdl):
5890         (SPECPDL_RESERVE):
5891         * EmacsFrame.c (EmacsFrameSetValues):
5892         * eval.c (grow_specpdl):
5893         * ExternalShell.c (hack_event_masks_1):
5894         * glyphs-x.c (convert_EImage_to_XImage): 
5895         (x_finalize_image_instance):
5896         * ralloc.c (page_size):
5897         (r_alloc_sbrk):
5898         * xgccache.c (gc_cache_hash):
5899         Fix unsigned comparison warnings.
5900
5901 2002-07-29  Jerry James  <james@xemacs.org>
5902
5903         * lread.c (locate_file): Any nonnegative return value indicates
5904         success if MODE is nonnegative.
5905
5906 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5907
5908         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5909         argument. 
5910
5911 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5912
5913         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5914
5915         * dumper.c (pdump_get_indirect_count):
5916         (pdump_scan_by_alignment):
5917         (pdump_dump_root_struct_ptrs):
5918         (pdump_dump_rtables):
5919         (pdump_dump_root_objects):
5920         (pdump):
5921         * nas.c (WaveOpenDataForReading):
5922         * fns.c (print_bit_vector):
5923         * font-lock.c (SINGLE_SYNTAX_STYLE):
5924         * glyphs.c (check_for_ignored_expose):
5925         (find_matching_subwindow):
5926         * glyphs-eimage.c:
5927         * imgproc.c (get_histogram):
5928         * redisplay.c (point_in_line_start_cache):
5929         * redisplay-output.c (redisplay_unmap_subwindows):
5930         * symbols.c (defsymbol_massage_name_1):
5931         (defkeyword_massage_name):
5932         (deferror_massage_name_and_message):
5933         * redisplay-x.c (x_output_string): 
5934         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5935         * frame.h (struct frame):
5936         * filelock.c (current_lock_owner):
5937         * doprnt.c (emacs_doprnt_1):
5938         * lisp.h (struct Lisp_Bit_Vector):
5939         (DO_REALLOC):
5940         Fix warnings.
5941
5942 2002-02-13  Ben Wing  <ben@xemacs.org>
5943
5944         * event-stream.c (reset_key_echo):
5945         * event-stream.c (reset_this_command_keys):
5946         * event-stream.c (execute_command_event):
5947         If console is dead as a result of C-x 5 0, then post-command stuff
5948         needs to be careful and do only non-console-specific stuff.
5949
5950 2002-07-01  Mike Sperber <mike@xemacs.org>
5951
5952         * process-unix.c (unix_send_process): Mark coding_outstream as
5953         non-open upon SIGPIPE.
5954
5955         * event-stream.c (Fnext_event): Reorder switch cases to something
5956         that makes sense.
5957
5958 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5959
5960         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5961         Don't bogusly reinitialize ascii_character property.
5962
5963 2002-07-08  Mike Sperber <mike@xemacs.org>
5964
5965         * process.c (Fstart_process_internal): Do error checking before we
5966         fork off the child, so the child can't muck with the state of the
5967         parent.
5968
5969 2002-07-08  Mike Sperber <mike@xemacs.org>
5970
5971         * ralloc.c (init_ralloc): Allocate properly for pdump.
5972
5973 2002-06-12  Andy Piper  <andy@xemacs.org>
5974
5975         * glyphs.c (query_string_geometry): check the string.
5976
5977         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5978         widget names.
5979
5980 2002-06-17  Jerry James  <james@xemacs.org>
5981
5982         * sysdll.c: Remove RTLD_GLOBAL initialization.
5983         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5984
5985 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5986
5987         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5988
5989 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5990
5991         * sysdep.c (sys_rename): Make sys_rename work for the case where
5992         Windows rename sets errno to EACCES if target file exists.
5993
5994 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5995
5996         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5997         Fix detection of metric units to work on Win95
5998
5999 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6000
6001         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6002
6003 2002-04-25  Andy Piper  <andy@xemacs.org>
6004
6005         * redisplay.c (create_text_block): Remove extra comment trailer.
6006
6007 2002-04-24  Andy Piper  <andy@xemacs.org>
6008
6009         * redisplay.c (create_text_block): Don't actually add propagation
6010         data if the line ends after we have added a glyph.
6011
6012 2002-04-22  Andy Piper  <andy@xemacs.org>
6013
6014         * extents.c (extent_fragment_update): check for glyphs we have
6015         previously displayed.
6016         * extents.c (print_extent_1): warning removal.
6017         * extents.h: change prototype.
6018         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6019         widths correctly for wide glyphs.
6020         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6021         * redisplay.c (prop_type): add PROP_GLYPH.
6022         * redisplay.c (struct prop_block): add glyph type
6023         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6024         to the propagation data.
6025         * redisplay.c (create_text_block): if there is a glyph in the
6026         propagation data use it to salt extent_fragment_update.
6027         * redisplay.c (create_string_text_block): ditto.
6028
6029 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6030
6031         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6032         * redisplay-output.c (compare_runes): Compare them.
6033         * redisplay.c: Update copyright date.
6034         * redisplay.c (pos_data): Add need_baseline_computation field.
6035         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6036         need_baseline_computation; zero yoffset. Set max_pixmap_height
6037         for all pixmaps, not just automatically positioned ones.
6038         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6039         * redisplay.c (calculate_baseline): New, compute textual baseline.
6040         * redisplay.c (add_glyph_rune): Call them.
6041         * redisplay.c (create_text_block): Likewise.
6042         * redisplay.c (create_overlay_glyph_block): Likewise.
6043         * redisplay.c (add_margin_runes): Likewise.
6044         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6045
6046         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6047         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6048         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6049         * redisplay-msw.c (mswindows_output_string): Likewise.
6050         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6051         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6052         * redisplay-x.c (x_output_display_block): Likewise.
6053
6054 2002-03-28  Ben Wing  <ben@xemacs.org>
6055
6056         * redisplay.c: Fixed bug in redisplay
6057         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6058         and down of the lines, since they're bigger than the line
6059         size. (It was seen most obviously when there's a horizontal scroll
6060         bar, e.g. do C-h a glyph or something like that.) The problem was
6061         that the glyph-contrib-p setting on glyphs was ignored even if it
6062         was set properly, which it wasn't until now.
6063
6064 2002-04-24  Andy Piper  <andy@xemacs.org>
6065
6066         * lisp.h (Dynarr_end): Fix definition.
6067
6068 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6069
6070         * redisplay.c (mark_redisplay): Remove call to
6071         update_frame_window_mirror.
6072
6073 2001-11-15  Andy Piper  <andy@xemacs.org>
6074
6075         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6076         cygwin (again).
6077
6078 2002-02-13  Andy Piper  <andy@xemacs.org>
6079
6080         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6081         we did in fact enqueue the XM_MAPFRAME event.
6082
6083 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6084
6085         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6086         to fix problem switching between virtual desktops under virtuawin
6087         virtual window manager.
6088
6089 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6090
6091         * event-msw.c: Typo fix.
6092         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6093         magic XM_MAPFRAME event has been sent.
6094
6095 2001-11-23  Andy Piper  <andy@xemacs.org>
6096
6097         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6098
6099 2001-11-21  Andy Piper  <andy@xemacs.org>
6100
6101         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6102         mouse events outside the frame.
6103
6104 2002-03-20  Andy Piper  <andy@xemacs.org>
6105
6106         * menubar-msw.c (mswindows_popup_menu): warning removal.
6107         * dialog-msw.c (dialog_popped_down): ditto.
6108
6109 2001-12-11  Andy Piper  <andy@xemacs.org>
6110
6111         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6112         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6113         popup_up_p.
6114         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6115         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6116         * menubar-msw.c (mswindows_popup_menu): ditto.
6117
6118 2001-10-29  Andy Piper  <andy@xemacs.org>
6119
6120         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6121         cancels.
6122
6123 2002-01-03  Andy Piper  <andy@xemacs.org>
6124
6125         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6126         letters.
6127         (xrealpath): ditto.
6128
6129 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6130
6131         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6132         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6133         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6134         Detect and handle case where machine is set up for metric units
6135
6136 2002-04-02  Andy Piper  <andy@xemacs.org>
6137
6138         * dired-msw.c (mswindows_get_files): 
6139         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6140         completely handled by XEmacs. Suggested by Thomas Vogler
6141         <mail@thomas-vogler.de>.
6142
6143 2001-11-14  Andy Piper  <andy@xemacs.org>
6144
6145         * nt.c (REG_ROOT): change registry key to XEmacs.
6146
6147 2002-04-27  Andy Piper  <andy@xemacs.org>
6148
6149         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6150
6151 2002-04-26  Andy Piper  <andy@xemacs.org>
6152
6153         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6154         behavior.
6155
6156 2002-03-14  Mike Alexander  <mta@arbortext.com>
6157
6158         * event-msw.c (mswindows_unwait_process): New, remove process from
6159         wait list
6160         * process-nt.c (nt_finalize_process_data): Call
6161         mswindows_unwait_process
6162         * console-msw.h: Declare mswindows_unwait_process
6163
6164 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6165
6166         * editfns.c (Fdecode_time):
6167         (Fformat_time_string):
6168         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6169         (make_time): Warning elimination (change arg name).
6170
6171 2001-11-24  Andy Piper  <andy@xemacs.org>
6172
6173         * window.c (Fsplit_window): Doc return type.
6174
6175 2002-04-01  Andy Piper  <andy@xemacs.org>
6176
6177         * emacs.c (Fkill_emacs): Only output message box in interactive
6178         mode.
6179
6180 2002-04-26  Andy Piper  <andy@xemacs.org>
6181  
6182         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6183         cygwin.
6184
6185 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6186
6187         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6188         bit platform.
6189
6190 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6191
6192         * XEmacs 21.4.8 "Honest Recruiter" is released.
6193
6194 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6195
6196         Supersedes 2002-04-17 patch.
6197
6198         * process.h (PROCESS_LIVE_P): Use the process status as
6199         evidence of health, not the state of the input stream.
6200         (PROCESS_READABLE_P): Say if the process is readable
6201         from. (It may be dead nonetheless.)
6202         (CHECK_READABLE_PROCESS): Test for that condition.
6203
6204         * process.c (create_process): Use PROCESS_READABLE_P.
6205         (read_process_output, set_process_filter): Likewise.
6206
6207         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6208         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6209
6210         This code is #if 0'd, this is not the time to add new functions:
6211
6212         * process.c (Fprocess_readable_p): Report readability status.
6213         * process.c (Qprocess_readable_p): New, associated symbol...
6214         * process.c (syms_of_process): ... initialize it.
6215
6216 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6217
6218         * XEmacs 21.4.7 "Economic Science" is released.
6219
6220 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6221
6222         * process.h (PROCESS_LIVE_P): Use the process status as
6223         evidence of health, not the state of the input stream.
6224
6225 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6226
6227         * sysdep.c (sys_siglist): change "signum" to "signal"
6228
6229 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6230
6231         * s/darwin.h: New file.
6232         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6233         
6234 2002-04-23  Andreas Jaeger  <aj@suse.de>
6235
6236         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6237         which use lib64 for 64-bit libs.
6238         (START_FILES): Likewise.
6239
6240 2002-02-11  Mike Sperber  <mike@xemacs.org>
6241
6242         * device-x.c: 
6243         (x_IO_error_handler):
6244         (x_init_device): Temporarily keep device in static variable
6245         `device_being_initialized' so we can recover gracefully from
6246         internal XOpenDevice failure.  (XOpenDevice is documented to
6247         return NULL on failure, but sometimes calls the IO error handler
6248         instead.)
6249
6250 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6251
6252         * dired.c (Ffile_name_all_completions): Change documentation --
6253         remove reference to completion-ignored-extensions.
6254         * dired.c (vars_of_dired): Change documentation for
6255         completion-ignored-extensions -- remove reference to
6256         file-name-all-completions.
6257
6258 2002-03-06  Jerry James  <james@xemacs.org>
6259
6260         * emodules.c (emodules_load): Fix multiple loading of same module.
6261
6262 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6263         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6264         RTLD_LAZY to avoid incorrect symbol binding when using nested
6265         shared libraries on Solaris.
6266
6267 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6268
6269         * fileio.c (Ffind_file_name_handler): Improve docstring.
6270
6271 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6272
6273         * fns.c (Fmapconcat): Improve docstring.
6274
6275 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6276
6277         * device-gtk.c: Add prototype for
6278         emacs_gtk_selection_clear_event_handle.
6279         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6280         selection.  Setup signal handler for "selection_clear_event"
6281         (emacs_gtk_selection_clear_event_handle).
6282
6283         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6284         other applications owning the clipboard (based on
6285         x_handle_selection_clear).
6286
6287 2001-12-23  William M. Perry  <wmperry@gnu.org>
6288
6289         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6290         
6291 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6292
6293         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6294
6295 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6296
6297         * XEmacs 21.4.6 "Common Lisp" is released.
6298
6299 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6300
6301         * search.c (Freplace_match): Add missing sub-expression functionality.
6302
6303         * buffer.c (decode_buffer): Add a check for pointer type to
6304         decode_buffer, before gcc's CSE optimization reorders a
6305         dereference in front of the allow_string test.
6306
6307 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6308
6309         * window.c (window_loop): Fix bug that sometimes prevented
6310         window_loop() from iterating across multiple devices.  Also, at
6311         Ben's request, changed infloop-detecting code to abort() instead
6312         of silently terminating window_loop().
6313
6314 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6315
6316         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6317         * editfns.c (make_time): New function.
6318         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6319         * lisp.h (make_time): Prototype and comment it.
6320         * dired.c (wasteful_word_to_lisp): Deprecate.
6321         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6322
6323 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6324
6325         * fileio.c (auto_save_1): Use current coding system, not
6326         escape-quoted.
6327
6328 2001-11-13  Ben Wing  <ben@xemacs.org>
6329
6330         * window.c:
6331         * window.c (window_truncation_on):
6332         * window.c (syms_of_window):
6333         truncate-partial-width-windows should respect the buffer being
6334         displayed, like other redisplay vars.
6335
6336 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6337
6338         * event-stream.c (Fread_key_sequence): save current buffer.
6339
6340 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6341
6342         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6343
6344 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6345
6346         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6347
6348 2001-10-26  Mike Alexander  <mta@arbortext.com>
6349
6350         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6351
6352 2001-10-25  Andy Piper  <andy@xemacs.org>
6353
6354         * ChangeLog:
6355         * dialog-msw.c (handle_directory_proc): new function.
6356          (handle_directory_dialog_box): new fucntion.
6357          (handle_file_dialog_box): use new directory dialog support.
6358          (mswindows_make_dialog_box_internal): ditto.
6359         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6360         handling.
6361         (mswindows_find_frame): make global.
6362         * fileio.c (Fexpand_file_name): build fix.
6363         * general-slots.h: add Qdirectory.
6364         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6365         handling.
6366         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6367         cygwin not leaving win32 paths unchanged.
6368         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6369         cygwin runtime to do path conversion.
6370         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6371         (syms_of_win32): add new function.
6372         * window.c (window_loop): build fix.
6373
6374 2001-10-15  Andy Piper  <andy@xemacs.org>
6375
6376         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6377
6378 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6379
6380         * XEmacs 21.4.5 "Civil Service" is released.
6381
6382 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6383
6384         * glyphs-x.c: Force buffer-tab highlight update when moving the
6385         buffer, avoiding an ugly black border, used for keyboard focus
6386         indication, on a widget that can never have keyboard focus, the
6387         buffer tab.
6388
6389 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6390
6391         * process-unix.c (unix_open_multicast_group): Remove too much
6392         conversion between host and network byte order.
6393
6394 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6395
6396         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6397         before replacing them.
6398
6399         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6400         operation.
6401
6402         * src/window.c (undedicate_windows): Use it.
6403         * src/window.h: Add prototype.
6404
6405 2001-09-17  Ben Wing  <ben@xemacs.org>
6406
6407         * fileio.c (normalize_filename):
6408         * fileio.c (Fexpand_file_name):
6409         Fix various C++ compile errors in Andy's recent code.
6410         
6411         * callint.c (Fcall_interactively):
6412         * editfns.c (Ftemp_directory):
6413         * editfns.c (Fuser_full_name):
6414         * emacs.c (argmatch):
6415         * lread.c (locate_file_map_suffixes):
6416         * redisplay-x.c (x_ring_bell):
6417         Fix sign-compare warnings.
6418         
6419 2001-09-08  Andy Piper  <andy@xemacs.org>
6420
6421         * fileio.c (normalize_filename): copied from nt.c
6422         * (Ffile_name_directory): enable win32 paths under cygwin.
6423         * (Ffile_name_nondirectory): ditto.
6424         * (directory_file_name): ditto.
6425         * (Fexpand_file_name): ditto.
6426         * (Ffile_truename): ditto.
6427         * (Fsubstitute_in_file_name): ditto.
6428         * (Ffile_name_absolute_p): ditto.
6429         * (Ffile_readable_p): ditto.
6430
6431 2001-09-08  Andy Piper  <andy@xemacs.org>
6432
6433         * device-msw.c (mswindows_finish_init_device): remove dde
6434         initialization.
6435         * device-msw.c (mswindows_init_dde): factor out from
6436         mswindows_finish_init_device()
6437         * device-msw.c (init_mswindows_very_early): new function
6438         initialize but don't enable dde.
6439         * emacs.c (main_1): call init_mswindows_very_early.
6440         * event-msw.c:
6441         * event-msw.c (mswindows_dde_callback): only execute when we are
6442         ready.
6443         * symsinit.h: declare init_mswindows_very_early.
6444
6445 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6446
6447         [sjt: This has been in 21.5 for months with no complaints.]
6448
6449         * console.h (struct console_methods): Added flags member.
6450         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6451         (CONMETH_IMPL_FLAG):
6452         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6453         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6454
6455         * device.c (window_system_pixelated_geometry): Use the above macros.
6456
6457         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6458         implememntation flag.
6459         * device.h (DEVICE_DISPLAY_P): Use it.
6460
6461         * frame.c (delete_frame_internal): Use the above macro.
6462
6463         * redisplay.c (redisplay_device): Use it.
6464         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6465         (redisplay_frame): Ditto.
6466
6467         * device-msw.c (mswindows_device_implementation_flags): Removed.
6468         (msprinter_device_implementation_flags): Removed.
6469         (console_type_create_device_mswindows): Removed references to
6470         implementation_flags methods, set implementation flags here.
6471         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6472
6473         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6474         (console_type_create_device_gtk): Removed method declaration.
6475         Added commented out statement which semantically matches the
6476         commented out statement in the above removed method.
6477
6478 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6479
6480         The attached patch fixes a few warnings. 
6481
6482         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6483         * src/frame-gtk.c: guard against GNOME calls in GTK only
6484         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6485         * src/select-gtk.c: prototype lisp_to_time
6486
6487 2001-06-08  Ben Wing  <ben@xemacs.org>
6488
6489         ------ gc-in-window-procedure fixes ------
6490         
6491         * alloc.c:
6492         * alloc.c (struct post_gc_action):
6493         * alloc.c (register_post_gc_action):
6494         * alloc.c (run_post_gc_actions):
6495         * alloc.c (garbage_collect_1):
6496         Create "post-gc actions", to avoid those dreaded "GC during window
6497         procedure" problems.
6498
6499         * event-msw.c:
6500         Abort, clean and simple, when GC in window procedure.  We want
6501         to flush these puppies out.
6502
6503         * glyphs-msw.c:
6504         * glyphs-msw.c (finalize_destroy_window):
6505         * glyphs-msw.c (mswindows_finalize_image_instance):
6506         Use a post-gc action when destroying subwindows.
6507
6508         * lisp.h:
6509         Declare register_post_gc_action().
6510
6511         * scrollbar-msw.c:
6512         * scrollbar-msw.c (unshow_that_mofo):
6513         Use a post-gc action when unshowing scrollbar windows, if in gc.
6514
6515         * redisplay.c (mark_redisplay):
6516         Add comment about the utter evilness of what's going down here.
6517
6518         ------ cygwin setitimer fixes ------
6519         
6520         * Makefile.in.in (sheap_objs):
6521         * Makefile.in.in (profile_objs):
6522         * Makefile.in.in (objs):
6523         Compile profile.c only when HAVE_SETITIMER.
6524         
6525         * nt.c (mswindows_sigset):
6526         * nt.c (mswindows_sighold):
6527         * nt.c (mswindows_sigrelse):
6528         * nt.c (mswindows_sigpause):
6529         * nt.c (mswindows_raise):
6530         * nt.c (close_file_data):
6531         Style fixes.
6532         
6533         * nt.c:
6534         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6535         
6536         * profile.c:
6537         * profile.c (Fstart_profiling):
6538         * profile.c (Fstop_profiling):
6539         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6540         instead of just plain setitimer().
6541         
6542         * signal.c:
6543         * signal.c (set_one_shot_timer):
6544         * signal.c (alarm):
6545         Define qxe_setitimer() as an encapsulation around setitimer() --
6546         call setitimer() directly unless Cygwin or MS Win, in which case
6547         we use our simulated version in win32.c.
6548         
6549         * systime.h:
6550         * systime.h (struct itimerval):
6551         * systime.h (ITIMER_REAL):
6552         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6553         comment about "qxe" and the policy regarding encapsulation.
6554
6555         * win32.c:
6556         * win32.c (setitimer_helper_proc):
6557         * win32.c (setitimer_helper_period):
6558         * win32.c (setitimer_helper):
6559         * win32.c (mswindows_setitimer):
6560         Move setitimer() emulation here, so Cygwin can use it.
6561         Rename a couple of functions and variables to be longer and more
6562         descriptive.  In setitimer_helper_proc(), send the signal
6563         using either mswindows_raise() or (on Cygwin) kill().  If for
6564         some reason we are still getting lockups, we'll change the kill()
6565         to directly invoke the signal handlers.
6566
6567         ------ windows shell fixes ------
6568         
6569         * callproc.c:
6570         * ntproc.c:
6571         Comments about how these two files must die.
6572
6573         * callproc.c (init_callproc):
6574         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6575         not just COMSPEC. (more correct and closer to FSF.) Don't
6576         force a value for SHELL into the environment. (Comments added
6577         to explain why not.)
6578         
6579         * nt.c (init_user_info):
6580         Don't shove a fabricated SHELL into the environment.  See above.
6581
6582 2001-06-01  Ben Wing  <ben@xemacs.org>
6583
6584         * Makefile.in.in (ldflags):
6585         eliminate that pesky "defaulting to 00401000" warning.
6586         * nt.h:
6587         eliminate warnings.
6588
6589 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6590
6591         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6592         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6593
6594 2001-04-24  Jerry James <james@xemacs.org>
6595
6596         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6597         correct order.
6598
6599 2001-06-01  Ben Wing  <ben@xemacs.org>
6600
6601         * event-msw.c (debug_mswin_messages):
6602         conditionalize the messages that were causing compile errors.
6603         (if only macros could generate #ifdef statements ...)
6604
6605 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6606
6607         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6608
6609 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6610
6611         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6612
6613 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6614
6615         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6616         * process-unix.c (unix_canonicalize_host_name):
6617         sysdep.c (init_system_name):
6618         Use it to conditionally support IPv6 canonicalization.
6619
6620 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6621
6622         * event-msw.c:
6623         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6624
6625 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6626
6627         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6628         attempt is made to scroll when no scroll bar is available.
6629
6630 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6631
6632         * input-method-motif.c (XIM_delete_frame): New callback.
6633         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6634         got deleted from 21.4.3.)
6635
6636 2001-06-01  Ben Wing  <ben@xemacs.org>
6637
6638         * nt.c (mswindows_utime):
6639         * nt.c (close_file_data):
6640         fix off-by-one-indirection error.
6641
6642 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6643
6644         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6645         because set_file_times() now takes Lisp_Object path, instead of
6646         char*.
6647         * nt.c: Include buffer.h.
6648         * nt.c (convert_from_time_t): New.
6649         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6650         not set mtime correctly.
6651         * nt.h: Declare mswindows_utime().
6652         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6653         path, instead of char*.
6654         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6655
6656 2001-05-30  Ben Wing  <ben@xemacs.org>
6657
6658         For 21.4:
6659
6660         (Stephen, just take all event-msw.c patches.  This includes
6661         the "iconify" fix below.)
6662
6663         * event-msw.c:
6664         * event-msw.c (mswindows_dequeue_dispatch_event):
6665         * event-msw.c (assert):
6666         * event-msw.c (emacs_mswindows_quit_p):
6667         * event-msw.c (debug_mswin_messages):
6668         * event-msw.c (debug_output_mswin_message):
6669         * event-msw.c (vars_of_event_mswindows):
6670         Fix yet more problems with C-g handling.
6671         Implement debug-mswindows-events.
6672         
6673 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6674
6675         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6676         
6677 2001-05-23  Ben Wing  <ben@xemacs.org>
6678
6679         * event-msw.c (winsock_writer):
6680         * event-msw.c (winsock_closer):
6681         prior kludgy code was clobbering the buffer, thinking it was
6682         "unused" space to store an unneeded return value; instead, use
6683         the variable we've already got staring us in the face.
6684
6685 2001-05-17  Andy Piper  <andy@xemacs.org>
6686
6687         * sysfile.h: don't assume that file attributes are boolean
6688
6689 2001-05-23  Ben Wing  <ben@xemacs.org>
6690
6691         * device-msw.c (msprinter_init_device):
6692         signal an error rather than crash with an unavailable network
6693         printer (from Mike Alexander).
6694         
6695         * event-msw.c:
6696         * event-msw.c (struct winsock_stream):
6697         * event-msw.c (winsock_writer):
6698         * event-msw.c (winsock_closer):
6699         * event-msw.c (make_winsock_stream_1):
6700         cleanup headers.  fix (hopefully) an error with data corruption
6701         when sending to a network connection.
6702
6703         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6704         to handle the ~user prefix by (a) always assuming we're referencing
6705         ourselves and not even verifying the user -- hence any file with
6706         a tilde as its first char is invalid! (b) if there wasn't a slash
6707         following the filename, the pointer was set *past* the end of
6708         file and we started reading from uninitialized memory.  Now we
6709         simply treat these as files, always.
6710
6711         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6712         
6713 2001-05-19  Ben Wing  <ben@xemacs.org>
6714
6715         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6716
6717         * process-nt.c:
6718         * process-nt.c (vars_of_process_nt):
6719         remove unused mswindows-quote-process-args.  rec for 21.4.
6720         
6721 2001-05-12  Ben Wing  <ben@xemacs.org>
6722
6723         * event-msw.c (mswindows_dde_callback):
6724         * event-msw.c (mswindows_wnd_proc):
6725         eliminate cygwin warnings.
6726
6727 2001-05-06  Ben Wing  <ben@xemacs.org>
6728
6729         * console-msw.h:
6730         * device-msw.c:
6731         * device-msw.c (print_dialog_worker):
6732         * device-msw.c (mswindows_handle_print_dialog_box):
6733         * device-msw.c (syms_of_device_mswindows):
6734         * dialog-msw.c (mswindows_make_dialog_box_internal):
6735         * general-slots.h:
6736         implement printing the selection when it's selected.
6737
6738 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6739
6740         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6741
6742 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6743
6744         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6745         EMACS_INT is signed.
6746
6747 2001-04-15  Michael Lausch  <mla@1012surf.net>
6748
6749         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6750         gtk_widget_request_size() to give scrollbar >0 width for
6751         GTK >1.2.8.
6752
6753 2001-05-30  William M. Perry  <wmperry@gnu.org>
6754
6755         * event-gtk.c: Check for buttons as modifier keys.
6756
6757 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6758
6759         * s\mingw32.h:
6760         Properly find MinGW's <process.h> inside Cygwin's restructured
6761         include directories.  Don't try to include <cygwin/version.h>
6762         since we are dropping support for MinGW in versions of Cygwin
6763         earlier than b21.
6764         * nt.c:
6765         Drop support for MinGW in versions of Cygwin before b21.
6766         * sysdep.c:
6767         Properly find MinGW's <process.h> inside Cygwin's restructured
6768         include directories.
6769         * syswindows.h:
6770         Drop support for MinGW in versions of Cygwin before b21.
6771         * unexcw.c:
6772         Even though a.out.h is no longer detected by configure, allow
6773         MinGW to use it until we figure out how to do the job with Win32.
6774
6775 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6776
6777         * syntax.c (find_start_of_comment):
6778         Fix `unbalanced parentheses' bug when dealing with mixed comment
6779         styles in c++/java/etc. mode
6780
6781 2001-05-29  Mike Alexander  <mta@arbortext.com>
6782
6783         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6784         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6785
6786 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6787
6788         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6789
6790 2001-03-31  Mike Sperber <mike@xemacs.org>
6791
6792         * search.c (Freplace_match): Support FSF-style specification of
6793         match subexpression when applied to a buffer.
6794
6795 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6796
6797         * event-stream.c (is_scrollbar_event): add missing semicolon
6798
6799 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6800
6801         * Makefile.in.in: Use TAR macro instead of hardcoding
6802           tar.  Allows use of GNU tar instead of system tar
6803
6804 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6805
6806         * event-stream.c (is_scrollbar_event): add missing semicolon
6807
6808 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6809
6810         * XEmacs 21.4.3 "Academic Rigor" is released.
6811
6812 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6813
6814         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6815
6816 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6817
6818         * buffer.c (Vcase_fold_search): Remove obsolete
6819           comment about non ASCII case-fold-search.  This
6820           bug has been fixed by case-table changes.
6821
6822 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6823
6824         * event-msw.c: Restore include of events-mod.h.
6825
6826 2001-04-22   zhaoway  <zw@debian.org>
6827
6828         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6829         !HAVE_SCROLLBARS.
6830
6831 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6832
6833         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6834
6835 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6836
6837         * mule-charset.c (Fmake_charset): Add missing else.
6838
6839 2001-04-23  Ben Wing  <ben@xemacs.org>
6840
6841         * event-msw.c (FAKE_MOD_QUIT):
6842         * event-msw.c (mswindows_dequeue_dispatch_event):
6843         * event-msw.c (mswindows_wnd_proc):
6844         * event-msw.c (emacs_mswindows_quit_p):
6845         Get critical quit working.
6846
6847 2001-05-05  Ben Wing  <ben@xemacs.org>
6848
6849         * console-msw.h:
6850         * device-msw.c:
6851         * device-msw.c (mswindows_get_default_margin):
6852         * frame-msw.c (mswindows_size_frame_internal):
6853         * frame-msw.c (msprinter_init_frame_1):
6854         * frame-msw.c (vars_of_frame_mswindows):
6855         Change top/bottom margin defaults to 0.5 inches.
6856
6857 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6858
6859         Fix link error with gcc 3.0 on Linux.
6860         * terminfo.c (UP): Remove.
6861         * terminfo.c (BC): Remove.
6862         * terminfo.c (PC): Remove.
6863         They weren't used, and in any case, these symbols should be
6864         defined in the *library*.
6865
6866 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6867
6868         * s/aix4.h: Fix crash with xlc -O3.
6869         Improve comment explaining how -O3 works.
6870
6871 2001-04-15  Ben Wing  <ben@xemacs.org>
6872
6873         * event-stream.c:
6874         * event-stream.c (Fnext_event):
6875         * event-stream.c (is_scrollbar_event):
6876         * event-stream.c (execute_command_event):
6877         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6878         crash' problem.  His fix introduces other problems.  We filter
6879         out scrollbar events specifically, making them somewhat invisible
6880         to command-building, and not appearing in `this-command-keys'.
6881         More work is still needed (see comments in event-stream.c), but
6882         this fixes all the major problems.
6883
6884 2001-04-20  Ben Wing  <ben@xemacs.org>
6885
6886         * .cvsignore: Added stuff for Windows.
6887
6888 2001-04-28  Ben Wing  <ben@xemacs.org>
6889
6890         * buffer.c (Ferase_buffer):
6891         * editfns.c (buffer_insert1):
6892         * editfns.c (Finsert_before_markers):
6893         * editfns.c (Finsert_string):
6894         * editfns.c (Finsert_char):
6895         * editfns.c (Fdelete_region):
6896         * editfns.c (Fwiden):
6897         * editfns.c (Fnarrow_to_region):
6898         remove bogus lines setting zmacs_region_stays to 0.
6899         
6900 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6901
6902         * process-unix.c (unix_open_network_stream): If connect() fails
6903         invalidate file descriptor after closing it.
6904
6905 2001-03-08  Mike Alexander  <mta@arbortext.com>
6906
6907         * event-msw.c (mswindows_need_event_in_modal_loop):
6908         Don't dispatch a message if we didn't get one.
6909         (mswindows_need_event):
6910         Terminate the correct process when one exits instead of the first
6911         one on Vprocess_list and look for process termination when in
6912         mswindows_protect_modal_loop.
6913
6914 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6915
6916         * XEmacs 21.4.1 "Copyleft" is released.
6917
6918 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6919
6920         * input-method-motif.c (XIM_delete_frame): New callback.
6921         (XIM_init_frame): Register it.
6922
6923 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6924
6925         * XEmacs 21.4.0 "Solid Vapor" is released.
6926
6927 2001-04-15  Ben Wing  <ben@xemacs.org>
6928
6929         * cmdloop.c (call_command_loop):
6930         Fix braino in bit-rotting code.
6931         
6932 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6933
6934         * extents.c (Fset_extent_endpoints): Force creation of extent info
6935         in buffer_or_string.
6936
6937         * extents.c (process_extents_for_insertion_mapper): Correctly
6938         check for open-open zero-length extents.
6939
6940 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6941
6942         * lisp.h: New typedefs Memory_count, Element_count.
6943         * regex.c:
6944         * regex.h:
6945         Sign-compare warning elimination: several unsigned -> signed.
6946         Based on work by Ben Wing <ben@xemacs.org>.
6947
6948 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6949
6950         * XEmacs 21.2.47 "Zephir" is released.
6951
6952 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6953
6954         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6955
6956 2001-04-03  Mike Sperber <mike@xemacs.org>
6957
6958         * search.c: Revert previous patch due because of release.
6959
6960 2001-03-30  Ben Wing  <ben@xemacs.org>
6961
6962         * s\cygwin32.h:
6963         Add missing killpg prototype.
6964
6965         * elhash.c:
6966         Add a comment about fixing problems when a new entry is added
6967         while mapping.
6968
6969         * frame-msw.c (mswindows_init_frame_1):
6970         Fix compile warnings.
6971
6972         * menubar.c (vars_of_menubar):
6973         Provide `menu-accelerator-support' to indicate that we properly
6974         support %_ in menu specifications, so that package code can
6975         conditionalize on this (and remove %_ from menu specifications
6976         on older versions).
6977
6978         * event-msw.c:
6979         * scrollbar-msw.c:
6980         * scrollbar-msw.c (can_scroll):
6981         * scrollbar-msw.h:
6982         Fix handling of mouse wheel under Windows to follow standards --
6983         now scrolls window under pointer, not selected window.
6984
6985 2001-03-31  Mike Sperber <mike@xemacs.org>
6986
6987         * search.c (Freplace_match): Support FSF-style specification of
6988         match subexpression when applied to a buffer.
6989
6990 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6991
6992         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6993         function to modify KEYMAP, so map over a copy of the hash table.
6994
6995 2001-03-21  Martin Buchholz <martin@xemacs.org>
6996
6997         * XEmacs 21.2.46 "Urania" is released.
6998
6999 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7000
7001         * realpath.c (xrealpath): Make file-truename work with symlinks to
7002         /cygdrive paths on cygwin. Always lowercase drive-letters on
7003         native windows.
7004         (cygwin_readlink): Don't try to find canonical filename unless
7005         file exists.
7006
7007 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7008
7009         * ChangeLog: Log GTK merge.
7010
7011         * dumper.c:
7012         * select-x.c:
7013         * specifier.c:
7014         * symeval.h:
7015         Revert gratuitous whitespace changes from GTK merge.
7016
7017         * emacs.c: Document end of complex #ifdef @ l. 1495.
7018
7019
7020 2001-03-12  Andy Piper  <andy@xemacs.org>
7021
7022         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7023         have to do likewise.
7024
7025 2001-03-12  Andy Piper  <andy@xemacs.org>
7026
7027         * sysdep.c: we only support mingw now.
7028
7029 2001-03-09  Andy Piper  <andy@xemacs.org>
7030
7031         * unexcw.c (copy_executable_and_dump_data_section): making approx
7032         overrun a warning only.
7033
7034 2001-03-10  William M. Perry  <wmperry@aventail.com>
7035
7036         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7037         satisfy Stephen's identical-after-cpp plea.
7038
7039 2001-03-02  Ben Wing  <ben@xemacs.org>
7040
7041         * cmds.c:
7042         * cmds.c (Fforward_char):
7043         * syntax.c:
7044         * window.c:
7045
7046         Augment documentation of the most common motion commands to make
7047         note of the shifted-motion support.
7048         
7049 2001-03-02  Ben Wing  <ben@xemacs.org>
7050
7051         * nt.c (mswindows_fstat):
7052         * nt.c (mswindows_stat):
7053         * search.c (boyer_moore):
7054         Fix compile warnings under Windows.
7055         
7056         * sysdep.c (sys_readdir):
7057         Fix buggy filename-conversion code under Mule.
7058
7059 2001-03-09  William M. Perry  <wmperry@aventail.com>
7060
7061         * Makefile.in.in:
7062         * config.h.in:
7063         * console.c:
7064         * console.h:
7065         * device.c:
7066         * device.h:
7067         * dragdrop.c:
7068         * emacs.c:
7069         * event-stream.c:
7070         * events.c:
7071         * events.h:
7072         * faces.c:
7073         * frame.h:
7074         * general-slots.h:
7075         * glyphs.c:
7076         * gutter.c:
7077         * inline.c:
7078         * lisp.h:
7079         * lrecord.h:
7080         * make-src-depend:
7081         * redisplay-output.c:
7082         * redisplay.c:
7083         * symsinit.h:
7084         * sysfile.h:
7085         * toolbar.c:
7086         * window.c:
7087         The Great GTK Merge.
7088
7089         * ChangeLog.GTK:
7090         * console-gtk.c:
7091         * console-gtk.h:
7092         * device-gtk.c:
7093         * emacs-marshals.c:
7094         * emacs-widget-accessors.c:
7095         * event-gtk.c:
7096         * frame-gtk.c:
7097         * gccache-gtk.c:
7098         * gccache-gtk.h:
7099         * glade.c:
7100         * glyphs-gtk.c:
7101         * glyphs-gtk.h:
7102         * gtk-glue.c:
7103         * gtk-xemacs.c:
7104         * gtk-xemacs.h:
7105         * gui-gtk.c:
7106         * gui-gtk.h:
7107         * menubar-gtk.c:
7108         * native-gtk-toolbar.c:
7109         * objects-gtk.c:
7110         * objects-gtk.h:
7111         * redisplay-gtk.c:
7112         * scrollbar-gtk.c:
7113         * scrollbar-gtk.h:
7114         * select-gtk.c:
7115         * toolbar-gtk.c:
7116         * ui-byhand.c:
7117         * ui-gtk.c:
7118         * ui-gtk.h:
7119         The Great GTK Merge: new files.
7120
7121 2001-02-26  Ben Wing  <ben@xemacs.org>
7122
7123         Reapplied Lstream change.
7124
7125 2001-02-26  Ben Wing  <ben@xemacs.org>
7126
7127         Undid the last change, since it is more controversial than I
7128         thought.  It should be back in at some point soon.
7129         
7130 2001-02-25  Ben Wing  <ben@xemacs.org>
7131
7132         * buffer.c:
7133         * callproc.c (Fold_call_process_internal):
7134         * event-msw.c (ntpipe_slurp_reader):
7135         * event-msw.c (ntpipe_shove_writer):
7136         * event-msw.c (winsock_reader):
7137         * event-msw.c (winsock_writer):
7138         * file-coding.c:
7139         * file-coding.c (detect_eol_type):
7140         * file-coding.c (detect_coding_type):
7141         * file-coding.c (determine_real_coding_system):
7142         * file-coding.c (Fdetect_coding_region):
7143         * file-coding.c (decoding_reader):
7144         * file-coding.c (decoding_writer):
7145         * file-coding.c (mule_decode):
7146         * file-coding.c (Fdecode_coding_region):
7147         * file-coding.c (encoding_reader):
7148         * file-coding.c (encoding_writer):
7149         * file-coding.c (mule_encode):
7150         * file-coding.c (Fencode_coding_region):
7151         * file-coding.c (detect_coding_sjis):
7152         * file-coding.c (decode_coding_sjis):
7153         * file-coding.c (encode_coding_sjis):
7154         * file-coding.c (detect_coding_big5):
7155         * file-coding.c (decode_coding_big5):
7156         * file-coding.c (encode_coding_big5):
7157         * file-coding.c (detect_coding_ucs4):
7158         * file-coding.c (decode_coding_ucs4):
7159         * file-coding.c (encode_coding_ucs4):
7160         * file-coding.c (detect_coding_utf8):
7161         * file-coding.c (decode_coding_utf8):
7162         * file-coding.c (encode_coding_utf8):
7163         * file-coding.c (detect_coding_iso2022):
7164         * file-coding.c (decode_coding_iso2022):
7165         * file-coding.c (encode_coding_iso2022):
7166         * file-coding.c (decode_coding_no_conversion):
7167         * file-coding.c (encode_coding_no_conversion):
7168         * glyphs-x.c (write_lisp_string_to_temp_file):
7169         * gpmevent.c (tty_get_foreign_selection):
7170         * lisp.h:
7171         * lstream.c:
7172         * lstream.c (Lstream_flush_out):
7173         * lstream.c (Lstream_adding):
7174         * lstream.c (Lstream_write_1):
7175         * lstream.c (Lstream_write):
7176         * lstream.c (Lstream_raw_read):
7177         * lstream.c (Lstream_read_more):
7178         * lstream.c (Lstream_read):
7179         * lstream.c (Lstream_unread):
7180         * lstream.c (Lstream_fputc):
7181         * lstream.c (stdio_reader):
7182         * lstream.c (stdio_writer):
7183         * lstream.c (filedesc_reader):
7184         * lstream.c (filedesc_writer):
7185         * lstream.c (lisp_string_reader):
7186         * lstream.c (struct fixed_buffer_stream):
7187         * lstream.c (make_fixed_buffer_input_stream):
7188         * lstream.c (make_fixed_buffer_output_stream):
7189         * lstream.c (fixed_buffer_reader):
7190         * lstream.c (fixed_buffer_writer):
7191         * lstream.c (struct resizing_buffer_stream):
7192         * lstream.c (resizing_buffer_writer):
7193         * lstream.c (dynarr_writer):
7194         * lstream.c (lisp_buffer_reader):
7195         * lstream.c (lisp_buffer_writer):
7196         * lstream.h:
7197         * lstream.h (lstream_implementation):
7198         * lstream.h (struct lstream):
7199         * md5.c (Fmd5):
7200         * process-nt.c (nt_send_process):
7201         * process-unix.c (unix_send_process):
7202         
7203         Correct Lstream lossage due to mixing of signed and unsigned
7204         quantities.  All Lstream uses of size_t and ssize_t are now a
7205         single signed data type Lstream_data_count.  This fixes problems
7206         under Windows with sending large quantities of data to a process,
7207         and may well fix other subtle bugs.
7208
7209 2001-02-23  Martin Buchholz <martin@xemacs.org>
7210
7211         * XEmacs 21.2.45 "Thelxepeia" is released.
7212
7213 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7214
7215         * lisp-union.h (XSETINT): 
7216         (XSETCHAR):
7217         (XSETOBJ): 
7218         Reverse previous change of 2001-02-06.
7219
7220 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7221
7222         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7223         buffers.
7224         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7225         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7226         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7227         * regex.c (POS_AS_IN_BUFFER): removed
7228         * regex.c (re_search_2):
7229         * regex.c (re_match_2):
7230         Don't use an offset of 1 when calculating buffer positions, since
7231         `BI_BUF_BEGV' does it already.
7232
7233 2001-02-18  Wim Dumon  <wim@easics.be>
7234
7235         * insdel.c (prepare_to_modify_buffer): Also check for
7236         supersession when clash-detection is enabled. 
7237
7238 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7239
7240         * regex.c (re_match_2_internal):
7241         Convert temp characters from 'const unsigned char' to 're_char'.
7242         Fix crashing bug with extended characters under mule.
7243         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7244         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7245         font-lock, pdump, and new syntax-table code.
7246         * syntax.c (find_start_of_comment):
7247         (find_end_of_comment):
7248         (forward-comment):
7249         Fix crashing bugs involving moving beyond end of buffer.
7250         * syntax.c (find_start_of_comment):
7251         Fixed logic to allow proper detection of cases where the same
7252         character is used to end both a two-char comment start and a
7253         two-char comment end sequence. Fixes `(forward-comment -1)'.
7254         * syntax.c (find_start_of_comment):
7255         Return position just past last comment-end character for all cases
7256         (previously was only done for two-char comment-end sequences).
7257         * syntax.c (forward-comment):
7258         Take value returned from `find_end_of_comment', rather than
7259         incrementing it.
7260         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7261         Properly deal with BUFFERP (syntax_cache.object)
7262
7263 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7264
7265         * alloc.c (Fgarbage_collect): 
7266         * alloc.c (make_bit_vector_from_byte_vector):
7267         -Wsign-compare-correctness.
7268
7269 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7270
7271         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7272         (XSETCHAR): Likewise.
7273         (XSETOBJ): Likewise.
7274
7275 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7276
7277         * mule-canna.c (canna-func-delete_previous): 
7278         Rename to canna-func-delete-previous.
7279
7280 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7281
7282         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7283
7284 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7285
7286         * font-lock.c (find_context): Fix C++ compile errors introduced by
7287         recent patch
7288
7289 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7290
7291         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7292         pragma, but earlier ones barf on the same pragma.
7293
7294 2001-02-06  Mike Sperber <mike@xemacs.org>
7295
7296         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7297         `configure-mule-lisp-directory'.
7298
7299 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7300
7301         Make sure dump-id.c is compiled in the same way as other .c's.
7302         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7303         * dump-id.h: Remove.
7304         * emacs.c: Move dump-id.h into dumper.h.
7305         * dumper.h: Move dump-id.h into dumper.h.
7306         * Makefile.in.in:
7307         Use standard .c.o rule for building dump-id.o.
7308         Remove preprocessor flags from link command.
7309         Add dump-id.o to ${otherobjs} if PDUMP.
7310
7311 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7312
7313         Port FSF 20.7 syntax table improvements.
7314         * syntax.c.
7315         * syntax.h.
7316
7317         Fixups for new syntax table stuff.
7318         * dired.c: Include syntax.c.
7319         (Fdirectory_files): Initialize regex_match_object and
7320         regex_emacs_buffer.
7321         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7322         and Fget_char_property.
7323
7324         Use ported FSF 20.7 syntax table improvements.
7325         * font-lock.c.
7326         * regex.c.
7327         * search.c.
7328         
7329 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7330
7331         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7332         Unixware's enum boolean from sys/types.h.
7333
7334 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7335
7336         Fix support for building with latest Purify.
7337         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7338         (PURIFY_FLAGS): Likewise.
7339
7340 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7341
7342         * fileio.c (lisp_string_set_file_times): New.
7343         * fileio.c (Fcopy_file): Use it.
7344         Fixes bug:
7345         (copy-file filename non-ascii-filename t t)
7346         ==> No such file or directory, non-ascii-filename
7347
7348 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7349
7350         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7351         USHRT_MAX seems clearer than ~0 anyways.
7352
7353 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7354
7355         dumper improvements.  Inspired by Olivier.
7356         * dumper.c (pdump_max_align): New.
7357         * dumper.c (pdump_add_entry): Use pdump_max_align.
7358         * dumper.c (pdump_get_entry_list): Likewise.
7359         * dumper.c (pdump_scan_by_alignment): Likewise.
7360         Don't iterate through unnecessary alignments.
7361         * dumper.c (pdump_file_get): No need to align result of malloc().
7362         * dumper.c (pdump_mallocadr): Remove.  
7363         The result of malloc() is guaranteed to be maximally aligned.
7364         * dumper.c: s/elmt/elt/g;
7365         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7366         * dumper.c (pdump_alert_undump_object): Likewise.
7367         * dumper.c (pdump_align_table): 
7368         Don't support alignments > 64.
7369         Store ALIGNOF's, not shift counts, in table.
7370
7371 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7372
7373         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7374         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7375         * systime.h: Use HAVE_UTIME.
7376         * sysdep.c (struct utimbuf): Remove.
7377         * sysdep.c (set_file_times): Prefer utime() to utimes().
7378         * config.h.in (HAVE_UTIME): New.
7379         * config.h.in (HAVE_UTIME_H): Remove.
7380         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7381
7382 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7383
7384         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7385
7386 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7387
7388         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7389
7390 2001-02-08  Martin Buchholz <martin@xemacs.org>
7391
7392         * XEmacs 21.2.44 "Thalia" is released.
7393
7394 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7395
7396         Fixes crashes in kill-emacs on some systems.
7397         * process-unix.c (unix_kill_child_process):
7398         It's OK for kill() to fail with ESRCH.
7399
7400 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7401
7402         Contortions to make .gdbinit tricks work on most systems.
7403         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7404         * alloc.c (dbg_valmask): Make non-const.
7405         * alloc.c (dbg_typemask): Make non-const.
7406         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7407         * alloc.c (dbg_valbits): Make non-const.
7408         * alloc.c (dbg_gctypebits): Make non-const.
7409         * .gdbinit (decode_object): Make it work with AIX cc.
7410
7411 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7412
7413         * elhash.c (make_general_lisp_hash_table):
7414         Use simpler and more efficient calloc to clear entries.
7415
7416 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7417
7418         * window.c (window_scroll): Work around an AIX C compiler bug.
7419         Fixes 'scroll-up' does nothing problem with xlC.
7420
7421 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7422
7423         * .gdbinit: Remove obsolete comment.
7424
7425 2001-01-31  Mike Alexander  <mta@arbortext.com>
7426
7427         * select.c (Fown_selection_internal): Set owned_p for device
7428         method correctly.
7429
7430 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7431
7432         Port to g++ 2.97.
7433         "not" cannot be used as a macro name as it is an operator in C++
7434         * config.h.in: Stop #defining `not'.
7435         * chartab.c (check_category_char): not ==> not_p
7436         * chartab.h: Likewise.
7437         * regex.c (re_match_2_internal): Likewise.
7438
7439 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7440
7441         * lisp-disunion.h: Fix up comments.
7442
7443 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7444
7445         * keymap.c (define_key_check_and_coerce_keysym):
7446         (syms_of_keymap):
7447         Support mouse-6 and mouse-7 bindings in the obvious way.
7448
7449 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7450
7451         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7452
7453 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7454
7455         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7456         Previous patch missed DEFVAR_INT_MAGIC.
7457         Make sure future DEFVAR_foo use correct types.
7458         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7459         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7460         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7461         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7462         * (DEFVAR_INT): Likewise.
7463         * redisplay.c (vertical_clip): Should be of type Fixnum.
7464         * redisplay.c (horizontal_clip): Likewise.
7465         * lisp.h (dump_add_opaque_int): New.
7466         (dump_add_opaque_fixnum): New.
7467
7468 2001-01-29  Andy Piper  <andy@xemacs.org>
7469
7470         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7471         since they can be eval'ed
7472
7473 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7474
7475         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7476         Oops, XEmacs redefines `class'.  Use `typename' instead.
7477
7478 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7479
7480         * dumper.c: Fix C++ compile errors.
7481
7482 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7483
7484         * tparam.c: Use correct prototypes.
7485
7486 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7487
7488         * sysproc.h: #include util.h for NetBSD's openpty.
7489
7490 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7491
7492         More 64-bit correctness.
7493         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7494         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7495         Fix up comments.
7496         This finally finishes the 64-bit SGI port.
7497         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7498         * symbols.c: Fix up comments and type casts.
7499         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7500         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7501         * symeval.h (Fixnum): New type.
7502         * symeval.h (symbol_value_type): Fix up comment.
7503
7504         * commands.h:
7505         * nt.c:
7506         * emacs.c:
7507         * data.c:
7508         * redisplay.c:
7509         * abbrev.c:
7510         * dired-msw.c:
7511         * event-Xt.c:
7512         * eldap.c:
7513         * window.c:
7514         * sound.c:
7515         * event-stream.c:
7516         * eval.c:
7517         * buffer.c:
7518         * mule-canna.c: A million DEFVAR_INTs here...
7519         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7520         * extents.c:
7521         * cmdloop.c:
7522         * lisp.h:
7523         * select-x.c:
7524         * console-x.h:
7525         * event-msw.c:
7526         * mule-wnnfns.c:
7527         * hpplay.c:
7528         * ralloc.c:
7529         * alloc.c:
7530         * keymap.c:
7531         * profile.c:
7532         s/int/Fixnum/g in DEFVAR_INT declarations.
7533
7534 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7535
7536         Port pdump to SGI alignment-sensitive environment.
7537         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7538         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7539         properly aligned.
7540         Define and use aligned reading and writing macros.
7541         Use buffered stdio instead of posix i/o for faster dumping.
7542         Eliminate kludgy 256 byte space for header.
7543         Read and write from dump file using structs for alignment safety.
7544         * dumper.c (pdump_align_stream): New.
7545         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7546         * dumper.c (PDUMP_READ_ALIGNED): New.
7547         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7548         * dumper.c (pdump_static_Lisp_Object): New struct.
7549         * dumper.c (pdump_static_pointer): New struct.
7550         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7551         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7552         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7553         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7554
7555         * dumper.c (pdump_backtrace):
7556         * dumper.c (pdump_get_indirect_count):
7557         * dumper.c (pdump_register_object):
7558         * dumper.c (pdump_register_struct):
7559         * dumper.c (pdump_reloc_one):
7560         * dumper.c (pdump_scan_by_alignment):
7561         * dumper.c (pdump_dump_from_root_struct_ptrs):
7562         * dumper.c (pdump_dump_opaques):
7563         * dumper.c (pdump_dump_rtables):
7564         * dumper.c (pdump_dump_from_root_objects):
7565         * dumper.c (pdump):
7566         * dumper.c (pdump_load_finish):
7567         Use aligned reading and writing.
7568
7569         * dumper.c (pdump_free): Make static.
7570         * dumper.c (pdump_hFile): Likewise.
7571         * dumper.c (pdump_hMap): Likewise.
7572
7573 2001-01-26  Martin Buchholz <martin@xemacs.org>
7574
7575         * XEmacs 21.2.43 "Terspichore" is released.
7576
7577 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7578
7579         Type fiddling for window_config.saved_windows_count
7580         * window.c (struct window_config): 
7581         Make saved_windows_count member unsigned.
7582         * window.c (sizeof_window_config_for_n_windows): 
7583         Make parameter unsigned.
7584         * window.c (mark_window_config):
7585         * window.c (window_config_equal):
7586         * window.c (free_window_configuration):
7587         * window.c (Fset_window_configuration):
7588         * window.c (count_windows):
7589         * window.c (Fcurrent_window_configuration):
7590         * window.c (reinit_vars_of_window):
7591         Update all callers and users.
7592
7593 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7594
7595         Alignment correctness for flexible arrays.
7596         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7597         Make alignment-correct. Add interesting comments.
7598         * alloc.c (size_vector):
7599         * alloc.c (make_vector_internal):
7600         * alloc.c (make_bit_vector_internal):
7601         * alloc.c (sweep_bit_vectors_1):
7602         * fns.c (size_bit_vector):
7603         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7604         * window.c (sizeof_window_config_for_n_windows): 
7605         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7606
7607 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7608
7609         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7610
7611 2001-01-23  Andy Piper  <andy@xemacs.org>
7612
7613         * select.c (Fown_selection_internal): pass owned_p
7614
7615         * select-msw.c (mswindows_own_selection): New Signature.
7616
7617         * console.h (struct console_methods): add owned_p to
7618         _own_selection.
7619
7620         * select-x.c (x_own_selection): pass owned_p
7621         (hack_motif_clipboard_selection): use owned_p
7622         (vars_of_select_x): new variable -
7623         x_selection_strict_motif_ownership.
7624
7625 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7626
7627         * specifier.h (specifier_data_offset): Remove pointless parens.
7628         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7629
7630 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7631
7632         Make Lisp_Object sizeof methods be alignment-correct.
7633         pdump must restore objects to the same alignment as the C compiler
7634         assumes.  It really matters on SGIs.
7635         * lstream.c (aligned_sizeof_lstream): New.
7636         (sizeof_lstream): Use aligned_sizeof_lstream.
7637         (Lstream_new): Likewise.
7638         * opaque.c (aligned_sizeof_opaque): New.
7639         (sizeof_opaque): Use aligned_sizeof_opaque.
7640         (make_opaque): Likewise.
7641         * specifier.c (aligned_sizeof_specifier): New.
7642         (sizeof_specifier): Use aligned_sizeof_specifier.
7643         (make_specifier_internal): Likewise.
7644
7645 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7646
7647         * lstream.h (struct lstream): Use max_align_t for trailing data.
7648         * specifier.h (struct Lisp_Specifier): Likewise.
7649
7650 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7651
7652         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7653         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7654         (CCL_SUSPEND): Likewise.
7655         (CCL_INVALID_CMD): Likewise.
7656         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7657         (ccl_driver): Likewise.
7658         (CCL_WRITE_CHAR): Macro hygiene.
7659         (CCL_WRITE_STRING): Macro hygiene.
7660
7661 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7662
7663         Port "portable" dumper to SunOS 4 and HP-UX.
7664         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7665         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7666         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7667
7668 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7669
7670         * lisp.h (ALIGNOF): A better definition for C++.
7671
7672 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7673
7674         Macro hygiene.
7675         Fix printf warnings: int format, long int arg.
7676         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7677         (PUSH_FAILURE_POINT): Use correct printf formats.
7678         (POP_FAILURE_POINT): Use correct printf formats.  
7679         Use do {...} while (0)
7680
7681 2001-01-20  Martin Buchholz <martin@xemacs.org>
7682
7683         * XEmacs 21.2.42 "Poseidon" is released.
7684
7685 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7686
7687         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7688
7689 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7690
7691         De-kludgify FIXED_TYPE free list frobbing.
7692         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7693         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7694         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7695         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7696         * alloc.c (LRECORD_FREE_P): New.
7697         * alloc.c (MARK_LRECORD_AS_FREE): New.
7698         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7699         * alloc.c (STRUCT_FREE_P): Deleted.
7700         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7701         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7702         * alloc.c (STRING_CHARS_FREE_P): New.
7703         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7704         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7705         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7706         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7707         * alloc.c (resize_string): Use new definitions.
7708         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7709         * alloc.c (verify_string_chars_integrity): Use new definitions.
7710         * alloc.c (compact_string_chars): Use new definitions.
7711         * alloc.c: Update monster comments.
7712         * lrecord.h (lrecord_type): Add some new lrecord types for
7713         alloc.c's use.
7714
7715 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7716
7717         Improve alignment hackery.
7718         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7719         (max_align_t): Moved from opaque.h - general purpose.
7720         (ALIGN_PTR): Use size_t, not long.
7721         * opaque.h (max_align_t): Move to lisp.h.
7722
7723 2001-01-18  Norbert Koch  <nk@LF.net>
7724
7725         * gui.h: Fix and add prototypes to fix build problems.
7726
7727 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7728
7729         temacs is going away, so `dump-temacs' is now a bad name.
7730         * .dbxrc (dump-temacs): Rename to `dmp'.
7731         * .gdbinit (dump-temacs): Rename to `dmp'.
7732
7733 2001-01-17  Andy Piper  <andy@xemacs.org>
7734
7735         * glyphs.c (print_image_instance): comment to make martin happy.
7736
7737         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7738         change.
7739
7740         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7741         activation.
7742         (mswindows_tab_control_redisplay): warning suppression.
7743
7744         * glyphs-widget.c (widget_update): re-write to cope with updated
7745         items.
7746         (widget_instantiate): use new gui_item functions.
7747         (tab_control_update): deleted.
7748         (progress_gauge_update): deleted.
7749         (image_instantiator_progress_guage): take out update reference.
7750         (image_instantiator_tree_view): ditto.
7751         (image_instantiator_tab_control): ditto.
7752
7753         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7754         Right the new way.
7755         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7756         return whether anything was changed.
7757         (update_gui_item_keywords): as it sounds.
7758
7759         * gui.h: declare widget_gui_parse_item_keywords.
7760
7761         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7762         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7763
7764 2001-01-17  Martin Buchholz <martin@xemacs.org>
7765
7766         * XEmacs 21.2.41 "Polyhymnia" is released.
7767
7768 2001-01-16  Didier Verna  <didier@xemacs.org>
7769
7770         * glyphs.c (image_instantiate): don't use fallbacks when
7771         instantiating a face's background pixmap by inheritance.
7772
7773 2001-01-14  Mike Sperber <mike@xemacs.org>
7774
7775         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7776         Conditionalize accordingly.
7777
7778 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7779
7780         * dumper.c (pdump_file_get): Fix a compiler warning.
7781
7782 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7783
7784         Make Purify happy when pdumping.
7785         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7786         iniitalizing all bits of new lisp object memory.
7787         * symbols.c (Fmake_local_variable): Likewise.
7788         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7789         * symbols.c (Fdefvaralias): Likewise.
7790         * mule-charset.c (vars_of_mule_charset): Likewise.
7791
7792 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7793         Add the `-nd' flag when running pre-dump operations under the debugger.
7794         * .dbxrc (run-temacs): Add `-nd'.
7795         * .dbxrc (update-elc): Likewise.
7796         * .dbxrc (dump-temacs): Likewise.
7797         * .gdbinit (run-temacs): Likewise.
7798         * .gdbinit (check-temacs): Likewise.
7799         * .gdbinit (update-elc): Likewise.
7800         * .gdbinit (dump-temacs): Likewise.
7801
7802 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7803
7804         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7805         export OBJECT_MODE=64
7806         configure --pdump --use-union-type=no
7807         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7808         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7809
7810         * miscplay.c (sndcnv8U_2mono):
7811         Avoid two uses of `++' in the same expression.
7812         Suppresses a GCC warning.
7813
7814 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7815
7816         Make sure future compilers don't miscompile alloc.c.
7817         * alloc.c:
7818         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7819         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7820
7821 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7822
7823         * dumper.c: A little post-pdump-rename comment fixup.
7824
7825 2001-01-09  Jerry James  <james@eecs.ku.edu>
7826
7827         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7828
7829 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7830
7831         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7832         script:
7833         #!/bin/sh
7834         replace_symbol () {
7835           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7836         }
7837
7838         replace_symbol pdump_wire_lists pdump_weak_object_chains
7839         replace_symbol pdump_wire_list dump_add_weak_object_chain
7840
7841         replace_symbol pdump_wires pdump_root_objects
7842         replace_symbol pdump_wire dump_add_root_object
7843
7844         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7845         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7846
7847         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7848         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7849         replace_symbol dumpstructinfo pdump_root_struct_ptr
7850         replace_symbol dumpstruct dump_add_root_struct_ptr
7851
7852         replace_symbol dumpopaque dump_add_opaque
7853         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7854         replace_symbol dumpopaqueinfos pdump_opaques
7855         replace_symbol dumpopaqueinfo pdump_opaque
7856
7857         replace_symbol nb_structdump nb_root_struct_ptrs
7858         replace_symbol nb_opaquedump nb_opaques
7859
7860         replace_symbol align_table pdump_align_table
7861         replace_symbol dump_header pdump_header
7862
7863         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7864         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7865
7866
7867 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7868
7869         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7870         optimizing bytecount_to_charcount().
7871
7872 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7873
7874         * config.h.in:
7875         (HAVE_DLFCN_H): Removed.
7876         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7877
7878 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7879
7880         Portable dumper maintainability improvements.
7881         * alloc.c (staticpro):
7882         * alloc.c (staticpro_nodump):
7883         * alloc.c (garbage_collect_1):
7884         * alloc.c (reinit_alloc_once_early):
7885         * alloc.c (init_alloc_once_early):
7886         * alloc.c: Move dumper functions to alloc.c.
7887         * dumper.c (pdump_backtrace):
7888         * dumper.c (pdump_dump_structs):
7889         * dumper.c (pdump_dump_opaques):
7890         * dumper.c (pdump_dump_rtables):
7891         * dumper.c (pdump_dump_wired):
7892         * dumper.c (pdump):
7893         * dumper.c (pdump_load_check):
7894         * dumper.c (pdump_load_finish):
7895         * dumper.c (pdump_file_unmap):
7896         * dumper.c (pdump_file_get):
7897         * dumper.c (pdump_resource_free):
7898         * dumper.c (pdump_resource_get):
7899         * dumper.c (pdump_file_free):
7900         * dumper.c (pdump_file_try):
7901         * dumper.c (pdump_load):
7902         Remove fixed size limits on staticpro(), staticpro_nodump(),
7903         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7904         Remove custom code for dumping lrecord_implementations_table - use
7905         dumpopaque instead.
7906         Remove (most of the) custom code for dumping staticpros - dump it
7907         like any other dynarr.
7908
7909         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7910         * dumper.c: Moved functions from alloc.c.
7911         * alloc.c (dumpstruct): Moved to dumper.c.
7912         * alloc.c (dumpopaque): Likewise.
7913         * alloc.c (pdump_wire): Likewise.
7914         * alloc.c (pdump_wire_list): Likewise.
7915
7916         * lisp.h (Dynarr_sizeof): New.
7917         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7918         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7919         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7920
7921         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7922         * lisp.h (dumpopaque): ditto.
7923         * lisp.h (pdump_wire): ditto.
7924         * lisp.h (pdump_wire_list): ditto.
7925
7926 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7927
7928         * make-src-depend (PrintPatternDeps):
7929         Use `sort' to make output independent of perl version.
7930
7931 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7932
7933         Port to Netbsd 1.5.
7934         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7935         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7936
7937 2001-01-03  Didier Verna  <didier@xemacs.org>
7938
7939         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7940         that `focus_frame' is alive before thinking of calling
7941         `redisplay_redraw_cursor' on it.
7942
7943 2001-01-08  Martin Buchholz <martin@xemacs.org>
7944
7945         * XEmacs 21.2.40 is released.
7946
7947 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7948
7949         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7950
7951 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7952
7953         * alloc.c (dbg_valmask): Make const.
7954         * alloc.c (dbg_typemask): Make const.
7955         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7956         * alloc.c (dbg_valbits): Make const.
7957         * alloc.c (dbg_gctypebits): Make const.
7958
7959 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7960
7961         * redisplay-x.c (x_bevel_area):
7962         redisplay.h (struct rune):
7963         Typo fixes in comments.
7964
7965 2001-01-05  Andy Piper  <andy@xemacs.org>
7966
7967         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7968         adjustment.
7969
7970         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7971
7972 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7973
7974         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7975
7976         * mule-ccl.c (stack_idx_of_map_multiple):
7977         Non const global data must not be initialized!
7978         Found by MIYASHITA Hisashi.
7979
7980 2001-01-02  Andy Piper  <andy@xemacs.org>
7981
7982         * frame.c (change_frame_size): make sure frame size is always
7983         marked as changed.
7984
7985         * glyphs.c (image_instance_layout): minor code reuse.
7986
7987         * window.c (Fcurrent_window_configuration): revert previous
7988         change.
7989
7990 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7991
7992         * glyphs.h:
7993         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7994
7995 2000-12-31  Andy Piper  <andy@xemacs.org>
7996
7997         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7998         when widget gets unmapped.
7999
8000         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8001         function. Make sure widgets losing focus don't just drop it.
8002         (handle_focus_event_1): record the widget with focus.
8003
8004 2000-12-31  Andy Piper  <andy@xemacs.org>
8005
8006         * window.c (allocate_window): use
8007         make_image_instance_cache_hash_table.
8008         (make_dummy_parent): ditto.
8009         (Fset_window_configuration): ditto.
8010
8011         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8012
8013         * glyphs.c (process_image_string_instantiator): use
8014         INSTANTIATOR_TYPE.
8015         (get_image_instantiator_governing_domain): ditto.
8016         (normalize_image_instantiator): ditto.
8017         (instantiate_image_instantiator): ditto.
8018         (make_image_instance_1): ditto.
8019         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8020         (instantiator_eq_equal): new function for use with instance hash
8021         tables.
8022         (instantiator_eq_hash): ditto.
8023         (make_image_instance_cache_hash_table): create a suitable hash
8024         table for storing image instances.
8025
8026         * elhash.h (hash_table_weakness): new internal weakness type
8027         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8028         declare new functions.
8029
8030         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8031         another weakness type for glyphs.
8032         (make_standard_lisp_hash_table): new function split out from
8033         make_general_lisp_hash_table.
8034         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8035         (hash_table_instantiate): ditto.
8036         (Fmake_hash_table): ditto.
8037
8038 2000-12-31  Martin Buchholz <martin@xemacs.org>
8039
8040         * XEmacs 21.2.39 is released.
8041
8042 2000-12-29  Andy Piper  <andy@xemacs.org>
8043
8044         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8045
8046         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8047         the frame has changed so that we pick up geometry changes such as
8048         menubar visibility.
8049
8050 2000-12-28  Andy Piper  <andy@xemacs.org>
8051
8052         * lastfile.c (my_ebss): make a char array so we can pad the
8053         bss. Fixes cygwin unexec.
8054
8055         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8056
8057 2000-12-26  Andy Piper  <andy@xemacs.org>
8058
8059         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8060         comments and try and be more precise about a non-/SIGIO world.
8061         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8062         SIGIO.
8063
8064         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8065         we don't normalize to zero width or height.
8066
8067 2000-12-24  Andy Piper  <andy@xemacs.org>
8068
8069         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8070
8071 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8072
8073         * s/sco5.h: SCO 5 has pty support.
8074
8075 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8076
8077         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8078         input-method-xlib.c contains whole contents of input-method-xfs.c,
8079         so we can use input-method-xlib.c's code for USE_XFONTSET
8080         using #ifdefs.
8081         * input-method-xfs.c: removed.
8082
8083 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8084
8085         * file-coding.h (enum coding_category_type): reorder enumerators to
8086         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8087         (now one greater than largest real coding_category_type enumerator).
8088         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8089         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8090         Fcoding_category_list, Fset_coding_priority_list,
8091         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8092         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8093
8094 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8095
8096         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8097         * redisplay-output.c (redisplay_output_window): Clear top of window
8098         when face is changed.
8099         * redisplay-x.c (x_redraw_exposed_window): Call
8100         redisplay_clear_top_of_window.
8101         * redisplay.h: Publish redisplay_clear_top_of_window.
8102
8103 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8104
8105         * buffer.c (Fkill_buffer): Map over all devices.
8106         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8107         (list_windows): New function.
8108         (list_all_windows): Ditto.
8109         (Freplace_buffer_in_windows): Use them.
8110
8111 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8112
8113         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8114         (Fopen_database): Use `db_create' instead of `db_open'.
8115         (syms_of_database): Initialize Qqueue.
8116
8117 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8118
8119         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8120         buffer_local_face_property.
8121         * buffer.h (struct buffer): New member buffer_local_face_property.
8122         * window.c (Fset_window_buffer):  Mark window's face as changed
8123         when buffer has buffer local face.
8124         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8125         * objects.c (color_after_change): Set buffer_local_face_property
8126         when locale of face specifier is buffer.
8127         * objects.c (font_after_change): Ditto.
8128         * objects.c (face_boolean_after_change): Ditto.
8129         * glyphs.c (image_after_change): Ditto.
8130
8131 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8132
8133         * nt.c (mswindows_fstat): Report file permissions, volume serial
8134         number, etc. Code adapted from FSF Emacs 20.7.
8135
8136 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8137
8138         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8139         of stat when we don't have symbolic links, to make sure
8140         mswindows_stat is called on mswindows.
8141
8142 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8143
8144         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8145
8146 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8147
8148         * doprnt.c (emacs_doprnt_1): More printing fixes.
8149         Make printing of numbers compatible with libc and FSF Emacs.
8150         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8151         Use the system printf to do most of the hard work of formatting,
8152         instead of doprnt_1().
8153         Calculate memory to allocate for format string.
8154         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8155         (doprnt_1): Cleaner code and documentation.
8156
8157 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8158
8159         * Makefile.in.in: Use the loop variable to install headers.
8160
8161 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8162
8163         * window.c (Fsplit_window): Don't invalidate face cache.
8164
8165 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8166
8167         * minibuf.c (Fall_completions): Undo the previous change
8168         which removed checking elements start with space.
8169
8170 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8171
8172         * mule-canna.c: Didier suppression.
8173
8174 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8175
8176         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8177         (warning suppression).  Add English comment translations.
8178
8179 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8180
8181         * unexelfsgi.c (unexec): Better test for mmap failure.
8182
8183 2000-12-05  Martin Buchholz <martin@xemacs.org>
8184
8185         * XEmacs 21.2.38 is released.
8186
8187 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8188
8189         * redisplay.c (bar-cursor): Make a user variable.
8190
8191         * symsinit.h: Add init_postgresql_from_environment.
8192
8193 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8194
8195         * regex.c: Convert to clean C.
8196
8197 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8198
8199         * realpath.c:
8200         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8201         initialization.
8202         (sys_readlink): renamed to system_readlink to avoid conflict with
8203         the other sys_readlink.
8204
8205 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8206
8207         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8208
8209 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8210
8211         * postgresql.c (init_postgresql_from_environment): new function.
8212         (vars_of_postgresql): Move code initializing Lisp variables out and
8213         into init_postgresql_from_environment.
8214         emacs.c (main_1): Call init_postgresql_from_environment if and only
8215         if running a dumped XEmacs.
8216
8217 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8218
8219         * buffer.c: Make find-file-compare-truenames default to true on
8220         windows.
8221
8222         * realpath.c (win32_abs_start):
8223         (cygwin_readlink):
8224         (win32_readlink): New functions.
8225         (xrealpath): Return really real filenames on windows.
8226
8227         * fileio.c (Ffile_truename): Make file-truename work on windows.
8228
8229 2000-11-29  Didier Verna  <didier@xemacs.org>
8230
8231         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8232         * faces.c (update_face_cachel_data): use it.
8233         * faces.c (add_face_cachel): use it. Complete background pixmap
8234         frobbing in face cache if `update_face_cachel_data' has not done so.
8235
8236 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8237
8238         * search.c (string_match_1): Don't set last_thing_searched
8239         when search failed.
8240
8241 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8242
8243         * buffer.c: Include casetab.h
8244         (common_init_complex_vars_of_buffer): Use new case-table object.
8245         * buffer.h: Include casetab.h
8246         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8247         (DOWNCASE_TABLE_OF): Ditto.
8248         * bufslots.h: Remove char-tables and add case-table.
8249         * casetab.c: Include casetab.h
8250         (CASE_TABLE_P): Removed.
8251         (mark_case_table): New function.
8252         (allocate_case_table): New function.
8253         (Fcase_table_p): Use new case-table.
8254         (case_table_char): New function.
8255         (Fget_case_table): Ditto.
8256         (Fput_case_table): Ditto.
8257         (Fput_case_table_pair): Ditto.
8258         (Fcopy_case_table): Ditto.
8259         (Fcurrent_case_table): Return case-table.
8260         (Fstandard_case_table): Return case-table.
8261         (Fset_case_table): Fix doc-string.
8262         (set_case_table): Use case-table
8263         (syms_of_casetab): DEFSUBR new functions.
8264         (complex_vars_of_casetab): Set up standard case-table.
8265         * casetab.h: New file.
8266         * editfns.c: Include casetab.h
8267         (Fcompare_buffer_substrings): Use case-table.
8268         * inline.c: Include casetab.h
8269         * lisp.h: Remove bogus extern.
8270         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8271         * search.c: Include casetab.h
8272         (TRANSLATE_ASCII): Removed.
8273         (TRANSLATE): Unconditionally translate character.
8274         (looking_at_1): Use case-table.
8275         (string_match_1): Ditto.
8276         (fast_string_match): Ditto.
8277         (search_command): Ditto.
8278         (search_buffer): Separate boyer_moore.  Check whether
8279         boyer_moore is possible.
8280         (simple_search): New function.
8281         (boyer_moore): Separated from search_buffer. Translate char.
8282
8283 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8284
8285         * regex.c (RE_TR_ASCII): Removed.
8286         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8287         (PATFETCH): Call PATFETCH_RAW.
8288         (PATFETCH_RAW): Fetch Emchar.
8289         (PATUNFETCH): Decrement charptr.
8290         (GET_BUFFER_SPACE): Rename b to buf_end.
8291         (BUF_PUSH): Ditto.
8292         (BUF_PUSH_2): Ditto.
8293         (BUF_PUSH_3): Ditto.
8294         (EXTEND_BUFFER): Ditto.
8295         (SET_LIST_BIT): Ditto.
8296         (regex_compile): Ditto.  Translate non ASCII char.
8297         (compile_range): Ditto.
8298         (re_search_2): Ditto.
8299         (re_match_2_internal): Compare Emchar.
8300         (bcmp_translate): Ditto.
8301
8302 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8303
8304         * lisp.h (basic char/int typedefs):  comment improvement.
8305
8306 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8307
8308         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8309         unstomp inhibit_site_lisp.  Improve comments.
8310
8311 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8312
8313         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8314
8315 2000-11-28  Andy Piper  <andy@xemacs.org>
8316
8317         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8318         clipped display for windows in the gutter also.
8319         (redisplay_display_boxes_in_window_p): change semantics of return
8320         codes to be more intuitive.
8321
8322         * gutter.h: declare display_boxes_in_gutter_p.
8323
8324         * gutter.c (display_boxes_in_gutter_p): new function for
8325         redisplay.
8326
8327 2000-11-22  Andy Piper  <andy@xemacs.org>
8328
8329         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8330         autodetect domain.
8331
8332 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8333
8334         * callproc.c (Fold_call_process_internal):
8335         * gpm.c (Freceive_gpm_event):
8336         (tty_get_foreign_selection): Might be just warning supression.
8337         * fileio.c (Fwrite_region_internal):
8338         (Fset_visited_file_modtime):
8339         * keymap.c (event_matches_key_specifier_p):
8340         Initialize GCPROed variable.
8341
8342         * menubar-x.c (command_builder_find_menu_accelerator):
8343         Initialize before use.
8344
8345 2000-11-23  Andy Piper  <andy@xemacs.org>
8346
8347         * unexcw.c (unexec): make the resulting executable executable.
8348
8349 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8350
8351         * doc.c (get_doc_string):
8352         Use size_t, not int, for result of XSTRING_LENGTH.
8353
8354         * cmds.c (Fdelete_char):
8355         * cmds.c (Fpoint_at_eol):
8356         * cmds.c (Fself_insert_command):
8357         Use EMACS_INT, not int, for result of XINT.
8358         Someday, someone will want to insert more than 2**31 identical characters.
8359
8360         * cmds.c (Fdelete_char):
8361         * cmds.c (Fdelete_backward_char):
8362         * syntax.c (Fforward_word):
8363         * syntax.c (Fforward_comment):
8364         Make COUNT argument optional, for consistency with forward-char et al.
8365
8366 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8367
8368         * lisp.h:
8369         * print.c (long_to_string):
8370         Return a useful value: the pointer at end of data written.
8371
8372         * doprnt.c:
8373         Use `static const char * const' for constant strings.
8374         (union printf_arg): Delete `i', `ui' members.
8375         (get_doprnt_args):
8376         (emacs_doprnt_1):
8377         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8378         Do all printf-ing via the `l' specifier.
8379         Use EMACS_INT instead of int.
8380         Optimize.
8381
8382 2000-11-20  Didier Verna  <didier@xemacs.org>
8383
8384         * faces.c (update_face_cachel_data): don't frob the background
8385         pixmap when the window is being created. The face is needed but
8386         does not exist yet.
8387
8388 2000-11-20  Andy Piper  <andy@xemacs.org>
8389
8390         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8391         messing with a debug environment.
8392
8393 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8394
8395         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8396
8397 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8398
8399         * casetab.c (Fcase_table_p): Fix compile error and crash.
8400
8401 2000-11-18  Philip Aston  <philipa@mail.com>
8402
8403         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8404
8405 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8406
8407         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8408         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8409
8410 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8411
8412         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8413         * unexelf.c: Use HAVE_ELF_H.
8414         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8415         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8416         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8417         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8418         for testing.
8419         So this is an unexelfsgi.c from a different line of development.
8420
8421 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8422
8423         * regex.c (RE_TR_ASCII): New function.
8424         (RE_TRANSLATE): Call it.
8425
8426 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8427
8428         * buffer.h (TRT_TABLE_OF): Remove assert.
8429         (IN_TRT_TABLE_DOMAIN): Removed.
8430
8431 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8432
8433         * free-hook.c (log_gcpro):
8434         (show_gcprohist): Add support for GCPRO5.
8435
8436 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8437
8438         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8439
8440 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8441
8442         * symeval.h: Declare flush_all_buffer_local_cache.
8443
8444         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8445         (flush_buffer_local_cache): Added.
8446         (flush_all_buffer_local_cache): Added.
8447
8448         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8449
8450         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8451         (pdump_dump_data): Ditto.
8452         (pdump_reloc_one): Ditto.
8453         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8454         before dumping.
8455
8456
8457 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8458
8459         * buffer.c: Remove if 0'ed entry.
8460         * buffer.h: Rewrite TRT to use char-table.
8461         * bufslots.h: Remove mirror tables.
8462         * casetab.c: Remove mirror tables.
8463         (CASE_TABLE_P): New macro.
8464         (Fcase_table_p): Element of a case table is string or char-table.
8465         (make_mirror_trt_table): Removed.
8466         (set_case_table): Setup char-table from strings for backward
8467         compatibility.
8468         * dired.c (Fdirectory_files):
8469         * dired-msw.c: (mswindows_get_files):
8470         * lisp.h: Change prototype of re_pattern_buffer.
8471         * regex.c: (RE_TRANSLATE): New macro.
8472         (TRANSLATE_P): Ditto.
8473         Change translate to type RE_TRANSLATE_TYPE.
8474         * regex.h: Define RE_TRANSLATE_TYPE
8475         * search.c (TRANSLATE): New macro.
8476         (TRANSLATE_ASCII): New macro.
8477         Translate table is changed to Lisp_Object.
8478         (signal_failure): Inhibit return.
8479
8480 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8481
8482         * device-msw.c:
8483         * eldap.c:
8484         * event-Xt.c:
8485         * event-stream.c:
8486         * print.c:
8487         Do UNGCPRO before return.
8488
8489 2000-11-14  Martin Buchholz <martin@xemacs.org>
8490
8491         * XEmacs 21.2.37 is released.
8492
8493 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8494
8495         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8496         Add comments about discarded return value.
8497
8498 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8499
8500         * callint.c:
8501         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8502
8503 2000-10-27  Andy Piper  <andy@xemacs.org>
8504
8505         * gutter.c (Fset_default_gutter_position): default left and right
8506         gutters to visible.
8507         (calculate_gutter_size): calculate resonable heuristic for left
8508         and right gutter sizes.
8509         (specifier_vars_of_gutter): change left and right gutter sizes to
8510         autodetect.
8511         (calculate_gutter_size_from_display_lines): new function.
8512         (output_gutter): check for resizing on left and right gutters.
8513         (clear_gutter): don't special case top and left gutters.
8514         (specifier_vars_of_gutter): use new signature for
8515         set_specifier_caching.
8516
8517         * glyphs-x.c (x_redisplay_widget): spelling fix.
8518         * glyphs.c (specifier_vars_of_glyphs):
8519         * menubar.c (specifier_vars_of_menubar):
8520         * redisplay.c (specifier_vars_of_redisplay):
8521         * toolbar.c (specifier_vars_of_toolbar):
8522         * window.c (specifier_vars_of_window):
8523         * scrollbar.c (specifier_vars_of_scrollbar):
8524         (complex_vars_of_scrollbar): use new signature for
8525         set_specifier_caching.
8526
8527         * specifier.c (set_specifier_caching): include recompute flag.
8528         (recompute_one_cached_specifier_in_window): always recompute if
8529         flag set.
8530         (recompute_one_cached_specifier_in_frame): ditto.
8531
8532         * specifier.h (struct specifier_caching): add recompute flag.
8533
8534 2000-10-24  Andy Piper  <andy@xemacs.org>
8535
8536         * unexcw.c (copy_executable_and_dump_data_section): add new
8537         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8538         5.0 happy.
8539
8540 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8541
8542         * console-x.h (x_device): New member modifier_release_time.
8543         * event-Xt.c (x_handle_sticky_modifiers):
8544         Bound interval modifier keys are sticky.
8545         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8546         * events.h: extern it.
8547
8548 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8549
8550         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8551
8552 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8553
8554         * event-stream.c (execute_command_event): Preserve current_events
8555         and the like when event is misc-user-event.
8556         Inhibit quit during the call to maybe_echo_keys.
8557
8558 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8559
8560         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8561         symlink when buffer is killed.
8562         (inhibit_clash_detection): New variable.
8563
8564 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8565
8566         * console.c (Fset_input_method): Trigger redisplay on tty.
8567
8568 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8569
8570         * process.c (Fprocess_status): Revert to previous behavior:
8571         (process-status "nosuchprocess") ==> nil
8572
8573 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8574
8575         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8576         Work around another GCC 2.95.2 optimizer bug.
8577
8578 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8579
8580         * process.c (Fget_process): Use LIST_LOOP_2.
8581         (kill_buffer_processes): Use LIST_LOOP_2.
8582
8583         * minibuf.c (Fall_completions):
8584         Delete old non-functional code for FSF fourth argument.
8585
8586         * frame.c (frame_matches_frame_spec):
8587         Renamed from `frame_matches_frametype'.  Update all callers.
8588         (device_matches_device_spec):
8589         Renamed from 'device_matches_console_spec'.  Update all callers.
8590
8591         * doc.c (Fsubstitute_command_keys):
8592         Remove buffer overflow crash.  Small code cleanups.
8593
8594         * casetab.c (check_case_table): Simpler code.
8595
8596         * window.c (Freplace_buffer_in_windows):
8597         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8598         (and similar implementation) as Fdelete_windows_on.
8599         Update all callers.
8600
8601         * alloc.c (Fmake_list):
8602         * alloc.c (make_vector):
8603         * alloc.c (Fmake_vector):
8604         * alloc.c (make_bit_vector):
8605         * alloc.c (Fmake_bit_vector):
8606         * alloc.c (Fbit_vector):
8607         * alloc.c (Fmake_string):
8608         * alloc.c (Fpurecopy):
8609         * alloc.c (Fmemory_limit):
8610         * buffer.c:
8611         * buffer.c (Fget_buffer):
8612         * buffer.c (Fkill_buffer):
8613         * buffer.c (complex_vars_of_buffer):
8614         * bytecode.c (Fcompiled_function_stack_depth):
8615         * callint.c (Fprefix_numeric_value):
8616         * event-stream.c:
8617         * event-stream.c (Fread_key_sequence):
8618         * casetab.c:
8619         * casetab.c (Fcase_table_p):
8620         * casetab.c (check_case_table):
8621         * casetab.c (Fset_case_table):
8622         * casetab.c (Fset_standard_case_table):
8623         * chartab.c:
8624         * chartab.c (Fchar_table_type):
8625         * chartab.c (Freset_char_table):
8626         * chartab.c (Fget_char_table):
8627         * chartab.c (Fget_range_char_table):
8628         * chartab.c (Fput_char_table):
8629         * chartab.c (Fmap_char_table):
8630         * chartab.c (Fcategory_table_p):
8631         * chartab.c (Fcheck_category_at):
8632         * chartab.c (Fchar_in_category_p):
8633         * chartab.c (Fcategory_table):
8634         * chartab.c (Fcopy_category_table):
8635         * chartab.c (Fset_category_table):
8636         * chartab.c (Fcategory_designator_p):
8637         * chartab.c (Fcategory_table_value_p):
8638         * cmds.c (Fdelete_char):
8639         * cmds.c (Fdelete_backward_char):
8640         * cmds.c (Fself_insert_command):
8641         * cmds.c (Fself_insert_internal):
8642         * console.c (Fvalid_console_type_p):
8643         * console.c (Fcdfw_console):
8644         * console.c (Fconsole_type):
8645         * console.c (Fconsole_name):
8646         * console.c (Fconsole_device_list):
8647         * console.c (Fconsole_on_window_system_p):
8648         * data.c:
8649         * data.c (Feq):
8650         * data.c (Fold_eq):
8651         * data.c (Fsubr_interactive):
8652         * data.c (Fchar_to_int):
8653         * data.c (Fint_to_char):
8654         * data.c (Fsetcar):
8655         * data.c (Fsetcdr):
8656         * data.c (Fnumber_to_string):
8657         * data.c (Fstring_to_number):
8658         * data.c (Frem):
8659         * database.c (mark_database):
8660         * database.c (finalize_database):
8661         * database.c (Fdatabase_live_p):
8662         * database.c (Fdatabasep):
8663         * device-x.c (Fx_get_resource):
8664         * device.c (Fdfw_device):
8665         * dired.c:
8666         * dired.c (Ffile_name_completion):
8667         * dired.c (Ffile_name_all_completions):
8668         * dired.c (Fuser_name_completion):
8669         * dired.c (Fuser_name_completion_1):
8670         * dired.c (Fuser_name_all_completions):
8671         * doc.c (Fdocumentation):
8672         * doc.c (Fdocumentation_property):
8673         * doc.c (Fsubstitute_command_keys):
8674         * editfns.c:
8675         * editfns.c (Fchar_to_string):
8676         * editfns.c (Fstring_to_char):
8677         * editfns.c (Ftemp_directory):
8678         * editfns.c (Finsert_char):
8679         * editfns.c (Fbuffer_substring_no_properties):
8680         * editfns.c (Fnarrow_to_region):
8681         * editfns.c (Fchar_equal):
8682         * editfns.c (Fchar_Equal):
8683         * editfns.c (Ftranspose_regions):
8684         * emacs.c (Fdump_emacs):
8685         * eval.c (Fthrow):
8686         * eval.c (Fcommand_execute):
8687         * eval.c (Fautoload):
8688         * eval.c (Fbacktrace):
8689         * eval.c (Fbacktrace_frame):
8690         * events.c:
8691         * events.c (Fcopy_event):
8692         * events.c (Fcharacter_to_event):
8693         * events.c (Fevent_button):
8694         * events.c (Fevent_process):
8695         * extents.c:
8696         * extents.c (Fnext_extent_change):
8697         * extents.c (Fextent_property):
8698         * faces.c (Ffacep):
8699         * faces.c (Fmake_face):
8700         * file-coding.c:
8701         * file-coding.c (Fencode_shift_jis_char):
8702         * file-coding.c (Fencode_big5_char):
8703         * fileio.c (Ffile_name_directory):
8704         * fileio.c (Ffile_name_nondirectory):
8705         * fileio.c (Ffile_name_as_directory):
8706         * fileio.c (Fdirectory_file_name):
8707         * fileio.c (Ffile_truename):
8708         * fileio.c (Fsubstitute_in_file_name):
8709         * fileio.c (Ffile_modes):
8710         * fileio.c (Fset_file_modes):
8711         * fileio.c (Fset_default_file_modes):
8712         * fileio.c (Fverify_visited_file_modtime):
8713         * floatfns.c (Facos):
8714         * floatfns.c (Fasin):
8715         * floatfns.c (Fatan):
8716         * floatfns.c (Fcos):
8717         * floatfns.c (Fsin):
8718         * floatfns.c (Ftan):
8719         * floatfns.c (Fbessel_j0):
8720         * floatfns.c (Fbessel_j1):
8721         * floatfns.c (Fbessel_jn):
8722         * floatfns.c (Fbessel_y0):
8723         * floatfns.c (Fbessel_y1):
8724         * floatfns.c (Fbessel_yn):
8725         * floatfns.c (Ferf):
8726         * floatfns.c (Ferfc):
8727         * floatfns.c (Flog_gamma):
8728         * floatfns.c (Fexp):
8729         * floatfns.c (Fexpt):
8730         * floatfns.c (Flog):
8731         * floatfns.c (Flog10):
8732         * floatfns.c (Fsqrt):
8733         * floatfns.c (Fcube_root):
8734         * floatfns.c (Facosh):
8735         * floatfns.c (Fasinh):
8736         * floatfns.c (Fatanh):
8737         * floatfns.c (Fcosh):
8738         * floatfns.c (Fsinh):
8739         * floatfns.c (Ftanh):
8740         * floatfns.c (Fabs):
8741         * floatfns.c (Ffloat):
8742         * floatfns.c (Flogb):
8743         * floatfns.c (Fceiling):
8744         * floatfns.c (Ffloor):
8745         * floatfns.c (Fround):
8746         * floatfns.c (Ftruncate):
8747         * floatfns.c (Ffceiling):
8748         * floatfns.c (Fffloor):
8749         * floatfns.c (Ffround):
8750         * floatfns.c (Fftruncate):
8751         * fns.c (Fstring_equal):
8752         * fns.c (Fstring_lessp):
8753         * fns.c (concat2):
8754         * fns.c (concat3):
8755         * fns.c (vconcat2):
8756         * fns.c (vconcat3):
8757         * fns.c (Fsubstring):
8758         * fns.c (Fassoc):
8759         * fns.c (Fold_assoc):
8760         * fns.c (assoc_no_quit):
8761         * fns.c (Fassq):
8762         * fns.c (Fold_assq):
8763         * fns.c (assq_no_quit):
8764         * fns.c (Frassoc):
8765         * fns.c (Fold_rassoc):
8766         * fns.c (Frassq):
8767         * fns.c (Fold_rassq):
8768         * fns.c (rassq_no_quit):
8769         * fns.c (Fremassoc):
8770         * fns.c (remassoc_no_quit):
8771         * fns.c (Fremassq):
8772         * fns.c (remassq_no_quit):
8773         * fns.c (Fremrassoc):
8774         * fns.c (Fremrassq):
8775         * fns.c (remrassq_no_quit):
8776         * fns.c (Fsort):
8777         * fns.c (Fplist_get):
8778         * fns.c (Fplist_put):
8779         * fns.c (Fplist_remprop):
8780         * fns.c (Fplist_member):
8781         * fns.c (Flax_plist_get):
8782         * fns.c (Flax_plist_put):
8783         * fns.c (Flax_plist_remprop):
8784         * fns.c (Flax_plist_member):
8785         * fns.c (Fequal):
8786         * fns.c (Fold_equal):
8787         * fns.c (Frequire):
8788         * fns.c (Fbase64_encode_region):
8789         * fns.c (Fbase64_encode_string):
8790         * fns.c (Fbase64_decode_region):
8791         * frame.c:
8792         * frame.c (frame_matches_frame_spec):
8793         * frame.c (device_matches_device_spec):
8794         * frame.c (next_frame):
8795         * frame.c (previous_frame):
8796         * frame.c (Fnext_frame):
8797         * frame.c (Fprevious_frame):
8798         * frame.c (Fframe_property):
8799         * frame.c (Fset_frame_height):
8800         * frame.c (Fset_frame_size):
8801         * frame.h:
8802         * glyphs.c:
8803         * glyphs.c (if):
8804         * glyphs.c (decode_error_behavior_flag):
8805         * glyphs.c (Fmake_image_instance):
8806         * indent.c (Findent_to):
8807         * intl.c (Fignore_defer_gettext):
8808         * keymap.c (Fkeymapp):
8809         * keymap.c (Flookup_key):
8810         * lread.c:
8811         * lread.c (Fload_internal):
8812         * lread.c (Feval_buffer):
8813         * lread.c (Feval_region):
8814         * macros.c (Fexecute_kbd_macro):
8815         * marker.c (set_marker_internal):
8816         * marker.c (Fset_marker):
8817         * marker.c (set_marker_restricted):
8818         * marker.c (Fcopy_marker):
8819         * marker.c (noseeum_copy_marker):
8820         * menubar.c:
8821         * menubar.c (Fpopup_menu):
8822         * minibuf.c:
8823         * mule-charset.c (Fcharset_name):
8824         * mule-charset.c (Fchar_charset):
8825         * mule-charset.c (Fchar_octet):
8826         * mule-charset.c (Fsplit_char):
8827         * mule-wnnfns.c (Fwnn_open):
8828         * mule-wnnfns.c (Fwnn_dict_comment):
8829         * mule-wnnfns.c (Fwnn_quit_henkan):
8830         * mule-wnnfns.c (Fwnn_word_toroku):
8831         * mule-wnnfns.c (Fwnn_word_sakujo):
8832         * mule-wnnfns.c (Fwnn_word_use):
8833         * mule-wnnfns.c (Fwnn_hindo_set):
8834         * objects.c:
8835         * objects.c (Fmake_color_instance):
8836         * objects.c (Fmake_font_instance):
8837         * print.c (Fwrite_char):
8838         * process.c:
8839         * process.c (mark_process):
8840         * process.c (print_process):
8841         * process.c (get_process_from_usid):
8842         * process.c (Fprocessp):
8843         * process.c (Fprocess_live_p):
8844         * process.c (Fget_process):
8845         * process.c (Fget_buffer_process):
8846         * process.c (get_process):
8847         * process.c (Fprocess_id):
8848         * process.c (Fprocess_name):
8849         * process.c (Fprocess_command):
8850         * process.c (init_process_io_handles):
8851         * process.c (start_process_unwind):
8852         * process.c (Fstart_process_internal):
8853         * process.c (Fopen_multicast_group_internal):
8854         * process.c (Fset_process_window_size):
8855         * process.c (read_process_output):
8856         * process.c (send_process):
8857         * process.c (Fprocess_tty_name):
8858         * process.c (Fset_process_buffer):
8859         * process.c (Fprocess_buffer):
8860         * process.c (Fprocess_mark):
8861         * process.c (set_process_filter):
8862         * process.c (Fset_process_filter):
8863         * process.c (Fprocess_filter):
8864         * process.c (Fprocess_send_region):
8865         * process.c (Fprocess_send_string):
8866         * process.c (exec_sentinel):
8867         * process.c (Fset_process_sentinel):
8868         * process.c (Fprocess_sentinel):
8869         * process.c (status_notify):
8870         * process.c (Fprocess_status):
8871         * process.c (Fprocess_exit_status):
8872         * process.c (process_send_signal):
8873         * process.c (Fprocess_send_eof):
8874         * process.c (deactivate_process):
8875         * process.c (remove_process):
8876         * process.c (Fdelete_process):
8877         * process.c (kill_buffer_processes):
8878         * process.c (Fprocess_kill_without_query):
8879         * process.c (Fprocess_kill_without_query_p):
8880         * rangetab.c:
8881         * rangetab.c (Fget_range_table):
8882         * rangetab.c (Fput_range_table):
8883         * rangetab.c (Fremove_range_table):
8884         * rangetab.c (Fclear_range_table):
8885         * search.c:
8886         * search.c (Fskip_chars_forward):
8887         * search.c (Fskip_chars_backward):
8888         * search.c (Fskip_syntax_forward):
8889         * search.c (Fskip_syntax_backward):
8890         * search.c (search_command):
8891         * search.c (Freplace_match):
8892         * search.c (Fregexp_quote):
8893         * select.c (Fown_selection_internal):
8894         * select.c (Fselection_owner_p):
8895         * select.c (Fselection_exists_p):
8896         * select.c (Fget_selection_internal):
8897         * specifier.c:
8898         * symbols.c:
8899         * symbols.c (Fintern):
8900         * symbols.c (Fintern_soft):
8901         * symbols.c (Funintern):
8902         * symbols.c (Fapropos_internal):
8903         * symbols.c (Fset_default):
8904         * syntax.c:
8905         * syntax.c (Fsyntax_table_p):
8906         * syntax.c (Fcopy_syntax_table):
8907         * syntax.c (Fset_syntax_table):
8908         * syntax.c (Fchar_syntax):
8909         * syntax.c (syntax_match):
8910         * syntax.c (Fmatching_paren):
8911         * syntax.c (Fforward_word):
8912         * syntax.c (scan_lists):
8913         * syntax.c (Fscan_lists):
8914         * syntax.c (Fscan_sexps):
8915         * syntax.c (Fparse_partial_sexp):
8916         * toolbar.c (Fcheck_toolbar_button_syntax):
8917         * tooltalk.doc:
8918         * window.c:
8919         * window.c (Fwindowp):
8920         * window.c (Fwindow_live_p):
8921         * window.c (Fwindow_point):
8922         * window.c (Fdelete_window):
8923         * window.c (Fnext_window):
8924         * window.c (Fprevious_window):
8925         * window.c (Fother_window):
8926         * window.c (window_loop):
8927         * window.c (Fget_lru_window):
8928         * window.c (Fsplit_window):
8929         * window.c (Fenlarge_window):
8930         * window.c (Fenlarge_window_pixels):
8931         * window.c (Fshrink_window):
8932         * window.c (Fshrink_window_pixels):
8933         * window.c (change_window_height):
8934         * window.c (Fwindow_configuration_p):
8935         * window.c (Fcurrent_window_configuration):
8936         * window.h:
8937         * casefiddle.c (casify_object):
8938         * casefiddle.c (Fupcase):
8939         * casefiddle.c (Fdowncase):
8940         * casefiddle.c (Fcapitalize):
8941         * casefiddle.c (Fupcase_initials):
8942         * casefiddle.c (casify_region_internal):
8943         * casefiddle.c (casify_region):
8944         * casefiddle.c (Fupcase_region):
8945         * casefiddle.c (Fdowncase_region):
8946         * casefiddle.c (Fcapitalize_region):
8947         * casefiddle.c (Fupcase_initials_region):
8948         * casefiddle.c (Fupcase_word):
8949         * casefiddle.c (Fdowncase_word):
8950         * casefiddle.c (Fcapitalize_word):
8951         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8952         Replace 0 with '\0' when working with bytes.
8953         Replace initial "(" with "\(" in docstrings.
8954
8955 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8956
8957         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8958
8959         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8960
8961 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8962
8963         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8964
8965 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8966
8967         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8968         correctly.
8969
8970 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8971
8972         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8973         (inhibit_auto_save_session): New variable.
8974         (vars_of_fileio): Declare and initialize them.
8975         * fileio.c (Fdo_auto_save): Don't create session file if
8976         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8977
8978 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8979
8980         * sgiplay.c (play_internal): C++ compilability.
8981         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8982         * callproc.c (Fold_call_process_internal):
8983         Remove unused vars `env', `first'.
8984         * scrollbar.c (update_scrollbar_instance):
8985         #### unused var `current_window'.
8986         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8987         etc. within #ifdef NOT_YET.
8988         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8989         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8990         * specifier.c (specifier_instance):
8991         #### unused var `tag'.
8992         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8993
8994 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8995
8996         * fns.c (Fbutlast):
8997         * fns.c (list_sort):
8998         * fns.c (Ffillarray):
8999         * fns.c (bytecode_nconc2):
9000         * fns.c (Fnconc):
9001         * fns.c (mapcar1):
9002         * fns.c (Fmapconcat):
9003         Be pedantically 64-bit correct.  For the time when someone will
9004         want to have a list with length > 2**32.
9005
9006         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9007         Work around MIPSpro compiler bug.
9008
9009         * process-unix.c (unix_kill_child_process): Add snarky comment.
9010         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9011
9012         * config.h.in: Oops, _getpt ==> _getpty
9013
9014 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9015
9016         * config.h.in:
9017         * regex.c:
9018         Use void*, not char*, as return type of alloca().
9019
9020         * alloc.c (free_marker): Side effect inside assert expression!
9021
9022 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9023
9024         * mule-charset.c (Fset_charset_ccl_program): To check
9025         if the given ccl program is valid, use setup_ccl_program()
9026         instead of CHECK_VECTOR().
9027         (Fmake_charset): Likewise.
9028
9029 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9030
9031         * faces.c (get_extent_fragment_face_cache_index):
9032         Fix cachel.merged_faces memory leak.
9033
9034 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9035
9036         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9037         Reset MSB of octets obtained by DECODE_SJIS
9038         because of the incompatibility with Emacs.
9039         (ccl_driver)<CCL_ENCODE_SJIS>:
9040         Set MSB of octets before passing them to
9041         ENCODE_SJIS because of the incompatibility
9042         with Emacs.
9043
9044 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9045
9046         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9047         (DECLARE_LRECORD): Undo the last change.
9048         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9049
9050 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9051
9052         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9053         the implementation to lrecord_implementations_table.
9054
9055 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9056
9057         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9058         initial value of `lrecord_type_##c_name' and
9059         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9060         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9061         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9062         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9063         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9064
9065 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9066
9067         * miscplay.c (sndcnv8S_2mono):
9068         (sndcnv2monounsigned):
9069         (sndcnvULaw_2linear):
9070         (sndcnv16swap):
9071         Remove implementation-defined behavior.
9072
9073 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9074
9075         * input-method-xlib.c: Warning suppression.
9076
9077 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9078
9079         * mule-ccl.c: Sync up with Emacs 21.0.90.
9080         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9081         Do nothing.
9082         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9083         Likewise.
9084         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9085         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9086         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9087         leading char belongs to official 2-dimensional charset.
9088         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9089         write the given character as is.  Otherwise,
9090         if it is a multibyte char, convert it by
9091         non_ascii_set_charptr_emchar, then write it.
9092         (CCL_WRITE_STRING): Likewise.
9093         (ccl_get_compiled_code): New function.
9094         (setup_ccl_program): When ccl_prog is invalid,
9095         return -1.
9096         (Fregister_code_conversion_map): New function.
9097         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9098
9099         * mule-ccl.h: Sync up with Emacs 21.0.90.
9100         (Fregister_ccl_program): export it.
9101
9102         * redisplay-msw.c (separate_textual_runs):
9103         If ccl program is not valid, don't do ccl conversion.
9104
9105         * redisplay-x.c (separate_textual_runs): Ditto.
9106
9107         * file-coding.c (Fmake_coding_system):
9108         When type is ccl and value is vector, register it
9109         with a proper symbol.  And checks whether the
9110         given ccl program is valid.
9111         (mule_decode): When calling ccl_driver, if src indicates
9112         NULL pointer, set an empty string instead.
9113         (mule_encode): Likewise.
9114
9115 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9116
9117         The following large batch of changes gets us back to a state of
9118         C++ compilability.  Extbyte is now a char, which means that
9119         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9120
9121         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9122
9123         * sound.c (Fplay_sound): Type correctness.
9124
9125         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9126         (x_get_window_property): Type correctness.
9127         (receive_incremental_selection): unsigned char ==> Extbyte
9128         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9129         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9130         (Fx_store_cutbuffer_internal): Type correctness.
9131
9132         * process-unix.c (try_to_initialize_subtty): Type correctness.
9133
9134         * objects-x.c (x_print_color_instance): Type correctness.
9135         (x_print_font_instance): Type correctness.
9136         (x_list_fonts): SExtbyte ==> Extbyte.
9137         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9138         (x_find_charset_font): SExtbyte ==> Extbyte.
9139         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9140         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9141         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9142         Use bufbyte_strcmp.
9143
9144         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9145         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9146         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9147         (BYTE_C0_P): Use bit ops for char-signedness safety.
9148         (BYTE_C1_P): Use bit ops for char-signedness safety.
9149         (CHARSET_BY_LEADING_BYTE):
9150         (CHARSET_BY_ATTRIBUTES):
9151         Always use inline function.
9152         Use type_checking_assert.
9153         Hide chlook.
9154
9155         * mule-charset.c (non_ascii_charptr_copy_char):
9156         Modify to work with both ASCII and non-ASCII characters.
9157         Improve docs and variable names.
9158         Replace over-clever fall-through switch with a simple loop.
9159         (Lstream_get_emchar_1):
9160         Replace over-clever fall-through switch with a simple loop.
9161
9162         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9163         Warning suppression.
9164
9165         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9166         the return value of Lstream_getc, which could be EOF as well.
9167
9168         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9169
9170         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9171         APIs can be used on Extbytes without casts.  Risky!
9172         (SExtbyte): Remove.
9173         (UExtbyte): Remove.
9174
9175         * input-method-xlib.c (XIM_init_device):
9176         Use Xlib.h instead of IntrinsicP.h.
9177         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9178         which will break in X11R7.
9179         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9180         to call XRegisterIMInstantiateCallback with correct types.
9181
9182         * gui-x.c (button_item_to_widget_value): Type correctness.
9183
9184         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9185
9186         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9187         (xbm_instantiate_1): Type correctness.
9188         (BUILD_GLYPH_INST):  Type correctness.
9189
9190         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9191
9192         * file-coding.c:
9193         (decode_coding_sjis):
9194         (decode_coding_big5):
9195         (decode_coding_ucs4):
9196         (decode_coding_utf8):
9197         (decode_coding_iso2022):
9198         (decode_coding_no_conversion):
9199         Make all decoding functions take an Extbyte * arg.
9200         (encode_coding_sjis):
9201         (encode_coding_big5):
9202         (encode_coding_ucs4):
9203         (encode_coding_utf8):
9204         (encode_coding_iso2022):
9205         (encode_coding_no_conversion):
9206         Make all encoding functions take a Bufbyte * arg.
9207         Use size_t instead of unsigned int for memory sizes.
9208         Only cast to unsigned char whenever dereferencing Extbyte *.
9209
9210         * doc.c (unparesseuxify_doc_string): Type correctness.
9211
9212         * console-x.c (split_up_display_spec):
9213         Rewrite without using details of internal string representation.
9214         (x_semi_canonicalize_device_connection): Type correctness.
9215
9216         * config.h.in:
9217         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9218         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9219         (HAVE_XFREE386): Removed.
9220
9221         * buffer.h (DEC_CHARPTR): `const' correctness.
9222         (bufbyte_strcmp): New.
9223         (bufbyte_memcmp): New.
9224
9225         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9226
9227         * buffer.h (XCHAR_OR_CHAR_INT):
9228         Always use inline function.
9229         Remove redundant type checking assert() - XINT will abort quite nicely.
9230
9231 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9232
9233         * search.c (Freplace_match): Set newtext to an empty string.
9234
9235 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9236
9237         * s/decosf1-3.h: Remove #include of stropts.h
9238         * s/ptx.h: Remove #include of stropts.h
9239         * s/usg5-4.h: Remove #include of stropts.h
9240         * sysproc.h:
9241         * config.h.in:
9242         Use stropts.h, not sys/stropts.h.
9243         Use strtio.h, not sys/strtio.h.
9244
9245 2000-10-04  Martin Buchholz <martin@xemacs.org>
9246
9247         * XEmacs 21.2.36 is released.
9248
9249 2000-09-21  Andy Piper  <andy@xemacs.org>
9250
9251         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9252         changes still involve copying the widget tree.
9253         (update_widget_face): make sure a change is register in the widget
9254         tree. Call update_tab_widget_face appropriately.
9255         (update_tab_widget_face): ditto.
9256         (x_tab_control_redisplay): make sure non-structural changes still
9257         involve copying the widget tree.
9258
9259 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9260
9261         * lread.c (locate_file): Check the path element is non-nil.
9262
9263 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9264
9265         * lisp.h: Warning suppression for SCO compilers.
9266
9267         * redisplay-tty.c (reset_tty_modes): Fix crash.
9268         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9269
9270 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9271
9272         Big signal/process handling overhaul.  Bugs fixed:
9273         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9274         M-x comint-kill-subjob should work for both values nil and t of
9275         process-connection-type. It was broken on most platforms.
9276         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9277         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9278         * process-unix.c: Signal/Process handling overhaul.
9279         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9280         (allocate_pty): Use all available modern methods of allocating
9281         ptys, falling back to old style BSD allocation as a last resort.
9282         Use allegedly more secure Unix98 pty allocation by default.
9283         (allocate_pty_the_old_fashioned_way): New. the last resort.
9284         (unix_create_process): Push ptem, ldterm, ttcompat where
9285         available.  Autoconfiscate.
9286         (try_to_initialize_subtty): New.
9287         (unix_kill_child_process): Proper signal handling for ptys on most
9288         platforms, using special knowledge of AIX, BSD, etc...
9289         (unix_create_process): Always disconnect_controlling_terminal() for
9290         subprocesses, whether using ptys or not.
9291         * process.h: Remove old getpt-dependent PTY code.
9292         * process.c (Fprocess_send_signal): New, obvious generic function.
9293         (decode_signal): New.
9294         (Finterrupt_process):
9295         (Fkill_process):
9296         (Fquit_process):
9297         (Fstop_process):
9298         (Fcontinue_process):
9299         (Fsignal_process): Use decode_signal.
9300         (process_send_signal):
9301         Many docstring corrections.
9302         Allow any signal to be sent to a process object.
9303         * config.h.in: Add symbols for big signal/process overhaul.
9304         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9305         * sysproc.h: Include process-related headers, where available:
9306         sys/stropts.h sys/strtio.h pty.h libutil.h
9307         * s/irix4-0.h:
9308         * s/irix5-0.h:
9309         * s/cygwin32.h:
9310         * s/gnu.h:
9311         * s/linux.h:
9312         * s/hpux.h:
9313         * s/aix3-1.h:
9314         Remove old S&M pty stuff.
9315         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9316         * systty.h: Simplify cpp hackery, improve comments.
9317         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9318
9319         * editfns.c (Fformat_time_string):
9320         Be a little more paranoid with the return value of ctime.
9321
9322         * fileio.c (check_executable):
9323         (check_writable):
9324         Use symbolic constants X_OK, W_OK.
9325
9326         * console-x.c (split_up_display_spec): Fix a warning.
9327
9328 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9329
9330         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9331         * ntproc.c (sys_spawnve): make_string ==> build_string
9332         Small clarity improvements.
9333
9334 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9335
9336         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9337
9338         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9339
9340         * config.h.in (HAVE_STRCASECMP): Remove.
9341
9342 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9343
9344         * redisplay-output.c (redisplay_output_pixmap):
9345         Cleaner and possibly more 64-bit correct code.
9346
9347 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9348
9349         * dumper.c (pdump_load_finish): move restoration of
9350         `noninteractive1' to emacs.c (main_1).
9351         * emacs.c (main_1): protect LISP-visible command-line flags
9352         from pdump_load().
9353
9354 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9355
9356         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9357         DUMP_TARGET instead of literal program names.
9358
9359 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9360
9361         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9362
9363 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9364
9365         * *: Spelling mega-patch
9366
9367 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9368
9369         * fns.c (bad_bad_turtle):
9370         Delete "Eek!" comment, since we fixed the bug to which it refers.
9371
9372 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9373
9374         * alloca.c: Replace REGISTER with register.
9375
9376 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9377
9378         * file-coding.c (ucs_to_char): Use countof.
9379
9380 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9381
9382         * file-coding.c: (ucs_to_char):
9383         (complex_vars_of_file_coding):
9384         Use countof instead of sizeof.
9385         Use CHECK_NATNUM instead of CHECK_INT.
9386
9387         * sysdep.c (strcasecmp): Remove.
9388         * device-x.c (ascii_strcasecmp): New.
9389         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9390         Avoid using non-standard non-portable strcasecmp.
9391
9392 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9393
9394         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9395         * font-lock.c: remove reference to emacsfns.h.
9396         * search.c: small doc improvement.
9397         * event-Xt.c: correct file names in comments.
9398         * console-x.h Correct file names in comments.
9399         * frame.c: Correct file names in comments.
9400         * event-stream.c: remove Energize from comments.
9401
9402 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9403
9404         * symeval.h (DEFERROR_STANDARD):
9405         (DEFERROR):
9406         (DEFSYMBOL):
9407         (DEFSYMBOL_NO_DUMP):
9408         (DEFSYMBOL_MULTIWORD_PREDICATE):
9409         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9410         (DEFKEYWORD):
9411         The construct &##name is not sensible C.
9412         Fixes compilation errors with Unixware native compiler.
9413
9414 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9415
9416         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9417         (next_frame_internal): Removed.  We now just have next_frame.
9418         (next_frame):
9419         Write a simpler and cleaner one-pass algorithm.
9420         Remove called_from_delete_device arg and #ifdefed-out code.
9421         (previous_frame):
9422         Renamed from prev_frame.  Update callers.
9423         Cleaned up to have an analogous implementation to next_frame.
9424         (other_visible_frames_internal): Remove the
9425         called_from_delete_device bogus arg, and hence, remove this
9426         function.  Just use other_visible_frames().
9427
9428         * window.c (Fnext_window):
9429         Prettify docstring.
9430         Since next_frame() is guaranteed to return a frame, remove check
9431         for nil inserted in previous patch.
9432         (Fprevious_window):
9433         Prettify docstring.
9434         Make code look more like Fnext_window.
9435         (window_loop):
9436         Respect the `console' arg when iterating through windows.
9437         Fixes bug: (get-buffer-window buffer t device) not respecting
9438         the `device' arg.
9439         This function needs more work, as others have pointed out.
9440
9441         * frame.h: Rename prev_frame to previous_frame.
9442         device_matches_console_spec no longer takes a `frame' arg.
9443
9444         * s/gnu.h:
9445         * s/linux.h:
9446         * s/hpux.h:
9447         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9448         From "Golubev I. N." <gin@mo.msk.ru>.
9449
9450         * make-src-depend: Fix typo.
9451
9452 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9453
9454         * window.c (Fnext_window):
9455         next_frame() might return nil, not a frame.
9456         Fixes this crash:
9457         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9458
9459         * frame.c (next_frame_internal):
9460         We've passed a frame if we've passed its device.
9461         Fixes this crash:
9462         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9463 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9464
9465 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9466
9467         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9468         Allow option to suppress accelerators in menu/dialog items.
9469         (populate_or_checksum_helper): Pass dialog title through above.
9470
9471 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9472
9473         * event-msw.c (mswindows_key_to_emacs_keysym):
9474         Add "pause" key, fix "menu" key.
9475
9476 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9477
9478         * eval.c (reinit_vars_of_eval):
9479         Increase max_lisp_eval_depth to 1000,
9480         required for thai-xtis.el to byte-compile under some circumstances.
9481
9482 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9483
9484         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9485         From Kenichi Handa.
9486
9487 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9488
9489         * make-src-depend: Make the generated Makefiles smaller.
9490
9491         * s/hpux.h (SETUP_SLAVE_PTY):
9492         Provide a %d in the format string for the errno argument.
9493
9494         * editfns.c (Ftemp_directory):
9495         Warning fix.
9496         Avoid buffer overrun on very long file name.
9497
9498         * input-method-xlib.c (XIM_init_device):
9499         6th parameter of XRegisterIMInstantiateCallback has different
9500         pointer types on different OSes, so simply cast to (void *).
9501
9502         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9503
9504         * sysdll.c (dll_open):
9505         shl_load will hang hard if passed a NULL filename.
9506         Simply return NULL for compatibility with dlopen.
9507         * sysdll.c: Conform to XEmacs coding standards.
9508
9509         * sysdep.c (get_pty_max_bytes):
9510         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9511
9512 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9513
9514         * tooltalk.c: Add #include <syssignal.h>
9515
9516 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9517
9518         * s/hpux.h: Don't use undefined function sigunblock().
9519
9520 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9521
9522         * config.h.in: Add HAVE_BALLOON_HELP.
9523         * emacs.c: Use HAVE_BALLOON_HELP.
9524         * Makefile.in.in (x_objs):
9525         Make Balloon Help conditional on finding shape.h.
9526
9527 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9528
9529         * syntax.c (regex_emacs_buffer_p): New variable.
9530         * syntax.h (regex_emacs_buffer_p): extern.
9531         * search.c (looking_at_1):
9532         (string_match_1):
9533         (fast_string_match):
9534         (search_buffer): Set regex_emacs_buffer_p.
9535         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9536         when before_dot, at_dot, after_dot.
9537
9538 2000-08-23  Andy Piper  <andy@xemacs.org>
9539
9540         * gui-x.c (popup_selection_callback): Only set action_occurred
9541         when we really have an image instance.
9542         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9543
9544 2000-08-23  Andy Piper  <andy@xemacs.org>
9545
9546         * gui-msw.c (mswindows_handle_gui_wm_command): set
9547         action_occurred.
9548         * gui-x.c (popup_selection_callback): ditto.
9549
9550         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9551         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9552         (struct Lisp_Image_Instance): add action_occurred flag.
9553
9554         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9555         (image_instance_changed): ditto.
9556         (reset_frame_subwindow_instance_cache): only unmap windows - do
9557         not remove them from the cache also.
9558
9559         * glyphs-widget.c (tab_control_update): better debug.
9560         (progress_gauge_update): ditto.
9561         (layout_update): ditto.
9562         (layout_instantiate): ditto.
9563         (tab_control_order_only_changed): cope with null pending items.
9564
9565         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9566         debug. Force selection of an item when an action occurred. Cope
9567         with null pending_items.
9568         (mswindows_progress_gauge_redisplay): better debug.
9569         * glyphs-x.c (x_tab_control_redisplay): ditto.
9570
9571         * redisplay.c (redisplay_frame): reset the frame cache if the
9572         frame is garbaged.
9573
9574         * window.c (Fset_window_configuration): potentially re-enable
9575         frame cache reset.
9576         (window_unmap_subwindows): need to finalize instances here since
9577         it is only used in mark_window_as_deleted.
9578
9579 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9580
9581         * nas.c (SndOpenDataForReading):
9582         nas.c (WaveOpenDataForReading):
9583         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9584         Somehow escaped from the 2000-08-14 patch.
9585
9586 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9587
9588         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9589         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9590
9591 2000-08-21  Andy Piper  <andy@xemacs.org>
9592
9593         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9594         window if it is not already displayed.
9595
9596         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9597         it is not already displayed.
9598
9599         * window.c (Fset_window_configuration): don't reset the frame
9600         cache.
9601
9602         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9603         instances from the frame cache if we are actually finalizing them.
9604         (reset_frame_subwindow_instance_cache): reset frame cache only
9605         after unmapping everything.
9606         (map_subwindow): set displayed flag after mapping.
9607
9608 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9609
9610         * data.c (indirect_function):
9611         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9612
9613         * eval.c (function_argcount):
9614         Use original function when signaling errors.
9615
9616 2000-08-18  Andy Piper  <andy@xemacs.org>
9617
9618         * frame.c (delete_frame_internal): use new
9619         free_frame_subwindow_instances name.
9620
9621         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9622         (add_tab_item): make return type correct.
9623         (mswindows_tab_control_instantiate): assert index of tab.
9624         (mswindows_tab_control_redisplay): Re-code to use
9625         gui_item_equal_sans_selected and gui_item_list_find_selected.
9626
9627         * glyphs-widget.c (tab_control_update): Correct comment.
9628
9629         * window.c (window_unmap_subwindows): use new
9630         unmap_subwindow_instance_cache_mapper.
9631         (window_unmap_subwindows_cache_mapper): deleted.
9632         (Fset_window_configuration): comparisons should now be with
9633         EQ. Preserve the subwindow instance cache across configuration
9634         changes.
9635         (allocate_window): ditto.
9636         (make_dummy_parent): ditto.
9637
9638         * glyphs.c (free_frame_subwindow_instances): rename from
9639         free_frame_subwindow_instance_cache. finalize all instances rather
9640         than just those in the display cache.
9641         (finalize_all_subwindow_instances): walk windows unmapping and
9642         finalizing subwindows.
9643         (unmap_subwindow_instance_cache_mapper): moved from
9644         window.c. Allow finalization as well as unmapping.
9645
9646         * gui.c (gui_item_list_find_selected): new function.
9647
9648         * gui.h (gui_item_list_find_selected): declare.
9649
9650         * glyphs-x.c (x_tab_control_redisplay): pick tab
9651         explicitly. Re-code to use gui_item_equal_sans_selected and
9652         gui_item_list_find_selected.
9653
9654         * glyphs-x.h: add lwlib-utils.h
9655
9656         * buffer.c (Frecord_buffer): undo previous change.
9657
9658 2000-08-09  Vin Shelton  <acs@xemacs.org>
9659
9660         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9661         possible.  Create temporary files more securely.  The patch was
9662         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9663         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9664         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9665         for details.
9666
9667 2000-08-07  Ben Wing  <ben@xemacs.org>
9668
9669         * getloadavg.c: remove duplicate (and windows-breaking)
9670         includes of fcntl.h and sys/file.h.
9671
9672         * nt.c: remove duplicate getloadavg() definition.
9673
9674         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9675         encodings.
9676
9677 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9678
9679         * eval.c (function_argcount): If function needs to be autoloaded
9680         actually use the loaded definition.
9681         GCPRO function.
9682
9683 2000-08-05  Ben Wing  <ben@xemacs.org>
9684
9685         * getloadavg.c: add prototype for getloadavg().  remove
9686         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9687         of the code).  remove duplicate header includes.
9688
9689         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9690
9691         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9692         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9693         useful load average.
9694
9695         * alloc.c (reinit_alloc_once_early): removed references to
9696         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9697         the lisp vars are the only things referencing the malloc_sbrk_*
9698         vars, and they were already if 0'd out.  these vars only exist
9699         in the older malloc.c, which is basically unused, and they're
9700         only for informational purposes.
9701
9702         * m\*.h: removed useless VIRT_ADDR_VARIES.
9703
9704         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9705
9706 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9707
9708         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9709         color if the image is a mono pixmap.
9710
9711 2000-07-30  Ben Wing  <ben@xemacs.org>
9712
9713         * Makefile.in.in (release):
9714         Remove stray @.
9715
9716         * buffer.c (directory_is_current_directory):
9717         * dired-msw.c (mswindows_get_files):
9718         * dired.c:
9719         * dired.c (Fdirectory_files):
9720         * dired.c (file_name_completion_stat):
9721         * dired.c (Ffile_attributes):
9722         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9723         preprocessor tricks, to avoid problems on some machines
9724         (e.g. SCO).
9725
9726         * callproc.c (egetenv): GC docs.
9727
9728         * console-msw.h:
9729         * console-msw.h (struct mswindows_dialog_id):
9730         * lrecord.h (lrecord_type):
9731         New object for use with MSW dialogs.
9732
9733         * console.h (struct console_methods):
9734         New enable/disable frame methods, for proper modal dialogs.
9735
9736         * device-msw.c (msprinter_default_printer): Fix to follow
9737         proper Mule conventions.
9738
9739         * device-msw.c:
9740         * device-msw.c (signal_open_printer_error):
9741         * device-msw.c (msprinter_init_device):
9742         * device-msw.c (ensure_not_printing):
9743         * device-msw.c (plist_get_margin):
9744         * device-msw.c (Fmsprinter_select_settings):
9745         * device-msw.c (finalize_devmode):
9746         * device-msw.c (Fmsprinter_settings_despecialize):
9747         * device-msw.c (signal_enum_priner_error):
9748         * extents.c (decode_extent):
9749         * extents.c (decode_map_extents_flags):
9750         * extents.c (decode_extent_at_flag):
9751         * extents.c (Fextent_at):
9752         * extents.c (Fextents_at):
9753         * extents.c (symbol_to_glyph_layout):
9754         [[[[2]]]] Use structured errors.
9755
9756         * dialog-msw.c:
9757         * dialog-msw.c (mswindows_is_dialog_msg):
9758         * dialog-msw.c (mark_mswindows_dialog_id):
9759         * dialog-msw.c (dialog_proc):
9760         * dialog-msw.c (handle_question_dialog_box):
9761         * dialog-msw.c (syms_of_dialog_mswindows):
9762         Define new object to clean up marking; use it as a dialog identifier.
9763         Call new delete-dialog-box-hook.
9764
9765         * dialog-x.c (dbox_selection_callback):
9766         * dialog-x.c (dbox_descriptor_to_widget_value):
9767         * dialog-x.c (x_make_dialog_box_internal):
9768         Call new delete-dialog-box-hook.
9769         Return an id.
9770
9771         * dialog.c:
9772         * dialog.c (syms_of_dialog):
9773         * dialog.c (vars_of_dialog):
9774         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9775
9776         * eval.c:
9777         * eval.c (signal_call_debugger):
9778         when noninteractive, output stack traces on the console instead
9779         of in a (never-seen) buffer.
9780
9781         * eval.c (signal_type_error):
9782         * eval.c (invalid_argument_2):
9783         * lisp.h:
9784         new funs for use w/structured errors.
9785
9786         * event-Xt.c:
9787         * event-Xt.c (x_to_emacs_keysym):
9788         * event-Xt.c (describe_event):
9789         * event-Xt.c (emacs_Xt_event_handler):
9790         * event-Xt.c (vars_of_event_Xt):
9791         * event-msw.c:
9792         * event-msw.c (mswindows_wnd_proc):
9793         * event-msw.c (vars_of_event_mswindows):
9794         rename {x,mswindows}-debug-events to debug-{}-events for
9795         consistency with other debug-foo variables.
9796
9797         * event-stream.c:
9798         document next-event more clearly.
9799
9800         * fileio.c (Ffile_name_directory):
9801         * fileio.c (Ffile_name_nondirectory):
9802         * fileio.c (Funhandled_file_name_directory):
9803         * fileio.c (file_name_as_directory):
9804         * fileio.c (Ffile_name_as_directory):
9805         * fileio.c (directory_file_name):
9806         * fileio.c (Fdirectory_file_name):
9807         * fileio.c (Fmake_temp_name):
9808         * fileio.c (Ffile_truename):
9809         * fileio.c (Fsubstitute_in_file_name):
9810         * fileio.c (expand_and_dir_to_file):
9811         * fileio.c (barf_or_query_if_file_exists):
9812         * fileio.c (check_executable):
9813         * fileio.c (Ffile_exists_p):
9814         * fileio.c (Ffile_writable_p):
9815         * fileio.c (Ffile_directory_p):
9816         * fileio.c (Ffile_regular_p):
9817         * fileio.c (Ffile_modes):
9818         * fileio.c (Ffile_newer_than_file_p):
9819         * fileio.c (Fverify_visited_file_modtime):
9820         * fileio.c (Fset_visited_file_modtime):
9821         * fileio.c (auto_save_1):
9822         (1). (2).
9823         fix up gcpro's.
9824
9825         * frame-msw.c:
9826         * frame-msw.c (mswindows_init_frame_1):
9827         * frame-msw.c (mswindows_enable_frame):
9828         * frame-msw.c (error_frame_unsizable):
9829         * frame-msw.c (msprinter_init_frame_1):
9830         * frame-msw.c (msprinter_init_frame_3):
9831         * frame-msw.c (console_type_create_frame_mswindows):
9832         (2).
9833         implement new enable/disable frame methods.
9834
9835         * frame-x.c:
9836         * frame-x.c (x_enable_frame):
9837         * frame-x.c (console_type_create_frame_x):
9838         implement new enable/disable frame methods.
9839
9840         * frame.c:
9841         * frame.c (Fdisable_frame):
9842         * frame.c (syms_of_frame):
9843         * frame.h (struct frame):
9844         implement new enable/disable frame methods/functions.
9845
9846         * general-slots.h:
9847         add initial-focus.
9848
9849         * glyphs-msw.c (mswindows_widget_instantiate):
9850         comment that initial-focus should be implemented.
9851
9852         * glyphs-widget.c:
9853         * glyphs-widget.c (check_valid_instantiator):
9854         * glyphs-widget.c (check_valid_orientation):
9855         * glyphs-widget.c (check_valid_tab_orientation):
9856         * glyphs-widget.c (check_valid_justification):
9857         * glyphs-widget.c (check_valid_border):
9858         * glyphs-widget.c (check_valid_callback):
9859         * glyphs-widget.c (check_valid_int_or_function):
9860         * glyphs-widget.c (check_valid_string_or_vector):
9861         * glyphs-widget.c (check_valid_item_list_1):
9862         * glyphs-widget.c (widget_validate):
9863         * glyphs-widget.c (combo_box_validate):
9864         * glyphs-widget.c (widget_instantiate):
9865         * glyphs-widget.c (syms_of_glyphs_widget):
9866         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9867         * glyphs-widget.c (image_instantiator_combo_box):
9868         * glyphs-widget.c (image_instantiator_scrollbar):
9869         * glyphs-widget.c (image_instantiator_tab_control):
9870         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9871         (2).
9872         support (unimplemented) keyword initial-focus.
9873         reindent long macros.
9874
9875         * glyphs-x.c (x_redisplay_widget):
9876         * glyphs-x.c (x_button_instantiate):
9877         * glyphs-x.c (x_button_redisplay):
9878         * glyphs-x.c (x_progress_gauge_instantiate):
9879         * glyphs-x.c (x_edit_field_instantiate):
9880         * glyphs-x.c (x_combo_box_instantiate):
9881         * glyphs-x.c (x_tab_control_instantiate):
9882         * glyphs-x.c (x_label_instantiate):
9883         * gui-x.c:
9884         * gui-x.c (button_item_to_widget_value):
9885         * gui-x.c (gui_items_to_widget_values_1):
9886         * gui-x.c (gui_item_children_to_widget_values):
9887         * gui-x.c (gui_items_to_widget_values):
9888         * gui-x.h:
9889         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9890         add new flag to gui-parsing routines to indicate whether
9891         accelerator specs should be supported.
9892
9893         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9894
9895         * glyphs.h (struct Lisp_Image_Instance):
9896         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9897         add initial-focus flag.
9898
9899         * gui.c:
9900         * gui.c (syms_of_gui):
9901         * gui.c (vars_of_gui):
9902         clean up menu-no-selection-hook.
9903
9904         * gui.h:
9905         support delete-dialog-box-hook.
9906
9907         * lread.c (Fload_internal):
9908         * lread.c (locate_file_in_directory_mapper):
9909         (1).
9910
9911         * lrecord.h:
9912         * lrecord.h (struct toolbar_button):
9913         * lrecord.h (syms_of_toolbar):
9914         document how to create a new object.
9915
9916         * menubar-msw.c (mswindows_char_is_accelerator):
9917         may be called on frames w/o menus.
9918
9919         * menubar.c (vars_of_menubar):
9920         clean up :filter docs.
9921
9922         * nt.c (readdir):
9923         * ntproc.c:
9924         (1).
9925
9926         * process-nt.c:
9927         * process-nt.c (validate_signal_number):
9928         * process-nt.c (signal_cannot_launch):
9929         * process-nt.c (nt_create_process):
9930         * process-nt.c (nt_send_process):
9931         * process-nt.c (nt_kill_child_process):
9932         * process-nt.c (nt_open_network_stream):
9933         * process-nt.c (syms_of_process_nt):
9934         (2).
9935         delete quote-handling.  call new lisp code that does it better.
9936
9937         * process-unix.c (connect_to_file_descriptor):
9938         * process-unix.c (allocate_pty):
9939         * process-unix.c (unix_send_process):
9940         * process-unix.c (unix_kill_child_process):
9941         * process-unix.c (unix_open_network_stream):
9942         * process-unix.c (unix_open_multicast_group):
9943         (1). (2).
9944
9945         * process.c:
9946         * process.c (Fstart_process_internal):
9947         (2).  need to canonicalize process path even if absolute.
9948
9949         * select-msw.c (symbol_to_ms_cf):
9950         * select-msw.c (ms_cf_to_symbol):
9951         * select-msw.c (cf_is_autofreed):
9952         * select-msw.c (mswindows_destroy_selection):
9953         * select.c:
9954         * select.c (syms_of_select):
9955         * select.h:
9956         support dibv5, fix bugs. (from Mike Alexander)
9957
9958         * select.c (Fget_selection_internal):
9959         * select.c (select_convert_out):
9960
9961         * sysdep.c:
9962         * sysdep.c (xemacs_stat):
9963         renamed.
9964
9965         * sysdep.c (mkdir):
9966         * sysdep.c (rmdir):
9967         but keep original stat() here because we provide encapsulation
9968         around these funs.
9969
9970         * sysfile.h:
9971         * sysfile.h (fstat):
9972         remove stat garbage.
9973
9974         * syswindows.h:
9975         fix X/MSW conflict.
9976         don't include tchar.h.  it's inappropriate because it makes
9977         compile-time distinctions when we want runtime distinctions.
9978         (we provide our own tchar replacements)
9979
9980         * toolbar.c:
9981         use default object printer for toolbar-button.
9982
9983         * unexcw.c:
9984         make sure we don't encapsulate.
9985
9986         * window.c (vars_of_window):
9987         emphasize that temp-buffer-show-hook is obsolete.
9988
9989 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9990
9991         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9992         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9993
9994         * events.c (Fevent_timestamp_lessp):
9995         Not 64-bit clean.  Use EMACS_INT, not int.
9996
9997 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9998
9999         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10000         unsigned int and changed the last enum to
10001         lrecord_type_last_built_in_type.
10002         (lrecord_implementations_table): changed prototype to know how
10003         long the array is supposed to be.
10004         (lrecord_type_count): new unsigned int to keep track of the
10005         current number of lisp lrecord types.
10006         (DEFINE_EXTERNAL_LRECORD):
10007         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10008         dynamic-modules to declare new lisp types. They are the same
10009         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10010         int for each new type, and increment lrecord_type_count by 1.
10011
10012         * alloc.c (lrecord_implementations_table): Changed to reference
10013         lrecord_type_last_built_in_type for the size of the array.
10014         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10015
10016 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10017
10018         * glyphs.h (check_valid_item_list): Renamed from
10019         check_valid_item_list_1.
10020
10021 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10022
10023         * select.c (Qselect_coerce): New.
10024         * select.c (Vselection_coercion_alist): New.
10025         * select.c (syms_of_select): Declare.
10026         * select.c (get-selection-internal): Use it.
10027         Use the new select-coerce functionality.
10028
10029         * select.c (select_coerce): New.
10030         * select.h (select_coerce): Declare.
10031         New function to coerce one type of data into another.
10032
10033 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10034
10035         * callproc.c (Fcall_process_internal):
10036         (Fcall_process_internal):
10037         * process-unix.c (unix_create_process):
10038         Save and restore the value of errno, so that error messages are accurate.
10039
10040 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10041
10042         * elhash.c (print_hash_table):
10043         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10044         Prettify docstrings and indentation.
10045
10046 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10047
10048         * window.c (Fwindow_pixel_edges): Subtract frame border and
10049         gutter size.
10050
10051 2000-07-31  Andy Piper  <andy@xemacs.org>
10052
10053         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10054         will acknowledge the change.
10055
10056         * glyphs.h: declare tab_control_order_only_changed.
10057
10058         * glyphs-x.c (x_tab_control_redisplay): use
10059         tab_control_order_only_changed.
10060
10061         * glyphs-widget.c (tab_control_order_only_changed): new function.
10062
10063         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10064         tab_control_order_only_changed.
10065
10066         * gui.c (gui_item_equal_sans_selected): new function.
10067         (gui_item_equal): use it.
10068
10069         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10070         :properties in favor of :items..
10071
10072         * glyphs-widget.c (check_valid_item_list): rename from
10073         check_valid_item_list_1.
10074         (check_valid_item_list_1): renamed.
10075         (combo_box_validate): deprecate :properties in favor of :items.
10076         (widget_instantiate): ditto.
10077         (tab_control_update): ditto.
10078         (image_instantiator_combo_box): ditto.
10079         (image_instantiator_tree_view): ditto.
10080         (image_instantiator_tab_control): ditto.
10081         (layout_post_instantiate): remove dead code.
10082
10083         * print.c (debug_print_no_newline): only write to debugger if in
10084         WIN32_NATIVE.
10085
10086         * elhash.c (Fmake_hash_table): update doc string.
10087
10088         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10089         messages whilst in GC. This at least stops XEmacs crashing but has
10090         the potential for wierd behaviour.
10091
10092 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10093
10094         * config.h.in:
10095         Make existence of s&m files optional.
10096
10097         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10098         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10099         * s/gnu.h: Remove HAVE_GETLOADAVG.
10100         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10101         * s/sol2.h: Remove HAVE_GETLOADAVG.
10102         * lisp.h: Remove getloadavg() declaration.
10103         * fns.c:
10104         Include <sys/loadavg.h> if available.
10105         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10106         * config.h.in:  Group together getloadavg()-related macros.
10107         Use only configure-time tests to detect getloadavg().
10108
10109 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10110
10111         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10112
10113 2000-07-25  Andy Piper  <andy@xemacs.org>
10114
10115         * syswindows.h: add tchar.h for native builds.
10116
10117         * frame.c (syms_of_frame): remove set-glyph-image.
10118
10119         * general-slots.h: add Qset_glyph_image.
10120
10121         * glyphs-widget.c (layout_update): add domain arg to
10122         set-glyph-image.
10123         (syms_of_glyphs_widget): remove set-glyph-image.
10124
10125 2000-07-23  Ben Wing  <ben@xemacs.org>
10126
10127         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10128         Vpopup_frame_list.
10129
10130 2000-07-22  Andy Piper  <andy@xemacs.org>
10131
10132         * symsinit.h: add syms_of_win32().
10133
10134         * gui-msw.c (syms_of_gui_mswindows): remove
10135         Fmswindows_shell_execute.
10136         (Fmswindows_shell_execute): moved to win32.c.
10137
10138         * emacs.c (main_1): add syms_of_win32 ().
10139
10140         * win32.c (init_potentially_nonexistent_functions): rewrite in
10141         compiler-friendly terms.
10142         (Fmswindows_shell_execute): move here from gui-msw.c.
10143         (syms_of_win32): new.
10144
10145         * device-msw.c (Fmswindows_printer_list): clean up args to
10146         EnumPrinters.
10147         Don't include tchar under cygwin or mingw.
10148         (msprinter_default_printer): make cygwin-friendly.
10149
10150 2000-07-21  Andy Piper  <andy@xemacs.org>
10151
10152         * glyphs-widget.c (image_instantiator_tree_view): use tab
10153         control's update function.
10154         (layout_property): new function. Retrieve items.
10155
10156         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10157         function. Re-populate the tree view from the pending items.
10158
10159         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10160         is designated the parent if the domain is an image instance. This
10161         is needed so that dirtiness can be cascade up the hierarchy and
10162         thus for layout children to be redisplayed correctly.
10163         (allocate_image_instance): rename glyph -> parent.
10164
10165         * redisplay.h: change redisplay_output_layout signature.
10166
10167         * redisplay-msw.c (mswindows_output_display_block): use domain
10168         arg.
10169
10170         * redisplay-x.c (x_output_display_block): use domain arg.
10171
10172 2000-07-10  Andy Piper  <andy@xemacs.org>
10173
10174         * window.c (Fset_window_configuration): add comment.
10175
10176         * redisplay-output.c (compare_runes):
10177         (redisplay_output_subwindow): redisplay rather than update subwindow.
10178         (redisplay_output_layout): ditto.
10179
10180         * redisplay-msw.c (mswindows_frame_output_end):
10181         (mswindows_frame_output_end): make defer window pos optional.
10182
10183         * lisp.h: add Flast.
10184
10185         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10186         normalize method. Change update method to be for changed
10187         instantiators. Add redisplay method. Change signature of layout
10188         method.
10189         (struct Lisp_Image_Instance): add instantiator.
10190         (IMAGE_INSTANCE_INSTANTIATOR): new.
10191         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10192         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10193         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10194
10195         * glyphs.c:
10196         (find_instantiator_differences): new function.
10197         (Fset_instantiator_property): new convenience function.
10198         (check_image_instance_structure): strictly check for vector
10199         instantiators.
10200         (normalize_image_instantiator): make non-static.
10201         (instantiate_image_instantiator): pass on dest_mask and use new
10202         signatures for image_instance_layout and friends.
10203         (mark_image_instance): mark the instantiator. Mark the subwindow
10204         face not the widget face.
10205         (image_instance_equal): add instantiator.
10206         (image_instance_hash): ditto.
10207         (allocate_image_instance): ditto.
10208         (Fset_image_instance_property): removed.
10209         (Fimage_instance_file_name): ditto.
10210         (Fcolorize_image_instance): ditto.
10211         (image_instance_layout): add offsets to be set.
10212         (update_image_instance): new function. update an image instance
10213         from its changed instantiator.
10214         (inherit_normalize): add dest_mask.
10215         (xbm_normalize): ditto.
10216         (xface_normalize): ditto.
10217         (xpm_normalize): ditto.
10218         (text_update): set_property -> update.
10219         (image_instantiate): use the glyph identity as a hash key, not the
10220         instantiator.
10221         (glyph_width): use new image_instance_layout signature.
10222         (glyph_ascent): ditto.
10223         (glyph_descent): ditto.
10224         (glyph_height): ditto.
10225         (glyph_query_geometry): ressurrect.
10226         (glyph_layout): ditto.
10227         (redisplay_subwindow): update -> redisplay.
10228         (syms_of_glyphs): add Fset_instantiator_property.
10229         (image_instantiator_format_create): set_property -> update.
10230
10231         * glyphs-x.c:
10232         (autodetect_normalize): add dest_maks to signature.
10233         (x_redisplay_subwindow): update -> redisplay.
10234         (x_redisplay_widget): ditto.
10235         (x_button_redisplay): ditto.
10236         (x_progress_gauge_redisplay): ditto.
10237         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10238         stacking order.
10239         (console_type_create_glyphs_x): update -> redisplay.
10240         (image_instantiator_format_create_glyphs_x): ditto.
10241
10242         * glyphs-widget.c:
10243         (check_valid_instantiator): disallow glyphs in the instantiator,
10244         they must now be vectors.
10245         (check_valid_instantiator_list): ditto.
10246         (glyph_instantiator_to_glyph): use internal symbol rather than
10247         intern.
10248         (widget_update): renamed from widget_set_property. Call cascaded
10249         update methods.
10250         (redisplay_widget): renamed from update_widget.
10251         (widget_layout): image_instance_layout now takes position as well
10252         as size.
10253         (widget_normalize): ditto.
10254         (widget_instantiate): ditto.
10255         (tab_control_query_geometry) ditto.:
10256         (tab_control_update): renamed from tab_control_set_property.
10257         (progress_gauge_update): set_property -> update.
10258         (layout_normalize): rewrite so that child instantiators are
10259         normalized also.
10260         (layout_update): new function. Create glyphs from the normalized
10261         children and cope with any other layout keywords. We do not
10262         instantiate children here that will be take care of by
10263         redisplay_output_layout.
10264         (layout_instantiate): call layout_update and not much else.
10265         (layout_post_instantiate): not sure whether this is needed
10266         anymore.
10267         (layout_query_geometry): query glyph geometry rather than
10268         image_instance geometry.
10269         (layout_layout): set offsets from pass in parameters. Use glyph
10270         geometry and layout functions rather than image instance ones.
10271         (native_layout_layout): ditto.
10272         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10273         (image_instantiator_widget): set_property -> update.
10274         (image_instantiator_buttons): ditto.
10275         (image_instantiator_progress_guage): ditto.
10276         (image_instantiator_tab_control): ditto.
10277         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10278         (image_instantiator_layout): add update method.
10279
10280         * glyphs-msw.c (bmp_normalize):
10281         (mswindows_resource_normalize): add dest_mask so that it can be
10282         proprogated by layout_normalize.
10283         (begin_defer_window_pos): make optional because it may not be the
10284         right thing to do and it introduces differences with X.
10285         (mswindows_unmap_subwindow): ditto.
10286         (mswindows_map_subwindow): ditto.
10287         (mswindows_redisplay_subwindow): renamed from
10288         mswindows_update_subwindow.
10289         (mswindows_redisplay_widget): ditto.
10290         (mswindows_button_redisplay): renamed from
10291         mswindows_button_update. Update is now what the instantiation
10292         function does for a changed instantiator.
10293         (mswindows_progress_gauge_instantiate): set the progress value
10294         here if appropriate.
10295         (mswindows_tab_control_redisplay): cope with re-ordering of the
10296         members of the tab widget by simply selecting the new top
10297         widget. This makes things appear ok if you click on a tab.
10298         (mswindows_combo_box_instantiate): image_instance_layout now takes
10299         position as well as size.
10300         (mswindows_progress_gauge_redisplay): renamed from
10301         mswindows_progress_gauge_update.
10302         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10303         (image_instantiator_format_create_glyphs_mswindows): ditto.
10304
10305         * glyphs-eimage.c (jpeg_normalize):
10306         (gif_normalize):
10307         (png_normalize):
10308         (tiff_normalize): add dest_mask so that it can be proprogated by
10309         layout_normalize.
10310
10311         * elhash.c:
10312         (print_hash_table):
10313         (hash_table_weakness_validate):
10314         (decode_hash_table_weakness):
10315         (Fhash_table_weakness):
10316         (Fhash_table_type):
10317         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10318
10319         * console.h (struct console_methods): move update_* to
10320         redisplay_*.
10321
10322 2000-07-20  Ben Wing  <ben@xemacs.org>
10323
10324         * *.[ch] (XSETOBJ): remove unused middle argument.
10325         lisp-disunion.h: correct wrap_object() to one argument.
10326
10327 2000-07-15  Ben Wing  <ben@xemacs.org>
10328
10329         * s/cygwin32.h:
10330         * s/cygwin32.h (CYGWIN_CONV_PATH):
10331         Add missing logb prototype for v1.1.
10332         Use post-b20 names and alias to pre-b20 names when pre-b20.
10333
10334         * s/windowsnt.h: [5].
10335
10336 2000-07-15  Ben Wing  <ben@xemacs.org>
10337
10338         * Makefile.in.in (x_objs):
10339         * Makefile.in.in (sheap_objs):
10340         * Makefile.in.in (objs):
10341         added win32.o, cosmetic cleanups.
10342
10343         * alloc.c (Fmake_byte_code):
10344         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10345         etc. macros which declare their own args now.
10346
10347         * alloc.c (syms_of_alloc):
10348         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10349
10350         * buffer.c:
10351         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10352
10353         * buffer.c (Fget_file_buffer):
10354         Fixed GCPRO problem.
10355
10356         * buffer.c (get_truename_buffer):
10357         Fixed comment about GC checking.
10358
10359         * buffer.c (syms_of_buffer):
10360         Undeclared those dedicated frame funs.
10361         [2].
10362
10363         * buffer.h:
10364         Define convenience macros for internal/external conversions.
10365         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10366         and Qenvironment_variable_encoding for cleaner code.
10367
10368         * bufslots.h:
10369         Remove dedicated-frame; in lisp.
10370
10371         * bytecode.c (funcall_compiled_function):
10372         [1].
10373
10374         * bytecode.c (syms_of_bytecode):
10375         [2].
10376
10377         * console-msw.c:
10378         * console-msw.c (mswindows_show_console): Rewrote.
10379
10380         * console-msw.c (Fmswindows_debugging_output): New.
10381         Sends to OutputDebugString (special MSWin debugger interface).
10382
10383         * console-msw.c (Fmswindows_message_box):
10384         Fixed stupid bugs so it works when called from kill-emacs.
10385
10386         * console-msw.c (syms_of_console_mswindows):
10387         Declare Fmswindows_debugging_output.
10388
10389         * console-msw.h:
10390         New MSWin prototypes.
10391
10392         * console-msw.h (struct mswindows_frame):
10393         New entry last-click-mods for improved button-modifier support.
10394
10395         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10396         New struct entry `popup' with corresponding accessor.
10397
10398         * console-x.c:
10399         * console-x.c (split_up_display_spec):
10400         * console-x.c (get_display_arg_connection):
10401         * console-x.c (x_semi_canonicalize_console_connection):
10402         * console-x.c (x_canonicalize_device_connection):
10403         [[[6]]]: Change char to more specific type.
10404         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10405
10406         * console-x.c (x_semi_canonicalize_console_connection):
10407         * console-x.c (x_canonicalize_device_connection):
10408         [[[9]]]: Fix up error signalling to use new structured error system.
10409
10410         * console-x.h:
10411         [[[4]]]: Define codesys aliases:
10412         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10413         Qx_color_name_encoding, Qx_display_name_encoding.
10414
10415         * console.h (struct console_methods):
10416         New method make_dialog_box_internal supersedes older
10417         popup_dialog_box method.
10418
10419         * data.c:
10420         Define many new errors, part of new structured errors.
10421
10422         * data.c (init_errors_once_early):
10423         * data.c (syms_of_data):
10424         [2].
10425
10426         * device-msw.c (mswindows_init_device):
10427         [[[5]]]: Cleanup to support NT 3.51.
10428
10429         * device-msw.c (decode_devmode): Cleanup.
10430
10431         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10432         * device-msw.c (mswindows_handle_print_dialog_box):
10433         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10434         * device-msw.c (syms_of_device_mswindows):
10435         Delete the dialog box primitives recently introduced by Kirill and
10436         instead interface to general dialog box interface.
10437
10438         * device-x.c:
10439         * device-x.c (compute_x_app_name):
10440         * device-x.c (x_init_device):
10441         * device-x.c (Fx_valid_keysym_name_p):
10442         * device-x.c (Fx_set_font_path):
10443         [6].
10444         [7].
10445
10446         * device.h (wrap_device): New.
10447         First of its kind; meant to replace XSETDEVICE.
10448
10449         * dialog-msw.c: Many file-dialog symbols.
10450
10451         * dialog-msw.c (mswindows_register_popup_frame): New.
10452         * dialog-msw.c (mswindows_is_dialog_msg): New.
10453         For supporting kbd traversal in dialog boxes.
10454
10455         * dialog-msw.c (dialog_proc):
10456         Support hitting ESC in dialogs.
10457
10458         * dialog-msw.c (struct):
10459         Common dialog box errors.
10460
10461         * dialog-msw.c (handle_file_dialog_box): New.
10462         Add file dialog code.
10463
10464         * dialog-msw.c (handle_question_dialog_box):
10465         Redo existing code to support new question dialog syntax.
10466
10467         * dialog-msw.c (console_type_create_dialog_mswindows):
10468         We support new dialog console method.
10469
10470         * dialog-msw.c (syms_of_dialog_mswindows):
10471         * dialog-msw.c (vars_of_dialog_mswindows):
10472         New file dialog symbols, vars.
10473
10474         * dialog-x.c:
10475         * dialog-x.c (maybe_run_dbox_text_callback):
10476         * dialog-x.c (dbox_descriptor_to_widget_value):
10477         * dialog-x.c (x_make_dialog_box_internal):
10478         * dialog-x.c (console_type_create_dialog_x):
10479         Mule-ize entire file.
10480         Redo to support question dialog syntax.
10481         [6].
10482
10483         * dialog.c:
10484         * dialog.c (Fmake_dialog_box_internal):
10485         * dialog.c (syms_of_dialog):
10486         Kill old popup-dialog-box, replace with new primitive.
10487         Just call device method or signal error.
10488
10489         * eldap.c (Fldap_open):
10490         * eldap.c (Fldap_search_basic):
10491         * eldap.c (Fldap_add):
10492         * eldap.c (Fldap_modify):
10493         [1].
10494         [7].
10495
10496         * emacs.c:
10497         * emacs.c (make_arg_list_1):
10498         * emacs.c (make_arg_list):
10499         Mule-ize call to dll_init().
10500         [6].
10501         [8].
10502
10503         * emacs.c (make_argc_argv):
10504         * emacs.c (free_argc_argv):
10505         * emacs.c (init_cmdargs):
10506         * emacs.c (main_1):
10507         * emacs.c (Fkill_emacs):
10508         * emacs.c (Fdump_emacs):
10509         Update comments about what can be used in syms_* etc.
10510         Call init_win32() when necessary.
10511         Fix up MS Win dialog box in kill-buffer to actually work right.
10512         [7].
10513
10514         * eval.c:
10515         * eval.c (For):
10516         * eval.c (Fand):
10517         * eval.c (Fprogn):
10518         * eval.c (Fprog1):
10519         * eval.c (Fprog2):
10520         * eval.c (FletX):
10521         * eval.c (Flet):
10522         * eval.c (condition_case_3):
10523         * eval.c (Feval):
10524         * eval.c (function_argcount):
10525         * eval.c (funcall_lambda):
10526         [1].
10527
10528         * eval.c (type_error): New.
10529         * eval.c (maybe_type_error): New.
10530         * eval.c (continuable_type_error): New.
10531         * eval.c (maybe_continuable_type_error): New.
10532         * eval.c (type_error_with_frob): New.
10533         * eval.c (maybe_type_error_with_frob): New.
10534         * eval.c (continuable_type_error_with_frob): New.
10535         * eval.c (maybe_continuable_type_error_with_frob): New.
10536         New functions for use with structured errors.
10537
10538         * event-Xt.c:
10539         * event-Xt.c (x_event_to_emacs_event):
10540         Buttons are now modifiers too.
10541
10542         * event-Xt.c (emacs_Xt_current_event_timestamp):
10543         Implement new event method.
10544         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10545
10546         * event-msw.c:
10547         * event-msw.c (ntpipe_shove_writer): [5].
10548         * event-msw.c (mswindows_enqueue_mouse_button_event):
10549         * event-msw.c (mswindows_drain_windows_queue):
10550         * event-msw.c (mswindows_wnd_proc): [7].
10551         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10552         * event-msw.c (mswindows_modifier_state):
10553         Throughout: support new button modifiers.
10554
10555         * event-msw.c (emacs_mswindows_current_event_timestamp):
10556         Implement new event method.
10557         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10558
10559         * event-stream.c:
10560         * event-stream.c (event_stream_current_event_timestamp): New.
10561         * event-stream.c (maybe_kbd_translate): New functionality.
10562         * event-stream.c (vars_of_event_stream):
10563         Document new kbd-translate-table functionality.
10564
10565         * event-stream.c (Fcurrent_event_timestamp): New.
10566         New primitive for use in fabricated events.
10567         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10568
10569         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10570
10571         * events.c:
10572         * events.c (Fmake_event):
10573         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10574         [1].
10575         [9].
10576
10577         * events.c (format_event_object): fix gcc warnings.
10578
10579         * events.c (Fevent_timestamp): Document new primitives.
10580
10581         * events.c (TIMESTAMP_HALFSPACE): New.
10582
10583         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10584         comparing timestamps correctly (half-space algorithm).
10585
10586         * events.c (Fevent_modifier_bits): Doc fix.
10587
10588         * events.c (Fevent_modifiers): Major doc addition.
10589         * events.c (event_x_y_pixel_internal): Typo fix.
10590         * events.c (syms_of_events): Declare new primitives.
10591
10592         * events.h:
10593         Update long comment for button modifiers, timestamps.
10594
10595         * events.h (struct event_stream):
10596         New current_event_timestamp method.
10597
10598         * extents.c:
10599         * extents.c (extent_in_region_p):
10600         * extents.c (decode_extent):
10601         * extents.c (Fset_extent_parent):
10602         * extents.c (decode_map_extents_flags):
10603         Fix gcc warnings.
10604         [9].
10605
10606         * extents.c (struct extent_at_arg):
10607         * extents.c (decode_extent_at_flag):
10608         * extents.c (extent_at_mapper):
10609         * extents.c (extent_at_bytind):
10610         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10611         * extents.c (Fextents_at): New primitive. [9].
10612         * extents.c (symbol_to_glyph_layout): [9].
10613         Support new primitive `extents-at'.
10614
10615
10616         * extents.c (get_text_property_bytind):
10617         extent_at_bytind has another arg.
10618         [9].
10619
10620         * extents.c (syms_of_extents): New primitive.
10621
10622         * file-coding.c (Fmake_coding_system): [1].
10623         * file-coding.c (subsidiary_coding_system): fix gcc warning
10624         * file-coding.c (syms_of_file_coding): [2].
10625
10626         * fileio.c (Fexpand_file_name):
10627         * fileio.c (Fsysnetunam):
10628         * fileio.c (Ffile_exists_p):
10629         * fileio.c (Ffile_executable_p):
10630         * fileio.c (Fverify_visited_file_modtime):
10631         Clean up GCPROing.
10632
10633         * fileio.c (syms_of_fileio): [2].
10634
10635         * filelock.c (lock_file_1):
10636         * filelock.c (current_lock_owner):
10637         * filelock.c (lock_if_free):
10638         * filelock.c (lock_file):
10639         * filelock.c (unlock_file):
10640         Clean up GCPROing.
10641
10642         * fns.c (concat): Fix gcc warning.
10643
10644         * fns.c (Fmember):
10645         * fns.c (Fold_member):
10646         * fns.c (Fmemq):
10647         * fns.c (Fold_memq):
10648         * fns.c (memq_no_quit):
10649         * fns.c (Fassoc):
10650         * fns.c (Fold_assoc):
10651         * fns.c (Fassq):
10652         * fns.c (Fold_assq):
10653         * fns.c (assq_no_quit):
10654         * fns.c (Frassoc):
10655         * fns.c (Fold_rassoc):
10656         * fns.c (Frassq):
10657         * fns.c (Fold_rassq):
10658         * fns.c (rassq_no_quit):
10659         * fns.c (Fdelete):
10660         * fns.c (Fold_delete):
10661         * fns.c (Fdelq):
10662         * fns.c (Fold_delq):
10663         * fns.c (delq_no_quit):
10664         * fns.c (Fremassoc):
10665         * fns.c (Fremassq):
10666         * fns.c (remassq_no_quit):
10667         * fns.c (Fremrassoc):
10668         * fns.c (Fremrassq):
10669         * fns.c (remrassq_no_quit):
10670         * fns.c (Freverse):
10671         * fns.c (mapcar1):
10672         [1].
10673
10674         * frame-msw.c (mswindows_init_frame_1):
10675         * frame-msw.c (mswindows_delete_frame):
10676         Register popups with dialog code so keyboard traversing works.
10677
10678         * frame-tty.c (tty_raise_frame_no_select): [1].
10679
10680         * frame-x.c:
10681         * frame-x.c (x_set_frame_text_value):
10682         * frame-x.c (x_set_frame_properties):
10683         * frame-x.c (x_create_widgets):
10684         [7].
10685
10686         * frame.c:
10687         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10688
10689         * frame.h (wrap_frame): New.
10690         Macro like wrap_device.
10691
10692         * general.c:
10693         * general.c (SYMBOL):
10694         * general.c (syms_of_general):
10695         Major reorg.  This is now just a wrapper and symbols themselves
10696         are listed in general-slots.h.
10697
10698         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10699         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10700
10701         * glyphs-msw.c (mswindows_native_layout_instantiate):
10702         Add DS_CONTROL so keyboard traversal will work.
10703
10704         * glyphs-widget.c:
10705         * glyphs-widget.c (syms_of_glyphs_widget):
10706         Move some symbols to general-slots.h.
10707
10708         * glyphs-x.c:
10709         * glyphs-x.c (xbm_instantiate_1):
10710         * glyphs-x.c (x_xbm_instantiate):
10711         * glyphs-x.c (x_xface_instantiate):
10712         * glyphs-x.c (autodetect_instantiate):
10713         * glyphs-x.c (cursor_font_instantiate):
10714         * glyphs-x.c (x_update_widget):
10715         * glyphs-x.c (x_widget_instantiate):
10716         * glyphs.c (bitmap_to_lisp_data):
10717         * glyphs.c (pixmap_to_lisp_data):
10718         [7].
10719
10720         * glyphs.c (syms_of_glyphs):
10721         [2].
10722
10723         * gui-x.c:
10724         * gui-x.c (print_widget_value):
10725         * gui-x.c (menu_separator_style_and_to_external):
10726         * gui-x.c (add_accel_and_to_external):
10727         * gui-x.c (button_item_to_widget_value):
10728         * gui-x.c (gui_items_to_widget_values_1):
10729         * gui-x.c (gui_items_to_widget_values):
10730         * gui-x.c (syms_of_gui_x):
10731         * gui-x.c (vars_of_gui_x):
10732         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10733         [9].
10734
10735         * gui-x.h:
10736         Muleize, prototype changes matching gui-x.c.
10737
10738         * gui.c:
10739         * gui.c (separator_string_p):
10740         * gui.c (gui_item_add_keyval_pair):
10741         * gui.c (make_gui_item_from_keywords_internal):
10742         * gui.c (signal_too_long_error):
10743         * gui.c (parse_gui_item_tree_item):
10744         * gui.c (syms_of_gui):
10745         * gui.c (vars_of_gui):
10746         * gui.h:
10747         menu-no-selection-hook moved here (used by MSWin).
10748         Move some symbols to general-slots.h.
10749         [6].
10750         [9].
10751
10752         * insdel.c (get_buffer_pos_char):
10753         * insdel.c (get_buffer_range_char):
10754         Add GC comments.
10755
10756         * keymap.c (keymap_lookup_directly):
10757         * keymap.c (keymap_store):
10758         * keymap.c (ensure_meta_prefix_char_keymapp):
10759         * keymap.c (describe_map):
10760         * keymap.h:
10761         Support new button modifiers.
10762
10763         * lisp-disunion.h (wrap_object):
10764         * lisp-disunion.h (XSETOBJ):
10765         Rename make_obj to wrap_object.
10766
10767         * lisp-union.h:
10768         * lisp-union.h (make_int):
10769         * lisp-union.h (make_char):
10770         Support wrap_object.
10771
10772         * lisp.h:
10773         * lisp.h (LIST_LOOP):
10774         * lisp.h (EXTERNAL_LIST_LOOP):
10775         * lisp.h (LIST_LOOP_2):
10776         * lisp.h (EXTERNAL_LIST_LOOP_1):
10777         * lisp.h (EXTERNAL_LIST_LOOP_2):
10778         * lisp.h (EXTERNAL_LIST_LOOP_3):
10779         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10780         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10781         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10782         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10783         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10784         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10785         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10786         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10787         * lisp.h (struct Lisp_Symbol):
10788         * lisp.h (maybe_continuable_error_with_frob):
10789         Fix up section comments.
10790         Add new types for char to indicate usage.
10791         Delete symbols auto-generated from general-slots.h.
10792         Add prototypes for structured error functions.
10793         Add long comments describing looping macros and change interface
10794         so that lvalues are automatically declared.
10795         Add NO_DECLARE macro in case callers want to declare lvalues
10796         themselves.
10797
10798         * lread.c (read_syntax_error):
10799         * lread.c (continuable_read_syntax_error):
10800         * lread.c (read_structure):
10801         * lread.c (sequence_reader):
10802         * lread.c (read_list_conser):
10803         * lread.c (read_compiled_function):
10804         Rename syntax_error and continuable_syntax_error to avoid clash
10805         with same-named structured error functions.
10806
10807         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10808         * menubar-msw.c (populate_menu_add_item):
10809         * menubar-msw.c (populate_or_checksum_helper):
10810         [5].
10811         [9].
10812
10813         * menubar-x.c:
10814         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10815         Mule-ize whole file.
10816
10817         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10818
10819         * mule-charset.c (Fmake_charset):
10820         * mule-wnnfns.c (Fwnn_set_param):
10821         [1].
10822
10823         * ntproc.c (create_child):
10824         * ntproc.c (Fwin32_set_current_locale):
10825         Add comments portending doom.
10826
10827         * objects-msw.c:
10828         * objects-msw.c (old_font_enum_callback_2):
10829         * objects-msw.c (font_enum_callback_1):
10830         * objects-msw.c (mswindows_enumerate_fonts):
10831         [5].
10832
10833         * objects-x.c:
10834         * objects-x.c (allocate_nearest_color):
10835         * objects-x.c (x_parse_nearest_color):
10836         * objects-x.c (x_initialize_color_instance):
10837         * objects-x.c (x_print_color_instance):
10838         * objects-x.c (x_finalize_color_instance):
10839         * objects-x.c (x_valid_color_name_p):
10840         * objects-x.c (x_initialize_font_instance):
10841         * objects-x.c (x_print_font_instance):
10842         * objects-x.c (valid_x_font_name_p):
10843         * objects-x.c (truename_via_FONT_prop):
10844         * objects-x.c (truename_via_random_props):
10845         * objects-x.c (truename_via_XListFonts):
10846         * objects-x.c (x_font_truename):
10847         * objects-x.c (x_font_instance_truename):
10848         * objects-x.c (x_font_instance_properties):
10849         * objects-x.c (x_list_fonts):
10850         * objects-x.c (x_find_charset_font):
10851         Mule-ize entire file.
10852         [7].
10853
10854         * objects-x.h:
10855         Mule-verify.
10856
10857         * print.c:
10858         * print.c (std_handle_out_external):
10859         * print.c (debug_print_no_newline):
10860         * print.c (syms_of_print):
10861         Output to all debugger kinds in debug-print.
10862         Fix console-output code under MSWin to actually work.
10863
10864         * process-nt.c (send_signal):
10865         * process-nt.c (nt_create_process):
10866         Use newer Unicode macros.
10867
10868         * process-unix.c (unix_create_process):
10869         * process-unix.c (unix_canonicalize_host_name):
10870         * process-unix.c (unix_open_network_stream):
10871         [7].
10872
10873         * scrollbar-x.c:
10874         Mule-verify.
10875
10876         * search.c (syms_of_search):
10877         [2].
10878
10879         * select-msw.c (mswindows_destroy_selection):
10880         Use LIST_LOOP_2.
10881
10882         * select-x.c (symbol_to_x_atom):
10883         [7].
10884
10885         * select.c (syms_of_select):
10886         [2].
10887
10888         * sound.c (Fplay_sound_file):
10889         [7].
10890
10891         * specifier.c:
10892         * specifier.c (decode_specifier_type):
10893         * specifier.c (Fvalid_specifier_locale_type_p):
10894         * specifier.c (check_valid_locale_or_locale_type):
10895         * specifier.c (decode_locale):
10896         * specifier.c (decode_locale_type):
10897         * specifier.c (decode_locale_list):
10898         * specifier.c (check_valid_domain):
10899         * specifier.c (decode_specifier_tag_set):
10900         * specifier.c (Fcanonicalize_tag_set):
10901         * specifier.c (Fdefine_specifier_tag):
10902         * specifier.c (Fspecifier_tag_predicate):
10903         * specifier.c (check_valid_inst_list):
10904         * specifier.c (check_valid_spec_list):
10905         * specifier.c (decode_how_to_add_specification):
10906         * specifier.c (check_modifiable_specifier):
10907         * specifier.c (specifier_add_spec):
10908         * specifier.c (boolean_validate):
10909         * specifier.c (display_table_validate):
10910         [9].
10911
10912         * specifier.c (syms_of_specifier):
10913         Move some symbols to general-slots.h.
10914         [2].
10915
10916         * symbols.c:
10917         * symbols.c (Fmapatoms):
10918         * symbols.c (Fapropos_internal):
10919         Add GCPROs.
10920
10921         * symbols.c (set_default_buffer_slot_variable):
10922         * symbols.c (set_default_console_slot_variable):
10923         [1].
10924
10925         * symbols.c (defsymbol_massage_name_1):
10926         * symbols.c (defkeyword_massage_name):
10927         * symbols.c (deferror_1):
10928         * symbols.c (deferror):
10929         * symbols.c (deferror_massage_name_and_message):
10930         * symeval.h:
10931         * symeval.h (DEFSYMBOL):
10932         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10933
10934         * symbols.c (syms_of_symbols):
10935         [2].
10936
10937         * symsinit.h:
10938         * symsinit.h (init_win32): New.
10939         Also new is syms_of_dialog_mswindows.
10940
10941         * syswindows.h:
10942         Add new Unicode macros, missing Cygwin wide-char functions,
10943         convenience conversion macros for Qmswindows_tstr, macros for
10944         encapsulating required MSWin <-> Cygwin filename conversions,
10945         prototype for dynamically-extracted (not in NT 3.51) functions.
10946
10947         * toolbar-x.c:
10948         Mule-verify.
10949
10950         * tooltalk.c (Fadd_tooltalk_message_arg):
10951         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10952         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10953         [7].
10954
10955         * tooltalk.c (syms_of_tooltalk):
10956         [2].
10957
10958         * unexnt.c:
10959         * unexnt.c (unexec):
10960         Fix up headers, declaration of unexec() to be more standard.
10961
10962 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10963
10964         * offix.h: Revert change to guard macros - they're used in offix.c!
10965
10966 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10967
10968         * lisp.h: Defsubred Fdelete.
10969
10970         * console-msw.h:  (msprinter_default_printer): Added.
10971
10972         * console-msw.c (msprinter_canonicalize_console_connection):
10973         (msprinter_canonicalize_device_connection): Added.
10974
10975         * device-msw.c (msprinter_default_printer):
10976         (Fmswingows_get_default_printer):
10977         (signal_enum_priner_error):
10978         (Fmswingows_printer_list): Added.
10979
10980 2000-07-19  Martin Buchholz <martin@xemacs.org>
10981
10982         * XEmacs 21.2.35 is released.
10983
10984 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10985
10986         * select-x.c (x_handle_selection_request):
10987         Text selected in xemacs and pasted into xterm failed to appear.
10988         Spelling fixes and cosmetic changes.
10989
10990 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10991
10992         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10993         XEmacs frame (fix for doubling chars in dialog boxes).
10994
10995 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10996
10997         * select.c (select_convert_in, select_convert_out):
10998         Don't call intern() every time.
10999
11000         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11001         * select.c (vars_of_select): Initialise them.
11002
11003 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11004
11005         * select.c (selection-coercible-types): New.
11006
11007         * select.c (own-selection-internal):
11008         * select.c (get-selection-internal):
11009         MULE bug fix - these should default to COMPOUND_TEXT and not
11010         STRING for MULE. I think.
11011
11012         * select.c (select_convert_out): Use selection-coercible-types
11013         to find types that we can attempt to perform coercions on.
11014
11015 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11016
11017         * mule-wnnfns.c:
11018         * mule-canna.c:
11019         Add coding: cookie to identify encoding.
11020
11021         * mule-canna.c (CANNA_mode_keys): make static.
11022         Use proper prototypes, even for functions of no arguments.
11023         Remove external prototype for Fding().
11024
11025         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11026
11027         * select.c (syms_of_select): Add missing DEFSUBR.
11028
11029 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11030
11031         * select.c (get_selection_internal, own_selection_internal):
11032         Make the type default to STRING, rather than placing a nil type
11033         into Vselection_alist.
11034
11035 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11036
11037         * gpmevent.c (tty_selection_exists_p):
11038         * gpmevent.c (tty_own_selection):
11039         Updated parameter lists.
11040
11041 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11042
11043         * select.h (selection-alist): Removed declaration.
11044
11045         * select.h (get_local_selection):
11046         * select.c (get_local_selection):
11047         Made static.
11048
11049         * select.h (convert_selection): Removed declaration.
11050         * select.c (convert_selection): Removed.
11051         This function belongs in Lisp.
11052
11053         * select.h (select_convert_in): Declare.
11054         * select.h (select_convert_out): Declare.
11055         * select.c (select_convert_in): New.
11056         * select.c (select_convert_out): New.
11057         New conversion functions for other files to call.
11058
11059         * select.h (select_notify_buffer_kill): Declare.
11060         * select.c (select_notify_buffer_kill): New.
11061         New functions that get called from kill-buffer.
11062
11063         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11064         X-specific lisp code.
11065
11066         * select.h: Declare some of the lisp-visible functions for
11067         external use.
11068
11069         * select.c (clean_local_selection_data): Removed. This was
11070         a disgusting function, and previously should have been in
11071         select-x.c in any case. The functionality is now provided
11072         in select-convert-from-integer (select.el).
11073
11074         * select.c (available-selection-types): Fixed stupidity where
11075         INTEGER and ATOM got added twice. Also add STRING when we see an
11076         extent.
11077
11078         * select.c (get-selection-internal): Removed symbol stripping. No
11079         longer causes conversion when data comes from the internal cache.
11080
11081         * select.c (syms_of_select): Added new functions.
11082
11083         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11084         error checking - previously this called abort!
11085
11086         * select-x.c (x_own_selection): Changed comment.
11087
11088         * select-x.c (x_handle_selection_request): Use select_convert_out.
11089         Don't mess with selection-alist; it's an internal variable of select.c.
11090
11091         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11092
11093         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11094         rather than messing with selection-alist.
11095
11096         * select-msw.c (mswindows_get_foreign_selection):
11097         Use TO_INTERNAL_FORMAT rather than hacking.
11098
11099 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11100
11101         * process-unix.c (unix_open_multicast_group):
11102         (unix_open_multicast_group): Remove useless casts.
11103
11104 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11105
11106         * sound.c (Fplay_sound): Fix `unused variable' warning.
11107
11108         * emacs.c (main): Use correct type for _environ on SCO5.
11109
11110 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11111
11112         * console.h (own_selection_method):
11113         * console.h (selection_exists_p_method):
11114         * console.h (available_selection_types_method): New.
11115         * console.h (register_selection_data_type_method): New.
11116         * console.h (selection_data_type_name): New.
11117
11118         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11119         function & alist to track GlobalAlloc()'d handles that need
11120         releasing when the clipboard data gets replaced or emptied.
11121
11122         * event-msw.c (mswindows_wnd_proc): Call it.
11123
11124         * lisp.h, general.c (Qappend): New symbol representing a
11125         `how-to-add' mode.
11126
11127         * select.c (own-selection-internal):
11128         * select.c (selection-exists-p):
11129         * select.c (available-selection-types): New.
11130         * select.c (register-selection-data-type): New.
11131         * select.c (selection-data-type-name): New.  New functions to deal
11132         with device-specific selection data formats.
11133         * select.c (selection-converter-out-alist): Renamed.
11134         * select.c (selection-converter-in-alist): New.
11135         * select.c (selection-appender-alist): New.  Added new alists.
11136         * select.c (syms_of_select, vars_of_select): Added new symbols &
11137         variables.
11138         * select.c (get_local_selection): Split.
11139         * select.c: Removed spurious type checking - selections may now be
11140         of any type, not just strings.
11141         * select.c (own-selection-internal):
11142
11143         * select.h, select.c (convert_selection): New. Created
11144         convert_selection() function based on get_local_selection().
11145         * select.h, select.c (QCF_*): New symbols representing mswindows
11146         clipboard formats.
11147         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11148         symbols representing `how-to-add' modes.
11149
11150         * select-msw.c (x_sym_p): New.
11151         * select-msw.c (symbol_to_ms_cf): New.
11152         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11153         symbols & clipboard formats. Can also handle string names.
11154         * select-msw.c (mswindows_own_selection):
11155         * select-msw.c (mswindows_selection_exists_p):
11156         Added `data-type' parameter. Use it.
11157         * select-msw.c (mswindows_available_selection_types): New.
11158         * select-msw.c (mswindows_register_selection_data_type): New.
11159         * select-msw.c (mswindows_selection_data_type_name): New.
11160         * select-msw.c (mswindows_own_selection):
11161         * select-msw.c (mswindows_get_foreign_selection):
11162         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11163         * select-msw.c (console_create_select_mswindows): Added new methods.
11164         * select-msw.c (mswindows_destroy_selection): New.
11165         * select-msw.c (Vhandle_alist): New list.
11166         * select-msw.c (mswindows_own_selection):
11167
11168         * select-x.c (x_own_selection):
11169         * select-x.c (x_selection_exists_p):
11170         * select-x.c: Added some comments about maybe using new
11171         functionality.
11172         * select-x.c (x_own_selection):
11173
11174         * specifier.c: Remove definition of Qappend (now in general.c)
11175         * specifier.c (syms_of_specifier): Remove Qappend.
11176
11177 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11178
11179         * config.h.in: Add socklen_t.
11180
11181         * s/decosf4-0.h: No special compiler flags needed or desired.
11182         In particular, undefine _BSD for DEC OSF 4.0.
11183
11184 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11185
11186         * redisplay-msw.c (msprinter_frame_output_end): Added.
11187         (console_type_create_redisplay_mswindows): Referred the above.
11188
11189         * frame.c (setup_frame_without_minibuffer): Do not create a
11190         default minibuffer frame on a printer device.
11191
11192         * frame-msw.c (apply_dc_geometry): Added.
11193         (msprinter_start_page):
11194         (msprinter_init_frame_3):
11195         (msprinter_eject_page): Use it.
11196
11197         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11198         and removed residual duplex and orientation properties.
11199
11200 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11201
11202         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11203
11204         * unexalpha.c: Remove system prototypes from C sources!
11205
11206 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11207
11208         * eval.c: Remove references to M-x edit-options in DEFUNs for
11209         `defvar' and `defconst'.
11210
11211 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11212
11213         * config.h.in: Remove SMART_INCLUDE hackery.
11214
11215         PostgreSQL hacking:
11216         * config.h.in: Don't use SMART_INCLUDE.
11217
11218         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11219         * inline.c: Simply #include "postgresql.h"
11220         * postgresql.c:
11221         - Don't use SMART_INCLUDE
11222         - Use simply "const".
11223         - Use standard doc string conventions.
11224         - Use correct type for result of PQstatus.
11225
11226 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11227
11228         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11229
11230         C++ compilation changes.
11231         * config.h.in (EXTERN_C): Define.
11232         * config.h.in (not): This is also a C++ keyword.
11233         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11234         * cm.c: Use EXTERN_C.
11235         * redisplay-tty.c: Use EXTERN_C.
11236         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11237
11238 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11239
11240         * general.c: Remove duplicate definition for Qfunction.
11241
11242 2000-07-08  Ben Wing  <ben@xemacs.org>
11243
11244         * device-msw.c (msprinter_init_device):
11245         * device-msw.c (sync_printer_with_devmode):
11246         * device-msw.c (handle_devmode_changes):
11247         * device-msw.c (print_dialog_worker):
11248         * device-msw.c (Fmsprinter_apply_settings):
11249         * device-msw.c (hash_devmode):
11250         * device-msw.c (Fmsprinter_settings_despecialize):
11251         use Qmswindows_tstr, not Qctext.
11252
11253         * vm-limit.c (check_memory_limits):
11254         avoid infinite loop printing warning messages.
11255
11256 2000-07-05  Craig Lanning  <lanning@scra.org>
11257
11258         * Makefile.in.in: Add support for including the Windows resources
11259         when building with the cygwin and mingw targets.
11260
11261         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11262         not set or not correct.
11263         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11264         (init_initial_directory): Don't try to use $PWD on the
11265         WIN32_NATIVE target.
11266
11267         * s\cygwin32.h:
11268         [[Add -mwindows to eliminate console window.]] not required --ben
11269         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11270         (MAIL_USE_POP): removed; now handled by configure.
11271
11272         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11273         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11274         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11275         (MAIL_USE_POP): removed; now handled by configure.
11276         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11277         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11278         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11279         constant string.
11280         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11281         up from <winsock.h> via systime.h.
11282         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11283         (getpagesize): from Dan Holmsand, added.
11284         Added #endif which was left dangling by Ben's mega patch; added
11285         comment to help prevent this in the future.
11286
11287         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11288
11289 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11290
11291         * console-msw.h (struct mswindows_device): Removed unnecessary
11292         cached device geometry values.
11293         Added update_tick and an accessor macro.
11294         (Lisp_Devmode): Added lrecord declaration.
11295         (struct msprinter_device): Contain devmode as a Lisp object.
11296         Added mswindows_get_selected_frame_hwnd();
11297
11298         * console.h (struct console_methods): Indentation nitpicking.
11299
11300         * device-msw.c (mswindows_init_device): Do not initialize geometry
11301         cache. Initialize update tick.
11302         (mswindows_device_system_metrics): Ask the device for its geometry.
11303         (global_free_2_maybe):
11304         (devmode_to_hglobal):
11305         (handle_printer_changes):
11306         (ensure_not_printing):
11307         (print_dialog_worker):
11308         (Fmsprinter_print_setup_dialog):
11309         (Fmsprinter_print_dialog):
11310         (plist_get_margin):
11311         (plist_set_margin):
11312         (Fmsprinter_page_setup_dialog): Added functions.
11313         (sync_printer_with_devmode):
11314         (handle_devmode_changes):
11315         (Fmsprinter_get_settings):
11316         (Fmsprinter_select_settings):
11317         (Fmsprinter_apply_settings):
11318         (allocate_devmode):
11319         (Fmsprinter_settings_copy):
11320         (Fmsprinter_settings_despecialize):
11321         (print_devmode):
11322         (finalize_devmode):
11323         (equal_devmode):
11324         (hash_devmode): Added functions
11325         (syms_of_device_mswindows): Init devmode lrecord class.
11326
11327         * device.h: Added an exfun for find-device.
11328
11329         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11330         geometry; although, recreate the device compatible DC.
11331
11332         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11333         (msprinter_init_frame_3):
11334         (msprinter_frame_property):
11335         (msprinter_internal_frame_property_p):
11336         (msprinter_frame_properties):
11337         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11338         print job properties (will move to device settings).
11339
11340         * lisp.h: Added symbols.
11341
11342         * general.c (syms_of_general): Declared them.
11343
11344         * hash.c (string_hash): Added.
11345
11346         * lrecord.h (lrecord_type): Added devmode lrecord type.
11347
11348 2000-07-02  Mike Sperber <mike@xemacs.org>
11349
11350         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11351         FreeBSD 4.0.
11352
11353 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11354
11355         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11356         integer.
11357
11358 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11359
11360         * data.c (Fstring_to_number): Don't recognize floating point if
11361         base is not 10.
11362
11363 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11364
11365         * glyphs-widget.c (tab_control_query_geometry):
11366         (widget_query_geometry):
11367         (button_query_geometry):
11368         * glyphs.c (text_query_geometry):
11369         Enforce type correctness.
11370
11371 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11372
11373         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11374         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11375
11376 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11377
11378         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11379         conflicts with gcc's fixincluded version of FOO.h.
11380
11381         * glyphs.h (image_instance_geometry): Remove trailing `,'
11382
11383 2000-06-08  Mike Alexander  <mta@arbortext.com>
11384
11385         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11386         (shove_thread): Don't write the same output twice
11387         (make_ntpipe_output_stream): Increase priority of shove thread
11388         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11389         chance to run
11390         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11391         it.
11392
11393 2000-06-12  Ben Wing  <ben@xemacs.org>
11394
11395         * s\mingw32.h (sigset):
11396         * s\windowsnt.h (sigset):
11397         rename msw_ to mswindows_ for consistency with general convention.
11398
11399 2000-06-12  Ben Wing  <ben@xemacs.org>
11400
11401         * console-msw.c:
11402         * console-msw.c (mswindows_get_console_hwnd):
11403         * console-msw.c (mswindows_ensure_console_allocated):
11404         * console-msw.c (mswindows_hide_console):
11405         * console-msw.c (mswindows_show_console):
11406         * console-msw.c (mswindows_ensure_console_buffered):
11407         * console-msw.c (mswindows_output_console_string):
11408         * console-msw.c (mswindows_windows9x_p):
11409         * console-msw.h:
11410         * device-msw.c (mswindows_get_workspace_coords):
11411         * device-msw.c (mswindows_device_system_metrics):
11412         * dialog-msw.c (mswindows_popup_dialog_box):
11413         * event-msw.c (mswindows_wnd_proc):
11414         * frame-msw.c (mswindows_size_frame_internal):
11415         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11416         * menubar-msw.c (displayable_menu_item):
11417         * menubar-msw.c (mswindows_char_is_accelerator):
11418         * nt.c:
11419         * nt.c (mswindows_sigset):
11420         * nt.c (mswindows_sigrelse):
11421         * nt.c (mswindows_sigpause):
11422         * nt.c (mswindows_raise):
11423         * nt.c (timer_proc):
11424         * ntproc.c:
11425         * ntproc.c (find_child_console):
11426         * ntproc.c (sys_kill):
11427         * print.c:
11428         * print.c (std_handle_out_external):
11429         * process-nt.c (find_child_console):
11430         * process-nt.c (send_signal_the_95_way):
11431         * process-nt.c (ensure_console_window_exists):
11432         * process-nt.c (nt_create_process):
11433         * syssignal.h:
11434         rename msw_ to mswindows_ for consistency with general convention.
11435
11436         * emacs.c:
11437         * dumper.c:
11438         include nt.h, not syswindows.h.
11439
11440         * nt.c (mswindows_fstat):
11441         * nt.c (mswindows_stat):
11442         prefix mswindows_ instead of attempting to directly override the
11443         library functions.  fix declarations.
11444
11445         * nt.h:
11446         include syswindows.h.  move some sysdep.h stuff here.
11447
11448         * ntheap.h:
11449         include syswindows.h, not <windows.h>.
11450
11451         * ntplay.c:
11452         clean up headers.
11453
11454         * sysdep.c:
11455         clean up headers.
11456
11457         * sysdep.c (sys_fstat):
11458         * sysdep.c (sys_stat):
11459         call mswindows versions when appropriate.
11460
11461         * sysdep.h:
11462         move mswin decls to nt.h.
11463
11464         * syswindows.h:
11465         add long comment describing appropriate use of the various windows
11466         headers.
11467
11468 2000-06-11  Ben Wing  <ben@xemacs.org>
11469
11470         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11471
11472 2000-06-10  Ben Wing  <ben@xemacs.org>
11473
11474         * Makefile.in.in (release):
11475         Correction to make sure xemacs.exe always dumped when correct.
11476
11477         * alloca.c:
11478         * balloon_help.c:
11479         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11480
11481         * buffer.c (set_buffer_internal):
11482         [[[[2]]]]: Remove HAVE_FEP code.
11483
11484         * buffer.c (init_initial_directory):
11485         [3].
11486
11487         * bytecode.c:
11488         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11489         individual files.
11490
11491         * callproc.c:
11492         * callproc.c (call_process_cleanup):
11493         * callproc.c (Fold_call_process_internal):
11494         * callproc.c (child_setup):
11495         * callproc.c (getenv_internal):
11496         * callproc.c (init_callproc):
11497         * callproc.c (vars_of_callproc):
11498         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11499         __CYGWIN32__ -> CYGWIN.
11500         DOS_NT -> WIN32_NATIVE.
11501         Remove MSDOS support/references, converting to WIN32_NATIVE
11502           where correct.
11503         __MINGW32__ -> MINGW.
11504         Fix windows.h includes.
11505         Remove bogus HAVE_NTGUI.
11506
11507         * config.h.in:
11508         [2].
11509
11510         * console-msw.c:
11511         mswindows_message_outputted added for use in allowing startup
11512         errors on the console to be seen.
11513
11514         * console-msw.c (msw_ensure_console_allocated):
11515         * console-msw.c (msw_output_console_string):
11516         * console-msw.c (DHEADER):
11517         * console-msw.c (DOPAQUE_DATA):
11518         * console-msw.c (DEVENT):
11519         * console-msw.c (DCONS):
11520         * console-msw.c (DCONSCDR):
11521         * console-msw.c (DSTRING):
11522         * console-msw.c (DVECTOR):
11523         * console-msw.c (DSYMBOL):
11524         * console-msw.c (DSYMNAME):
11525         Fix warnings.
11526
11527         * console-stream.c (stream_init_console):
11528         Fix text/binary problems.
11529
11530         * device-msw.c:
11531         * device-msw.c (mswindows_finish_init_device):
11532         * device-msw.c (mswindows_delete_device):
11533         [1].
11534
11535         * device.c (handle_asynch_device_change):
11536         [3].
11537
11538         * dgif_lib.c:
11539         * dgif_lib.c (DGifOpenFileName):
11540         * dgif_lib.c (DGifOpenFileHandle):
11541         * dgif_lib.c (DGifGetLine):
11542         * dgif_lib.c (DGifGetPixel):
11543         Added config.h/lisp.h, fix up includes.
11544         [1].
11545
11546         * dired-msw.c:
11547         [4].
11548
11549         * dired.c:
11550         * dired.c (file_name_completion):
11551         * dired.c (Ffile_attributes):
11552         * dired.c (syms_of_dired):
11553         [1].
11554
11555         * dumper.c:
11556         * dumper.c (pdump_file_unmap):
11557         * dumper.c (pdump_load):
11558         [1].
11559
11560         * editfns.c:
11561         * editfns.c (Ftemp_directory):
11562         * editfns.c (user_login_name):
11563         * editfns.c (Fuser_real_login_name):
11564         * editfns.c (get_home_directory):
11565         [1].
11566
11567         * elhash.c (finish_marking_weak_hash_tables):
11568         [[[[5]]]]: Fix GCC warnings.
11569
11570         * emacs.c:
11571         * emacs.c (mswindows_handle_hardware_exceptions):
11572         * emacs.c (make_arg_list_1):
11573         * emacs.c (main_1):
11574         * emacs.c (Fkill_emacs):
11575         * emacs.c (Fdump_emacs):
11576         [1].
11577         Fix problems with nested crashes, add long comment.
11578
11579         * event-Xt.c (init_event_Xt_late):
11580         [1].
11581
11582         * event-msw.c:
11583         * event-msw.c (mswindows_dde_callback):
11584         * event-msw.c (mswindows_handle_sticky_modifiers):
11585         * event-msw.c (mswindows_wnd_proc):
11586         [1].
11587         [5].
11588
11589         * events.c (character_to_event):
11590         [1].
11591
11592         * fileio.c:
11593         * fileio.c (Ffile_name_directory):
11594         * fileio.c (Ffile_name_nondirectory):
11595         * fileio.c (directory_file_name):
11596         * fileio.c (Fexpand_file_name):
11597         * fileio.c (Fsubstitute_in_file_name):
11598         * fileio.c (Ffile_name_absolute_p):
11599         * fileio.c (check_executable):
11600         * fileio.c (Ffile_readable_p):
11601         * fileio.c (Ffile_accessible_directory_p):
11602         * fileio.c (Ffile_modes):
11603         * fileio.c (Funix_sync):
11604         * fileio.c (vars_of_fileio):
11605         [1]. [4].
11606
11607         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11608
11609         Expand getdefdir defn.
11610         Fix bogus rename() comment.
11611
11612         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11613         to use standard XEmacs include files, e.g. sysfile.h, rather
11614         than system-specific includes.
11615
11616         * fns.c:
11617         * fns.c (Fsubseq):
11618         [5]. [6].
11619
11620         * frame.c (vars_of_frame):
11621         [1].
11622
11623         * getloadavg.c:
11624         * getloadavg.c (getloadavg):
11625         [1]. [6].
11626         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11627         (We don't use it elsewhere in the code; just add a comment.)
11628
11629         * gif_io.c:
11630         [6].
11631         Add config.h.
11632
11633         * glyphs-msw.c:
11634         * glyphs-msw.c (mswindows_resource_instantiate):
11635         [1].
11636
11637         * glyphs-x.c (x_native_layout_instantiate):
11638         [5].
11639
11640         * gui-msw.c (Fmswindows_shell_execute):
11641         [1].
11642
11643         * insdel.c:
11644         [4].
11645
11646         * lisp.h:
11647         [4]. [5].
11648
11649         * lread.c (locate_file_in_directory_mapper):
11650         [1].
11651
11652         * lstream.c:
11653         [4].
11654
11655         * mem-limits.h:
11656         * mem-limits.h (get_lim_data):
11657         [1].
11658
11659         * menubar-msw.c:
11660         [4].
11661
11662         * ndir.h:
11663         [1].
11664
11665         * nt.c:
11666         * nt.c (getwd):
11667         * nt.c (closedir):
11668         * nt.c (rva_to_section):
11669         * nt.c (mswindows_executable_type):
11670         [1]. [6].
11671         Fix closedir() defn.
11672
11673         * nt.h:
11674         [[[[8]]]]: *_OK defs moved to sysfile.h.
11675
11676         * ntproc.c:
11677         [6]. [7].
11678
11679         * objects-x.c:
11680         [4].
11681
11682         * print.c:
11683         * print.c (std_handle_out_external):
11684         [1]. [4].
11685
11686         * process-nt.c:
11687         * process-nt.c (nt_create_process):
11688         [6].
11689         try to fix process quoting somewhat.
11690
11691         * process-unix.c (unix_create_process):
11692         [1].
11693
11694         * process.c:
11695         * process.c (vars_of_process):
11696         Add Vnull_device.
11697
11698         * process.h:
11699         [1].
11700
11701         * realpath.c:
11702         * realpath.c (xrealpath):
11703         [1].
11704
11705         * redisplay-tty.c (init_tty_for_redisplay):
11706         [3].
11707
11708         * redisplay.c:
11709         [4]. [6].
11710
11711         * scrollbar-msw.c:
11712         [4].
11713
11714         * sheap.c:
11715         * sheap.c (more_static_core):
11716         * sheap.c (report_sheap_usage):
11717         [5]. [6].
11718
11719         * signal.c:
11720         * signal.c (alarm_signal):
11721         [1]. [6].
11722
11723         * sound.c:
11724         [6].
11725
11726         * strftime.c:
11727         * strftime.c (zone_name):
11728         [1]. [5].
11729
11730         * symsinit.h (init_sunpro):
11731         [1].
11732
11733         * syscommctrl.h:
11734         commctrl.h not in Cygwin b20.1.
11735
11736         * sysdep.c:
11737         * sysdep.c (endif):
11738         * sysdep.c (sys_subshell):
11739         * sysdep.c (init_baud_rate):
11740         * sysdep.c (emacs_get_tty):
11741         * sysdep.c (emacs_set_tty):
11742         * sysdep.c (tty_init_sys_modes_on_device):
11743         * sysdep.c (init_system_name):
11744         * sysdep.c (sys_open):
11745         * sysdep.c (interruptible_open):
11746         * sysdep.c (sys_fopen):
11747         * sysdep.c (sys_mkdir):
11748         * sysdep.c (sys_rename):
11749         * sysdep.c (get_process_times_1):
11750         [1]. [6].
11751
11752         * sysdep.h:
11753         [1].
11754
11755         * sysdir.h:
11756         * sysdir.h (DIRENTRY_NONEMPTY):
11757         [1]. [6].
11758
11759         * sysdll.c (dll_init):
11760         * sysdll.h:
11761         [1].
11762
11763         * sysfile.h:
11764         [1]. [6]. [8].
11765         added text/binary defs.
11766
11767         * sysfloat.h:
11768         [1].
11769
11770         * sysproc.h:
11771         * sysproc.h (EDESTADDRREQ):
11772         * sysproc.h (poll_fds_for_input):
11773         [1]. [6].
11774
11775         * syspwd.h:
11776         [6].
11777
11778         * syssignal.h:
11779         [1].
11780
11781         * systime.h:
11782         [1]. [6].
11783
11784         * systty.h:
11785         [1].
11786
11787         * syswindows.h:
11788         [1].
11789         Always define WIN32_LEAN_AND_MEAN.
11790
11791         * unexcw.c (unexec):
11792         [5].
11793
11794         * unexec.c:
11795         * unexec.c (copy_text_and_data):
11796         * unexec.c (adjust_lnnoptrs):
11797         [1].
11798
11799         * unexnt.c:
11800         * unexnt.c (_start):
11801         [1].
11802
11803 2000-06-07  Ben Wing  <ben@xemacs.org>
11804
11805         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11806         was used only as a model.  We've long since extracted any useful
11807         logic or code out of this. (I just did an exhaustive search.)
11808
11809         * s\msdos.h: Removed.
11810
11811         * s\windows95.h: Removed.
11812
11813 2000-06-10  Ben Wing  <ben@xemacs.org>
11814
11815         * s\cygwin32.h:
11816         [1]. [5].
11817         Don't use extern with fun defs.
11818
11819         * s\mingw32.h:
11820         [1]. [7].
11821         Remove nt\inc include.
11822         Remove getdisk, getdefdir. (The former is unused, the latter
11823         expanded in fileio.h.)
11824
11825         * s\windowsnt.h:
11826         * s\windowsnt.h (WIN32_NATIVE):
11827         * s\windowsnt.h (HAVE_STRCASECMP):
11828         [1]. [7].
11829         Add long comment about preprocessor changes.
11830         Remove getdisk, getdefdir. (The former is unused, the latter
11831         expanded in fileio.h.)
11832
11833 2000-06-10  Ben Wing  <ben@xemacs.org>
11834
11835         * m\arm.h:
11836         * m\delta.h:
11837         * m\intel386.h:
11838         * m\sequent.h:
11839         * m\template.h:
11840         * m\windowsnt.h:
11841         [1].
11842         Remove bogus/unused NO_SOCK_SIGIO.
11843
11844 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11845
11846         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11847         not an Emchar.
11848
11849 2000-06-04  Mike Sperber <mike@xemacs.org>
11850
11851         * casetab.c (set_case_table): For `set-standard-case-table',
11852         actually deposit the new case tables where the rest of XEmacs can
11853         see them.
11854
11855 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11856
11857         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11858
11859 2000-06-05  Ben Wing  <ben@xemacs.org>
11860
11861         * callproc.c (child_setup): Don't do close_load_descs() under
11862         MS Windows.  Put in a comment explaining why.
11863
11864 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11865
11866         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11867         Toolkit shell" which breaks `kill-compilation' on Windows NT
11868         native, retaining STDERR handling improvements.
11869
11870 2000-06-01  Andreas Jaeger  <aj@suse.de>
11871
11872         * s/s390.h: Support for S390, based on a patch by Martin
11873         Schwidefsky <schwidefsky@de.ibm.com>.
11874
11875 2000-05-30  Andy Piper  <andy@xemacs.org>
11876
11877         * window.c (allocate_window):
11878         (make_dummy_parent):
11879         (Fset_window_configuration): use new hashtable type.
11880
11881         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11882         (struct image_instantiator_methods):
11883         (struct Lisp_Image_Instance): make instance geometry signed.
11884
11885         * glyphs.c (instantiate_image_instantiator):
11886         (image_instance_query_geometry):
11887         (image_instance_layout):
11888         (image_instance_layout):
11889         (query_string_geometry):
11890         (text_query_geometry):
11891         (image_instantiate):
11892         (image_instantiate):
11893         (cache_subwindow_instance_in_frame_maybe):
11894         (subwindow_query_geometry): make instance geometry signed.
11895
11896         * glyphs-widget.c (widget_query_geometry):
11897         (widget_layout):
11898         (button_query_geometry):
11899         (tree_view_query_geometry):
11900         (tab_control_query_geometry):
11901         (layout_query_geometry):
11902         (layout_layout):
11903         (native_layout_layout): make instance geometry signed.
11904
11905 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11906
11907         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11908         constant.
11909
11910         * general.c (syms_of_general): Add Qfull_assoc symbol.
11911
11912         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11913         correctly.
11914         (decode_weak_list_type): Decode full-assoc type.
11915         (encode_weak_list_type): Encode full-assoc type.
11916         (Fmake_weak_list): Update doc string.
11917
11918 2000-05-30  Andy Piper  <andy@xemacs.org>
11919
11920         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11921
11922         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11923         (decode_hash_table_weakness): ditto.
11924         (Fhash_table_weakness): ditto.
11925         (Fhash_table_type): ditto.
11926         (finish_marking_weak_hash_tables): ditto.
11927         (hash_table_weakness_validate): ditto.
11928         (syms_of_elhash): ditto.
11929
11930 2000-05-28  Martin Buchholz <martin@xemacs.org>
11931
11932         * XEmacs 21.2.34 is released.
11933
11934 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11935
11936         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11937         start cache.
11938         (updating_line_start_cache): Gone.
11939         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11940         generic code to force a minimum of 1 line laid out in the
11941         CMOTION_DISP case.
11942
11943 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11944
11945         * glyphs.c (instantiate_image_instantiator): Check for initialized
11946         height & width no longer special cases IMAGE_NOTHING.
11947         (nothing_instantiate): Set height and width of instance.
11948
11949 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11950
11951         * unexelf.c (unexec): Search for ".data" section.
11952         Initialize new_data2_offset from old_data_index.
11953         Remove redundant check for ElfW.
11954
11955 2000-05-23  Andy Piper  <andy@xemacs.org>
11956
11957         * glyphs.c (get_image_instantiator_governing_domain): allow more
11958         specific domains as the governing domain rather than expecting an
11959         exact match. This fixes problems with layouts.
11960
11961 2000-05-22  Andy Piper  <andy@xemacs.org>
11962
11963         * redisplay-output.c (compare_runes): check for non-images
11964
11965         * glyphs.c (set_glyph_dirty_p): ditto.
11966         (update_glyph_cachel_data): ditto.
11967
11968         * glyphs-widget.c (layout_post_instantiate): ditto.
11969         (layout_post_instantiate): ditto.
11970
11971         * event-msw.c (mswindows_wnd_proc): warning removal.
11972
11973 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11974
11975         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11976
11977         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11978
11979         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11980
11981         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11982         (mswindows_executable_type): mingw32 now has enough headers for
11983         this to work.
11984
11985 2000-05-20  Andy Piper  <andy@xemacs.org>
11986
11987         * console-msw.c (mswindows_output_last_error): ; -> ,
11988
11989 2000-05-12  Andy Piper  <andy@xemacs.org>
11990
11991         * console-msw.c (FROB): compare ints with ints.
11992
11993 2000-05-11  Andy Piper  <andy@xemacs.org>
11994
11995         * glyphs-x.c (x_finalize_image_instance): make minimal build
11996         happy.
11997
11998 2000-05-20  Ben Wing  <ben@xemacs.org>
11999
12000         * event-Xt.c:
12001         * event-Xt.c (vars_of_event_Xt):
12002         move modifier-keys-are-sticky to event-stream.c.
12003
12004         * event-msw.c:
12005         * event-msw.c (mswindows_enqueue_mouse_button_event):
12006         * event-msw.c (key_needs_default_processing_p):
12007         * event-msw.c (XEMSW_LCONTROL):
12008         * event-msw.c (mswindows_handle_sticky_modifiers):
12009         * event-msw.c (FROB):
12010         * event-msw.c (clear_sticky_modifiers):
12011         * event-msw.c (output_modifier_keyboard_state):
12012         * event-msw.c (output_alt_keyboard_state):
12013         * event-msw.c (mswindows_wnd_proc):
12014         * event-msw.c (mswindows_modifier_state):
12015         * event-msw.c (emacs_mswindows_handle_magic_event):
12016         implement sticky modifiers.
12017
12018         * event-stream.c:
12019         * event-stream.c (vars_of_event_stream):
12020         move modifier-keys-are-sticky here.
12021
12022         * lisp.h:
12023         add CHECK_FUNCTION.
12024
12025         * rangetab.c:
12026         implement map-range-table.
12027
12028
12029 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12030
12031         * redisplay-tty.c (reset_tty_modes):
12032         (tty_redisplay_shutdown): Adjust argument type to
12033         tty_frame_output_end.
12034
12035 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12036
12037         * eval.c (Fbacktrace): Don't output a line with only right
12038         parenthesis.
12039
12040 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12041
12042         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12043         (Fpq_reset_poll): Ditto.
12044
12045 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12046
12047         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12048
12049 2000-05-16  Ben Wing  <ben@xemacs.org>
12050
12051         * buffer.c:
12052         * buffer.c (dfc_convert_to/from_internal_format):
12053         * buffer.c (reinit_vars_of_buffer):
12054         Fix conversion functions to allow reentrancy.
12055
12056         * console-msw.c:
12057         * console-msw.c (mswindows_output_last_error):
12058         New fun, generally useful -- output a human-readable
12059         version of GetLastError() on the console.
12060
12061         * console-msw.h:
12062         * console-msw.h (struct mswindows_frame):
12063         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12064
12065         * console-stream.c (stream_output_begin):
12066         * console-stream.c (stream_output_end):
12067         * console-stream.c (stream_output_vertical_divider):
12068         * console-stream.c (stream_clear_region):
12069         * console-stream.c (stream_flash):
12070         * console-stream.c (console_type_create_stream):
12071         Delete blank stream methods, not needed.
12072
12073         * console.h (struct console_methods):
12074         Split begin/end methods into window and frame.
12075
12076         * event-msw.c:
12077         * event-msw.c (mswindows_handle_paint):
12078         * event-msw.c (output_alt_keyboard_state):
12079         * event-msw.c (mswindows_wnd_proc):
12080         * event-msw.c (vars_of_event_mswindows):
12081         Comment about problems with ignored-expose.
12082         Define mswindows-debug-events; not really implemented.
12083
12084         * frame-msw.c (mswindows_init_frame_1):
12085         random cleanups.
12086
12087         * glyphs-msw.c:
12088         * glyphs-msw.c (begin_defer_window_pos):
12089         * glyphs-msw.c (mswindows_unmap_subwindow):
12090         * glyphs-msw.c (mswindows_map_subwindow):
12091         * glyphs-msw.c (mswindows_resize_subwindow):
12092         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12093
12094         * glyphs.c (make_image_instance_1):
12095         Fix crash.
12096
12097         * gutter.c (Fredisplay_gutter_area):
12098         Use new begin/end methods.
12099
12100         * lisp.h (Dynarr_new2):
12101         New creation fun.
12102
12103         * redisplay-msw.c:
12104         * redisplay-msw.c (mswindows_frame_output_begin):
12105         * redisplay-msw.c (mswindows_frame_output_end):
12106         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12107         New begin/end methods -- handle DeferWindowPos.
12108
12109         * redisplay-output.c (redisplay_move_cursor):
12110         * redisplay-output.c (redraw_cursor_in_window):
12111         * redisplay-output.c (redisplay_update_line):
12112         * redisplay-output.c (redisplay_output_window):
12113         New begin/end methods.
12114
12115         * redisplay-tty.c:
12116         * redisplay-tty.c (tty_frame_output_begin):
12117         * redisplay-tty.c (tty_frame_output_end):
12118         * redisplay-tty.c (console_type_create_redisplay_tty):
12119         New begin/end methods.
12120
12121         * redisplay-x.c:
12122         * redisplay-x.c (x_window_output_begin):
12123         * redisplay-x.c (x_window_output_end):
12124         * redisplay-x.c (console_type_create_redisplay_x):
12125         New begin/end methods.
12126
12127         * redisplay.c (redisplay_frame):
12128         * redisplay.c (Fredisplay_echo_area):
12129         New begin/end methods.
12130         use MAYBE_DEVMETH for clear_frame; it may not exist.
12131
12132         * window.h (WINDOW_XFRAME):
12133         WINDOW_XFOO macros -- get locale and decode struct pointer.
12134
12135
12136 2000-05-12  Ben Wing  <ben@xemacs.org>
12137
12138         * emacs.c:
12139         * emacs.c (ensure_no_quitting_from_now_on):
12140         * emacs.c (fatal_error_signal):
12141         * emacs.c (mswindows_handle_hardware_exceptions):
12142         * emacs.c (main):
12143         * emacs.c (Fkill_emacs):
12144         * emacs.c (shut_down_emacs):
12145         * emacs.c (assert_failed):
12146         various improvements in fatal error handling.
12147
12148         * eval.c:
12149         move preparing_for_armageddon to emacs.c.
12150
12151         * lisp.h:
12152         declare fatal_error_in_progress.
12153
12154         * print.c:
12155         * print.c (std_handle_out_external):
12156         * print.c (std_handle_out_va):
12157         * print.c (stderr_out):
12158         * print.c (stdout_out):
12159         use console under mswin when no standard output.
12160         don't do code conversion during fatal error.
12161
12162         * scrollbar.c (Fscrollbar_page_up):
12163         * scrollbar.c (Fscrollbar_page_down):
12164         fix missing else.  reindent.
12165
12166 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12167
12168         Emergency fix.
12169
12170         * glyphs.h (GLYPH_CACHEL_DESCENT):
12171         (GLYPH_CACHEL_DESCENT):
12172         (GLYPH_CACHEL_DESCENT):
12173         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12174         used in case these are inline functions.
12175         Use more absurd values to error check.
12176
12177         include window.h for error check functions.
12178
12179 2000-05-11  Ben Wing  <ben@xemacs.org>
12180
12181         * cmdloop.c (Freally_early_error_handler):
12182         Display message box under windows; otherwise, message will disappear
12183         before it can be viewed.
12184
12185         * console-msw.c:
12186         * console-msw.c (Fmswindows_message_box):
12187         * console-msw.c (FROB):
12188         * console-msw.c (syms_of_console_mswindows):
12189         Define new fun `mswindows-message-box'.
12190         #### I will merge this into `popup-dialog-box'; just give me
12191         a bit of time.
12192
12193         * general.c:
12194         * general.c (syms_of_general):
12195         Some new symbols used in `mswindows-message-box'.
12196
12197         * glyphs.c:
12198         * glyphs.c (Fset_image_instance_property):
12199         put warning in this fun.
12200
12201         * glyphs.h:
12202         * glyphs.h (GLYPH_CACHEL_WIDTH):
12203         * glyphs.h (GLYPH_CACHEL_ASCENT):
12204         * glyphs.h (GLYPH_CACHEL):
12205         * glyphs.h (GLYPH_CACHEL_GLYPH):
12206         define error-checking versions to try to catch a bug i've seen --
12207         redisplay gets in an infinite loop because the glyph width of the
12208         continuation glyph is 65535.
12209
12210         * lisp.h:
12211         Extern message-box stuff.
12212
12213         * window.c (allocate_window):
12214         * window.c (make_dummy_parent):
12215         * window.c (Fset_window_configuration):
12216         Use EQUAL not EQ for subwindow caches to make them work a bit
12217         better. (Something is still very broken.)
12218
12219
12220 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12221
12222         * glyphs.c (image_instantiate): Suppress gcc warnings.
12223         (Fmake_image_instance): Fix doc string.
12224         * specifier.c (Fmake_specifier): Ditto.
12225
12226 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12227
12228         * paths.h.in (PATH_LOCK): Removed.
12229         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12230         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12231
12232 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12233
12234         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12235         Document (featurep '(and xemacs 21.02)).
12236
12237 2000-05-09  Ben Wing  <ben@xemacs.org>
12238
12239         * buffer.c (complex_vars_of_buffer):
12240         update modeline-format doc.
12241
12242         * device.h:
12243         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12244
12245         * emacs.c:
12246         timeline of all released versions of Emacs, for use in creating
12247         authorship comments and in synching up.
12248
12249         * glyphs-widget.c (image_instantiator_buttons):
12250         * glyphs-widget.c (image_instantiator_edit_fields):
12251         * glyphs-widget.c (image_instantiator_combo_box):
12252         * glyphs-widget.c (image_instantiator_scrollbar):
12253         * glyphs-widget.c (image_instantiator_progress_guage):
12254         * glyphs-widget.c (image_instantiator_tree_view):
12255         * glyphs-widget.c (image_instantiator_tab_control):
12256         * glyphs-widget.c (image_instantiator_labels):
12257         * glyphs-widget.c (image_instantiator_layout):
12258         * glyphs-widget.c (image_instantiator_native_layout):
12259         rename decode_domain method to governing_domain.
12260
12261         * glyphs.c:
12262         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12263         * glyphs.c (add_entry_to_device_ii_format_list):
12264         make sure we don't put an entry more than once into the list.
12265         * glyphs.c (check_instance_cache_mapper):
12266         *************************************************************
12267         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12268         HAVE BEEN GETTING.
12269         *************************************************************
12270         * glyphs.c (get_image_instantiator_governing_domain):
12271         clean up, expand on new concept of governing domain.
12272         * glyphs.c (instantiate_image_instantiator):
12273         * glyphs.c (allocate_image_instance):
12274         use governing_domain instead of cache_domain in naming.
12275         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12276         * glyphs.c (make_image_instance_1):
12277         * glyphs.c (Fmake_image_instance):
12278         allow for any domain (not just device), and process the
12279         governing domain correctly.  very big doc fix.
12280         * glyphs.c (Fimage_instance_domain):
12281         new primitive, to retrieve the governing domain of an image instance.
12282         * glyphs.c (image_instantiate):
12283         use new governing_domain stuff.  this fixes a crash you could get
12284         by instantiating certain widget glyphs in frame locales. (should
12285         signal an error instead of crashing.)
12286         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12287         * glyphs.c (Fglyphp): clean up doc.
12288         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12289         * glyphs.c (syms_of_glyphs):
12290         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12291         * glyphs.c (image_instantiator_format_create): add some comments about
12292         bogus code.
12293         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12294         for current-display-table. (Apparently Hrjove implemented in 1998 a
12295         design I wrote up in 1996, but didn't update the doc string.)
12296
12297         * glyphs.h: clean up a doc string.
12298         * glyphs.h (governing_domain):
12299         * glyphs.h (struct image_instantiator_methods):
12300         changes for governing_domain stuff.
12301
12302         * gutter.c:
12303         * gutter.c (Fgutter_specifier_p):
12304         * gutter.c (Fgutter_size_specifier_p):
12305         * gutter.c (Fgutter_visible_specifier_p):
12306         * objects.c:
12307         * objects.c (Fcolor_specifier_p):
12308         * objects.c (Ffont_specifier_p):
12309         * objects.c (Fface_boolean_specifier_p):
12310         doc strings moved to make-*-specifier.
12311
12312         * redisplay.c (add_disp_table_entry_runes_1):
12313         * redisplay.c (generate_fstring_runes):
12314         * redisplay.c (screen):
12315         add random comments and doc strings.
12316
12317         * specifier.c:
12318         * specifier.c (Fmake_specifier):
12319         major overhaul of this doc string.
12320
12321         * specifier.c (Fvalid_specifier_domain_p):
12322         comment about the bogosity of image instances being domains.
12323         * specifier.c (decode_domain):
12324         now non-static, used in glyphs.c.
12325         * specifier.c (specifier_instance):
12326         comment about the bogosity of image instances being domains.
12327         * specifier.c (Fgeneric_specifier_p):
12328         move doc string to make-generic-specifier.
12329         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12330         rebackslashify.
12331
12332         * specifier.h:
12333         * specifier.h (DOMAIN_FRAME):
12334         * specifier.h (DOMAIN_LIVE_P):
12335         * specifier.h (DOMAIN_XDEVICE):
12336         rebackslashify.
12337         add comments about problems with these macros.
12338         prototype for decode_domain.
12339
12340         * toolbar.c:
12341         * toolbar.c (Ftoolbar_specifier_p):
12342         move doc string to `make-toolbar-specifier'.
12343
12344         * window.c (window_unmap_subwindows_cache_mapper):
12345         *************************************************************
12346         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12347         HAVE BEEN GETTING.
12348         *************************************************************
12349
12350 2000-05-09  Andy Piper  <andy@xemacs.org>
12351
12352         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12353
12354         * window.c (Fset_window_configuration): reset the frame subwindow
12355         cache and re-initialize the window subwindow caches.
12356
12357         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12358
12359 2000-05-09  Ben Wing  <ben@xemacs.org>
12360
12361         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12362         DWORD.
12363
12364 2000-04-26  Mike Woolley  <mike@bulsara.com>
12365
12366         * ntheap.c: Changed recreate_heap to limit the amount reserved
12367         for the heap to that which is actually available. Also now
12368         displays a message box (with some dignostics) in the event that
12369         it still can't start.
12370
12371 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12372
12373         * callproc.c (Fold_call_process_internal): GCPRO path
12374
12375 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12376
12377         Patch by Bill Perry.
12378
12379         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12380         back data instead of #ifdef.
12381         (Fscrollbar_page_down): ditto.
12382
12383 2000-05-07  Ben Wing  <ben@xemacs.org>
12384
12385         * buffer.h:
12386         Kludge for defining Qmswindows_tstr.
12387
12388         * nt.c:
12389         * nt.c (open_input_file):
12390         * nt.c (open_output_file):
12391         * nt.c (rva_to_section):
12392         * nt.c (mswindows_executable_type):
12393         Move all memory-mapped-file routines here (some were in unexnt.c,
12394         which is bad because they are used by process-nt.c, and unexnt
12395         won't be around when portable dumping).  Synched the above routines
12396         with FSF 20.6.
12397
12398         * nt.h:
12399         Removed ifdef'd out bogus code.
12400         Fixed some prototypes.
12401
12402         * nt.h (file_data):
12403         * nt.h (OFFSET_TO_RVA):
12404         * nt.h (RVA_TO_OFFSET):
12405         * nt.h (RVA_TO_PTR):
12406         Moved the memory-mapped-file structures, macros and prototypes
12407         here, to parallel nt.c.  ntheap.h should really be removed
12408         entirely, and it's a non-portable-dumper specific file.
12409
12410         * ntheap.h (round_to_next):
12411         Moved the memory-mapped-file structures, macros and prototypes
12412         to nt.h.
12413
12414         * ntproc.c (compare_env):
12415         Moved rva_to_section and mswindows_executable_type to nt.c.
12416         Moved compare_env to process-nt.c.
12417         ntproc.c will die, one day.
12418
12419         * ntproc.c (sys_spawnve):
12420         Account for win32_ -> mswindows_.
12421
12422         * process-nt.c:
12423         * process-nt.c (struct nt_process_data):
12424         * process-nt.c (ensure_console_window_exists):
12425         * process-nt.c (compare_env):
12426         * process-nt.c (nt_create_process):
12427         * process-nt.c (nt_kill_process_by_pid):
12428         * process-nt.c (syms_of_process_nt):
12429         * process-nt.c (vars_of_process_nt):
12430         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12431         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12432         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12433         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12434         Move compare_env here from ntproc.c.
12435
12436         * process.c (Fprocess_send_region):
12437         Takes an optional fourth argument, BUFFER, which should fix some
12438         problems with call-process.
12439
12440         * syscommctrl.h:
12441         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12442
12443         * syswindows.h:
12444         Move ICC_BAR_CLASSES to syscommctrl.h.
12445         Add preliminary macros for MSWindows/Mule.  More to come.
12446
12447         * unexnt.c:
12448         * unexnt.c (unexec):
12449         open_output_file moved to nt.c.
12450
12451
12452 2000-05-05  Andy Piper  <andy@xemacs.org>
12453
12454         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12455         instance from the frame cache also since GC may catch up too late
12456         to make frame deletion sane.
12457
12458 2000-05-04  Andy Piper  <andy@xemacs.org>
12459
12460         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12461         (x_finalize_image_instance): ungcpro on deletion.
12462
12463         * glyphs.c (image_instantiator_format_create): give pointers a
12464         query geometry method so that the geometry is at least set.
12465
12466         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12467         initialize layouts if using widgets.
12468
12469 2000-05-03  Andy Piper  <andy@xemacs.org>
12470
12471         * nt.c: remove bogus reference to sysmmsystem.h
12472
12473         * gui-x.c (popup_selection_callback): fix no selection abort.
12474
12475 2000-05-02  Andy Piper  <andy@xemacs.org>
12476
12477         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12478         (mswindows_widget_instantiate): ditto.
12479
12480         * glyphs-widget.c (initialize_widget_image_instance): initialize
12481         children correctly.
12482         (widget_instantiate): cope with children and items in the same
12483         instance.
12484
12485         * glyphs.c (mark_image_instance): cope with children as a first
12486         class member.
12487         (image_instance_equal): ditto.
12488         (image_instance_hash): ditto.
12489         (image_instance_changed): ditto.
12490
12491 2000-04-30  Andy Piper  <andy@xemacs.org>
12492
12493         * glyphs.c (subwindow_query_geometry): new function. Return some
12494         defaults.
12495         (subwindow_instantiate): don't assign dimensions if none have been
12496         given.
12497         (image_instantiator_format_create): add subwindow_query_geometry.
12498         (print_image_instance): cope with layouts as widgets.
12499
12500 2000-04-29  Andy Piper  <andy@xemacs.org>
12501
12502         * frame.c (delete_frame_internal): call
12503         free_frame_subwindow_instance_cache so that all subwindows are
12504         finalized before their parent.
12505         (mark_frame): remove subwindow_cachels.
12506         (Fmake_frame): remove subwindow_cachel manipulation.
12507         (allocate_frame_core): subwindow_instance_cache is a weak list.
12508         (delete_frame_internal): set subwindow_instance_cache to nil.
12509
12510         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12511         finalization safe.
12512         (mswindows_finalize_image_instance): use the device
12513         not the domain as the domain may have died already.
12514
12515         * glyphs-x.c (x_finalize_image_instance): ditto.
12516         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12517         HEIGHT.
12518
12519         * redisplay-output.c (redisplay_unmap_subwindows): update for
12520         subwindow instance cache as a weak list.
12521         (redisplay_unmap_subwindows_maybe): ditto.
12522         (redisplay_unmap_subwindows_except_us): ditto.
12523
12524         * glyphs.c (unmap_subwindow): error checking will check the domain
12525         so don't deal with it here. Don't use cachels anymore.
12526         (map_subwindow): ditto.
12527         (update_subwindow_cachel_data): remove old accessor names.
12528         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12529         (Fresize_subwindow): don't update cachel.
12530         (mark_subwindow_cachels):
12531         (update_subwindow_cachel_data):
12532         (add_subwindow_cachel):
12533         (get_subwindow_cachel_index):
12534         (update_subwindow_cachel):
12535         (reset_subwindow_cachels):
12536         (mark_subwindow_cachels_as_not_updated): deleted.
12537         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12538         subwindow instance to the frame cache.
12539         (find_matching_subwindow): update for subwindow instance cache as
12540         a weak list.
12541         (update_widget_instances): ditto.
12542         (image_instance_type_to_mask):inlined.
12543         (free_frame_subwindow_instance_cache): new function. finalize all
12544         subwindows that are instantiated.
12545
12546         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12547         of cachel information.
12548         (IMAGE_INSTANCE_DISPLAY_X):
12549         (IMAGE_INSTANCE_DISPLAY_Y):
12550         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12551         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12552         (XIMAGE_INSTANCE_DISPLAY_X):
12553         (XIMAGE_INSTANCE_DISPLAY_Y):
12554         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12555         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12556         remove subwindow_cachel structure and function references.
12557         (image_instance_type_to_mask): inline from glyphs.c
12558
12559         * redisplay.c (redisplay_frame): remove subwindow_cachel
12560         references.
12561
12562         * frame.h (struct frame): remove subwindow_cachels.
12563         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12564
12565         * frameslots.h: add subwindow_instance_cache.
12566
12567         * window.c (replace_window): check subwindow cache of replacement.
12568         (window_unmap_subwindows_cache_mapper):
12569         (window_unmap_subwindows): new functions. Unmap all subwindows
12570         cached on this window.
12571         (mark_window_as_deleted): unmap all subwindows.
12572
12573 2000-04-27  Andy Piper  <andy@xemacs.org>
12574
12575         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12576
12577         * glyphs-widget.c (widget_layout): return something.
12578         (layout_layout): return something. Fail if not initialized.
12579         (layout_query_geometry): ditto.
12580         (image_instantiator_native_layout): new function. Initialized the
12581         native layout type.
12582         (widget_instantiate): don't do layout stuff here.
12583
12584         * glyphs.c (instantiate_image_instantiator): reorded calling or
12585         instantiate and post_instantiate with layout in between.
12586         (image_instance_layout): be more selective about deciding whether
12587         the layout has been done or not.
12588
12589         * glyphs.h (struct image_instantiator_methods): return a value
12590         from layout_method.
12591
12592 2000-04-26  Andy Piper  <andy@xemacs.org>
12593
12594         * glyphs.c (allocate_image_instance): make initial width and
12595         height unspecified. Set initialized to 0.
12596
12597         * syscommctrl.h new file. Encapsulates commctrl.h.
12598
12599         * syswindows.h new file. Encapsulates windows.h.
12600
12601         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12602         * nt.c: ditto.
12603         * console-msw.h: ditto.
12604
12605         * redisplay-tty.c (tty_output_display_block): remove layout references.
12606
12607         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12608         window handle rather than just the frame.
12609
12610         * glyphs.c (mark_image_instance): remove layout references.
12611         (print_image_instance): ditto.
12612         (image_instance_equal): ditto.
12613         (image_instance_hash): ditto.
12614         (decode_image_instance_type): ditto.
12615         (encode_image_instance_type): ditto.
12616         (image_instantiate): ditto.
12617         (allocate_glyph): ditto.
12618         (Fimage_instance_height): ditto.
12619         (Fimage_instance_width): ditto.
12620         (update_subwindow): ditto.
12621
12622         * redisplay-x.c (x_output_display_block): recode for layouts as
12623         widgets.
12624
12625         * redisplay-output.c (redisplay_output_layout): recode for layouts
12626         as widgets.
12627         (compare_runes): remove layout references.
12628
12629         * redisplay-msw.c (mswindows_output_display_block): recode for
12630         layouts as widgets.
12631
12632         * glyphs-widget.c (image_instantiator_layout): remove
12633         layout_possible_dest_types.
12634         (layout_possible_dest_types): deleted.
12635
12636         * glyphs.h (image_instance_type): remove layout references.
12637         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12638         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12639         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12640
12641 2000-04-25  Andy Piper  <andy@xemacs.org>
12642
12643         * glyphs-widget.c (image_instantiator_buttons):
12644         (image_instantiator_edit_fields):
12645         (image_instantiator_combo_box):
12646         (image_instantiator_scrollbar):
12647         (image_instantiator_progress_guage):
12648         (image_instantiator_tree_view):
12649         (image_instantiator_tab_control):
12650         (image_instantiator_labels):
12651         (image_instantiator_layout): call default post_instantiate method.
12652         (widget_post_instantiate): new function. Simply lays out the
12653         widgets.
12654
12655         * glyphs.h (struct image_instantiator_methods): add
12656         post_instantiate method.
12657
12658         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12659         method calls.
12660
12661 2000-04-23  Andy Piper  <andy@xemacs.org>
12662
12663         * glyphs.h (struct image_instantiator_methods): add
12664         decode_domain_method.
12665         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12666         derived from the domain.
12667         (IMAGE_INSTANCE_FRAME): new accessor.
12668         (XIMAGE_INSTANCE_FRAME): ditto.
12669
12670         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12671         instead of _SUBWINDOW_FRAME.
12672         (finalize_image_instance): ditto.
12673         (Fimage_instance_foreground): ditto.
12674         (Fimage_instance_background): ditto.
12675         (image_instantiate): ditto.
12676         (update_subwindow_cachel): ditto.
12677         (update_subwindow): ditto.
12678         (unmap_subwindow): ditto.
12679         (map_subwindow): ditto
12680         (subwindow_instantiate): ditto.
12681         * glyphs-msw.c (mswindows_update_widget): ditto.
12682         (mswindows_progress_gauge_instantiate): ditto.
12683         (mswindows_tab_control_update): ditto.
12684         * glyphs-x.c (x_update_widget): ditto.
12685         (x_widget_instantiate): ditto.
12686         (x_tab_control_instantiate): ditto.
12687         (x_tab_control_update): ditto.
12688         * event-msw.c (mswindows_wnd_proc): ditto
12689
12690         * glyphs-widget.c (image_instantiator_layout): use
12691         subwindow_decode_domain.
12692         (image_instantiator_buttons): ditto.
12693         (image_instantiator_edit_fields): ditto.
12694         (image_instantiator_combo_box): ditto.
12695         (image_instantiator_scrollbar): ditto.
12696         (image_instantiator_progress_guage): ditto.
12697         (image_instantiator_tree_view): ditto.
12698         (image_instantiator_tab_control): ditto.
12699         (image_instantiator_labels): ditto.
12700         (image_instantiator_layout): ditto.
12701
12702         * glyphs.c: add instance error checking to many functions.
12703         (instantiate_image_instantiator): decode device from cache_domain.
12704         (image_instantiate): partially rewrite by using
12705         decode_image_instantiator_domain to determine what domain the
12706         instance needs to be cached in.
12707         (decode_image_instantiator_domain): new function. Determine what
12708         domain the image needs to be cached in.
12709         (check_window_subwindow_cache): new error checking function.
12710         (check_instance_cache_mapper): ditto.
12711         (check_image_instance_structure): ditto.
12712         (subwindow_decode_domain): new function. Encodes a window as a
12713         subwindow's cache domain.
12714         (image_instantiator_format_create): use it for text and
12715         subwindows.
12716
12717 2000-04-21  Andy Piper  <andy@xemacs.org>
12718
12719         * glyphs.c (image_instance_device): new function.
12720         (image_instance_frame): new function.
12721         (image_instance_window): new function.
12722         (image_instance_live_p): new function.
12723
12724         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12725         cache to nil.
12726
12727         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12728         (IMAGE_INSTANCE_DOMAIN): new accessor.
12729         (XIMAGE_INSTANCE_DOMAIN): ditto.
12730
12731         * glyphs-x.c (x_finalize_image_instance): device->domain.
12732
12733         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12734         (mswindows_finalize_image_instance): ditto.
12735
12736         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12737         (gif_instantiate): ditto.
12738         (png_instantiate): ditto.
12739         (tiff_instantiate): ditto.
12740
12741         * glyphs.c (instantiate_image_instantiator): use domain rather
12742         than device.
12743         (mark_image_instance): device -> domain.
12744         (print_image_instance): ditto.
12745         (finalize_image_instance): ditto.
12746         (image_instance_equal): ditto.
12747         (allocate_image_instance): ditto.
12748         (Fcolorize_image_instance): ditto.
12749         (query_string_geometry): ditto.
12750         (image_instantiate): ditto
12751         (query_string_font): ditto.
12752         (image_instantiate): ditto.
12753         (update_subwindow): ditto.
12754         (unmap_subwindow): ditto.
12755         (map_subwindow): ditto.
12756         (subwindow_instantiate): ditto.
12757
12758         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12759         (DOMAIN_FRAME): ditto.
12760         (DOMAIN_WINDOW): ditto.
12761         (DOMAIN_LIVE_P): ditto.
12762         (XDOMAIN_DEVICE): ditto.
12763         (XDOMAIN_FRAME): ditto.
12764         (XDOMAIN_WINDOW): ditto.
12765
12766         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12767         a valid specifier domain.
12768
12769 2000-04-19  Andy Piper  <andy@xemacs.org>
12770
12771         * glyphs-widget.c (syms_of_glyphs_widget): remove
12772         widget-callback-current-channel.
12773         (vars_of_glyphs_widget): ditto.
12774         * glyphs.h: ditto
12775
12776         * gui.c (get_gui_callback): revert to previous behaviour.
12777
12778 2000-04-18  Andy Piper  <andy@xemacs.org>
12779
12780         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12781         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12782         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12783
12784         * glyphs.c (image_instance_equal): add margin_width.
12785         (image_instance_hash): ditto.
12786
12787         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12788         (layout_query_geometry): ditto.
12789         (layout_layout): ditto.
12790         (syms_of_glyphs_widget): add margin-width.
12791         (image_instantiator_layout): allow margin-width.
12792
12793         * glyphs.c (update_widget_instances): make a normal function.
12794         (syms_of_glyphs): remove Qupdate_widget_instances.
12795         * glyphs.h: ditto.
12796
12797         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12798         so that we don't corrupt ideas about the last event or
12799         command. Remove widget-callback-current-channel fiddling.
12800         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12801
12802 2000-05-01  Martin Buchholz <martin@xemacs.org>
12803
12804         * XEmacs 21.2.33 is released.
12805
12806 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12807
12808         * make-src-depend: Allow dots in header file name.
12809
12810 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12811
12812         * mule-charset.h (struct charset_lookup): Add
12813         next_allocated_1_byte_leading_byte and
12814         next_allocated_2_byte_leading_byte.
12815         * mule-charset.c: Move above two variables so that those values
12816         will be dumped.
12817
12818 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12819
12820         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12821         when string length is zero.
12822         (find_charsets_in_emchar_string): Ditto.
12823
12824 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12825
12826         * lisp.h: extern Qdialog and Qmenubar.
12827
12828         * gui-x.c: added events.h.
12829                 also fixed typo which made the file uncompilable.
12830
12831         * general.c: Added Qmenubar and Qdialog
12832
12833 2000-04-28  Ben Wing  <ben@xemacs.org>
12834
12835         * frame-msw.c (mswindows_init_frame_1):
12836         * frame-msw.c (mswindows_mark_frame):
12837         * event-msw.c (mswindows_enqueue_dispatch_event):
12838         * console-msw.h:
12839         * console-msw.h (struct mswindows_frame):
12840         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12841         there are now three hash tables for callbacks.
12842         mswindows_enqueue_dispatch_event is no longer static.
12843
12844         * dialog-x.c (maybe_run_dbox_text_callback):
12845         * dialog-x.c (dbox_descriptor_to_widget_value):
12846         switch to new cons3 form for callbacks.
12847
12848         * glyphs-msw.c (mswindows_register_gui_item):
12849         * glyphs-msw.c (mswindows_widget_instantiate):
12850         * glyphs-msw.c (add_tree_item):
12851         * glyphs-msw.c (add_tab_item):
12852         new image instance parameter, so it can be passed to callback-ex.
12853         respect :callback-ex as well as :callback.
12854
12855         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12856         add :callback-ex.
12857
12858         * glyphs.c (print_image_instance):
12859         prettify, e.g. now prints widget type.
12860
12861         * gui-x.h:
12862         certain funs have new image instance parameter.
12863
12864         * gui.c:
12865         * gui.c (get_gui_callback):
12866         * gui.c (gui_item_add_keyval_pair):
12867         * gui.c (gui_item_init):
12868         * gui.c (gui_add_item_keywords_to_plist):
12869         * gui.c (mark_gui_item):
12870         * gui.c (gui_item_hash):
12871         * gui.c (gui_item_equal):
12872         * gui.c (copy_gui_item):
12873         * gui.c (syms_of_gui):
12874         recognize callback-ex in a number of places.
12875         also, fix the annoying "can't get out of yes-no dialog" bug.
12876
12877         * gui.h:
12878         * gui.h (struct Lisp_Gui_Item):
12879         recognize callback-ex in a number of places.
12880
12881         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12882         new parameter in button_item_to_widget_value.
12883
12884         * glyphs-x.c (x_update_widget):
12885         * glyphs-x.c (x_button_instantiate):
12886         * glyphs-x.c (x_button_update):
12887         * glyphs-x.c (x_progress_gauge_instantiate):
12888         * glyphs-x.c (x_edit_field_instantiate):
12889         * glyphs-x.c (x_combo_box_instantiate):
12890         * glyphs-x.c (x_tab_control_instantiate):
12891         * glyphs-x.c (x_label_instantiate):
12892         new image instance parameter in various places.
12893
12894         * event-Xt.c:
12895         * event-Xt.c (enqueue_Xt_dispatch_event):
12896         this fun gets exported.
12897
12898         * gui-msw.c:
12899         * gui-msw.c (mswindows_handle_gui_wm_command):
12900         handle both :callback and :callback-ex, and generate our own
12901         event because it's one of the callback-ex arguments.
12902
12903         * gui-x.c:
12904         * gui-x.c (popup_selection_callback):
12905         handle both :callback and :callback-ex, and generate our own
12906         event because it's one of the callback-ex arguments.
12907         * gui-x.c (button_item_to_widget_value):
12908         * gui-x.c (gui_items_to_widget_values_1):
12909         * gui-x.c (gui_item_children_to_widget_values):
12910         * gui-x.c (gui_items_to_widget_values):
12911         new image instance parameter in various places.
12912
12913         * fns.c (Freplace_list):
12914         fix small typo in doc string.
12915
12916         * lisp.h:
12917         declare enqueue_Xt_dispatch_event.
12918
12919 2000-04-28  Ben Wing  <ben@xemacs.org>
12920
12921         * buffer.c:
12922         * buffer.c (Frecord_buffer):
12923         * buffer.c (syms_of_buffer):
12924         delete record-buffer-hook.
12925
12926         * fns.c:
12927         * fns.c (Freplace_list):
12928         * fns.c (syms_of_fns):
12929         new primitive replace-list.
12930
12931         * frameslots.h:
12932         slot for old buffer-alist.
12933
12934         * lisp.h:
12935         exfun replace-list.
12936
12937         * redisplay.c:
12938         * redisplay.c (redisplay_frame):
12939         * redisplay.c (syms_of_redisplay):
12940         * redisplay.c (vars_of_redisplay):
12941         new hook buffer-list-changed-hook.
12942         call it.
12943
12944 2000-04-27  Ben Wing  <ben@xemacs.org>
12945
12946         * extents.h: extern in_modeline_generation.
12947
12948         * redisplay.c (generate_formatted_string_db): set
12949         in_modeline_generation.
12950
12951         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12952         flags if in modeline generation.  otherwise frame-modified-tick
12953         is ticked far too often.
12954         Declare in_modeline_generation.
12955
12956 2000-04-26  Ben Wing  <ben@xemacs.org>
12957
12958         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12959         option.
12960         (vars_of_emacs): add quick-build as an error-checking option.
12961         A bit kludgy, but there doesn't seem much point in creating
12962         a real var for this.
12963
12964         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12965
12966 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12967
12968         * redisplay.h (struct display_line): Add a new variable,
12969         line_continuation.
12970
12971         * redisplay.c (create_text_block): Set dl->line_continuation if
12972         the line continues.
12973         (create_string_text_block): Ditto.
12974         (regenerate_window_incrementally): Use line_continuation instead
12975         of searching continuation glyph.
12976         (add_margin_runes): Call add_glyph_rune.
12977         (add_glyph_rune): Handle margin glyph.
12978
12979 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12980
12981         * filelock.c (fill_in_lock_file_name):
12982         ANSIfy.
12983         Check for IS_ANY_SEP instead of '/'.
12984         (lock_file_1):
12985         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12986         Never check errno without first seeing that system call failed.
12987         (unlock_file): Add GCPRO.
12988         (Flock_buffer): Fix docstring.
12989         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12990
12991 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12992
12993         * sysdep.c (get_pty_max_bytes):
12994         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12995         strings longer than 252 bytes.
12996
12997         * md5.c: Unconditionally include ANSI header <limits.h>
12998
12999         * glyphs-x.c (convert_EImage_to_XImage):
13000         * lisp-union.h (union Lisp_Object):
13001         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13002
13003 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13004
13005         * filelock.c (current_lock_owner): Remove unused variable o, p.
13006
13007 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13008
13009         * callint.c: Remove multiply defined symbol Qlet
13010         (syms_of_callint): ditto.
13011
13012 2000-04-14  Andy Piper  <andy@xemacs.org>
13013
13014         * general.c (syms_of_general): add last-command, this-command, let
13015         and funcall.
13016
13017         * lisp.h: declare various symbols.
13018
13019         * glyphs.h: declare Qwidget_callback_current_channel;
13020
13021         * glyphs-widget.c (syms_of_glyphs_widget): add
13022         Qgui_callback_current_channel.
13023         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13024
13025         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13026         widget-callback-current-channel when invoking the interactive
13027         arg. Also bind last-command and next-command when invoking the
13028         widget updates.
13029         * gui-x.c (popup_selection_callback): ditto.
13030
13031         * gui.c (get_gui_callback): massage args so that we are always
13032         calling eval. This allows us to add our own variable bindings
13033         outside.
13034
13035         * glyphs-x.c (x_button_instantiate): use
13036         gui_items_to_widget_values since this is GC safe.
13037         (x_progress_gauge_instantiate): ditto.
13038         (x_edit_field_instantiate): ditto.
13039         (x_label_instantiate): ditto.
13040
13041         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13042         (emacs_Xt_event_widget_focus_out): new function
13043         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13044         focus.
13045         (emacs_Xt_event_add_widget_actions): new function. add focus
13046         functions as actions.
13047         (init_event_Xt_late): use it.
13048
13049 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13050
13051         * event-stream.c (Fdispatch_event): Doc fix.
13052
13053 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13054
13055         * postgresql.c: Remove all references to PQsetenv*.
13056
13057         * postgresql.h: Remove references to PGsetenvHandler object.
13058         * lrecord.h (lrecord_type): Ditto.
13059
13060 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13061
13062         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13063         real_heigh and real_width members, and accessor macros for these.
13064
13065         * glyphs-msw.c (init_image_instance_geometry): New function.
13066         (init_image_instance_from_dibitmap): Use it.
13067         (mswindows_resource_instantiate): Use it.
13068         (init_image_instance_from_xbm_inline): Use it.
13069         (mswindows_initialize_image_instance_mask): Use real bitmap
13070         geometry.
13071         (mswindows_create_resized_bitmap): Ditto.
13072         (mswindows_create_resized_mask): Ditto.
13073
13074         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13075         and bitmap to their surface size.
13076
13077 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13078
13079         * process-unix.c (unix_send_process): Guard against process MIA
13080         after Faccept_process_output.
13081
13082 2000-04-11  Ben Wing  <ben@xemacs.org>
13083
13084         * eval.c (unbind_to_hairy): fix brokenness introduced by
13085         nanosecond speed improvements.
13086
13087 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13088
13089         * sunplay.c (init_device): To play sounds correctly, the device
13090         apparently needs to be initialized at least once by XEmacs.  Make
13091         it so.
13092
13093 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13094
13095         * redisplay.c (add_margin_runes): Add text image glyph
13096           handling.
13097
13098 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13099
13100         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13101         gcc is newer than 2.5.
13102
13103 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13104
13105         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13106
13107         * fns.c (size_bit_vector):
13108         * alloc.c (size_vector):
13109         (make_vector_internal):
13110         (make_bit_vector_internal):
13111         (sweep_bit_vectors_1):
13112         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13113
13114 2000-04-06  Andy Piper  <andy@xemacs.org>
13115
13116         * gmalloc.c (malloc): undo previous change.
13117         (malloc): ditto.
13118         (free): ditto.
13119         (realloc): ditto.
13120
13121 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13122
13123         * line-number.c (buffer_line_number): Revert to former version.
13124
13125 2000-04-06  Andy Piper  <andy@xemacs.org>
13126
13127         * gmalloc.c (malloc): add error checking.
13128         (malloc): ditto.
13129         (free): ditto.
13130         (realloc): ditto.
13131
13132         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13133         button_item_to_widget_value arg.
13134
13135         * glyphs-x.c (x_button_instantiate): add extra
13136         button_item_to_widget_value arg.
13137         (x_progress_gauge_instantiate): ditto.
13138         (x_edit_field_instantiate): ditto.
13139         (x_label_instantiate): ditto.
13140
13141         * gui-x.c (gui_items_to_widget_values_1): add extra
13142         button_item_to_widget_value arg.
13143         (button_item_to_widget_value): add extra menu_item_p arg.
13144
13145         * gui-x.h: change signature of button_item_to_widget_value.
13146
13147         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13148         button_item_to_widget_value arg.
13149
13150 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13151
13152         * buffer.h (struct buffer): auto_save_modified should be long.
13153
13154 2000-04-05  Andy Piper  <andy@xemacs.org>
13155
13156         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13157         type.
13158         (button_query_geometry): give a little more room so that athena
13159         buttons fit.
13160
13161 2000-04-05  Andy Piper  <andy@xemacs.org>
13162
13163         * faces.c (complex_vars_of_faces): The widget face should inherit
13164         the font of the gui-element face.
13165
13166 2000-04-04  Andy Piper  <andy@xemacs.org>
13167
13168         * glyphs-x.c (x_button_update): new function. unconditionally
13169         update a button's state when the instance is dirty.
13170         (image_instantiator_format_create_glyphs_x): add x_button_update.
13171         (x_widget_instantiate): remove old resize cruft.
13172
13173 2000-04-02  Andy Piper  <andy@xemacs.org>
13174
13175         * frame.c (change_frame_size_1): The introduction of gutters means
13176         that we need to allow 0 as a potential frame dimension.
13177
13178 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13179
13180         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13181         image glyph if allow_cursor.
13182         (add_hscroll_rune): Don't allow cursor to border glyph.
13183         (create_text_block): Ditto.
13184
13185         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13186         text not in buffer.
13187         (redisplay_output_layout): Call ensure_face_cachel_complete for
13188         text image glyph.
13189
13190
13191 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13192
13193         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13194
13195         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13196         not in buffer
13197
13198         * redisplay-tty.c (tty_output_display_block): Delete the routine
13199         for text image glyph
13200         * redisplay-x.c (x_output_display_block): ditto
13201         * redisplay-msw.c (mswindows_output_display_block): ditto
13202
13203 2000-02-02  Mike Alexander  <mta@arbortext.com>
13204
13205         Note: Some of these were committed by accident as part of other
13206         patches.
13207
13208         * regex.c (regex_compile): Avoid compiler warnings.
13209
13210         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13211
13212         * nt.h: Declare term_ntproc correctly.
13213
13214         * nt.c: Remove incorrect declaration of get_home_directory which
13215         is declared correctly in lisp.h.
13216
13217         * keymap.c (get_keyelt): Avoid compiler warnings.
13218         (raw_lookup_key_mapper): Avoid compiler warnings.
13219
13220         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13221
13222         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13223
13224         * filemode.c (mode_string): Avoid compiler warnings.
13225
13226         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13227         avoid warning.
13228
13229         * events-mod.h: Undef some things that winuser.h defines differently.
13230
13231         * data.c (Faset): Avoid compiler warnings.
13232
13233         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13234
13235 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13236
13237         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13238         Fall through to simple beep on error.
13239         Replace "extern" by real header file.
13240
13241         * linuxplay.c: Use nativesound.h
13242         (play_sound_data): Return error code. Be less verbose on error.
13243
13244         * sunplay.c: Use nativesound.h
13245         (play_sound_data): Return error code. Be less verbose on error.
13246
13247         * ntplay.c: Use nativesound.h
13248         (play_sound_data): Return fake error code
13249
13250         * sgiplay.c: Use nativesound.h
13251         (play_sound_data): Return error code
13252
13253         * hpplay.c: Use nativesound.h, partially implement
13254         new error code. Break compilation until finished.
13255         (play_sound_data): error code.
13256
13257         * nativesound.h (play_sound_file):
13258           (play_sound_data): Prototype in new header.
13259
13260 2000-03-31  Andy Piper  <andy@xemacs.org>
13261
13262         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13263         for toggle and radio buttons.
13264         (image_instantiator_buttons): use it.
13265
13266 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13267
13268         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13269         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13270         found. Scrollbar event probably belonged to some old config.
13271
13272 2000-03-31  Andy Piper  <andy@xemacs.org>
13273
13274         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13275         than 1.
13276         (initialize_widget_image_instance): default layout to
13277         LAYOUT_HORIZONTAL rather than 0.
13278         (widget_instantiate): reverse the item list at the end rather than
13279         every iteration.
13280         (layout_layout): re-code for the border text at the front of the
13281         item list rather than at the end.
13282         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13283         provided by the user.
13284         (widget_query_geometry): comment.
13285
13286 2000-03-30  Andy Piper  <andy@xemacs.org>
13287
13288         * glyphs-widget.c (image_instantiator_layout): allow standard
13289         widget keywords in layouts.
13290
13291         * gutter.c (output_gutter): cope with nil gutter contents.
13292
13293         * frame.c (Fset_frame_properties): add gutter docs.
13294
13295 2000-03-29  Andy Piper  <andy@xemacs.org>
13296
13297         * toolbar-msw.c (TBSTYLE_FLAT): add.
13298         (mswindows_output_toolbar): minor fiddling.
13299
13300 2000-03-29  Andy Piper  <andy@xemacs.org>
13301
13302         * gutter.c (output_gutter): force gutter size recalculation if
13303         what we are trying to display won't fit.
13304         (update_gutter_geometry): new function. A per-gutter version of
13305         update_frame_gutter_geometry.
13306         (update_frame_gutter_geometry): use it.
13307         (redraw_exposed_gutter): add extra debugging output.
13308
13309 2000-03-28  Mike Alexander  <mta@arbortext.com>
13310
13311         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13312         (pdump_file_unmap): Implement it on Windows
13313         (pdump_file_get): Save alocated handles for pdump_file_unmap
13314
13315 2000-03-28  Andy Piper  <andy@xemacs.org>
13316
13317         * gui.c (get_gui_callback): treat Quit specially.
13318
13319 2000-03-27  Andy Piper  <andy@xemacs.org>
13320
13321         * glyphs.c (image_instantiate): be careful to check in the same
13322         way we assigned.
13323
13324 2000-03-27  Didier Verna  <didier@xemacs.org>
13325
13326         * config.h.in: define the proper SMART_INCLUDE macro.
13327         handle renaming of `foo_h_path' to `foo_h_file'.
13328
13329         * database.c: ditto.
13330
13331         * emacs.c: ditto.
13332
13333         * linuxplay.c: ditto.
13334
13335         * terminfo.c: ditto.
13336
13337         * tooltalk.h: ditto.
13338
13339 2000-03-27  Andy Piper  <andy@xemacs.org>
13340
13341         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13342         gets updated whenever the face might have changed.
13343
13344 2000-03-26  Mike Alexander  <mta@arbortext.com>
13345
13346         * dumper.c (pdump_resource_free): Fix the comment.
13347
13348 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13349
13350         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13351
13352 2000-03-22  Mike Alexander  <mta@arbortext.com>
13353
13354         * dumper.c: Include Windows headers on Windows
13355         (pdump_resource_free): Add a body to the function
13356         (pdump_load): exe_name -> exe_path and add some comments.
13357
13358 2000-03-25  Mike Alexander  <mta@arbortext.com>
13359
13360         * gui.c (copy_gui_item_tree): Return a value in all cases
13361
13362 2000-03-21  Didier Verna  <didier@xemacs.org>
13363
13364         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13365         lwlib/config.h.in.
13366         (SMART_INCLUDE): new macro.
13367         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13368         the proper location.
13369
13370         * postgresql.c: use it.
13371
13372         * inline.c: ditto.
13373
13374 2000-03-24  Andy Piper  <andy@xemacs.org>
13375
13376         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13377         do this.
13378
13379 2000-03-24  Andy Piper  <andy@xemacs.org>
13380
13381         * redisplay-output.c (compare_runes): use image_instance_changed
13382         to detect changes. Do not depend on glyphs_changed, only depend on
13383         dirtiness.
13384          (redisplay_output_layout): add debug messages.
13385         (compare_runes): ditto.
13386
13387         * glyphs.h: declare new functions.
13388         (struct Lisp_Image_Instance): remove percent and associated
13389         accessors.
13390
13391         * gui.h: declare new copying functions.
13392
13393         * gui.c (copy_gui_item_tree): new function.
13394         (copy_gui_item): new function.
13395         (gui_item_id_hash): revert to standard hash.
13396         (gui_item_hash): ditto.
13397         (gui_item_hash_internal): deleted.
13398         (mark_gui_item): mark value.
13399         (gui_item_add_keyval_pair): add value.
13400         (gui_item_init): ditto.
13401         (gui_add_item_keywords_to_plist): ditto.
13402         (gui_item_equal): ditto.
13403         (syms_of_gui): add Q_value.
13404
13405         * glyphs-x.c (x_progress_gauge_update): use pending items and
13406         value for setting the state.
13407         (x_update_widget): don't set items from pending here.
13408
13409         * glyphs-widget.c (update_widget): update items here.
13410         (progress_gauge_set_property): use items for storing value. Put
13411         new value in pending items.
13412
13413         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13414         items for new value. Convert percent -> value.
13415         (mswindows_tab_control_update): don't update items here.
13416
13417         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13418         (update_subwindow): ditto.
13419         (image_instance_changed): new function. Compare hash values and
13420         past and present widget items.
13421         (image_instantiate): We more careful about where we instantiate
13422         things.
13423         (image_instantiate): add error checking.
13424
13425         * gutter.c (syms_of_gutter): use -hook.
13426
13427 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13428
13429         * console-tty.c (Fset_console_tty_input_coding_system): Use
13430         Qkeyboard.
13431         (Fset_console_tty_output_coding_system): Use Qterminal.
13432         (tty_init_console): Use Qkeyboard and Qterminal.
13433
13434 2000-03-21  Ben Wing  <ben@xemacs.org>
13435
13436         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13437         From Mike Alexander <mta@arbortext.com>.
13438
13439 2000-03-21  Ben Wing  <ben@xemacs.org>
13440
13441         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13442         process brokenness.  Proper implementation to come.
13443         * callproc.c:
13444         Rename call-process-internal to old-call-process-internal.
13445         New impl. in process.el.
13446
13447 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13448
13449         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13450
13451 2000-03-20  Andy Piper  <andy@xemacs.org>
13452
13453         * glyphs.c (full_list_hash): make hashes of the same elements in
13454         different orders return different values.
13455
13456 2000-03-20  Martin Buchholz <martin@xemacs.org>
13457
13458         * XEmacs 21.2.32 is released.
13459
13460 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13461
13462         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13463         (DFC_MALLOC_USE_CONVERTED_DATA):
13464         Add aliasing-safe casts to allow use with char* or unsigned char*
13465         lvalues.
13466
13467         * eldap.c (Fldap_open):
13468         (Fldap_search_basic):
13469         (Fldap_add):
13470         (Fldap_modify):
13471         Make C++-compilable.
13472         Make sure GCPRO'ed variables are initialized.
13473         Use temp variables to avoid repeated calls to Flength.
13474
13475 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13476
13477         * sysfile.h:
13478         Make sure PATH_MAX is always defined.
13479         Include limits.h for PATH_MAX.
13480         Deprecate use of MAXPATHLEN.
13481
13482 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13483
13484         * emacs.c: Add reinit_vars_of_fileio.
13485         * symsinit.h: Add reinit_vars_of_fileio.
13486         * fileio.c (reinit_vars_of_fileio): New.
13487         * fileio.c (Fmake_temp_name):
13488         Initialize temp_name random number from microseconds to make
13489         collisions even less likely.  Initialize always at process startup
13490         time.  (make-temp-name) used to return the same file name twice in
13491         a row when PDUMP.
13492         Random stylistic fiddling.
13493         Comment fixes.
13494
13495 2000-03-20  Andy Piper  <andy@xemacs.org>
13496
13497         * glyphs.c (image_instantiate): allow text glyphs to be
13498         instantiated in the minibuffer window.
13499
13500 2000-03-19  Andy Piper  <andy@xemacs.org>
13501
13502         * glyphs.c (image_instance_hash): be careful about which items we
13503         hash on.
13504
13505         * glyphs-widget.c (tab_control_set_property): record into pending
13506         items rather than the actual items.
13507
13508         * glyphs-x.c (x_update_widget): use pending items to update with.
13509
13510         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13511         to update with.
13512
13513         * glyphs.c (mark_image_instance): mark pending items.
13514
13515         * window.c (Fset_window_configuration): record the buffer.
13516         (Fselect_window): totally revert previous change which breaks many
13517         things.
13518
13519 2000-03-18  Andy Piper  <andy@xemacs.org>
13520
13521         * glyphs-msw.c (mswindows_tab_control_update): force selected
13522         item.
13523
13524         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13525         window domain cache, otherwise we get inconsistencies at
13526         startup. There is something fishy at startup which can lead to the
13527         minibuffer being the selected window when the gutter content is
13528         instantiated.
13529
13530         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13531         gcpros.
13532         (parse_gui_item_tree_children): ditto.
13533         (parse_gui_item_tree_item): ditto.
13534
13535         * glyphs.c (Fupdate_widget_instances): return something.
13536
13537 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13538
13539         * window.c (Fselect_window): Undo 2000-03-17 change.
13540
13541 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13542
13543         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13544         against v7.0 libraries.  Insta-coredump city until the postgres
13545         folks fix it.
13546
13547 2000-03-17  Andy Piper  <andy@xemacs.org>
13548
13549         * faces.c (complex_vars_of_faces): don't give the widget face an
13550         inherited background pixmap.
13551
13552         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13553         selected item.
13554
13555         * event-stream.c (Fdispatch_non_command_events): return something.
13556
13557         * gutter.c (output_gutter): use widget face.
13558         (clear_gutter): ditto.
13559
13560         * NEWS: adjust again.
13561
13562         * window.c (Fselect_window): make sure this runs to completion to
13563         avoid oddities with Fset_window_configuration.
13564         (Fcurrent_window_configuration): in general do not save the
13565         minibuffer as the selected window.
13566
13567         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13568
13569 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13570
13571         * emacs.c (Frunning_temacs_p): Revert previous patch.
13572         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13573
13574 2000-03-16  Andy Piper  <andy@xemacs.org>
13575
13576         * glyphs-x.c (x_tab_control_update): if no widget values then
13577         return.
13578
13579         * NEWS: update for new features.
13580
13581         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13582         synthetic event to the native system.
13583         (reinit_vars_of_event_Xt): set force_event_pending to
13584         emacs_Xt_force_event_pending.
13585
13586         * events.h (struct event_stream): add force_event_pending.
13587
13588         * specifier.c (recompute_one_cached_specifier_in_window): add
13589         comment.
13590
13591         * redisplay.c (redisplay_frame): don't call
13592         update_frame_subwindows. Reset subwindow cachels when
13593         subwindows_changed, removing this was an optimization too far.
13594
13595         * redisplay-output.c (compare_runes): reorganize so that we catch
13596         glyph changes when we want them. Set optimize_output when this
13597         would help layouts.
13598         (redisplay_output_layout): remove frame_really_changed, use
13599         optimize_output instead.
13600
13601         * redisplay-msw.c (mswindows_output_display_block): reset
13602         optimize_output after outputting a glyph.
13603         * redisplay-x.c (x_output_display_block): ditto.
13604         * redisplay-tty.c (tty_output_display_block): ditto.
13605
13606         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13607         functions.
13608         (gutter_specs_changed): do specific gutter positions.
13609         (top_gutter_specs_changed): new function. Only update the
13610         specified gutter specs.
13611         (bottom_gutter_specs_changed): ditto.
13612         (left_gutter_specs_changed): ditto.
13613         (right_gutter_specs_changed): ditto.
13614
13615         * gui.c (gui_item_hash_internal): new function, does a real hash.
13616         (gui_item_id_hash): use it.
13617         (gui_item_hash): hash the eval'ed gui_item.
13618
13619         * gui-x.c (popup_selection_callback): send an eval event to call
13620         Fupdate_widget_instances.
13621
13622         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13623         to call Fupdate_widget_instances.
13624
13625         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13626         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13627
13628         * glyphs.c: (update_frame_subwindows): deleted.
13629         (Fupdate_widget_instances): new function for updating the dirty
13630         state of widgets that might have changed.
13631         (syms_of_glyphs): add Qupdate_widget_instances.
13632         (full_list_hash): hash a list completely.
13633         (image_instance_hash): use it for items and properties.
13634
13635         * frame-msw.c (mswindows_size_frame_internal): remove unused
13636         variable.
13637
13638         * faces.h (struct face_cachel): fix comment.
13639
13640         * event-stream.c (Fdispatch_non_command_events): new
13641         function. Process non-command events, forcing an event cycle
13642         beforehand.
13643         (syms_of_event_stream): declare.
13644         (event_stream_force_event_pending): new function. Force an event
13645         on the native event queue so that an event cycle will occur next
13646         time we check.
13647
13648         * event-msw.c:
13649         (struct ntpipe_shove_stream):
13650         (mswindows_enqueue_dispatch_event):
13651         (mswindows_dequeue_dispatch_event):
13652         (mswindows_cancel_dispatch_event):
13653         (mswindows_pump_outstanding_events):
13654         (mswindows_drain_windows_queue):
13655         (mswindows_handle_paint):
13656         (mswindows_wnd_proc):
13657         (mswindows_key_to_emacs_keysym):
13658         (get_process_input_waitable):
13659         (emacs_mswindows_delete_stream_pair): re-indent file.
13660         (mswindows_need_event): do not process further fds if the windows
13661         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13662         fixes the 100% cpu problem.
13663         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13664
13665 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13666
13667         * alloc.h: New.
13668         * dumper.h: New.
13669         * dumper.c: New.
13670
13671         * emacs.c: Moved dump file searching to dumper.c.
13672         (Frunning_temacs_p): Fixed.
13673
13674         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13675         last_lrecord_type_index_assigned.
13676
13677 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13678
13679         * symsinit.h: Added reinit parameter to init_console_stream
13680         declaration.
13681
13682         * lisp.h: Added file parameter to pdump_load declaration.
13683
13684         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13685         support.  Added dump file searching.
13686
13687         * config.h.in: Added EMACS_PROGNAME.
13688
13689         * console-stream.c (init_console_stream): Fix reinitialisation
13690         when running from temacs.
13691
13692         * alloc.c (pdump): Add id support.
13693         (pdump_load): Add file parameter and signature/id support.
13694
13695         * Makefile.in.in: Add full pdump support.
13696
13697 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13698
13699         * postgresql.c: Update documentation to reflect latest code
13700         status.
13701         (print_result): Show tuple counts in printed representation when
13702         appropriate.
13703         (Fpq_put_nbytes): MULE-ize.
13704         (Fpq_get_line_async): Ditto.
13705
13706 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13707
13708         * postgresql.c (Fpq_lo_import): Fix return value.
13709         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13710
13711 2000-03-13  Ben Wing  <ben@xemacs.org>
13712
13713         * alloc.c (pdump_load):
13714         Fix compile warning under mswin.
13715
13716 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13717
13718         * postgresql.c: Mule-ization, bug fixes.
13719         Use PG_CODING to encapsulate coding system name changes.
13720         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13721         (pg-coding-system): Create.
13722
13723         (Fpq_conn_defaults): Mule-ize.
13724         (Fpq_connectdb): Mule-ize & bug fix.
13725         (Fpq_connect_start): Mule-ize.
13726         (Fpq_set_client_encoding): Mule-ize.
13727         (Fpq_finish): Document `DEAD' connection status.
13728         (Fpq_clear): Ditto.
13729         (Fpq_pgconn): Mule-ize.
13730         (Fpq_exec): Mule-ize & bug fix.
13731         (Fpq_send_query): Ditto.
13732         (Fpq_get_result): Ditto.
13733         (Fpq_res_status): Mule-ize.
13734         (Fpq_result_error_message): Mule-ize.
13735         (Fpq_ntuples): fix comments.
13736         (Fpq_fname): Mule-ize.
13737         (Fpq_fnumber): Mule-ize.
13738         (Fpq_ftype): fix comments.
13739         (Fpq_get_value): Mule-ize.
13740         (Fpq_cmd_status): Ditto.
13741         (Fpq_cmd_tuples): Ditto.
13742         (Fpq_oid_value): Ditto.
13743         (Fpq_notifies): Ditto.
13744         (Fpq_lo_import): Ditto.
13745         (Fpq_lo_export): Ditto.
13746         (Fpq_get_line): Ditto.
13747         (Fpq_put_line): Mule-ize and bug fix.
13748         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13749
13750 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13751
13752         * postgresql.c (vars_of_postgresql): Mule-ize.
13753         (Fpq_conn_defaults): Ditto.
13754
13755 2000-03-12  Ben Wing  <ben@xemacs.org>
13756
13757         * alloc.c (Fmake_byte_code):
13758         * alloc.c (debug_string_purity_print):
13759         * alloc.c (pdump_backtrace):
13760         * alloc.c (pdump_get_indirect_count):
13761         * alloc.c (pdump_register_sub):
13762         * alloc.c (pdump_register_object):
13763         * alloc.c (pdump_register_struct):
13764         * alloc.c (pdump_dump_data):
13765         * alloc.c (pdump_reloc_one):
13766         Minor cleanups.
13767
13768         * console-msw.c:
13769         * console-msw.c (GetConsoleHwnd):
13770         * console-msw.c (msw_hide_console):
13771         * console-msw.c (msw_show_console):
13772         * console-msw.c (msw_ensure_console_buffered):
13773         * console-msw.c (msw_output_console_string):
13774         * console-msw.c (console_type_create_mswindows):
13775
13776         a) Added functions to manipulate the console window for use with
13777         shell support.
13778
13779         b) Added support for writing text to the console, which is now
13780         used under Windows when xemacs is not being run non-interactively,
13781         to write text that would otherwise be destined for stdout because
13782         under these circumstances, text written to stdout tends to
13783         disappear and not be seen.
13784
13785         * console-msw.h:
13786         * event-Xt.c:
13787         * event-Xt.c (x_event_to_emacs_event):
13788         * event-Xt.c (describe_event_window):
13789         * events-mod.h (XEMACS_MOD_CONTROL):
13790         * events.c:
13791         * events.c (Fmake_event):
13792         * events.c (character_to_event):
13793         * events.c (event_to_character):
13794         * events.c (format_event_object):
13795         * events.c (Fevent_modifiers):
13796         * events.h:
13797         * events.h (struct key_data):
13798         * events.h (struct button_data):
13799         * events.h (struct misc_user_data):
13800         * frame-x.c (Fcde_start_drag_internal):
13801         * frame-x.c (Foffix_start_drag_internal):
13802         * gpmevent.c (Freceive_gpm_event):
13803         * keymap.c:
13804         * keymap.c (bucky_sym_to_bucky_bit):
13805         * keymap.c (control_meta_superify):
13806         * keymap.c (make_key_description):
13807         * keymap.c (keymap_lookup_directly):
13808         * keymap.c (create_bucky_submap):
13809         * keymap.c (keymap_store):
13810         * keymap.c (define_key_check_and_coerce_keysym):
13811         * keymap.c (define_key_parser):
13812         * keymap.c (define_key_alternate_name):
13813         * keymap.c (Fdefine_key):
13814         * keymap.c (raw_lookup_key_mapper):
13815         * keymap.c (struct map_keymap_unsorted_closure):
13816         * keymap.c (map_keymap_unsorted_mapper):
13817         * keymap.c (map_keymap_sort_predicate):
13818         * keymap.c (map_keymap_sorted):
13819         * keymap.c (accessible_keymaps_mapper_1):
13820         * keymap.c (where_is_recursive_mapper):
13821         * keymap.c (describe_map_mapper):
13822         * keymap.c (describe_map_sort_predicate):
13823         * keymap.c (describe_map):
13824         * keymap.c (complex_vars_of_keymap):
13825         And a number of other files, the key modifier preprocessor
13826         constants that xemacs uses have names that conflict with constants
13827         defined under MS Windows for other purposes, so they were renamed
13828         to begin with the prefix XEMACS_. The variables that hold such
13829         modifiers were changed to consistently be of type int to fix
13830         various compile warnings.
13831
13832         * console.c (complex_vars_of_console):
13833         * device.c:
13834         * device-msw.c:
13835         * device-msw.c (mswindows_finish_init_device):
13836         * device-msw.c (msw_get_workspace_coords):
13837         * device-msw.c (mswindows_device_system_metrics):
13838         and various other files, added support for a new
13839         device property called offset-workspace which returns the position
13840         of the upper left corner of the workspace area and goes along with
13841         the existing size-workspace property.
13842
13843         * dialog-msw.c:
13844         * dialog-msw.c (push_bufbyte_string_as_unicode):
13845         * dialog-msw.c (mswindows_popup_dialog_box):
13846         Added support for XEmacs-style accelerator specifications in
13847         button text.  Note: I didn't add support for this under X Windows,
13848         and somebody needs to do this.
13849
13850         * dialog.c:
13851         * dialog.c (Fpopup_dialog_box):
13852         Documented the support for accelerators that was just mentioned.
13853
13854         editfns.c (get_home_directory): Changed behavior under Windows
13855         when HOME not defined; former behavior was irretrievably broken.
13856
13857         * emacs.c:
13858         * emacs.c (main_1):
13859         * emacs.c (main):
13860         * minibuf.c (clear_echo_area_internal):
13861         * minibuf.c (echo_area_append):
13862         * print.c:
13863         * print.c (std_handle_out_external):
13864         * print.c (std_handle_out_va):
13865         * print.c (fatal):
13866         * print.c (write_string_to_stdio_stream):
13867         * print.c (output_string):
13868         * print.c (debug_print):
13869         * print.c (debug_backtrace):
13870         * print.c (debug_short_backtrace):
13871         Cleaned up the code that prints text to stdout so that this can be
13872         changed to output into a console window instead under MS Windows,
13873         as described above.
13874
13875         * eval.c:
13876         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13877         * eval.c (internal_catch):
13878         * eval.c (unwind_to_catch):
13879         * eval.c (throw_or_bomb_out):
13880         * eval.c (condition_case_1):
13881         * eval.c (signal_1):
13882         * eval.c (check_error_state_sanity):
13883         * eval.c (call_with_suspended_errors_1):
13884         * eval.c (call_with_suspended_errors):
13885         * eval.c (reinit_vars_of_eval):
13886         Added code to catch throw loops and check for a pesky bug that may
13887         be gone now.
13888
13889         * event-msw.c:
13890         * event-msw.c (key_needs_default_processing_p):
13891         * event-msw.c (mswindows_wnd_proc):
13892         * event-msw.c (mswindows_modifier_state):
13893         * event-msw.c (emacs_mswindows_quit_p):
13894         * event-msw.c (vars_of_event_mswindows):
13895         a) Added support for using the alt key to select menu items as is
13896         standard under MS Windows.  This is controlled using the variable
13897         menu-accelerator-enabled, just like under X Windows.  There is an
13898         option on the options menu to turn this support on.  I really
13899         think that it should be on by default under Windows, but I'm not
13900         going to make this change yet.
13901
13902         b)  Added support for dynamic display size changes under Windows.
13903
13904         * event-stream.c:
13905         * event-stream.c (maybe_echo_keys):
13906         * event-stream.c (Fnext_event):
13907         * event-stream.c (command_builder_find_leaf):
13908         * event-stream.c (lookup_command_event):
13909         * event-stream.c (execute_command_event):
13910         * event-stream.c (pre_command_hook):
13911         * event-stream.c (post_command_hook):
13912         * event-stream.c (syms_of_event_stream):
13913         * event-stream.c (vars_of_event_stream):
13914         * event-stream.c (complex_vars_of_event_stream):
13915         * events.h (struct command_builder):
13916
13917         a) Tried to clean up a little bit the horribly written x-specific
13918         accelerator code that crept into this file.  I moved this code
13919         into menubar-x.c where it belongs. I also needed to move the
13920         command builder structure into the file events.h because it is
13921         accessed directly by this accelerator code.  What I didn't do, but
13922         which should be done at some point, is to properly abstract this
13923         code using device methods instead of the kludgy way that it
13924         currently hooks into the event code.
13925
13926         b) Added the lisp variables this-command-properties and
13927         last-command- properties, which should be used to synchronize two
13928         adjacent commands in preference to playing games with the variable
13929         this-command, which is typically what happens.
13930
13931         c) Added some slightly nasty code to hook into the lisp support
13932         for shifted- motion-key selection.  This is actually necessary for
13933         somewhat complicated reasons, which are described in
13934         simple.el. (NB: I think the proper thing would be to have the code
13935         that calls the pre and post command hooks also call out to generic
13936         lisp functions in simple.el, where all built-in stuff could be
13937         added.  I will think about this more.)
13938
13939         * event-unixoid.c (poll_fds_for_input):
13940         * lread.c (readchar):
13941         * redisplay-tty.c (tty_clear_frame):
13942         * redisplay-x.c (x_get_gc):
13943         * signal.c (interrupt_signal):
13944         And a whole bunch of other files: fixed up places that printed
13945         directly to stderr to instead call the function stderr_out so that
13946         the changes I made under Windows work correctly.
13947
13948         * filemode.c (mode_string):
13949         Warning fixes.
13950
13951         * frame-msw.c:
13952         * frame-msw.c (mswindows_size_frame_internal):
13953         Fixed the computation of frame size and position to keep the frame
13954         within the workspace area, rather than within the physical
13955         dimensions of the screen, so that the frame doesn't overlap window
13956         manager decorations, such as the start menu and toolbar, typically
13957         at the bottom of the screen.
13958
13959         * frame.c (vars_of_frame):
13960         Changed the default frame title format under MS Windows to consist
13961         of buffername-XEmacs, which is standard under MS Windows.  I think
13962         it might be a good idea to change this everywhere because I think
13963         it is superior to the current frame title format, but this is the
13964         kind of change that is likely to cause some people to get annoyed,
13965         so I'm not making it.
13966
13967         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13968
13969         * gui-msw.c (mswindows_handle_gui_wm_command):
13970         Fixed compile warnings.
13971
13972         * gui-x.c:
13973         * gui-x.c (strdup_and_add_accel):
13974         * gui-x.c (button_item_to_widget_value):
13975         * gui-x.h:
13976         Added code to automatically put an accelerator onto the beginning
13977         of menu items that don't have one as is now the standard, and is
13978         described more later.  Also fixed things so that the menu item
13979         name can be an evaluated expression, again a new standard.
13980
13981         * gui.c:
13982         * gui.c (gui_item_add_keyval_pair):
13983         * gui.c (make_gui_item_from_keywords_internal):
13984         * gui.c (gui_add_item_keywords_to_plist):
13985         * gui.c (gui_item_accelerator):
13986         * gui.c (gui_name_accelerator):
13987         * gui.c (gui_item_included_p):
13988         * gui.c (gui_item_display_flush_left):
13989         * gui.c (gui_item_display_flush_right):
13990         * gui.c (parse_gui_item_tree_item):
13991         * gui.c (parse_gui_item_tree_children):
13992         * gui.c (parse_gui_item_tree_list):
13993         Mule-ized.  Cleanup.  GCPRO addition.
13994
13995         * line-number.c (buffer_line_number):
13996         * lisp.h:
13997         * lisp.h (EMACS_INT_MAX):
13998         Added the manifest constant EMACS_INT_MIN corresponding to the
13999         existing constant EMACS_INT_MAX.  This is partially to fix compile
14000         warnings under Windows, and partly for cleanliness.
14001
14002         * menubar-msw.c:
14003         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14004         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14005         * menubar-msw.c (displayable_menu_item):
14006         * menubar-msw.c (populate_menu_add_item):
14007         * menubar-msw.c (populate_or_checksum_helper):
14008         * menubar-msw.c (populate_menu):
14009         * menubar-msw.c (update_frame_menubar_maybe):
14010         * menubar-msw.c (prune_menubar):
14011         * menubar-msw.c (msw_char_is_accelerator):
14012         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14013         * menubar-msw.c (mswindows_handle_wm_command):
14014         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14015         * menubar-msw.c (mswindows_handle_wm_initmenu):
14016         * menubar-msw.c (mswindows_update_frame_menubars):
14017         * menubar-msw.c (mswindows_free_frame_menubars):
14018         * menubar-msw.c (mswindows_popup_menu):
14019         Fixed a bug in handling accelerators where an extra character
14020         would be displayed in the menu item.  Also generalized the
14021         function displayable_menu_item because it is now used by the
14022         dialog box code as well.  And finally, added code in the functions
14023         that create the menubar to extract a list of accelerators for the
14024         top level menubar, which is used in the event code to determine
14025         whether a particular alt-key combination should be used to invoke
14026         a menu item, or should be passed through to access the standard
14027         XEmacs keymap binding for this key combination.
14028
14029         Much needed GCPROing.
14030
14031         * menubar-x.c:
14032         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14033         * menubar-x.c (menu_item_descriptor_to_widget_value):
14034         * menubar-x.c (restore_in_menu_callback):
14035         * menubar-x.c (x_popup_menu):
14036         * menubar-x.c (menu_move_up):
14037         * menubar-x.c (menu_move_down):
14038         * menubar-x.c (menu_move_left):
14039         * menubar-x.c (menu_move_right):
14040         * menubar-x.c (menu_select_item):
14041         * menubar-x.c (command_builder_operate_menu_accelerator):
14042         * menubar-x.c (menu_accelerator_junk_on_error):
14043         * menubar-x.c (command_builder_find_menu_accelerator):
14044         * menubar-x.c (Faccelerate_menu):
14045         * menubar.h:
14046         Moved a whole bunch of code here that was previously in
14047         event-stream.c as described above.  There is also code connected
14048         to the new standard of adding an accelerator to the beginning of
14049         menu items that don't have one as described above and below.
14050
14051         * menubar.c:
14052         * menubar.c (menu_parse_submenu_keywords):
14053         * menubar.c (Fmenu_find_real_submenu):
14054         * menubar.c (Fnormalize_menu_item_name):
14055         * menubar.c (syms_of_menubar):
14056         * menubar.c (vars_of_menubar):
14057         * menubar.c (complex_vars_of_menubar):
14058
14059         a) Cleaned up a bunch of documentation and improved it.
14060
14061         b) XEmacs now automatically adds an accelerator onto the beginning
14062         of any menu items that don't have one.  I did this because there
14063         will inevitably be some menu items on the main menubar that don't
14064         have accelerators on them because the package that adds that
14065         particular menu item hasn't yet been fixed up to have accelerators
14066         in them and it looked rather strange to have some items with and
14067         some items without accelerators, especially since even in items
14068         without accelerators, you can, at least under windows, still
14069         access the item through an accelerator corresponding to the first
14070         character in the item's name.  If people don't like this behavior,
14071         I can add a variable to turn it off optionally, but I'm not sure
14072         this is a good idea because we really do need to have accelerators
14073         on all of the menu items, and if a package doesn't like the
14074         accelerators being put on the first character, then it should put
14075         the accelerators where they belong.
14076
14077         c) I made a behavior change, which is that the descriptor that
14078         specifies the text of the menu item, which formerly was just a
14079         string, can now also be an evaluated expression.  This makes this
14080         descriptor parallel with all of the others, which could also be
14081         evaluated expressions.  This also obviates the need for the
14082         keyword :label, which was previously listed in the documentation
14083         as unimplemented, and which was for the same purpose.
14084
14085         d) GCPROing.
14086
14087         * ntproc.c:
14088         * ntproc.c (new_child):
14089         * ntproc.c (sys_spawnve):
14090         * ntproc.c (find_child_console):
14091         * ntproc.c (sys_kill):
14092         Fixed compile warnings.  By the way, this file should really go
14093         away entirely, and this will happen as soon as Kirill makes his
14094         final round of process cleanups, which affect the function
14095         call-process.
14096
14097         * process-nt.c:
14098         * process-nt.c (struct nt_process_data):
14099         * process-nt.c (find_process_from_pid):
14100         * process-nt.c (send_signal_the_nt_way):
14101         * process-nt.c (enable_child_signals):
14102         * process-nt.c (find_child_console):
14103         * process-nt.c (send_signal_the_95_way):
14104         * process-nt.c (nt_finalize_process_data):
14105         * process-nt.c (ensure_console_window_exists):
14106         * process-nt.c (nt_create_process):
14107         * process-nt.c (nt_kill_child_process):
14108         * process-nt.c (nt_kill_process_by_pid):
14109         * process-nt.c (nt_open_network_stream):
14110         * process-nt.c (vars_of_process_nt):
14111         Copied over code from Emacs 20.5 to correctly send signals to sub-
14112         processes under Windows 95.  Also added code to automatically
14113         create and hide console window when a sub-process is created under
14114         Windows 95, which obviates the need for the separate runemacs.exe
14115         executable, and finally implemented some variables that were
14116         implemented in Emacs 20.5, but previously not in XEmacs.  These
14117         include mswindows- start-process-share-console and
14118         mswindows-start-process-inherit-error-mode. (Both of these only
14119         apply to Windows 95.)
14120
14121         * regex.c (regex_compile): Fixed a compile warning.
14122
14123         * select-msw.c:
14124         * select-msw.c (mswindows_own_selection):
14125         * select-msw.c (mswindows_get_foreign_selection):
14126         * select-msw.c (mswindows_disown_selection):
14127         * select-msw.c (console_type_create_select_mswindows):
14128         * select-msw.c (syms_of_select_mswindows):
14129         Cleaned up the file and implemented the device method
14130         selection_exists_p, which had accidentally been left out.  Also
14131         removed four lisp functions that were remnants from before the
14132         time when the selection code was properly device abstracted.
14133         These functions are no longer needed because there are generic
14134         equivalents, and because they were added recently and don't exist
14135         in FSF Emacs, I don't think there's any problem with just deleting
14136         them.
14137
14138         * sysdep.c:
14139         * sysdep.c (sys_subshell):
14140         Fixed a compile warning, although in this case there's probably
14141         something wrong with this code, and it ought to be looked into
14142         more thoroughly by somebody who understands it.
14143
14144         * window.c:
14145         * window.c (Fwindow_text_area_height):
14146         * window.c (Fwindow_width):
14147         * window.c (Fwindow_full_width):
14148         * window.c (Fwindow_pixel_width):
14149         * window.c (debug_print_window):
14150         * window.c (syms_of_window):
14151         Added functions window-text-area-height and window-full-width,
14152         which are functions for returning various width and height
14153         characteristics of a window. (One of these functions is necessary
14154         for making the file dialog box work correctly, and the other one
14155         was added for completeness.)  Also added a table to the
14156         documentation for window-height which describes the entire scheme
14157         for accessing width and height characteristics of a window.
14158
14159 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14160
14161         * nt.c (fstat): Added a comment for another problem with
14162         non-encapsulated [f]stat(), reported by Adrian Aichner
14163         <aichner@ecf.teradyne.com>.
14164
14165 2000-03-11  Andy Piper  <andy@xemacs.org>
14166
14167         * window.c (make_dummy_parent): initialize subwindow instance
14168         cache.
14169         (Fset_window_configuration): zero extent_modiff.
14170
14171 2000-03-10  Andy Piper  <andy@xemacs.org>
14172
14173         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14174         more changes can be triggered.
14175         (Fredisplay_frame): ditto.
14176         (Fredraw_device): ditto.
14177         (Fredisplay_device): ditto.
14178         (redisplay_frame): make non-static.
14179         (redisplay_frame): call update_frame_gutter_geometry outside of
14180         display proper.
14181
14182         * gutter.h: declare update_frame_gutter_geometry.
14183
14184         * redisplay.h: declare redisplay_frame.
14185
14186         * gutter.c (update_frame_gutter_geometry): move geometry changes
14187         in update_frame_gutters here. Geometry changes can only occur
14188         outside of redisplay.
14189         (update_frame_gutters): remove geometry change code.
14190         (Fredisplay_gutter_area): make sure that we are in display when we
14191         update and that we have flushed any size changes.
14192
14193 2000-03-11  Andy Piper  <andy@xemacs.org>
14194
14195         * alloc.c (pdump_dump_data): remove i & count shadows.
14196
14197 2000-02-27  Mike Alexander  <mta@arbortext.com>
14198
14199         * sysdep.h: Declare pdump_read_file
14200
14201         * sysdep.c (pdump_read_file): New function
14202
14203         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14204         dump data
14205
14206 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14207
14208         * lrecord.h: add `lrecord_type_pgsetenv'.
14209
14210 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14211
14212         * symsinit.h: declare (vars|syms)_of* functions.
14213         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14214
14215 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14216
14217         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14218
14219         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14220         GCCs.
14221
14222         * emacs.c (main_1): Call postgres initialization code.
14223
14224         * postgresql.h: New file.  PostgreSQL RDBMS support.
14225         * postgresql.c: New file.
14226
14227 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14228
14229         * redisplay-output.c (redisplay_output_display_block): Disable
14230         redundant code.
14231
14232 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14233
14234         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14235         (Fcanna_henkan_next): Ditto.
14236         (Fcanna_bunsetu_henkou): Ditto.
14237         (Fcanna_henkan_kakutei): Ditto.
14238         (Fcanna_henkan_end): Ditto.
14239         (Fcanna_henkan_quit): Ditto.
14240         (Fcanna_henkan_next): Set retun value correctly.
14241         (c2mu): Use unsigned char instead of signed char.
14242
14243 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14244
14245         * emacs.c (main_1): Always call syms_of_gui.
14246         * inline.c: include gui.h
14247
14248 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14249
14250         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14251         converted to Lisp_Object.
14252         (Qtop_bottom): New variable.
14253         (syms_of_redisplay): Initialize it.
14254         * redisplay.h (Vvisible_bell): Ditto.
14255         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14256         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14257         only flash top and bottom.
14258
14259 2000-03-08  Andy Piper  <andy@xemacs.org>
14260
14261         * buffer.c (Frename_buffer): record new buffer name the right way.
14262
14263 2000-03-08  Andy Piper  <andy@xemacs.org>
14264
14265         * glyphs.c (update_subwindow): increase hash depth so that widget
14266         items get picked up properly.
14267
14268         * redisplay-output.c (compare_runes): increase hash depth so that
14269         widget items get picked up properly.
14270
14271 2000-03-08  Andy Piper  <andy@xemacs.org>
14272
14273         * gutter.c (output_gutter): add some debug.
14274
14275         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14276         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14277         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14278
14279         * redisplay-output.c (compare_runes): use display_hash to
14280         determine if glyphs really are not the same.
14281
14282         * glyphs.c (update_subwindow): check display_hash to see if
14283         anything really needs to be updated. If not then do
14284         nothing. Record the display_hash after updating.
14285         (image_instance_equal): compare the image_instance face also.
14286
14287 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14288
14289         * redisplay.h: Fix comment style.
14290
14291 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14292
14293         * consle-msw.h (struct mswindows_frame):
14294         Added new member paint_pending to indicate whether a WM_PAINT
14295         magic event has been queued for this frame.
14296
14297         * event-msw.c (mswindows_drain_windows_queue):
14298         Don't queue a WM_PAINT magic event if one is already queued.
14299         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14300
14301         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14302
14303 2000-03-07  Didier Verna  <didier@xemacs.org>
14304
14305         * dired.c: #include `regex.h' after `sysfile.h'.
14306
14307 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14308
14309         * sound.c (init_nas_sound): Fix compiler warning.
14310
14311         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14312         (FREE_STRUCT_P):
14313         (MARK_STRUCT_AS_FREE):
14314         (MARK_STRUCT_AS_NOT_FREE):
14315         Make `gcc -fstrict-aliasing' work properly.
14316
14317 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14318
14319         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14320         (mswindows_delete_device): Call CoUnnitialize().
14321
14322         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14323
14324 2000-02-25    <CraigL@DyCon.com>
14325
14326         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14327         <errno.h>.
14328
14329         * sysdep.c: This extern declaration for environ prevents MinGW
14330         from finding the variable in CRTDLL.DLL.
14331
14332         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14333         windows headers.
14334         (SHGFI_EXETYPE): ..
14335         (WM_MOUSEWHEEL): ..
14336         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14337         definitions.
14338         (MMRESULT): Removed, now defined in cygwin's windows headers.
14339         (TIMECAPS): ..
14340         (uid_t,gid_t,pid_t,ssize_t): ..
14341         (_timeb): Removed, MinGW defines both _timeb and timeb.
14342         (HAVE_H_ERRNO): Added.
14343         (HAVE_TZNAME): Added, configure is not detecting this.
14344
14345 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14346
14347         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14348         * syntax.c (syntax_match): Use it.
14349
14350         * cmds.c: Import auto-fill-chars from FSF Emacs.
14351         (Vauto_fill_chars): New variables.
14352         (internal_self_insert): Check Vauto_fill_chars.
14353         (vars_of_cmds):
14354         Declare auto-fill-chars as a Lisp variable and initialize it.
14355
14356 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14357
14358         * fileio.c (Fmake_symbolic_link):
14359         (Ffile_symlink_p):
14360         Run handlers even if local machine doesn't have symlinks.
14361
14362 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14363
14364         * event-msw.c (mswindows_drain_windows_queue):
14365         Don't generate paint magic events for non-XEmacs frames.
14366
14367 2000-03-05  Andy Piper  <andy@xemacs.org>
14368
14369         * redisplay.c (redisplay_frame): generate_displayable_area and
14370         friends assumes that we are not in GC, we therefore have to make
14371         sure that this doesn't happen.
14372
14373         * gutter.c (calculate_gutter_size): generate_displayable_area
14374         assumes that we are not in GC, we therefore have to make sure that
14375         this doesn't happen.
14376
14377 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14378
14379         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14380
14381 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14382
14383         * redisplay.c (regenerate_window): Make sure we set a sane value
14384         for end_pos even if we jump out of the loop.
14385         (regenerate_window): Answer Ben's question :-).
14386         (start_end_of_last_line): Add may_error argument.
14387         (start_of_last_line):
14388         (end_of_last_line): Pass may_error = 0.
14389         (end_of_last_line_may_error): New function.
14390         (pixel_to_glyph_translation): Use it, so we don't crash in
14391         event_to_glyph.
14392
14393 2000-03-04  Andy Piper  <andy@xemacs.org>
14394
14395         * window.h (struct window): add gutter_extent_modiff.
14396
14397         * window.c (allocate_window): zero out gutter_extent_modiff.
14398
14399         * redisplay.h: declare sync_display_line_structs.
14400
14401         * redisplay.c (add_glyph_rune): add a better comment.
14402
14403         * redisplay-output.c (sync_display_line_structs): made non-static.
14404         (compare_runes): remove unneccesary glyph cachel access.
14405
14406         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14407
14408         * gutter.c (output_gutter): don't output the gutter if extent
14409         changes only involve extents in buffers. use 4 sets of display
14410         lines.
14411         (gutter_extent_signal_changed_region_maybe): new function. Mark
14412         extents in gutters as changed.
14413         (update_frame_gutters): use 4 sets of display lines.
14414         (reset_gutter_display_lines): ditto.
14415         (free_frame_gutters): ditto.
14416         (redraw_exposed_gutter): force output of gutters.
14417
14418         * frame.h (struct frame): add 4 sets of gutter display lines.
14419
14420         * extents.c: (extent_changed_for_redisplay): signal changes to
14421         extents in strings in the gutter as well as extents in buffers.
14422
14423 2000-03-02  Andy Piper  <andy@xemacs.org>
14424
14425         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14426
14427         * frame.c (Fmake_frame): make sure the gutters get initialized
14428         after the frame is visible.
14429         (set_frame_selected_window): re-arrange compilation macros a
14430         little.
14431         (change_frame_size_1): mark gutters changed.
14432
14433         * device.c (Fset_device_class): mark gutters changed.
14434
14435 2000-03-01  Andy Piper  <andy@xemacs.org>
14436
14437         * window.c (window_top_frame_gutter_height): deleted.
14438         (window_bottom_frame_gutter_height): ditto.
14439         (window_left_frame_gutter_height): ditto.
14440         (window_right_frame_gutter_height): ditto.
14441         (window_top_gutter_height): don't use them.
14442         (window_bottom_gutter_height): ditto.
14443         (window_left_gutter_width): ditto.
14444         (window_right_gutter_width): ditto.
14445         (Fsplit_window): ditto.
14446         (Fwindow_pixel_edges): don't use border dimensions here.
14447
14448         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14449         (update_scrollbar_instance): ditto.
14450
14451         * redisplay.c (generate_modeline): don't take gutters into account.
14452         (generate_modeline): ditto.
14453         (redisplay_frame): small gutter display optimization.
14454
14455         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14456
14457         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14458         gutters into account.
14459
14460         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14461         for window position and type.
14462
14463         * gutter.c (get_gutter_coords): fix for frame gutters.
14464         (update_frame_gutters): update frame geometry if the gutters have
14465         changed.
14466         (init_frame_gutters): record current gutter geometries.
14467
14468         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14469         var.
14470         (mswindows_widget_instantiate): ditto.
14471
14472         * frame.h (struct frame): add current_gutter_bounds.
14473
14474         * frame.c (change_frame_size_1): position window and minibuffer
14475         appropriately taking into account the frame gutters.
14476
14477         * frame-x.c: (x_initialize_frame_size): take into account the
14478         frame gutters.
14479
14480 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14481
14482         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14483
14484 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14485
14486         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14487
14488 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14489
14490         * file-coding.c (reset_decoding_stream): Clear previous
14491         detection state when autodetect.
14492
14493 2000-02-29  Didier Verna  <didier@xemacs.org>
14494
14495         * extents.c (set_extent_glyph_1): don't require extents to be
14496         attached.
14497
14498 2000-02-27  Andy Piper  <andy@xemacs.org>
14499
14500         * gutter.c (Fset_default_gutter_position): don't default left and
14501         right gutter visibility to t.
14502         (Fset_default_gutter_position): run
14503         default-gutter-position-changed-hook.
14504         (syms_of_gutter): add default-gutter-position-changed-hook.
14505
14506 2000-02-26  Andy Piper  <andy@xemacs.org>
14507
14508         * specifier.c (Fmake_specifier): add gutter references.
14509
14510         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14511
14512         * lisp.h: declare Fvalid_plist_p.
14513
14514         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14515         as changed.
14516         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14517         well as its visibility so that it gets reconstructed.
14518         (construct_window_gutter_spec): new function. Construct a string
14519         to be displayed in the gutter from a plist of strings. Take care
14520         to only use elements that are declared as visible.
14521         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14522         WINDOW_GUTTER.
14523         (gutter_validate): allow plists of strings in the specifier.
14524         (gutter_specs_changed): construct the real_gutter from the gutter
14525         specs using construct_window_gutter_spec.
14526         (gutter_visible_validate): gutter-visible is a new specifier type.
14527         (Fgutter_visible_specifier_p): new function for the new specifier.
14528         (syms_of_gutter): declare gutter-visible and
14529         Fgutter_visible_specifier_p.
14530         (specifier_type_create_gutter): intitalize new gutter-visible
14531         specifier.
14532         (reinit_specifier_type_create_gutter): ditto.
14533         (specifier_vars_of_gutter): use new specifier type for gutter
14534         visibility.
14535         (init_frame_gutters): construct real_gutter correctly.
14536         (Fgutter_specifier_p): beef up documentation.
14537         (Fgutter_size_specifier_p): ditto.
14538
14539         * winslots.h: add real_gutter slots.
14540
14541 2000-02-25  Andy Piper  <andy@xemacs.org>
14542
14543         * device-msw.c: Be kind to older cygwin versions. From Raymond
14544         Toy <toy@rtp.ericsson.se>.
14545
14546         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14547         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14548
14549 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14550
14551         * elhash.c (MARK_OBJ): Practice macro hygiene.
14552
14553 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14554
14555         * miscplay.c: s/__inline__/inline/g;
14556         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14557         (get_device_compdc): INLINE ==> static inline
14558         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14559         find -name '*.h' | \
14560         xargs global-replace \
14561         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14562
14563 2000-02-25  Andy Piper  <andy@xemacs.org>
14564
14565         * window.c (window_top_frame_gutter_height): new function.
14566         (window_top_window_gutter_height): ditto.
14567         (window_top_gutter_height): use them.
14568         (window_bottom_frame_gutter_height): new function.
14569         (window_bottom_window_gutter_height): ditto.
14570         (window_bottom_gutter_height): use them.
14571         (window_left_window_gutter_width): new function.
14572         (window_left_frame_gutter_width): ditto.
14573         (window_left_gutter_width): use them.
14574         (window_right_window_gutter_width): new function.
14575         (window_right_frame_gutter_width): ditto.
14576         (window_right_gutter_width): use them.
14577         (window_pixel_height): new function. calulate window pixel height
14578         with frame gutter involvement.
14579         (Fsplit_window): calculate new sizes taking frame gutters into
14580         account.
14581         (window_char_height_to_pixel_height): don't include frame gutters.
14582         (window_char_height): use window_pixel_height.
14583         (window_pixheight): rename from window_pixel_height.
14584         (change_window_height): use it.
14585         (window_pixel_height_to_char_height): don't include frame gutters.
14586         (window_char_width_to_pixel_width): ditto.
14587
14588 2000-02-25  Andy Piper  <andy@xemacs.org>
14589
14590         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14591         if it is.
14592
14593 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14594
14595         * alloc.c (staticpro):
14596         (staticpro_nodump):
14597         (dumpstruct):
14598         (dumpopaque):
14599         (pdump_wire):
14600         (pdump_wire_list):
14601         (compact_string_chars):
14602         (pdump_dump_wired):
14603         Convert:  if (foo) abort();  ==>  assert (! foo);
14604
14605         * eldap.c (Fldap_search_basic):
14606         (Fldap_add):
14607         (Fldap_modify):
14608         (Fldap_delete):
14609         Fix compiler warnings, and possible crashes if (random) return
14610         value were to be used.
14611
14612 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14613
14614         * device-msw.c: Workaround ResetDC failure.
14615
14616         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14617         applying a devmode.
14618
14619         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14620         (mswindows_text_width): Do not start printer page.
14621
14622         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14623
14624         * glyphs-msw.c: Added image methods to msprinter console and
14625         msprinter-specific image instantiation.
14626
14627 2000-02-20  Mike Alexander  <mta@arbortext.com>
14628
14629         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14630         to avoid crashes when selection-sets-clipboard is on
14631         (mswindows_own_selection): ditto
14632
14633 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14634
14635         * glyphs-msw.c:
14636         * redisplay-msw.c (get_frame_dc):
14637         (get_frame_compdc):
14638         * console-msw.h:
14639         * device-msw.c (mswindows_init_device):
14640         (mswindows_delete_device):
14641         (msprinter_init_device):
14642         (msprinter_delete_device):
14643         * frame-msw.c (mswindows_init_frame_1):
14644         (mswindows_delete_frame):
14645         (msprinter_init_frame_3):
14646         (msprinter_delete_frame): Move compatible DC to device object from
14647         frame object, for both mswindows and msprinter. Only one at a time
14648         is needed, it is a real waste to have one per frame!
14649
14650 2000-02-23  Andy Piper  <andy@xemacs.org>
14651
14652         * glyphs.c: add dynamic width and height elements.
14653         (image_instance_equal): ditto.
14654
14655         * glyphs-widget.c (widget_query_geometry): calculate width and
14656         height dynamically if required.
14657         (initialize_widget_image_instance): initialize dynamic dimensions.
14658         (widget_instantiate): pick-up dynamic dimensions.
14659
14660         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14661         dynamic determination. Add appropriate macros.
14662
14663         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14664         dimensions safe.
14665         (WINDOW_GUTTER_SIZE): ditto.
14666         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14667
14668         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14669         inline.
14670         (get_frame_dc): ditto.
14671
14672         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14673         here.
14674
14675 2000-02-23  Martin Buchholz <martin@xemacs.org>
14676
14677         * XEmacs 21.2.31 is released.
14678
14679 2000-02-22  Ben Wing <ben@xemacs.org>
14680
14681         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14682
14683 2000-02-22  Andy Piper  <andy@xemacs.org>
14684
14685         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14686
14687 2000-02-21  Mike Sperber <mike@xemacs.org>
14688
14689         * .dbxrc:
14690         * .gdbinit:
14691         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14692         variables.
14693
14694 2000-02-21  Mike Sperber <mike@xemacs.org>
14695
14696         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14697
14698 2000-02-21  Martin Buchholz <martin@xemacs.org>
14699
14700         * XEmacs 21.2.30 is released.
14701
14702 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14703
14704         Performance hacking.
14705         * *.c (syms_of_*):
14706         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14707         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14708         * emacs.c (main_1):
14709         * lisp.h (DEFUN):
14710         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14711         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14712         * symeval.h (DEFVAR_SYMVAL_FWD):
14713         * symbols.c (guts_of_unbound_marker):
14714         Make all c_readonly objects also lisp_readonly and marked for life.
14715         * lrecord.h (struct lrecord_implementation):
14716         Document flags better.
14717         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14718         * lrecord.h (DECLARE_LRECORD):
14719         * lrecord.h (XSETRECORD):
14720         * lrecord.h (RECORDP):
14721         * lrecord.h (RECORD_TYPEP):
14722         * lrecord.h (RECORD_MARKER): New.
14723         * lrecord.h (error_check_*):
14724         * lrecord.h (CONCHECK_NONRECORD):
14725         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14726         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14727         * lrecord.h (set_lheader_implementation):
14728         * lrecord.h (enum lrecord_type): New.
14729         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14730         * alloc.c (disksave_object_finalization_1):
14731         * alloc.c (mark_object):
14732         * alloc.c (lrecord_type_index):
14733         * alloc.c (tick_lcrecord_stats):
14734         * alloc.c (Fgarbage_collect):
14735         * alloc.c (init_alloc_once_early):
14736         * alloc.c (pdump_load):
14737         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14738         * alloc.c (lrecord_type_index): Delete.
14739         Make lisp object type indexes be constant.
14740           Makes (byte-compile) 5% faster.
14741         Put all marker functions into their own array.
14742           Makes (garbage-collect) 5% faster.
14743         Optimize SYMBOL_VALUE_MAGIC_P.
14744           Makes (byte-compile) 2-3% faster.
14745         * config.h.in (gc_checking_assert): New.
14746         * alloc.c: Use gc_checking_assert().
14747         * .dbxrc: Make compatible with new object type implementation.
14748         * .gdbinit: Make compatible with new object type implementation.
14749         * alloc.c: Delete all symbols defined only for debugging, such as
14750         Lisp_Type_Vector and lrecord_charset.
14751
14752 2000-02-21  Andy Piper  <andy@xemacs.org>
14753
14754         * gui-msw.c (Fmswindows_shell_execute): fix file location
14755         problems.
14756
14757         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14758         unshowing so that set_window_buffer doesn't undo
14759         kill_buffer_hook's hard work.
14760
14761         * glyphs-widget.c (tab_control_query_geometry): don't count the
14762         first item when calculating geometry.
14763
14764         * glyphs.c (map_subwindow): remove redundant code.
14765         (update_frame_subwindows): be more circumspect about when to
14766         update subwindows.
14767
14768         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14769         when items haven't changed. Update faces if faces have changed as
14770         well as just the widget face.
14771         (x_tab_control_update): Update faces if faces have changed as well
14772         as just the widget face.
14773
14774 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14775
14776         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14777         registration.
14778         (build_syscolor_string): Use mswindows_color_to_string to try to
14779         get a named color.
14780         (mswindows_device_system_metrics): Reverse the foreground and
14781         background colors so that they match the documentation.
14782
14783         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14784         they match the default Windows palette.
14785         (mswindows_color_to_string): New function.
14786
14787 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14788
14789         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14790
14791 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14792
14793         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14794         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14795
14796         * symbols.c (init_symbols_once_early): Removed obsolete
14797         DATA_SEG_BITS related kludge.
14798         (defvar_magic): Ditto.
14799
14800         * malloc.c: Removed obsolete DATA_SEG_BITS
14801         * ralloc.c: Ditto.
14802         * mem-limits.h: Ditto.
14803
14804         * Makefile.in.in: Removed obsolete HAVE_SHM
14805         * emacs.c: Ditto.
14806
14807 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14808
14809         *  device-msw.c (mswindows_delete_device): Free DDE string
14810         handles.
14811
14812 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14813
14814         * keymap.c (get_keyelt):
14815         * unexnt.c (unexec):
14816         * vm-limit.c (memory_warnings):
14817         * ntheap.c (recreate_heap):
14818         * ntheap.h (UNINIT_PTR):
14819         * select-msw.c (Fmswindows_get_clipboard):
14820         (Fmswindows_set_clipboard):
14821         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14822         * objects-msw.c:
14823         * menubar-msw.c (displayable_menu_item):
14824         * glyphs-msw.c:
14825         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14826         * sysdep.c (sys_subshell):
14827         * process-nt.c (nt_create_process):
14828         * nt.c (normalize_filename):
14829         (dostounix_filename):
14830         (unixtodos_filename):
14831         * ntproc.c (win32_executable_type):
14832         * ntplay.c (play_sound_data_1):
14833         (play_sound_file):
14834         * editfns.c (get_home_directory):
14835         * event-msw.c (struct winsock_stream):
14836         (mswindows_dde_callback):
14837         * device-msw.c (msprinter_init_device):
14838         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14839
14840         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14841         mswindows_clear_toolbar were swapped!
14842
14843         * objects-msw.c:(colormap_t):
14844         (fontmap_t):
14845         * emacs.c (struct standard_args): Fixed const jumble.
14846
14847         * glyphs-widget.c (update_widget): Fixed comparison notation.
14848
14849         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14850
14851         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14852         __declspec(noreturn) syntax.
14853
14854 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14855
14856         * eldap.c (Fldap_open):
14857         (Fldap_search_basic):
14858         (Fldap_add):
14859         (Fldap_modify):
14860         Use new coding system conversion macros.
14861
14862 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14863
14864         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14865
14866 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14867
14868         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14869         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14870
14871         * eldap.c (Qadd, Qreplace): New constant symbols
14872         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14873         interruptions by XEmacs signals
14874         Remove unnecessary calls to slow_down_interrupts and
14875         speed_up_interrupts
14876         (Fldap_search_basic): Renamed from Fldap_search_internal
14877         Added new optional parameter VERBOSE that triggers the
14878         display of progress messages
14879         Remove unnecessary calls to slow_down_interrupts and
14880         speed_up_interrupts
14881         LDAP result code analysis rewritten
14882         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14883         (syms_of_eldap): Define the new symbols and functions
14884
14885
14886 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14887
14888         * realpath.c: Determine PATH_MAX maximally portably.
14889
14890         * insdel.c (bytecount_to_charcount): Optimize.
14891         The function used to be optimized for entirely ASCII sequences.
14892         Now it is optimized for successive characters from the same
14893         charset.  This also wins big for _mostly_ ASCII sequences.
14894
14895         * fileio.c (Ffile_truename): convert return from realpath() using
14896         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14897         - Rewrite GCPROing slightly.
14898
14899         * sysdep.c (sys_open): Do filename conversion, like all other
14900         sys_* functions.  Fixes bug:
14901         (let ((file-name-coding-system 'iso-8859-2))
14902            (write-region x y latin2-name))
14903         ==> writes filename using internal encoding.
14904
14905 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14906
14907         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14908         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14909         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14910         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14911         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14912         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14913         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14914         (CONST_IF_NOT_DEBUG): Delete.
14915         * alloc.c (this_one_is_unmarkable): Delete.
14916         (mark_object): Don't check for this_one_is_unmarkable. Use the
14917         c_readonly flag instead.
14918         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14919
14920 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14921
14922         * event-msw.c (mswindows_drain_windows_queue):
14923         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14924         away redundant repaint events.
14925
14926 2000-02-17  Andy Piper  <andy@xemacs.org>
14927
14928         * redisplay.h: declare mark_redisplay_structs.
14929
14930         * redisplay.c (redisplay_window):
14931         (redisplay_frame): don't check subwindows_state_changed.
14932         (mark_redisplay): mark gutters here.
14933
14934         * glyphs.c: (instantiate_image_instantiator): always layout if we
14935         haven't done so already.
14936         (allocate_image_instance): don't mark as dirty.
14937         (update_subwindow): bind inhibit_quit.
14938
14939         * gutter.c (mark_gutters): new function.
14940
14941         * glyphs-x.c (x_update_widget): Always resize to get round a
14942         widget bug.
14943
14944         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14945         breaking absolutely everything.
14946
14947         * gutter.h: declare mark_gutters.
14948
14949 2000-02-16  Martin Buchholz <martin@xemacs.org>
14950
14951         * XEmacs 21.2.29 is released.
14952
14953 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14954
14955         * fns.c (size_bit_vector): Fix computation of the size.
14956
14957 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14958
14959         * *.[ch]: Change CONST to const globally.
14960         find -name '*.[ch]' | \
14961         xargs global-replace \
14962         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14963         - Remove vestigial references to CONST_IS_LOSING
14964
14965 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14966
14967         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14968         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14969         events instead of dispatching them directly.
14970         (mswindows_handle_paint): New function to do repainting.
14971         (mswindows_wnd_proc):
14972         (emacs_mswindows_handle_magic_event): Call above function.
14973
14974 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14975
14976         * objects-msw.c (mswindows_create_font_variant): Return the new
14977         font handle.
14978         (initialize_font_instance): Get font metrics from the underlined
14979         variant of the font to cope with the case where the underlined
14980         font has a bigger descent.
14981
14982 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14983
14984         * gui.c (gui_item_accelerator): Return the first underlined
14985         character in item name.
14986
14987 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14988
14989         * lisp.h: Added Qprinter.
14990
14991         * general.c (syms_of_general): Initialized it.
14992
14993         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14994         (get_frame_dc):
14995         (get_frame_compdc): Made inline.
14996
14997         * console.h (struct console_methods): Added eject_page method.
14998
14999         * frame.h: Added FRAME_DISPLAY_P and friends.
15000         Aligned backslahes in many macros in more readable fashion.
15001         Added page_number to struct frame, and an accessor macro
15002         for it.
15003
15004         * defice.h: Added DEVICE_DISPLAY_P and friends.
15005
15006         * device.c (Fdevice_printer_p): Used these.
15007
15008         * frame.c (allocate_frame_core): Initialize page number.
15009         (Fprint_job_page_number):
15010         (Fprint_job_eject_page): Implemented.
15011
15012         * frame-msw.c (msprinter_eject_page): Added method.
15013         (msprinter_start_page): Added.
15014
15015         * window.c (Fwindow_truncated_p): Fixed docstring.
15016         (Fwindow_last_line_visible_height): Implemented.
15017
15018 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15019
15020         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15021
15022 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15023
15024         * syntax.c (scan_words): Always advance at least one character.
15025
15026 2000-02-13  Andy Piper  <andy@xemacs.org>
15027
15028         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15029         to make sure the glyph is in the cachels.
15030
15031         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15032         global image instance flag.
15033         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15034         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15035
15036         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15037         (Fset_image_instance_property): mark layout as changed.
15038         (invalidate_glyph_geometry_maybe): mark layout as changed.
15039         (glyph_width): use new NEEDS_LAYOUT macro.
15040         (glyph_ascent): ditto.
15041         (glyph_descent): ditto.
15042         (glyph_height): ditto.
15043         (image_instance_layout): mark layout as clean after laying out.
15044         (update_subwindow): don't mark layout as clean here.
15045
15046         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15047         should no longer be needed.
15048
15049         * glyphs-x.c (x_update_widget): sanitize asserts.
15050         (x_finalize_image_instance): sanitize assignment to widgets.
15051
15052         * glyphs-widget.c (widget_instantiate): don't need to clear the
15053         layout flag here.
15054
15055 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15056
15057         * sysdep.c (getcwd): Use standard prototype.
15058         * sysdep.h (getcwd): Use standard prototype.
15059
15060         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15061         (sequence, start, end).
15062         Remove redundant type checking.
15063         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15064         view of `caller-protects') to avoid a crash where the real fix was
15065         found elsewhere.
15066
15067 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15068
15069         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15070
15071         * s/sol2.h: Remove feature macro initialization.
15072
15073         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15074         (vector_hash): New.  Code from internal_hash.
15075         * lrecord.h:
15076         Fix up allocation subsystem comments.
15077
15078         * config.h.in: Add __EXTENSIONS__ for Solaris.
15079
15080         * systime.h (EMACS_GETTIMEOFDAY): New.
15081         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15082         Remove Solaris-specific code.
15083         Use void* for the (ignored) second arg for gettimeofday().
15084
15085         * elhash.c (hash_table_hash): Implement it, finally.
15086         * elhash.c:  Use hashcode_t.
15087
15088         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15089         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15090
15091         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15092         * fns.c (size_bit_vector):
15093         * alloc.c (size_vector):
15094         (make_vector_internal):
15095         (make_bit_vector_internal):
15096         (sweep_bit_vectors_1):
15097         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15098
15099 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15100
15101         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15102         Include strings.h to avoid warnings for bzero and strcasecmp.
15103
15104 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15105
15106         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15107         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15108
15109         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15110         sequence.
15111
15112 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15113
15114         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15115         use a value field instead.
15116         (symbol_value_forward_forward): Use value field.
15117         (DEFVAR_SYMVAL_FWD): Use value field.
15118         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15119         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15120         (DEFVAR_CONST_INT): Ditto.
15121         (DEFVAR_BOOL): Ditto.
15122         (DEFVAR_CONST_BOOL): Ditto.
15123         (DEFVAR_INT_MAGIC): Ditto.
15124         (DEFVAR_BOOL_MAGIC): Ditto.
15125
15126         * symbols.c (guts_of_unbound_marker): Use value field.
15127         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15128         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15129
15130         * lisp.h: Declare dumpopaque and noninteractive1.
15131
15132         * alloc.c (dumpopaque): Added.
15133         (pdump_dump_opaquevec): Added.
15134         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15135         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15136         noninteractive.
15137
15138 2000-02-10  Andy Piper  <andy@xemacs.org>
15139
15140         * glyphs.c (image_instance_layout): if the size changes, mark it
15141         as such.
15142
15143         * redisplay-output.c (redisplay_output_layout): Update the
15144         subwindow here.
15145         (redisplay_output_subwindow): ditto.
15146
15147         * glyphs.c (update_subwindow): make sure we reset flags for
15148         layouts as well as everything else.
15149
15150         * glyphs-widget.c (layout_layout): don't need to set the instances
15151         dimensions here.
15152
15153 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15154
15155         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15156         not HAVE_DLOPEN, which is a lower-level thing.
15157
15158         * .cvsignore: Ignore gmon.out
15159
15160 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15161
15162         * .cvsignore: Ignore portable dumper xemacs.dmp file
15163
15164 2000-02-09  Andy Piper  <andy@xemacs.org>
15165
15166         * redisplay-output.c (redisplay_output_layout): be more clever
15167         about when we output based on the changed flags.
15168
15169         * glyphs.h (struct image_instantiator_methods): add update_method.
15170         (struct Lisp_Image_Instance): add changed flags. Declare new
15171         macros for manipulating them.
15172
15173         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15174         (image_instance_parent_glyph): find an image_instance's parent
15175         glyph or image_instance.
15176         (image_instance_layout): mark the size as changed.
15177         (set_image_instance_dirty_p): new function. mark an image
15178         instance, plus all of its parents, as dirty.
15179         (Fset_image_instance_property): use it.
15180         (Fglyph_animated_timeout_handler): use it.
15181         (update_subwindow): call update_widget and device methods for
15182         update_subwindow. Mark all changed flags as clean.
15183         (Fresize_subwindow): mark size as changed.
15184
15185         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15186         failures.
15187         (x_update_subwindow): only resize subwindows here.
15188         (x_update_widget): new function. Update all changed properties of
15189         a widget.
15190         (x_resize_subwindow): deleted.
15191         (x_widget_set_property): deleted.
15192         (x_progress_gauge_set_property): deleted.
15193         (x_progress_gauge_update): new function. Implement recorded
15194         changes.
15195         (x_tab_control_update): ditto.
15196         (x_tab_control_set_property): deleted.
15197         (console_type_create_glyphs_x): declare new functions.
15198         (image_instantiator_format_create_glyphs_x): ditto.
15199
15200         * glyphs-widget.c (widget_set_property): mark text changed.
15201         (update_widget): new function. Update properties of a widget.
15202         (widget_instantiate): for layouts make sure we set their
15203         children's parent correctly.
15204         (tab_control_set_property): new function. Record changes that will
15205         take place under redisplay's control.
15206         (progress_gauge_set_property): ditto.
15207         (image_instantiator_progress_guage): declare new functions.
15208         (image_instantiator_tab_control): ditto.
15209
15210         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15211         now.
15212         (mswindows_update_widget): new function. Update all properties on
15213         a widget that have changed.
15214         (mswindows_button_update): new function. Update a button's set
15215         state.
15216         (mswindows_tab_control_update): new function. Update the items in
15217         a tab.
15218         (mswindows_tab_control_set_property): deleted.
15219         (mswindows_progress_gauge_update): new function. Update the
15220         progress gauge's progress.
15221         (mswindows_widget_set_property): deleted. This is all done
15222         asynchronously now.
15223         (mswindows_progress_gauge_set_property): ditto.
15224         (console_type_create_glyphs_mswindows): declare new methods.
15225         (image_instantiator_format_create_glyphs_mswindows): ditto.
15226
15227         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15228         (msprinter_set_frame_properties): ditto.
15229
15230         * console.h (struct console_methods): Add update_widget_method.
15231
15232 2000-02-09  Andy Piper  <andy@xemacs.org>
15233
15234         * gui-msw.c (Fmswindows_shell_execute): Make
15235         mswindows-shell-execute industrial strength.
15236
15237 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15238
15239         * lrecord.h: Make macro argument `props' match member function `plist'.
15240         * fns.c (Fget):
15241         * fns.c (Fput):
15242         * fns.c (Fremprop):
15243         * fns.c (Fobject_plist):
15244         * alloc.c:
15245         * symbols.c:
15246         Object property list frobbing cleanup.
15247         - Allow any lisp object (compared with `eq'), not just symbols, as
15248           keys in object plists.
15249         - Move symbol plist frobbing into symbols.c, where it belongs.
15250         - Move string plist frobbing into alloc.c, where it belongs.
15251         - Everything's an lrecord now, so no need to test for symbolp, etc.
15252         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15253
15254         * extents.c: Reorder code to remove declarations.
15255
15256         * frame.h (store_in_alist): Remove useless declaration.
15257
15258 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15259
15260         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15261         * config.h.in: Add HAVE_XCONVERTCASE.
15262
15263 2000-02-07  Andy Piper  <andy@xemacs.org>
15264
15265         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15266         it breaks many things.
15267
15268 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15269
15270         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15271         actually can start a common comment type.
15272         * src/syntax.h (SYNTAX_END_P): ditto for end.
15273
15274 2000-02-07  Martin Buchholz <martin@xemacs.org>
15275
15276         * XEmacs 21.2.28 is released.
15277
15278 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15279
15280         * event-Xt.c (x_keysym_to_character): New.
15281         (maybe_define_x_key_as_self_inserting_character): New.
15282         (x_has_keysym): New.
15283         Auto-define all keys on the keyboard as self-insert-key.
15284
15285 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15286
15287         * menubar.c (vars_of_menubar): A small code simplification.
15288
15289         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15290
15291         * ExternalShell.c:
15292         * ExternalClient.c:
15293         * EmacsShell-sub.c:
15294         * EmacsManager.c:
15295         * EmacsFrame.c:
15296         Use consistent style for specifying X resources.
15297
15298         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15299         This makes (dontusethis-set-symbol-value-handler) actually usable.
15300
15301         * lrecord.h (lrecord_decription_type):
15302         * alloc.c (pdump_register_sub):
15303         (pdump_dump_data):
15304         (pdump_reloc_one):
15305         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15306         Comply with XEmacs coding style.
15307         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15308         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15309
15310         * keymap.c (Faccessible_keymaps):
15311         Make (accessible-keymaps map "\C-h") do the Right Thing.
15312         Make (accessible-keymaps map []) do the Right Thing.
15313         Make (accessible-keymaps map "") do the Right Thing.
15314         (check_keymap_definition_loop): New function.
15315         (keymap_store_internal): Keep luser from shooting self in foot,
15316           via (define-key ctl-x-4-map "p" global-map).
15317         Remove fullness slot from struct Lisp_Keymap, since hash tables
15318         are now reliable.
15319         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15320
15321 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15322
15323         * redisplay.c (init_redisplay): Fix small memory leak.
15324         * elhash.h:
15325         * elhash.c (pdump_reorganize_hash_table):
15326         Rename from reorganize_hash_table. Change prototype.
15327         Reuse the original memory for hentries.  Save 100k.
15328         * alloc.c (PDUMP_READ): new macro.
15329         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15330         * alloc.c: No need to #ifndef before #undef.
15331
15332         * print.c: Allow debug_print() to print readably by modifying
15333         debug_print_readably.  Use consistent variable names.
15334
15335         * .dbxrc: Try to get things to work even if stopped in a function
15336         without source available by explicitly specifying source files.
15337 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15338
15339         * unexnt.c (_start): Removed bogus code which caused loading heap
15340         from differrent executable file.
15341         Removed bogus assignment to _fmode, which caused inconsistencies.
15342
15343 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15344
15345         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15346         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15347         Do not preliminary `#define signal sigset'.
15348
15349         * systime.h: Do not prototype environ on windows nt and cygwin,
15350         this conflicts with system header.
15351
15352         * syssignal.h: Use correct define for WINDOWSNT
15353
15354         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15355         with system header.
15356
15357         * sysdep.c (near start of file): Fixed commentary and rearranged
15358         ifdefs in readable order.
15359         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15360         (start_of_text):
15361         (end_of_text):
15362         (end_of_data): Do not compile in if using PDUMP.
15363
15364         * symsinit.h: Prototyped vars_of_nt().
15365
15366         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15367         (find_child_console): Use it.
15368         (sys_kill): Use it.
15369
15370         * ntheap.h: Do not extern os_subtype.
15371
15372         * ntheap.c (cache_system_info): Do not cache unneeded:
15373         nt_major_version, nt_minor_version and os_subtype.
15374         (recreate_heap): Do not compile in when PDUMPing.
15375
15376         * nt.c (geteuid and friends): Use the new varibale
15377         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15378         (init_user_info): Removed the above mentioned hackery.
15379         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15380         stat has been fixed in the C runtime.
15381         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15382
15383         * file-coding.c (struct file_coding_dump): Do not define
15384         ucs_to_mule_table in the struct if not MULE.
15385         (struct struct lrecord_description fcd_description_1): Do not dump
15386         the above.
15387
15388         * emacs.c (main_1): Call vars_of_nt().
15389         (right before Fdump_emacs_data): Don't need lastfile if using both
15390         portabe dumper and system malloc.
15391
15392         * alloc.c (Fmemory_limit): Conditionalized out.
15393         (pdump): Use OPEN_BINARY for the portable dump file.
15394         (pdump_load): Ditto.
15395
15396 2000-02-02  Mike Alexander  <mta@arbortext.com>
15397
15398         * nt.c (convert_time): Set tm_isdst before calling mktime and
15399         avoid calling it at all if the compiler supports 64 bit integers.
15400         Also initialize utc_base_ft before using it.
15401
15402 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15403
15404         * frame.c (change_frame_size_1): Take f->internal_border_width
15405         into consideration when calculating the width of the frame.
15406
15407 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15408
15409         * window.c (frame_min_height):
15410         (frame_size_valid_p):
15411         (frame_pixsize_valid_p): Added.
15412         (check_frame_size): Generalized.
15413
15414         * window.h: Prototyped the above.
15415
15416         * lisp.h:
15417         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15418         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15419         Deleted Vwin32_* and Vbinary_process_* unused variables.
15420
15421         * device-msw.c (msprinter_init_device): Do not get printer font
15422         list; Added DEVMODE functions.
15423
15424         * frame-msw.c: Added lots of printer code.
15425
15426         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15427         general.c.
15428
15429         * console-msw.h: Added more msprinter device private slots.
15430
15431 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15432
15433         * event-msw.c (key_needs_default_processing_p): Added.
15434         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15435
15436 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15437
15438         * glyphs.c (image_instance_layout): Mark image instance as clean
15439         after layout.
15440         (glyph_dirty_p): Removed redundant function.
15441         (invalidate_glyph_geometry_maybe): Added.
15442         (update_glyph_cachel_data): Call it.
15443
15444         * glyphs.h: Prototyped it.
15445
15446         * redisplay.c (add_glyph_rune): Call it.
15447         (redisplay_window): Reset glyphs cachels when frame faces have
15448         changed, thus forcing recomputation of built-in border glyphs.
15449
15450 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15451
15452         * Makefile.in.in: Make portable dumper and purify play well together.
15453         Add imperfect, but better than nothing, support for pdump.
15454         Remove xemacs.dmp when temacs is re-generated.
15455         Don't ignore errors when dumping xemacs.
15456
15457         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15458
15459 2000-01-28  Andy Piper  <andy@xemacs.org>
15460
15461         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15462         (setup_normal_frame): ditto.
15463         (setup_frame_without_minibuffer): ditto.
15464         (setup_minibuffer_frame): ditto.
15465         (delete_frame_internal): ditto.
15466         (Fmake_frame_invisible): ditto.
15467         (Ficonify_frame): ditto.
15468
15469         * window.h: change Fset_window_buffer signature.
15470
15471         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15472         (Fset_window_buffer): allow recording of buffer if the window is
15473         the selected window.
15474         (window_loop): Use new Fset_window signature.
15475
15476 2000-01-23  Daniel Pittman  <daniel@danann.net>
15477
15478         * config.h.in: Added template for `HAVE_ATHENA_3D'
15479
15480 2000-01-29  Andy Piper  <andy@xemacs.org>
15481
15482         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15483
15484         * gutter.c (output_gutter): Don't output if the window isn't live.
15485
15486 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15487
15488         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15489         of 01/12/00: Moved SetFocus back here where it belongs.
15490
15491 2000-01-23  Andy Piper  <andy@xemacs.org>
15492
15493         * s/cygwin32.h: declare printer things.
15494
15495 2000-01-26  Andy Piper  <andy@xemacs.org>
15496
15497         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15498         Alexander.
15499
15500 2000-01-24  Andy Piper  <andy@xemacs.org>
15501
15502         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15503         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15504
15505         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15506
15507         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15508
15509         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15510
15511         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15512         (mswindows_output_display_block): Avoid local shadows.
15513
15514         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15515         (mswindows_enqueue_mouse_button_event): ditto.
15516         (mswindows_handle_gui_wm_command): remove declaration.
15517
15518         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15519         warnings.
15520
15521         * console-msw.h: Avoid shadows.
15522         (mswindows_get_toolbar_button_text):
15523         (emacs_mswindows_create_stream_pair):
15524         (emacs_mswindows_delete_stream_pair):
15525         (mswindows_handle_toolbar_wm_command): declare.
15526
15527         * device-msw.c (build_syscolor_string): Avoid shadows.
15528
15529 2000-01-23  Andy Piper  <andy@xemacs.org>
15530
15531         * glyphs-widget.c (widget_instantiate): reverse the items for
15532         layouts so that children are in the expected order.
15533
15534 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15535
15536         * ralloc.c: safe_bcopy ==> memmove
15537         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15538         * s/msdos.h: Remove BCOPY macros.
15539         * insdel.c (gap_right): Remove BCOPY conditional code.
15540         * insdel.c (gap_left): Remove BCOPY conditional code.
15541         XEmacs demands a working ANSI C compiler - hence memmove.
15542
15543         * regex.c (regex_compile): Remove accidental use of trigraphs.
15544
15545 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15546
15547         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15548         event timestamp.
15549
15550 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15551
15552         * event-msw.c (mswindows_drain_windows_queue): Added the
15553         parameter.
15554         (mswindows_need_event): Commented the call to
15555         mswindows_drain_windows_queue().
15556         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15557         only.
15558
15559         * console-msw.h: Moved a few function prototypes here from
15560         event-msw.c.
15561
15562         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15563         parameter from unsigned short to unsigned long.
15564         (Fmswindows_shell_execute): Added return value.
15565
15566 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15567
15568         * sysdep.c (init_system_name):
15569           process-unix.c (unix_canonicalized_host_name):
15570         Don't call freeaddrinfo() if getaddrinfo() fails.
15571
15572         * process-unix.c (unix_open_unix_network_stream):
15573         Moved the code to get a port # into address loop.
15574
15575 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15576
15577         * buffer.c (reinit_vars_of_buffer):
15578         The right place to initialize conversion_in_dynarr and
15579         conversion_out_dynarr.
15580
15581         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15582
15583         * process-unix.c (unix_canonicalize_host_name): Muleize.
15584         (unix_open_network_stream): Muleize.
15585
15586         * buffer.h: Fix up prototypes for ralloc.c functions.
15587
15588 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15589         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15590         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15591                 instead of gethostbyname()
15592         * process-unix.c: In unix_canonicalize_host_name() and
15593                 unix_open_network_stream(), add code to use getaddrinfo()
15594                 instead of gethostbyname().
15595
15596 2000-01-27  Daniel Pittman <daniel@danann.net>
15597
15598         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15599         libs when built with flat Athena.
15600
15601 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15602
15603         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15604         Use coding standards for function prototypes.
15605
15606 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15607
15608         * dialog-msw.c (push_lisp_string_as_unicode):
15609         * doc.c (unparesseuxify_doc_string):
15610         * dired.c (Fuser_name_completion_1):
15611         * dired.c (Fuser_name_all_completions):
15612         * dired.c (free_user_cache):
15613         * dired.c (user_name_completion):
15614         * console-x.c (get_display_arg_connection):
15615         * minibuf.c (clear_echo_area_internal):
15616         * minibuf.c (echo_area_append):
15617         * eldap.c (Fldap_open):
15618         * eldap.c (Fldap_search_internal):
15619         * frame-x.c (x_set_frame_text_value):
15620         * frame-x.c (x_set_frame_properties):
15621         * frame-x.c (x_create_widgets):
15622         * redisplay-tty.c (term_get_fkeys_1):
15623         * objects-x.c (x_parse_nearest_color):
15624         * objects-x.c (x_valid_color_name_p):
15625         * objects-x.c (x_initialize_font_instance):
15626         * objects-x.c (x_list_fonts):
15627         * objects-x.c (x_find_charset_font):
15628         * tooltalk.c (Fadd_tooltalk_message_arg):
15629         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15630         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15631         * process-unix.c (unix_create_process):
15632         * ntproc.c (sys_spawnve):
15633         * sound.c (Fplay_sound_file):
15634         * sound.c (Fplay_sound):
15635         * buffer.c (init_initial_directory):
15636         * buffer.c (init_buffer):
15637         * editfns.c (init_editfns):
15638         * editfns.c (Ftemp_directory):
15639         * editfns.c (Fuser_full_name):
15640         * editfns.c (uncache_home_directory):
15641         * editfns.c (get_home_directory):
15642         * editfns.c (Fuser_home_directory):
15643         * editfns.c (Fformat_time_string):
15644         * editfns.c (Fcurrent_time_string):
15645         * gui-x.c (button_item_to_widget_value):
15646         * database.c (Fopen_database):
15647         * event-Xt.c (x_to_emacs_keysym):
15648         * event-Xt.c (x_event_to_emacs_event):
15649         * event-Xt.c (describe_event_window):
15650         * event-msw.c (mswindows_wnd_proc):
15651         * glyphs-eimage.c (jpeg_instantiate):
15652         * glyphs-eimage.c (gif_instantiate):
15653         * glyphs-eimage.c (png_instantiate):
15654         * glyphs-eimage.c (tiff_instantiate):
15655         * glyphs-x.c (xbm_instantiate_1):
15656         * glyphs-x.c (x_xbm_instantiate):
15657         * glyphs-x.c (x_xface_instantiate):
15658         * glyphs-x.c (autodetect_instantiate):
15659         * glyphs-x.c (cursor_font_instantiate):
15660         * glyphs-x.c (x_widget_instantiate):
15661         * glyphs-x.c (x_widget_set_property):
15662         * glyphs-x.c (x_widget_property):
15663         * glyphs-x.c (BUILD_GLYPH_INST):
15664         * print.c (write_string_to_stdio_stream):
15665         * print.c (output_string):
15666         * print.c (Falternate_debugging_output):
15667         * print.c (Fexternal_debugging_output):
15668         * glyphs-msw.c (extract_xpm_color_names):
15669         * glyphs-msw.c (mswindows_xpm_instantiate):
15670         * glyphs-msw.c (bmp_instantiate):
15671         * glyphs-msw.c (resource_name_to_resource):
15672         * glyphs-msw.c (mswindows_resource_instantiate):
15673         * glyphs-msw.c (xbm_instantiate_1):
15674         * glyphs-msw.c (mswindows_xbm_instantiate):
15675         * glyphs-msw.c (mswindows_xface_instantiate):
15676         * glyphs-msw.c (mswindows_widget_instantiate):
15677         * glyphs-msw.c (add_tree_item):
15678         * glyphs-msw.c (add_tab_item):
15679         * glyphs-msw.c (mswindows_combo_box_instantiate):
15680         * glyphs-msw.c (mswindows_widget_property):
15681         * glyphs-msw.c (mswindows_combo_box_property):
15682         * glyphs-msw.c (mswindows_widget_set_property):
15683         * console.c (stuff_buffered_input):
15684         * objects-msw.c (mswindows_initialize_color_instance):
15685         * objects-msw.c (mswindows_valid_color_name_p):
15686         * objects-msw.c (mswindows_list_fonts):
15687         * objects-msw.c (mswindows_font_instance_truename):
15688         * bytecode.c (optimize_compiled_function):
15689         * select-x.c (symbol_to_x_atom):
15690         * select-x.c (x_atom_to_symbol):
15691         * select-x.c (hack_motif_clipboard_selection):
15692         * select-x.c (selection_data_to_lisp_data):
15693         * select-x.c (lisp_data_to_selection_data):
15694         * select-x.c (Fx_get_cutbuffer_internal):
15695         * select-x.c (Fx_store_cutbuffer_internal):
15696         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15697         * buffer.h (TO_INTERNAL_FORMAT): New function.
15698         * emacs.c (make_arg_list_1):
15699         * emacs.c (make_argc_argv):
15700         * emacs.c (main_1):
15701         * emacs.c (Fdump_emacs):
15702         * emacs.c (split_string_by_emchar_1):
15703         * file-coding.h:
15704         * lisp.h:
15705         * lstream.h:
15706         * symsinit.h:
15707         * device-x.c (x_init_device):
15708         * device-x.c (Fx_valid_keysym_name_p):
15709         * device-x.c (Fx_get_font_path):
15710         * device-x.c (Fx_set_font_path):
15711         * glyphs.c (bitmap_to_lisp_data):
15712         * glyphs.c (pixmap_to_lisp_data):
15713         * alloc.c (make_ext_string): Use coding system arguments.  Update
15714         all callers.
15715         * alloc.c (build_string):
15716         * callproc.c (child_setup):
15717         * callproc.c (init_callproc):
15718         * fileio.c (lisp_strerror):
15719         * fileio.c (directory_file_name):
15720         * fileio.c (Fexpand_file_name):
15721         * fileio.c (Ffile_truename):
15722         * fileio.c (Fsysnetunam):
15723         * fileio.c (Fdo_auto_save):
15724         * sysdep.c (sys_readdir):
15725         * tests.c: New file.  Allow adding C tests.
15726         Replace GET_* macros with a more comprehensible and flexible
15727         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15728         Modify all calls.
15729         Any coding system can be used to do format conversion.
15730         Eliminate enum external_data_format.
15731         Eliminate convert_to_external_format.
15732         Eliminate convert_to_internal_format.
15733         Make sure file-name, keyboard, terminal, and ctext are always
15734         defined as coding systems or aliases.  Make
15735         file-name-coding-system, terminal-coding-system, and
15736         keyboard-coding-system magical variables that are equivalent to
15737         defining the corresponding coding system aliases.
15738
15739         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15740         * file-coding.c (Fcoding_system_alias_p): New function.
15741         * file-coding.c (Fcoding_system_aliasee): New function.
15742         * file-coding.c (append_suffix_to_symbol): New function.
15743         * file-coding.c (dangling_coding_system_alias_p): New function.
15744         * file-coding.c (Ffind_coding_system):
15745         * file-coding.c (Fcopy_coding_system):
15746         * file-coding.c (encode_coding_no_conversion):
15747         * file-coding.c (syms_of_file_coding):
15748         * file-coding.c (vars_of_file_coding):
15749         Rewrite coding system alias code.
15750         Allow nested aliases, like symbolic links.
15751         Allow redefinition of coding system aliases.
15752         Prevent existence of dangling coding system aliases.
15753
15754         * dired.c (Fuser_name_completion_1):
15755         * dired.c (Fuser_name_all_completions):
15756         A crash would happen if user did QUIT in the middle of building
15757         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15758
15759         * lisp.h:
15760         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15761
15762         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15763         an unsigned char *.  Update all callers.
15764
15765 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15766
15767         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15768
15769 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15770
15771         * elhash.c (hentry_description): Use more portable definition.
15772         (resize_hash_table): Initialize new hentries using
15773         xnew_array_and_zero, thereby simplifying the code.
15774
15775         * mule-charset.c (make_charset): Make sure entire object is
15776         initialized, to avoid Purify warnings.
15777
15778         * alloc.c (resize_string): Fix unlikely crash with big strings.
15779
15780 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15781
15782         * realpath.c (xrealpath):
15783         Don't call getwd().
15784
15785 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15786
15787         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15788
15789 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15790
15791         * unexelfsgi.c (unexec): Change the way we decide which segment
15792         should be extended.
15793
15794         Assumption that .bss section should be outside the PT_LOADable
15795         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15796         it's present) is inside the 'data' segment. This would fail the
15797         test which was used to find a segment to grow and cover new
15798         heap. Instead of this assumption, I created another one - on IRIX
15799         the segment to grow should start below .bss and it's address
15800         should extent above the end of .bss. Once this segment is
15801         identified, it's grown to accommodate the new heap and new
15802         zero-length .bss section is added at the end of .data2.
15803
15804 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15805
15806         * eval.c (Feval): Wrong number of arguments should use original
15807         function, not the indirect_function version of it.
15808
15809 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15810
15811         * glyphs-x.c (x_button_instantiate): Don't add image if
15812         it is not a pixmap.
15813         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15814         is relative.
15815
15816 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15817
15818         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15819         declaration.
15820         (DEFVAR_INT_MAGIC): Ditto.
15821         (DEFVAR_BOOL_MAGIC): Ditto.
15822         * glyphs.h: Reindent backslash.
15823
15824 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15825
15826         * glyphs-widget.c (layout_query_geometry):
15827         (layout_layout): Use correct types for gheight, gwidth.
15828
15829 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15830
15831         * EmacsManager.c (QueryGeometry): Purified.
15832
15833 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15834
15835         * alloc.c (make_float): Make sure entire object is initialized, to
15836         avoid Purify warnings.
15837         (pdump_register_sub): Remove useless assignment.
15838         (pdump): Use xmalloc, not malloc.
15839         (pdump_load): Use xmalloc, not malloc.
15840
15841 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15842
15843         * callproc.c:
15844         * dired-msw.c:
15845         * fileio.c:
15846         * process-nt.c:
15847         * redisplay-msw.c:
15848         * sysdep.c: Removed redundant #include <windows.h>
15849
15850 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15851
15852         * frame.c (delete_frame_internal): Do not delete device when its
15853         implementation so declares.
15854         (delete_frame_internal): Set device selected frame to nil when
15855         last frame goes away.
15856
15857         * device-msw.c (msprinter_device_system_metrics): Implemented.
15858         (mswindows_device_system_metrics): Added 'device-dpi property.
15859
15860         * device.c: (Fdevice_printer_p): Added.
15861         Added 'offset-workspace device metric.
15862
15863         * console.h (device_metrics): Declared DM_offset_workspace.
15864
15865 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15866
15867         * fileio.c (Ffile_truename): Remove pointless and confusing
15868         initialization of elen.
15869
15870         * glyphs-widget.c: Compiler warning fixes.
15871
15872 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15873
15874         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15875         instead of a Lisp_Object as argument to make it consistent with
15876         the other LIVE_P macros.
15877         (CHECK_LIVE_PROCESS): New macro.
15878
15879         * process.c: Declare Qprocess_live_p.
15880         (Fprocess_live_p): New function.
15881         (create_process): Use PROCESS_LIVE_P.
15882         (read_process_output): Ditto.
15883         (set_process_filter): Ditto.
15884         (Fdelete_process): Ditto.
15885         (kill_buffer_processes): Ditto
15886         (process_send_signal): Use CHECK_LIVE_PROCESS.
15887         (Fprocess_input_coding_system): Check whether process is still
15888         alive (fix PR#1061).
15889         (Fprocess_output_coding_system): Ditto.
15890         (Fprocess_coding_system): Ditto.
15891         (Fset_process_input_coding_system): Ditto.
15892         (Fset_process_output_coding_system): Ditto.
15893
15894 2000-01-23  Andy Piper  <andy@xemacs.org>
15895
15896         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15897         layout and widget.
15898
15899         * glyphs.c (mark_image_instance): take into account changed
15900         image_instance format.
15901         (image_instance_equal): ditto.
15902         (image_instance_hash): ditto.
15903
15904         * glyphs-widget.c (widget_instantiate): Incorporate layout
15905         instantiation here. Delay layout of the layout until later.
15906         (layout_instantiate): deleted.
15907         (layout_query_geometry): new function. get the geometry of a
15908         layout.
15909         (layout_layout): layout a layout dynamically.
15910         (image_instantiator_widget): New function - splitting up
15911         image_instantiator_format_create_glyphs_widget for netwinder
15912         compilation.
15913         (image_instantiator_buttons):
15914         (image_instantiator_edit_fields):
15915         (image_instantiator_combo_box):
15916         (image_instantiator_scrollbar):
15917         (image_instantiator_progress_guage):
15918         (image_instantiator_tree_view):
15919         (image_instantiator_tab_control):
15920         (image_instantiator_labels):
15921         (image_instantiator_layout): ditto.
15922         (image_instantiator_format_create_glyphs_widget): Call preceding
15923         functions.
15924
15925 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15926
15927         * process.c (Fset_process_coding_system):
15928         * device-x.c (Fx_keysym_hash_table):
15929         Docstring fixes.
15930
15931         * lstream.c (Lstream_write): Return documented value, not 0.
15932
15933         * fileio.c (directory_file_name):
15934         (Fsubstitute_in_file_name):
15935         (Fsubstitute_insert_file_contents_internal):
15936         (Fwrite_region_internal):
15937         * emacs.c:
15938         * sysdep.c:
15939         * getloadavg.c:
15940         * systty.h:
15941         Remove vestigial APOLLO-conditional code.
15942
15943 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15944
15945         * getpagesize.h: Add guard macros.
15946         * libsst.h: Add guard macros.
15947         * libst.h: Add guard macros.
15948         * line-number.h: Add guard macros.
15949         * ndir.h: Add guard macros.
15950         * sysfloat.h: Add guard macros.
15951         * sysfile.h: Add guard macros.
15952         * sysproc.h: Add guard macros.
15953         * syswait.h: Add guard macros.
15954         * xintrinsic.h: Add guard macros.
15955         * xintrinsicp.h: Add guard macros.
15956         * xmmanager.h: Add guard macros.
15957         * xmmanagerp.h: Add guard macros.
15958         * xmprimitive.h: Add guard macros.
15959         * xmu.h: Add guard macros.
15960         * gpmevent.h: Add copyright statement. Add guard macros.
15961         * miscplay.h: Add guard macros.
15962         * *.h: Use consistent C-standards-approved guard macro names.
15963
15964         * opaque.c (make_opaque): Switch parameter order.
15965         * opaque.h (make_opaque): Switch parameter order.
15966         Update all callers.
15967         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15968
15969         * config.h.in (type_checking_assert): Added.
15970         (bufpos_checking_assert): Added.
15971
15972 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15973
15974         * alloc.c: Harmless pdump changes.
15975         - Use countof().
15976         - spell alignment correctly.
15977         * sysdep.c: Use countof()
15978
15979 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15980
15981         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15982         initially_selected_for_input() console method, default to 0.
15983         (semi_canonicalize_console_connection): Try to delegate to
15984         canonicalize_console_connection if no such console method.
15985         (canonicalize_console_connection): Vice versa.
15986         (print_console): Do not print nil connection.
15987
15988         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15989         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15990         (XDEVIMPF_FRAMELESS_OK): Added.
15991         (CONSOLE_INHERITS_METHOD): Added.
15992
15993         * console-msw.c (mswindows_canonicalize_console_connection):
15994         Added.
15995         (mswindows_canonicalize_device_connection): Added.
15996
15997         * console-msw.h (struct msprinter_device): Added this struct and
15998         accessor macros.
15999         (mswindows_device): Made fontlist a lisp object.
16000
16001         * device.c (semi_canonicalize_device_connection):  Try to delegate
16002         to canonicalize_device_connection if no such console method.
16003         (canonicalize_device_connection): Vice versa.
16004         (print_device): Do not print nil connection.
16005
16006         * device-msw.c (mswindows_init_device): Call InitCommonControls
16007         when have widgets.
16008         (mswindows_delete_device): Removed fontlist deallocation.
16009         (mswindows_mark_device): Added.
16010
16011         * events.c (event_equal): Added abort() at unreached code.
16012         (event_hash): Ditto.
16013
16014         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16015         fallback tags of Windows devices.
16016
16017         * general.c (syms_of_general): Initialized Qmsprinter.
16018
16019         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16020         of fallback tags of Windows devices.
16021
16022         * lisp.h: Declared Qmsprinter.
16023
16024         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16025         of strings.
16026         (mswindows_list_fonts): Ditto.
16027         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16028         that it can be used by both mswindows and msprinter devices.
16029         (initialize_font_instance): Added.
16030         (mswindows_initialize_font_instance): Use it.
16031         (msprinter_initialize_font_instance): Added.
16032
16033         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16034         and implementation flags check.
16035         (redisplay_without_hooks): Changed the call to the above.
16036         (Fredraw_device): Ditto.
16037         (Fredisplay_device): Ditto.
16038
16039         * redisplay-msw.c (get_frame_dc): Implemented.
16040         (get_frame_compdc): Implemented.
16041         (many functions): Use the two functions above to get device
16042         contexts, ether for a window or a printer.
16043
16044 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16045
16046         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16047         initialization here.
16048         (init_symbols_once_early): Call it.
16049         * emacs.c (main_1): Call it.
16050         * symsinit.h: Declare it.
16051
16052 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16053
16054         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16055         Lisp_Object.
16056         (pdump_backtrace): Ditto.
16057         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16058         (pdump_get_entry): Abort if trying to register a null pointer.
16059         (pdump_dump_data): Cleanup types when relocating.
16060         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16061         (pdump_dump_rtables): Remove bad casts.
16062         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16063         Lisp_Object instead of a EMACS_INT for the hashtable
16064         reorganization.
16065
16066 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16067
16068         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16069
16070         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16071
16072         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16073
16074         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16075
16076 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16077
16078         * faces.h (FACE_STRIKETHRU_P): Added.
16079
16080         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16081         of font variants.
16082
16083         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16084         (mswindows_set_dc_font): New function, aware of font variants,
16085         separated from mswindows_update_dc.
16086
16087         * objects-msw.h (struct mswindows_font_instance_data): Added
16088         definition.
16089
16090         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16091         cached fonts and the data structure.
16092         (mswindows_initialize_font_instance): Added creation of font data
16093         structure.
16094         (mswindows_print_font_instance): Print at least something.
16095         (mswindows_create_font_variant): Implemented.
16096         (mswindows_get_hfont): Implemented.
16097
16098 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16099
16100         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16101         prototyping problem with msvc.
16102
16103         * emacs.c (main_1): added syms_of_gui_mswindows() call
16104
16105         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16106         syms_of_gui_mswindows() function
16107
16108         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16109
16110 2000-01-18  Martin Buchholz <martin@xemacs.org>
16111
16112         * XEmacs 21.2.27 is released.
16113
16114 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16115
16116         * glyphs-eimage.c (struct tiff_error_struct):
16117         (tiff_error_func):
16118         (tiff_warning_func):
16119         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16120
16121         * unexmips.c:
16122         * unexhp9k3.c:
16123         * unexfreebsd.c:
16124         * unexec.c: Remove vestigial Lucid C code.
16125         * unexalpha.c:
16126         * unexaix.c:
16127         * termcap.c:
16128         * libsst.c: Ansify.
16129         Remove declarations of errno and strerror().
16130
16131         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16132
16133         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16134
16135 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16136
16137         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16138         Optimize.
16139
16140 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16141
16142         * md5.c:
16143         * file-coding.c:
16144         * file-coding.h:
16145         Change enum eol_type to eol_type_t.
16146
16147 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16148
16149         * gui.c (get_gui_callback): Check cons before accessing car.
16150
16151 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16152
16153         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16154         (XSETSPECIFIER_TYPE): Ditto.
16155
16156 2000-01-17  Didier Verna  <didier@xemacs.org>
16157
16158         * redisplay.c (generate_fstring_runes): compute string size in
16159         characters, not bytes.
16160
16161 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16162
16163         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16164
16165 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16166
16167         * print.c (print_error_message): Call print_prepare().
16168
16169 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16170
16171         * .dbxrc: Renamed from dbxrc.
16172
16173         * events.c (event_to_character):
16174         Use `assert (foo)' instead of `if (!foo) abort()'
16175
16176         * .gdbinit (xtype): Add documentation.
16177         * .gdbinit (check-temacs): New function.
16178         * .gdbinit (check-xemacs): New function.
16179         * dbxrc (check-xemacs): New function.
16180         * dbxrc (check-xemacs): New function.
16181
16182 2000-01-14  Andy Piper  <andy@xemacs.org>
16183
16184         * glyphs-widget.c (widget_query_geometry): Make sure that we
16185         calculate default dimensions correctly.
16186
16187 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16188
16189         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16190
16191         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16192         pdump_wire'd variable.
16193
16194         * emacs.c: (main_1): Conditionalized calls to
16195         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16196
16197 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16198
16199         * window.c (Fset_window_configuration):
16200         * sysdep.c (_start):
16201         * input-method-motif.c (res):
16202         * event-Xt.c (Xt_process_to_emacs_event):
16203         Simple compiler warning fixes.
16204
16205         * bytecode.c (funcall_compiled_function): Use the original
16206         function symbol on the backtrace list in preference to the
16207         compiled_function object in error messages.
16208
16209 2000-01-13  Andy Piper  <andy@xemacs.org>
16210
16211         * glyphs-x.c (update_widget_face): Make sure we update the widget
16212         background as well as foreground.
16213
16214 2000-01-13  Andy Piper  <andy@xemacs.org>
16215
16216         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16217         fields to subwindow.
16218         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16219         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16220         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16221         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16222
16223         * glyphs-widget.c (check_valid_tab_orientation): new function.
16224         (initialize_widget_image_instance): zero orientation and
16225         justification.
16226         (widget_instantiate): pick up orientation.
16227         (tab_control_query_geometry): return appropriate values for
16228         vertical tabs.
16229
16230         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16231         appropriate creation flags for left, right and bottom tabs.
16232
16233         * s/cygwin32.h: add tab definitions.
16234
16235 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16236
16237         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16238         frame upon hiding a subwindow.
16239         (mswindows_button_instantiate): Changed the push button style to
16240         BS_PUSHBUTTON.
16241         (mswindows_button_instantiate): Removed button BS_NOTIFY
16242         style.
16243         (mswindows_button_instantiate): Removed redundant check for
16244         a disabled gui item.
16245         (mswindows_button_instantiate): Made use of WS_TABSTOP
16246         consistent: "operable" controls (edit, button, tree, scroll) have
16247         this style, "display-only" ones (static, progress gauge) do
16248         not. This style is currently ignored by XEmacs though. Also,
16249         removed the WS_EX_CONTROLPARENT style - it is not for children,
16250         it is for their parents!
16251         (mswindows_edit_field_instantiate): Ditto.
16252         (mswindows_progress_gauge_instantiate): Ditto.
16253         (mswindows_tree_view_instantiate): Ditto.
16254         (mswindows_tab_control_instantiate): Ditto.
16255         (mswindows_scrollbar_instantiate): Ditto.
16256         (mswindows_combo_box_instantiate): Ditto.
16257         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16258         style to the "clip" window.
16259         (mswindows_button_instantiate): Removed compilation warning by
16260         equally typing terms of the ?: operator.
16261
16262 2000-01-12  Didier Verna  <didier@xemacs.org>
16263
16264         * redisplay.c (generate_fstring_runes): new parameter holding the
16265         last modeline-format extent.
16266         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16267         extent, fill the glyph block with it.
16268         (generate_fstring_runes): handle these parameters.
16269         (generate_formatted_string_db): ditto.
16270
16271         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16272         glyphs'extents in the modeline.
16273
16274 1999-01-11  Mike Woolley  <mike@bulsara.com>
16275
16276         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16277         256Mb, as a workaround for the non-starting problem many people
16278         have experienced.
16279
16280 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16281
16282         * console-tty.c (Fset_console_tty_output_coding_system):
16283         Force redrawing tty frame.
16284
16285 2000-01-10  Didier Verna  <didier@xemacs.org>
16286
16287         * redisplay.c (generate_fstring_runes): fix size computation bug.
16288
16289 2000-01-09  William M. Perry <wmperry@aventail.com>
16290
16291         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16292
16293 2000-01-09  Andy Piper  <andy@xemacs.org>
16294
16295         * glyphs-msw.c: index -> i to avoid shadows.
16296         (xbm_create_bitmap_from_data): make static.
16297         (check_valid_string_or_int): deleted.
16298         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16299
16300         * glyphs-x.c (x_update_subwindow): remove unused args.
16301
16302         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16303         back pointer - this is done in allocate_image_instance.
16304         (query_string_font): return Qnil to make the compiler happy.
16305         (unmap_subwindow): set to ~0 to make the compiler happy.
16306         (glyph_query_geometry): comment out until used.
16307         (glyph_layout): ditto.
16308
16309 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16310
16311         * insdel.c (signal_after_change): Remove extraneous unbind_to().