Use utf-8-mcs-er instead of utf-8-mcs.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (ER_BUF_SIZE): New macro.
4         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
5         `er_buf'.
6         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
7         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
8
9 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
10
11         * chartab.c (find_char_feature_in_family): New function.
12         (Fchar_feature): Use `find_char_feature_in_family' with
13         `->identical', `<-subsumptive' and `<-denotational'.
14
15 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
16
17         * text-coding.c (char_encode_as_entity_reference): Allow prefix
18         within 8 characters; fix infinite loop.
19
20 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
21
22         * chartab.c (Q_same): New variable.
23         (Q_same_of): New variable.
24         (Fput_char_attribute): Convert char-refs in value of `{->|<-}same'
25         to characters and put reverse links.
26         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
27         for `{->|<-}same'.
28         (syms_of_chartab): Add new symbols `{->|<-}same'.
29
30 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * chartab.c (Q_component): New variable.
33         (Q_component_of): Likewise.
34         (Fput_char_attribute): Convert char-refs in value of
35         `{->|<-}ideographic-component-forms' to characters and put reverse
36         links.
37         (syms_of_chartab): Add new symbols
38         `{->|<-}ideographic-component-forms'.
39
40 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
41
42         * chartab.c (Q_identical): New variable.
43         (Q_identical_from): New variable.
44         (Fchar_feature): Regard `->identical' as a feature to find
45         ancestors.
46         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
47         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
48         for `{->|<-}identical'.
49         (syms_of_chartab): Add new symbols `{->|<-}identical'.
50
51 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * char-ucs.h (encode_char_2): New inline function.
54         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
55
56 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * chartab.c (Fput_char_attribute): Convert char-specs to
59         characters in value of `ideographic-structure'.
60         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
61         for `{<-|->}simplified(@...)'.
62         (Fdefine_char): bTry to use predefined character's id.
63
64 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
65
66         * fns.c (simplify_char_spec): Try to convert builtin chars to
67         defined chars.
68
69 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
70
71         * chartab.c (Fput_char_attribute): Convert char-refs in value of
72         `<-simplified[^*]*' to characters and put reverse links.
73
74 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * chartab.c (Q_subsumptive): Renamed from Q_unified.
77         (Q_subsumptive_from): Renamed from Q_unified_from.
78         (Fchar_feature): Use `Q_subsumptive_from' instead of
79         `Q_unified_from'.
80         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
81         `Q_unified'.
82         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
83         `<-unified' to `<-subsumptive'.
84
85 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
88         inheritance itself; fix typo; stop recursive search if cyclic
89         inheritance is found.
90
91 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
92
93         * chartab.c (Q_denotational): New variable.
94         (Q_denotational_from): New variable.
95         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
96         (put_char_attribute): New function.
97         (Fput_char_attribute): Use `put_char_attribute'; regard
98         `->denotational' and `<-denotational' as same as `->unified' and
99         `<-unified'.
100         (syms_of_chartab): Add new symbols `->denotational' and
101         `<-denotational'.
102
103 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
106         `Fget_char_attribute'.
107         (Fchar_variants): Likewise.
108         (get_char_table): Likewise.
109         (Fchar_feature): New function.
110         (put_char_composition): Use `Fchar_feature' instead of
111         `Fget_char_attribute'.
112         (Fput_char_attribute): Likewise; don't put the target character
113         into its `->unified' value.
114         (syms_of_chartab): Add new builtin function `char-feature'.
115
116 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
119         `Fget_char_attribute'.
120         (char_encode_utf8): Likewise.
121
122         * chartab.h: Add an EXFUN for `Fchar_feature'.
123
124 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * chartab.c (Vnext_defined_char_id): New variable.
127         (Fput_char_attribute): Accept characters in `->unified'.
128         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
129         new characters which are not related with builtin char-id ranges.
130         (vars_of_chartab): Add new variable `next-defined-char-id'.
131
132 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
133
134         * chartab.c (Q_unified): New variable.
135         (Q_unified_from): New variable.
136         (Fput_char_attribute): Add code for `->unified'.
137         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
138         XEmacs CHISE.
139
140 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
141
142         * mule-charset.c (decode_ccs_conversion): New function.
143         (decode_defined_char): Use `decode_ccs_conversion'.
144         (decode_builtin_char): Likewise.
145
146 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * char-ucs.h: Change some charset-ids of private coded-charsets.
149
150 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
151
152         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
153         (char_encode_as_entity_reference): Likewise.
154         (decode_coding_big5): Modify for `decode_defined_char' and
155         `DECODE_CHAR'.
156         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
157         avoid compiler warning.
158         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
159
160         * mule-charset.c (decode_defined_char): Add new argument
161         `without_inheritance'.
162         (Fdecode_char): Add new optional argument `without_inheritance'.
163         (Fdecode_builtin_char): Modify for `Fdecode_char'.
164
165         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
166         (simplify_char_spec): Likewise.
167
168         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
169         setting.
170
171         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
172         (map_char_table): Likewise.
173         (Fdefine_char): Use `Fdecode_char' without inheritance.
174         (Ffind_char): Modify for `Fdecode_char'.
175
176         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
177
178         * char-ucs.h (decode_defined_char): Add new argument
179         `without_inheritance'.
180         (DECODE_CHAR): Likewise.
181         (MAKE_CHAR): Modify for `DECODE_CHAR'.
182
183 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * chartab.c (Vchise_system_db_directory): New variable.
186         (vars_of_chartab): Add new variable `chise-system-db-directory'.
187
188 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * chartab.c: EXFUN `Fmount_char_attribute_table'.
191         (print_chartab_range): Don't define when `UTF2000' is defined.
192         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
193         `CHISE_DS_open'.
194
195 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
198         and optional argument `rehash' is specified, call
199         `open_chise_data_source_maybe' before
200         `chise_ds_foreach_char_feature_name' is called.
201
202 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
203
204         * chartab.c (char_attribute_list_reset_map_func): New function
205         when HAVE_LIBCHISE is defined.
206         (Fchar_attribute_list): Add new optional argument `rehash' when
207         HAVE_LIBCHISE is defined.
208         (open_chise_data_source_maybe): Use "chise-db" instead of
209         "char-db".
210         (char_attribute_system_db_file): Likewise.
211         (Fload_char_attribute_table): Use
212         `chise_feature_foreach_char_with_value' instead of
213         `chise_char_feature_value_iterate'.
214
215 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * chartab.c (Vchise_db_directory): New variable.
218         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
219
220 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
223         instead of HAVE_CHISE to specify using with libchise.
224
225         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
226
227         * chartab.h: Don't use HAVE_CHISE_CLIENT.
228
229         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
230         defined or HAVE_LIBCHISE_LIBCHISE is defined.
231         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
232         is defined.
233         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
234         HAVE_CHISE to specify using with libchise.
235         (syms_of_chartab): Don't define symbol `system-char-id' when
236         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
237
238 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
241         specify CHISE DB support.
242         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
243         of `char_attribute_system_db_file' to check feature DB file.
244
245         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
246         HAVE_CHISE_CLIENT to specify CHISE DB support.
247
248         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
249         specify CHISE DB support.
250         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
251         not defined.
252         (Freset_char_attribute_table): Use `chise_feature_setup_db'
253         instead of `char_attribute_system_db_file' to check feature DB
254         file.
255
256 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
259         `HAVE_CHISE_CLIENT'.
260
261 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
264         (Fsave_charset_mapping_table): Don't use
265         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
266
267         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
268         (HAVE_LIBCHISE): New macro.
269
270         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
271
272         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
273         (Fsave_char_attribute_table): Don't use
274         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
275
276 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
277
278         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
279         defined.
280         (save_uint16_byte_table): Likewise.
281         (save_byte_table): Likewise.
282         (char_table_get_db): Use `chise_ds_load_char_feature_value'
283         instead of `chise_char_load_feature_value'.
284         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
285
286 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
287
288         * chartab.h (struct Lisp_Char_Table): Delete member
289         `feature_table' if CHISE is defined.
290
291         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
292         (Fcopy_char_table): Likewise.
293         (char_table_open_db_maybe): Likewise.
294         (char_table_close_db_maybe): Likewise.
295         (char_table_get_db): Likewise.
296         (Fmount_char_attribute_table): Likewise.
297         (Fload_char_attribute_table): Likewise.
298
299 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * mule-charset.c (load_char_decoding_entry_maybe): Use
302         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
303         `chise_ccs_decode'.
304
305 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
306
307         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
308         instead of `chise_open_data_source'.
309         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
310         `chise_ds_close'.
311
312 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
313
314         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
315         instead of `chise_ds_open_feature_table'.
316         (char_table_close_db_maybe): Don't use `chise_ft_close'.
317
318 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
319
320         * mule-charset.c (Fsave_charset_mapping_table): Use
321         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
322         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
323         `chise_ccs_sync' instead of `chise_ccst_close'.
324         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
325
326         * chartab.c (open_chise_data_source_maybe): Modify for
327         `chise_open_data_source'.
328         (char_table_open_db_maybe): Modify for
329         `chise_ds_open_feature_table'.
330
331 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
332
333         * mule-charset.c (load_char_decoding_entry_maybe): Use
334         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
335         `chise_ccst_close'.
336
337 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
338
339         * mule-charset.c (Fsave_charset_mapping_table): Use
340         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
341         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
342         `chise_dt_put_char' and `chise_dt_close'.
343         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
344         `chise_ccs_decode' and `chise_ccst_close' instead of
345         `chise_ds_open_decoding_table', `chise_dt_get_char' and
346         `chise_dt_close'.
347
348         * chartab.c (char_table_get_db): Use
349         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
350         (load_char_attribute_table_map_func): Modify for
351         `chise_char_feature_value_iterate'.
352         (Fload_char_attribute_table): Use
353         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
354
355 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
358
359 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
360
361         * chartab.c (put_char_table): Modify for inherited coded-charsets
362         in XEmacs CHISE.
363
364 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
365
366         * chartab.c (Fput_char_table_map_function): Fixed.
367         (word_boundary_p): Don't check charset in XEmacs CHISE.
368
369 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
370
371         * mule-charset.c (Fsave_charset_mapping_table): Use
372         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
373         instead of `chise_open_decoding_table'; refer
374         `default_chise_data_source'; use `chise_dt_close' instead of
375         `chise_close_decoding_table'.
376         (load_char_decoding_entry_maybe): Likewise.
377
378         * chartab.c (default_chise_data_source): New variable when `CHISE'
379         is defined.
380         (Fcopy_char_table): `ct->ds' is deleted.
381         (open_chise_data_source_maybe): New function.
382         (Fclose_char_data_source): New function.
383         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
384         use `chise_ds_open_feature_table' instead of
385         `chise_open_feature_table'.
386         (char_table_close_db_maybe): Use `chise_ft_close' instead of
387         `chise_close_feature_table'; `cit->ds' is deleted.
388         (syms_of_chartab): Add new builtin function
389         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
390
391         * chartab.h (default_chise_data_source): New extern variable.
392         (open_chise_data_source_maybe): New prototype.
393         (struct Lisp_Char_Table): Delete `ds'.
394
395 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
398         `CHISE' is defined.
399
400 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
401
402         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
403         not defined; add code for non-libchise setting.
404         (char_table_close_db_maybe): Likewise.
405         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
406         defined.
407         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
408         even if `CHISE' is not defined.
409         (Freset_char_attribute_table): Likewise.
410         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
411         `char_table_close_db_maybe' even if `CHISE' is not defined; use
412         `char_table_get_db'.
413         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
414         `char_table_close_db_maybe' even if `CHISE' is not defined.
415
416 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
417
418         * chartab.c (char_table_open_db_maybe): New function.
419         (char_table_close_db_maybe): New function.
420         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
421         (Freset_char_attribute_table): Likewise.
422         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
423         `char_table_close_db_maybe'.
424         (Fload_char_attribute_table): Likewise.
425
426 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
427
428         * chartab.c: Don't include <chise.h> because it is included in
429         chartab.h.
430         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
431         defined.
432         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
433         `CHISE' is defined.
434         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
435         `CHISE' is defined.
436         (Fclose_char_attribute_table): Close `ct->feature_table' and
437         `ct->ds' when `CHISE' is defined.
438         (Freset_char_attribute_table): Likewise.
439         (load_char_attribute_maybe): Use `cit->ds' and
440         `cit->feature_table' when `CHISE' is defined.
441         (Fload_char_attribute_table): Likewise.
442
443         * chartab.h: Include <chise.h> when `CHISE' is defined.
444         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
445         when `CHISE' is defined.
446
447 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
448
449         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
450         is defined.
451         (char_table_description): Likewise.
452         (Fmake_char_table): Likewise.
453         (Fcopy_char_table): Likewise.
454         (Fmount_char_attribute_table): Likewise.
455         (Fclose_char_attribute_table): Likewise.
456         (Freset_char_attribute_table): Likewise.
457         (load_char_attribute_maybe): Likewise.
458         (Fload_char_attribute_table): Likewise.
459
460         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
461         defined.
462
463 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
464
465         * chartab.c (load_char_attribute_table_map_func): New function
466         when CHISE is defined.
467         (Qload_char_attribute_table_map_function): Don't define when CHISE
468         is defined.
469         (Fload_char_attribute_table_map_function): Likewise.
470         (Fload_char_attribute_table): Use libchise when `CHISE' is
471         defined.
472         (syms_of_chartab): Don't define
473         `load-char-attribute-table-map-function' when CHISE is defined.
474
475 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
476
477         * chartab.c: Include <chise.h> when `CHISE' is defined.
478         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
479
480 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * mule-charset.c (charset_code_point): Fix problem when searching
483         in mother CCS fails with `defined_only' mode.
484
485 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
486
487         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
488         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
489         (put_char_composition): Likewise.
490         (Fput_char_attribute): Likewise.
491         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
492
493 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
494
495         * chartab.c (Q_ucs): Deleted.
496         (Fput_char_attribute): Don't refer `->ucs'.
497         (Fdefine_char): Likewise.
498         (Ffind_char): Likewise.
499         (syms_of_chartab): Delete `->ucs'.
500
501 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
502
503         * mule-charset.c (Qmap_cns11643_2): Renamed from
504         `Qchinese_cns11643_2'.
505         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
506         `chinese-cns11643-2'.
507         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
508         `=cns11643-2'.
509
510 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
511
512         * mule-charset.c (Qmap_cns11643_1): Renamed from
513         `Qchinese_cns11643_1'.
514         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
515         `chinese-cns11643-1'.
516         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
517         `=cns11643-1'.
518
519 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
520
521         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
522         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
523         `chinese-gb12345'.
524         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
525         `=gb12345'.
526
527 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
528
529         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
530         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
531         `chinese-gb2312'.
532         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
533         `=gb2312'.
534
535 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
536
537         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
538         (syms_of_mule_charset): Add new symbol `=big5' instead of
539         `chinese-big5'.
540         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
541
542 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
543
544         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
545         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
546         `korean-ksc5601'.
547         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
548         `=ks-x1001'.
549
550 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
551
552         * mule-charset.c (Qmap_jis_x0212): Renamed from
553         `Qjapanese_jisx0212'.
554         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
555         `japanese-jisx0212'.
556         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
557         `=jis-x0212'.
558
559 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
560
561         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
562         `Qjapanese_jisx0208'.
563         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
564         of `japanese-jisx0208'.
565         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
566         `=jis-x0208-1983'.
567
568 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
569
570         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
571         `Qjapanese_jisx0208_1978'.
572         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
573         of `japanese-jisx0208-1978'.
574         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
575         `=jis-x0208-1978'.
576
577 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
578
579         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
580         only for XEmacs CHISE.
581
582 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
583
584         * char-ucs.h: Compact non-ISO-IR charset-ids.
585         (LEADING_BYTE_UCS): Changed to -177.
586         (LEADING_BYTE_CONTROL_1): Changed to -77.
587         (LEADING_BYTE_UCS_BMP): Changed to -176.
588         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
589
590 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
591
592         * mule-charset.c (Qiso_ir): New variable.
593         (Fmake_charset): Recognise new property `iso-ir'.
594         (syms_of_mule_charset): Add new symbol `iso-ir'.
595
596 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
597
598         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
599         n to -n; charset-id of non ISO-IR sets are changed to positive
600         numbers.
601
602 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
603
604         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
605         for &MCS-XXXXXXXX; values.
606
607 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
608
609         * mule.c (Vxemacs_chise_version): Renamed from
610         `Vutf_2000_version'.
611         (vars_of_mule): Add new variable `xemacs-chise-version'; define
612         `utf-2000-version' as an alias for `xemacs-chise-version'.
613
614 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
615
616         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
617         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
618         defined.
619
620         * config.h.in (CHISE): New macro.
621
622 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
623
624         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
625         of `ucs'.
626         (Qmap_ucs): New variable.
627         (syms_of_mule_charset): Add new symbol `=ucs'.
628         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
629
630         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
631         (simplify_char_spec): Likewise.
632
633         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
634
635         * char-ucs.h (Qmap_ucs): New extern variable.
636
637 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
638
639         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
640         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
641         don't define it when UTF2000 is not defined.
642         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
643         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
644         when UTF2000 is not defined.
645         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
646         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
647
648 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
649
650         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
651
652         * mule-charset.c (Vcharset_ucs_gb): Deleted.
653         (Qucs_gb): Deleted.
654         (syms_of_mule_charset): Delete `ucs-gb'.
655         (complex_vars_of_mule_charset): Likewise.
656
657 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
658
659         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
660
661         * mule-charset.c (Vcharset_ucs_cns): Deleted.
662         (Qucs_cns): Deleted.
663         (syms_of_mule_charset): Delete `ucs-cns'.
664         (complex_vars_of_mule_charset): Likewise.
665
666 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
667
668         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
669
670         * mule-charset.c (Vcharset_ucs_jis): Deleted.
671         (Qucs_jis): Deleted.
672         (syms_of_mule_charset): Delete `ucs-jis'.
673         (complex_vars_of_mule_charset): Likewise.
674
675 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
676
677         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
678
679         * mule-charset.c (Vcharset_ucs_ks): Deleted.
680         (Qucs_ks): Deleted.
681         (syms_of_mule_charset): Delete `ucs-ks'.
682         (complex_vars_of_mule_charset): Likewise.
683
684 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
685
686         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
687         (Qideograph_daikanwa_2): Deleted.
688         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
689         (complex_vars_of_mule_charset): Likewise.
690
691         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
692         (LEADING_BYTE_DAIKANWA_1): Deleted.
693         (LEADING_BYTE_DAIKANWA_2): Deleted.
694         (MIN_CHAR_DAIKANWA): Deleted.
695         (MAX_CHAR_DAIKANWA): Deleted.
696
697 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
698
699         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
700         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
701         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
702
703         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
704         (Vcharset_ideograph_daikanwa): Deleted.
705         (Qideograph_hanziku_{1..12}): Deleted.
706         (Qideograph_daikanwa): Deleted.
707         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
708         Vcharset_ideograph_daikanwa.
709         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
710         `ideograph-hanziku-{1..12}'.
711         (complex_vars_of_mule_charset): Likewise.
712
713 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
714
715         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
716
717         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
718         (Qideograph_gt_pj_{1..11}): Deleted.
719         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
720         (complex_vars_of_mule_charset): Likewise.
721
722 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
723
724         * mule-charset.c (Vcharset_ucs_big5): Deleted.
725         (Vcharset_ideograph_gt): Deleted.
726         (Qucs_big5): Deleted.
727         (Qideograph_gt): Deleted.
728         (syms_of_mule_charset): Delete symbol `ucs-big5' and
729         `ideograph-gt'.
730         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
731         and `ideograph-gt'.
732
733         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
734         (LEADING_BYTE_GT): Deleted.
735         (MIN_CHAR_GT): Deleted.
736         (MAX_CHAR_GT): Deleted.
737
738 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
739
740         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
741
742 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
743
744         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
745         (save_uint16_byte_table): Likewise.
746         (save_byte_table): Likewise; convert values by it.
747         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
748         for `ideographic-structure'.
749         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
750         as the filter for `ideographic-structure'.
751
752 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
753
754         * chartab.c (put_char_composition): New function.
755         (Fput_char_attribute): Use `put_char_composition'; use
756         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
757
758         * fns.c (simplify_char_spec): New function.
759         (char_ref_simplify_spec): New function.
760         (Fchar_refs_simplify_char_specs): New function.
761         (syms_of_fns): Add new builtin function
762         `char-refs-simplify-char-specs'.
763
764 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
765
766         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
767         (Qideograph_cbeta): Deleted.
768         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
769         (complex_vars_of_mule_charset): Likewise.
770
771         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
772         (MIN_CHAR_CBETA): Comment out.
773         (MAX_CHAR_CBETA): Likewise.
774
775 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
776
777         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
778         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
779         CHISE client feature.
780
781 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
782
783         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
784
785 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
786
787         * mule-charset.c (charset_lookup_description_1): Use
788         `NUM_LEADING_BYTES' in UTF-2000.
789
790 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
791
792         * char-ucs.h (GC_CHARSETP): Deleted.
793
794 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * char-ucs.h (MAX_CHAR_GT): Updated.
797
798 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
799
800         * text-coding.c: Sync with XEmacs 21.4.10.
801
802 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
803
804         * mule-charset.c (Vcharset_china3_jef): Deleted.
805         (Qchina3_jef): Deleted.
806         (syms_of_mule_charset): Don't define `china3-jef'.
807         (complex_vars_of_mule_charset): Likewise.
808
809         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
810         (MIN_CHAR_CHINA3_JEF): Comment out.
811         (MAX_CHAR_CHINA3_JEF): Comment out.
812
813 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
814
815         * mule-charset.c (Vcharset_ucs_gb): New variable.
816         (Qucs_gb): New variable.
817         (syms_of_mule_charset): Add new symbol `ucs-gb'.
818         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
819
820         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
821
822 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
823
824         * mule-charset.c (charset_code_point): if a coded-charset has a
825         final-byte, don't inherit the builtin range of the mother CCS.
826
827 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
828
829         * mule-charset.c (charset_code_point): Fix problem about
830         inheritance.
831
832 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
833
834         * mule-charset.c (decode_builtin_char): Reorganized.
835
836 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * text-coding.c (char_encode_as_entity_reference): Modify for
839         `charset_code_point'.
840         (char_encode_shift_jis): Likewise.
841         (char_encode_big5): Likewise.
842         (char_encode_utf8): Likewise.
843         (char_encode_iso2022): Likewise.
844
845         * mule-charset.c (charset_code_point): Add new argument
846         `defined_only'.
847         (Fencode_char): Add new optional argument `defined_only'.
848
849         * chartab.c (put_char_table): Modify for `charset_code_point'.
850
851         * char-ucs.h (charset_code_point): Add new argument
852         `defined_only'.
853         (encode_char_1): Modify for `charset_code_point'.
854
855 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
858         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
859
860 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
863         (Qjis_x0208): Likewise.
864         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
865         XCHARSET_FINAL(charset).
866         (charset_code_point): Modify condition for final-byte based
867         builtin-chars.
868         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
869         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
870         in UTF-2000; specify `=jis-x0208' as the mother of
871         `japanese-jisx0208-1978', `japanese-jisx0208' and
872         `japanese-jisx0208-1990' in UTF-2000.
873
874 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
875
876         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
877
878 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * text-coding.c (decode_coding_utf16): Support UTF-16.
881         (char_encode_utf16): Fixed.
882
883 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * text-coding.c (Qutf16): New variable in MULE.
886         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
887         (Fcoding_system_type): Add `utf-16' in MULE.
888         (struct detection_state): Add a structure for utf16 in MULE.
889         (detect_coding_type): Setup st->utf16.mask in MULE.
890         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
891         MULE.
892         (reset_encoding_stream): Use `char_encode_utf16' and
893         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
894         (detect_coding_utf16): New function [incomplete].
895         (decode_coding_utf16): New function [support only UCS-2].
896         (char_encode_utf16): New function.
897         (char_finish_utf16): New function.
898         (syms_of_file_coding): Add new symbol `utf-16'; setup
899         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
900
901         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
902         UTF-2000.
903         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
904         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
905
906 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
907
908         * chartab.c (put_char_table): When a charset is specified as a
909         range in UTF-2000, don't support builtin characters.
910
911 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
912
913         * mule-charset.c (decode_defined_char): Don't refer external
914         database if Qunbound or Qnil are found.
915         (Fsave_charset_mapping_table): Don't define it if
916         HAVE_CHISE_CLIENT is not defined.
917         (Freset_charset_mapping_table): New function.
918         (load_char_decoding_entry_maybe): Store Qnil if a character is not
919         found in external database.
920         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
921         if HAVE_CHISE_CLIENT is not defined; add new builtin function
922         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
923
924 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
925
926         * text-coding.c (decode_coding_utf8): Check CCS is specified or
927         not.
928
929 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
930
931         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
932         Q_lowercase, Q_uppercase in UTF-2000.
933
934         * chartab.c (get_char_table): Add special code for the standard
935         case table to use character attribute `->downcase' and
936         `->uppercase' for case operations in UTF-2000.
937
938         * casetab.c (Qflippedcase): New variable in UTF-2000.
939         (Q_lowercase): Likewise.
940         (Q_uppercase): Likewise.
941         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
942         and `->uppercase' in UTF-2000.
943         (complex_vars_of_casetab): Assign attribute name `downcase' to
944         downcase and CANON table of Vstandard_case_table in UTF-2000;
945         assign attribute name `flippedcase' to upcase and EQV table of
946         Vstandard_case_table in UTF-2000.
947
948 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
949
950         * text-coding.c (decode_add_er_char): Support isolated-chars.
951         (char_encode_as_entity_reference): Likewise.
952
953 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
954
955         * emacs.c (Vutf_2000_lisp_directory): New variable.
956         (Vconfigure_utf_2000_lisp_directory): Likewise.
957         (complex_vars_of_emacs): Add new variable
958         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
959
960 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
961
962         * char-ucs.h (DECODE_CHAR): Delete special code for
963         `chinese-big5-1' and `chinese-big5-2'.
964
965         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
966         (Qbig5_2): Likewise.
967         (decode_defined_char): Support CONVERSION_BIG5_1 and
968         CONVERSION_BIG5_2.
969         (decode_builtin_char): Likewise.
970         (charset_code_point): Likewise.
971         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
972         'conversion in UTF-2000.
973         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
974         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
975         `chinese-big5-2' as children of `chinese-big5'.
976
977         * char-ucs.h (CONVERSION_BIG5_1): New macro.
978         (CONVERSION_BIG5_2): New macro.
979
980 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
981
982         * text-coding.c (char_encode_big5): Support entity-reference.
983
984 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
985
986         * text-coding.c (char_encode_as_entity_reference): New function.
987         (char_encode_utf8): Use `char_encode_as_entity_reference'.
988
989 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
990
991         * text-coding.c (decode_coding_big5): Support entity-reference
992         decoding feature.
993
994 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
995
996         * text-coding.c (allocate_coding_system): Initialize initial
997         charsets for CODESYS_UTF8.
998         (Fmake_coding_system): Accept charset-g0, charset-g1 and
999         charset-g2 for CODESYS_UTF8.
1000         (decode_coding_utf8): Use charset-g0.
1001         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1002         to force variants to map to UCS.
1003
1004 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1005
1006         * text-coding.c (Qutf_8_mcs): New variable.
1007         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1008         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1009         instead of `utf-8' in UTF-2000.
1010
1011 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1012
1013         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1014         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1015         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1016         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1017         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1018         CONVERSION_96x96x96x96 are introduced.
1019         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1020         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1021         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1022
1023         * char-ucs.h (CONVERSION_94): New macro.
1024         (CONVERSION_96): New macro.
1025         (CONVERSION_94x94): New macro.
1026         (CONVERSION_96x96): New macro.
1027         (CONVERSION_94x94x94): New macro.
1028         (CONVERSION_96x96x96): New macro.
1029         (CONVERSION_94x94x94x60): New macro.
1030         (CONVERSION_94x94x94x94): New macro.
1031         (CONVERSION_96x96x96x96): New macro.
1032
1033 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1034
1035         * chartab.c (Vcharacter_variant_table): Deleted.
1036         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1037         of `Vcharacter_variant_table'.
1038         (Fput_char_attribute): Likewise.
1039         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1040         (complex_vars_of_chartab): Likewise.
1041
1042 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1043
1044         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1045
1046         * fns.c (Qideographic_structure): New variable.
1047         (Qkeyword_char): New variable.
1048         (ids_format_unit): New function.
1049         (Fideographic_structure_to_ids): New function.
1050         (syms_of_fns): Add new symbols `ideographic-structure' and
1051         `:char'; add new builtin function `ideographic-structure-to-ids'.
1052
1053         * data.c (Fchar_ref_p): New function.
1054         (syms_of_data): Add new builtin function `char-ref-p'.
1055
1056         * chartab.h: Add an EXFUN for `Ffind_char'.
1057
1058 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1059
1060         * text-coding.c (Vcharacter_composition_table): Deleted.
1061         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1062         in every UTF-2000.
1063
1064         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1065         UTF-2000.
1066         (Vcharacter_composition_table): Deleted.
1067         (Fget_composite_char): Use the implementation for external-DB
1068         support in every UTF-2000.
1069         (Fput_char_attribute): Likewise.
1070         (char_attribute_system_db_file): Don't define if external-DB
1071         feature is not available.
1072         (Fsave_char_attribute_table): Likewise.
1073         (Fmount_char_attribute_table): Likewise.
1074         (Fclose_char_attribute_table): Likewise.
1075         (Freset_char_attribute_table): Likewise.
1076         (Fload_char_attribute_table): Likewise.
1077         (syms_of_chartab): Don't define `save-char-attribute-table',
1078         `mount-char-attribute-table', `reset-char-attribute-table',
1079         `close-char-attribute-table' and `load-char-attribute-table' if
1080         external-DB feature is not available.
1081         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1082
1083 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1084
1085         * text-coding.c (Qcomposition): Add extern if external-DB feature
1086         is supported.
1087         (Vcharacter_composition_table): Don't add extern if external-DB
1088         feature is supported.
1089         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1090         character composition rule if external-DB feature is supported.
1091
1092         * chartab.c (Vcharacter_composition_table): Don't define if
1093         external-DB feature is supported.
1094         (Qcomposition): New variable.
1095         (Fget_composite_char): New implementation for external-DB support.
1096         (Fput_char_attribute): Use `composition' property of each
1097         character instead of `Vcharacter_composition_table' to store
1098         character-composition rules if external-DB feature is supported.
1099         (syms_of_chartab): Add new symbol `composition'.
1100         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1101         external-DB feature is supported.
1102
1103 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1104
1105         * chartab.c (Vchar_db_stingy_mode): New variable.
1106         (load_char_attribute_maybe): Close database if
1107         Vchar_db_stingy_mode is not NIL.
1108         (Fload_char_attribute_table_map_function): Use
1109         `get_char_id_table_0' instead of `get_char_id_table'.
1110         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1111
1112         * chartab.h (get_char_id_table_0): New inline function.
1113         (get_char_id_table): Use `get_char_id_table_0'.
1114
1115 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1116
1117         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1118         and `COMPOSE_ADD_CHAR'.
1119         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1120
1121 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1122
1123         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1124         instead of `DECODE_ADD_UCS_CHAR'.
1125         (COMPOSE_ADD_CHAR): Likewise.
1126
1127 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1128
1129         * text-coding.c (decode_flush_er_chars): New inline function.
1130         (decode_add_er_char): New function.
1131         (decode_coding_utf8): Use `decode_flush_er_chars' and
1132         `decode_add_er_char'.
1133
1134 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1135
1136         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1137         done before `decode_output_utf8_partial_char'.
1138
1139         * mule-charset.c (complex_vars_of_mule_charset): Specify
1140         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1141         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1142
1143 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1144
1145         * mule-charset.c (decode_defined_char): New function; search
1146         mother.
1147         (decode_builtin_char): Don't search mother if
1148         XCHARSET_MAX_CODE(charset) == 0.
1149         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1150         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1151         (Fdecode_char): Use `decode_defined_char' instead of
1152         `DECODE_DEFINED_CHAR'.
1153         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1154         mother of `Vcharset_ucs_jis'.
1155
1156         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1157         instead of `DECODE_DEFINED_CHAR'.
1158
1159         * char-ucs.h (decode_defined_char): Renamed from
1160         `DECODE_DEFINED_CHAR'; changed to normal function.
1161         (DECODE_CHAR): Use `decode_defined_char' instead of
1162         `DECODE_DEFINED_CHAR'.
1163
1164         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1165
1166 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1167
1168         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1169
1170         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1171         variable.
1172         (Quse_entity_reference): New variable.
1173         (Qd): New variable.
1174         (Qx): New variable.
1175         (QX): New variable.
1176         (coding_system_description): Add description for
1177         `ccs_priority_list'.
1178         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1179         (allocate_coding_system): Initialize `ccs_priority_list' in
1180         UTF-2000.
1181         (Fmake_coding_system): Add description about
1182         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1183         (codesys).
1184         (Fcoding_system_property): Accept `disable-composition' and
1185         `use-entity-reference' in UTF-2000.
1186         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1187         in UTF-2000.
1188         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1189         (decode_coding_utf8): Decode entity-reference if
1190         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1191         (char_encode_utf8): Encode non-Unicode characters as
1192         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1193         (str->codesys).
1194         (syms_of_file_coding): Add new symbols `use-entity-reference',
1195         `d', `x', `X'.
1196         (vars_of_file_coding): Add new variable
1197         `coded-charset-entity-reference-alist'.
1198         (complex_vars_of_file_coding): Declare `disable-composition' and
1199         `use-entity-reference' to be coding-system-properties in UTF-2000.
1200
1201         * file-coding.h (struct Lisp_Coding_System): Add new member
1202         `use_entity_reference' and `ccs_priority_list'.
1203         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1204         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1205         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1206
1207 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1208
1209         * chartab.c (save_uint8_byte_table): Don't clear the table.
1210         (save_uint16_byte_table): Likewise.
1211         (save_byte_table): Likewise.
1212         (Fmount_char_attribute_table): New function.
1213         (syms_of_chartab): Add new builtin function
1214         `mount-char-attribute-table'.
1215
1216 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1217
1218         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1219         "w+" mode.
1220         (load_char_decoding_entry_maybe): Open database as read-only mode.
1221
1222         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1223         open database as "w+" mode.
1224         (load_char_attribute_maybe): Open database as read-only mode.
1225         (Fload_char_attribute_table): Likewise.
1226
1227 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1228
1229         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1230         (char_table_description): Delete member `db_file'.
1231         (Fmake_char_table): Don't refer `ct->db_file'.
1232         (Fcopy_char_table): Likewise.
1233         (Fsave_char_attribute_table): Likewise.
1234         (Fclose_char_attribute_table): Likewise.
1235         (Freset_char_attribute_table): Likewise.
1236         (load_char_attribute_maybe): Likewise.
1237         (Fload_char_attribute_table): Likewise.
1238
1239         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1240
1241 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1242
1243         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1244         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1245         `ct->db' is living.
1246         (load_char_attribute_maybe): Likewise.
1247         (Fload_char_attribute_table): Likewise.
1248
1249 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1250
1251         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1252         `ct->db_file' unconditionally.
1253
1254 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1255
1256         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1257         UTF-2000.
1258         (char_table_description): Add description for `db_file' and `db'
1259         in UTF-2000.
1260         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1261         UTF-2000.
1262         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1263         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1264         (Fclose_char_attribute_table): New function.
1265         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1266         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1267         and `cit->db'.
1268         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1269         (syms_of_chartab): Add new builtin function
1270         `Fclose_char_attribute_table'.
1271
1272 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1273
1274         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1275         `db' in UTF-2000.
1276         (load_char_attribute_maybe): Change interface.
1277         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1278
1279 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1280
1281         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1282
1283 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1284
1285         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1286         instead of `DECODE_CHAR' for mother; don't use special code for
1287         chinese-big5 to use code space of chinese-big5-1 and
1288         chinese-big5-2.
1289         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1290         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1291
1292         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1293         (MAX_CHAR_BIG5_CDP): Revival.
1294
1295 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1296
1297         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1298         the XLFD registry-encoding name of `chinese-big5'.
1299
1300 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1301
1302         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1303         (Qchinese_big5_cdp): Deleted.
1304         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1305         (complex_vars_of_mule_charset): Delete coded-charset
1306         `chinese-big5-cdp'.
1307
1308         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1309         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1310         `CHARSET_ID_OFFSET - n' for private CCS.
1311         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1312         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1313         of `MIN_LEADING_BYTE'.
1314         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1315         `(CHARSET_ID_OFFSET - 97)'.
1316         (MIN_CHAR_BIG5_CDP): Deleted.
1317         (MAX_CHAR_BIG5_CDP): Deleted.
1318
1319 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1320
1321         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1322
1323 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1324
1325         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1326         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1327         chartab.c].
1328
1329         * chartab.c (Vutf_2000_version): Moved to mule.c.
1330         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1331
1332 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1333
1334         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1335         when HAVE_CHISE_CLIENT is not defined.
1336
1337         * mule.c (vars_of_mule): Provide feature `chise' when
1338         HAVE_CHISE_CLIENT is defined.
1339
1340 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1341
1342         * config.h.in (UTF2000): Add comment.
1343         (HAVE_CHISE_CLIENT): New macro.
1344
1345 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1346
1347         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1348         CONSP.
1349         (Fput_char_attribute): Likewise.
1350         (char_attribute_system_db_file): Encode file-name of attribute.
1351         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1352         the initial value.
1353
1354 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1355
1356         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1357         (Fsave_charset_mapping_table): Use
1358         `char_attribute_system_db_file'.
1359         (load_char_decoding_entry_maybe): Likewise.
1360
1361         * chartab.h (Qsystem_char_id): New external variable.
1362         (char_attribute_system_db_file): New prototype.
1363
1364         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1365         (char_attribute_system_db_file): New function.
1366         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1367         (Freset_char_attribute_table): Likewise.
1368         (load_char_attribute_maybe): Likewise.
1369         (Fload_char_attribute_table): Likewise.
1370         (syms_of_chartab): Add new symbol `system-char-id'.
1371
1372 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1373
1374         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1375         `XCHARSET_GRAPHIC(ccs)'.
1376
1377 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1378
1379         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1380
1381 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1382
1383         * chartab.c (Q_ucs_variants): New variable.
1384         (syms_of_chartab): Add new symbol `->ucs-variants'.
1385         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1386         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1387         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1388
1389         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1390
1391         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1392         `HAVE_DATABASE' is defined.
1393         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1394         `HAVE_DATABASE' is defined.
1395
1396 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1397
1398         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1399         attribute-table.
1400         (Freset_char_attribute_table): New function.
1401         (syms_of_chartab): Add new builtin function
1402         `reset-char-attribute-table'.
1403
1404 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * chartab.c (load_char_attribute_maybe): Don't make directories.
1407
1408 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1409
1410         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1411
1412         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1413         for decoding-table.
1414
1415 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1416
1417         * mule-charset.c (Fsave_charset_mapping_table): Use
1418         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1419
1420         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1421         instead of `XCHARSET_CHARS'.
1422
1423 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1424
1425         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1426         (XCHARSET_BYTE_SIZE): Likewise.
1427
1428         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1429         mule-charset.c].
1430         (XCHARSET_BYTE_SIZE): Likewise.
1431
1432 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1433
1434         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1435         data-directory to store database.
1436         (Fsave_char_attribute_table): Likewise.
1437         (load_char_attribute_maybe): Likewise.
1438         (Fload_char_attribute_table): Likewise.
1439
1440 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1441
1442         * mule-charset.c (Fsave_charset_mapping_table): New function.
1443         (syms_of_mule_charset): Add new builtin function
1444         `save-charset-mapping-table'.
1445
1446 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1447
1448         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1449         (get_ccs_octet_table): New inline function.
1450         (put_ccs_octet_table): Likewise.
1451         (decoding_table_put_char): Use `get_ccs_octet_table' and
1452         `put_ccs_octet_table'.
1453         (decoding_table_remove_char): Use `decoding_table_put_char'.
1454         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1455
1456         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1457         into encoding_table.
1458         (make_charset): Use Qunbound instead Qnil as initial value of
1459         decoding_table.
1460
1461 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1462
1463         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1464         element is Qunloaded.
1465         (map_over_uint16_byte_table): Likewise.
1466         (map_over_byte_table): Likewise.
1467         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1468         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1469         database support, load encoding-table of the specified
1470         coded-charset if it is not loaded yet.
1471         (save_uint8_byte_table): New function of UTF-2000 with external
1472         database support.
1473         (save_uint16_byte_table): Likewise.
1474         (save_byte_table): Likewise.
1475         (Fput_char_attribute): Don't store value into external database
1476         even if the external database feature is supported in UTF-2000;
1477         set `attribute' as name of char-table if the external database
1478         feature is supported.
1479         (Fsave_char_attribute_table): New function in UTF-2000.
1480         (syms_of_chartab): Add new builtin function
1481         `save-char-attribute-table' in UTF-2000.
1482
1483 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1484
1485         * chartab.c (char_attribute_table_to_put): New variable in
1486         UTF-2000.
1487         (Qput_char_table_map_function): Likewise.
1488         (value_to_put): Likewise.
1489         (Fput_char_table_map_function): New function in UTF-2000.
1490         (put_char_table): Use `Fmap_char_attribute' for
1491         CHARTAB_RANGE_CHARSET in UTF-2000.
1492         (Fput_char_attribute): Store symbol instead of string in
1493         `XCHAR_TABLE_NAME (table)'.
1494         (load_char_attribute_maybe): Likewise.
1495         (syms_of_chartab): Add new symbol/function
1496         `put-char-table-map-function'.
1497
1498 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1499
1500         * database.h: Add new EXFUN for `Fmap_database'.
1501
1502         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1503         (syms_of_database): Likewise.
1504
1505         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1506         UTF-2000.
1507         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1508         (XCHAR_TABLE_UNLOADED): Likewise.
1509
1510         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1511         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1512         HAVE_DATABASE is defined.
1513         (char_attribute_table_to_load): New variable of UTF-2000 with
1514         external database support.
1515         (Qload_char_attribute_table_map_function): Likewise.
1516         (Fload_char_attribute_table_map_function): New function of
1517         UTF-2000 with external database support.
1518         (Fload_char_attribute_table): New function of UTF-2000.
1519         (Fmap_char_attribute): Call Fload_char_attribute_table if
1520         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1521         (syms_of_chartab): Add new symbol and function
1522         `load-char-attribute-table-map-function' in UTF-2000 with external
1523         database support; add new function `load-char-attribute-table' in
1524         UTF-2000.
1525
1526 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1527
1528         * chartab.h (load_char_attribute_maybe): New prototype for
1529         UTF-2000 with DATABASE support.
1530         (get_char_id_table): Use `load_char_attribute_maybe' if
1531         HAVE_DATABASE is defined.
1532
1533         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1534         with DATABASE support.
1535
1536 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * chartab.c (Fput_char_attribute): Use S-expression as key of
1539         external database.
1540
1541         * chartab.h (get_char_id_table): Use S-expression as key of
1542         external database.
1543
1544 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1545
1546         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1547         if an element is not loaded, load the corresponding attributes
1548         from an external database.
1549         (map_over_uint16_byte_table): Likewise.
1550         (map_over_byte_table): Likewise.
1551         (map_char_table): Modify for `map_over_uint8_byte_table',
1552         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1553         element is not loaded, load the corresponding attributes from an
1554         external database.
1555         (Fput_char_attribute): Change initial values to Qunloaded.
1556
1557         * chartab.h (get_char_id_table): If a character attribute is not
1558         loaded and the attribute value is not found in an external
1559         database, store Qunbound as the attribute value.
1560
1561 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1562
1563         * chartab.c (BT_UINT8_unloaded): New macro.
1564         (UINT8_VALUE_P): Accept Qunloaded.
1565         (UINT8_ENCODE): Likewise.
1566         (UINT8_DECODE): Likewise.
1567         (BT_UINT16_unloaded): New macro.
1568         (UINT16_VALUE_P): Accept Qunloaded.
1569         (UINT16_ENCODE): Likewise.
1570         (UINT16_DECODE): Likewise.
1571         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1572         BT_UINT16_unloaded.
1573         (mark_char_table): Mark `ct->name' in UTF-2000.
1574         (char_table_description): Add `name' in UTF-2000.
1575         (Fmake_char_table): Initialize `ct->name'.
1576         (Fcopy_char_table): Copy `ct->name'.
1577         (Fput_char_attribute): Store value into an external database if
1578         HAVE_DATABASE is defined.
1579
1580         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1581         UTF-2000.
1582         (CHAR_TABLE_NAME): New macro in UTF-2000.
1583         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1584         (get_char_id_table): Try to read an external database if Qunloaded
1585         is stored in a table.
1586
1587         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1588         Qunloaded.
1589
1590 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1591
1592         * database.h: Add EXFUN definitions for Fopen_database,
1593         Fput_database, Fget_database and Fclose_database.
1594
1595         * data.c (Qunloaded): New variable in UTF-2000.
1596
1597         * lisp.h (Qunloaded): New variable in UTF-2000.
1598
1599 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1600
1601         * mule-charset.c (put_char_ccs_code_point): Modify for
1602         `decoding_table_remove_char' and `decoding_table_put_char'.
1603         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1604
1605         * char-ucs.h (decoding_table_remove_char): Change arguments to
1606         hide decoding_table vector.
1607         (decoding_table_put_char): Likewise.
1608
1609 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1610
1611         * mule-charset.c (decoding_table_remove_char): Moved to
1612         char-ucs.h.
1613         (decoding_table_put_char): Likewise.
1614
1615         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1616         from mule-charset.c].
1617         (decoding_table_remove_char): New inline function [moved from
1618         mule-charset.c].
1619         (decoding_table_put_char): Likewise.
1620
1621 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1622
1623         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1624         extension.
1625
1626 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1627
1628         * mule-charset.c (decode_builtin_char): Support mother charsets.
1629
1630 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1631
1632         * mule-charset.c (Q94x94x60): New variable.
1633         (charset_code_point): Support conversion `94x94x60'.
1634         (Fmake_charset): Likewise.
1635         (syms_of_mule_charset): Add new symbol `94x94x60'.
1636
1637         * char-ucs.h (CONVERSION_94x94x60): New macro.
1638
1639 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1640
1641         * mule-charset.c (charset_code_point): Unify code about
1642         `code-offset'.
1643
1644 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1645
1646         * mule-charset.c (charset_code_point): Merge code about builtin
1647         characters into code about mother charsets; don't use
1648         `range_charset_code_point'.
1649         (range_charset_code_point): Deleted.
1650
1651 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1652
1653         * mule-charset.c (Qcode_offset): New variable.
1654         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1655         `max-code'; accept new property `code-offset'.
1656         (syms_of_mule_charset): Add new symbol `code-offset'.
1657
1658 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1659
1660         * mule-charset.c (range_charset_code_point): Fixed.
1661
1662 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * mule-charset.c (decode_builtin_char): Change semantics of
1665         code-offset of coded-charset.
1666         (charset_code_point): Likewise.
1667         (range_charset_code_point): Likewise.
1668         (complex_vars_of_mule_charset): Modify for the change.
1669
1670 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1671
1672         * mule-charset.c (Fencode_char): Reverse arguments.
1673
1674         * mule-charset.c (charset_code_point): Fixed.
1675
1676 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1677
1678         * mule-charset.c (Vcharset_mojikyo): Deleted.
1679         (Vcharset_mojikyo_2022_1): Deleted.
1680         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1681         (Qmin_code): New variable in UTF-2000.
1682         (Qmax_code): Likewise.
1683         (Qmother): Likewise.
1684         (Qconversion): Likewise.
1685         (Q94x60): Likewise.
1686         (Qmojikyo): Deleted.
1687         (Qmojikyo_2022_1): Deleted.
1688         (Qmojikyo_pj_{1..22}): Deleted.
1689         (mark_charset): Mark `cs->mother'.
1690         (charset_description): Add description for `mother'.
1691         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1692         new arguments `mother' and `conversion'; use
1693         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1694         (charset_code_point): Moved from char-ucs.h; support `mother'
1695         charset feature.
1696         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1697         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1698         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1699         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1700         allow 2 as the value of `graphic' in UTF-2000; add new properties
1701         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1702         require `final' in UTF-2000; modify for `make_charset'.
1703         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1704         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1705         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1706         (Fencode_char): New function.
1707         (syms_of_mule_charset): Add new builtin function `encode-char' in
1708         UTF-2000; add new symbols `min-code', `max-code', `mother',
1709         `conversion' and `94x60'; delete symbols `mojikyo',
1710         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1711         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1712         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1713         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1714
1715         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1716         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1717
1718         * char-ucs.h (Vcharset_mojikyo): Deleted.
1719         (Vcharset_mojikyo_2022_1): Deleted.
1720         (LEADING_BYTE_MOJIKYO): Deleted.
1721         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1722         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1723         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1724         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1725         add new member `mother'; add new member `conversion'.
1726         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1727         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1728         (CHARSET_MOTHER): New macro.
1729         (CHARSET_CONVERSION): New macro.
1730         (CONVERSION_IDENTICAL): New macro.
1731         (CONVERSION_94x60): New macro.
1732         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1733         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1734         (XCHARSET_MOTHER): New macro.
1735         (XCHARSET_CONVERSION): New macro.
1736         (MIN_CHAR_MOJIKYO): Deleted.
1737         (MAX_CHAR_MOJIKYO): Deleted.
1738         (DECODE_MOJIKYO_2022): Deleted.
1739         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1740         (charset_code_point): Changed to non-inline function.
1741         (encode_char_1): Use `charset_code_point'.
1742         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1743
1744 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1745
1746         * lread.c (read_compiled_function): Fix prototype.
1747         (read_vector): Likewise.
1748
1749 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1750
1751         * lrecord.h (struct lrecord_header): Delete `older'.
1752         (set_lheader_implementation): Delete code for `older'.
1753         (set_lheader_older_implementation): Deleted.
1754         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1755         (OLDER_RECORD_P): Deleted.
1756         (OLDER_RECORD_HEADER_P): Deleted.
1757         (alloc_older_lcrecord): Deleted.
1758         (alloc_older_lcrecord_type): Deleted.
1759
1760         * alloc.c (all_older_lcrecords): Deleted.
1761         (alloc_older_lcrecord): Deleted.
1762         (disksave_object_finalization_1): Delete code for older objects.
1763         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1764         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1765
1766 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1767
1768         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1769         instead of `make_older_vector'.
1770         (put_char_ccs_code_point): Likewise.
1771         (mark_charset): Mark `cs->decoding_table'.
1772         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1773
1774         * lisp.h (make_older_vector): Deleted.
1775         (make_vector_newer): Deleted.
1776
1777         * config.h.in (HAVE_GGC): Deleted.
1778
1779         * alloc.c (make_older_vector): Deleted.
1780         (make_vector_newer_1): Deleted.
1781         (make_vector_newer): Deleted.
1782
1783 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1786         (Qideograph_daikanwa_2): New variable.
1787         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1788         (complex_vars_of_mule_charset): Add new coded-charset
1789         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1790         `LEADING_BYTE_DAIKANWA'.
1791
1792         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1793         (LEADING_BYTE_DAIKANWA_1): New macro.
1794         (LEADING_BYTE_DAIKANWA_2): New macro.
1795         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1796
1797 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1798
1799         * mule-charset.c (complex_vars_of_mule_charset): Change
1800         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1801         the second revised version.
1802
1803 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1804
1805         * mule-charset.c (Vcharset_ucs_smp): New variable.
1806         (Vcharset_ucs_sip): New variable.
1807         (Qucs_smp): New variable.
1808         (Qucs_sip): New variable.
1809         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1810         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1811         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1812         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1813         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1814         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1815
1816         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1817         (LEADING_BYTE_UCS_SIP): New macro.
1818         (MIN_CHAR_SMP): New macro.
1819         (MAX_CHAR_SMP): New macro.
1820         (MIN_CHAR_SIP): New macro.
1821         (MAX_CHAR_SIP): New macro.
1822
1823 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1824
1825         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1826         utf-2000.
1827
1828 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1829
1830         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1831         value; don't store value into `encoding_table' of `Lisp_Charset'.
1832         (mark_charset): `encoding_table' was deleted.
1833         (charset_description): Likewise.
1834         (make_charset): Likewise.
1835         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1836         `put_char_ccs_code_point'.
1837
1838         * chartab.h (Fput_char_attribute): New EXFUN.
1839
1840         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1841         is unified with normal symbol space.
1842         (Fget_char_attribute): Likewise.
1843         (Fput_char_attribute): Likewise; behavior of
1844         `put_char_ccs_code_point' is changed.
1845
1846         * char-ucs.h: Include "elhash.h".
1847         (Vchar_attribute_hash_table): New external variable.
1848         (struct Lisp_Charset): Delete `encoding_table'.
1849         (CHARSET_ENCODING_TABLE): New implementation; refer
1850         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1851         `Lisp_Charset'.
1852
1853 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1854
1855         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1856         (cs) == 0.
1857
1858 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1859
1860         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1861         `chinese-big5'.
1862
1863 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * chartab.c (uint8_byte_table_description): New constant.
1866         (uint8-byte-table): Use `uint8_byte_table_description'.
1867         (uint16_byte_table_description): New constant.
1868         (uint16-byte-table): Use `uint16_byte_table_description'.
1869
1870 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1871
1872         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1873         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1874
1875 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1876
1877         * mule-charset.c (Vcharset_ucs_ks): New variable.
1878         (Qucs_ks): New variable.
1879         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1880         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1881
1882         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1883
1884 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1885
1886         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1887         (Fdecode_char): Likewise.
1888
1889         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1890         chartab.h.
1891         (Fdefine_char): Modify for Fdecode_char.
1892         (Ffind_char): Likewise.
1893
1894         * mule-charset.c (Fdecode_char): Add new optional argument
1895         `defined-only'.
1896         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1897
1898 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1899
1900         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1901         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1902         (allocate_coding_system): Initialize initial-charsets of
1903         CODESYS_BIG5 in XEmacs UTF-2000.
1904         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1905         CODESYS_BIG5 in XEmacs UTF-2000.
1906         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1907         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1908
1909         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1910         variables.
1911         (Qideograph_hanziku_{1 .. 12}): Likewise.
1912         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1913         .. 12}'.
1914         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1915         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1916         `ideograph-hanziku-{1 .. 12}'.
1917
1918         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1919         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1920         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1921         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1922         (DECODE_DEFINED_CHAR): New inline function.
1923         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1924
1925 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1926
1927         * mule-charset.c (Vcharset_china3_jef): Renamed from
1928         `Vcharset_japanese_jef_china3'.
1929         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1930         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1931         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1932         (syms_of_mule_charset): Rename `china3-jef' from
1933         `japanese-jef-china3'.
1934         (complex_vars_of_mule_charset): Likewise; rename
1935         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1936
1937         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1938         `LEADING_BYTE_JEF_CHINA3'.
1939         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1940         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1941
1942 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1943
1944         * mule-charset.c (encode_builtin_char_1): Comment out special code
1945         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1946
1947         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1948         (MAX_CHAR_MOJIKYO_0): Comment out.
1949         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1950         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1951         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1952         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1953
1954 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1955
1956         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1957         (Qideograph_cbeta): New variable.
1958         (encode_builtin_char_1): Comment out special code for
1959         coded-charset `mojikyo' and `japanese-jef-china3'.
1960         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1961         (complex_vars_of_mule_charset): Add new coded-charset
1962         `ideograph-cbeta'.
1963
1964         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1965         (MIN_CHAR_CBETA): New macro.
1966         (MAX_CHAR_CBETA): New macro.
1967
1968 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1969
1970         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1971         (LEADING_BYTE_JEF_CHINA3): New macro.
1972         (MIN_CHAR_JEF_CHINA3): New macro.
1973         (MAX_CHAR_JEF_CHINA3): Likewise.
1974         (DECODE_CHAR): Fixed.
1975
1976 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1977
1978         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1979         (Qjapanese_jef_china3): New variable.
1980         (encode_builtin_char_1): Support `japanese-jef-china3'.
1981         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1982         (complex_vars_of_mule_charset): Add new coded-charset
1983         `japanese-jef-china3'.
1984
1985 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1986
1987         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1988         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1989         94^4, 96^3, 96^4, 128^n and 256^n set.
1990         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1991         (map_char_table): Likewise.
1992
1993 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1994
1995         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1996         UTF-2000.
1997
1998 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1999
2000         * chartab.h (get_char_id_table): New inline function.
2001
2002         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2003         function.
2004
2005 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2006
2007         * chartab.h (decode_char_table_range): New prototype in XEmacs
2008         UTF-2000.
2009         (put_char_id_table): New inline function in XEmacs UTF-2000.
2010
2011         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2012         function.
2013         (decode_char_table_range): Delete static declaration in XEmacs
2014         UTF-2000.
2015
2016 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2017
2018         * chartab.c (put_char_id_table): Use `put_char_table'.
2019
2020 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2021
2022         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2023         (map_over_uint16_byte_table): Likewise.
2024         (map_over_byte_table): Likewise.
2025         (map_char_table): Modify for `map_over_uint8_byte_table',
2026         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2027         UTF-2000.
2028
2029 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2030
2031         * chartab.c (struct map_char_table_for_charset_arg): New
2032         structure.
2033         (map_char_table_for_charset_fun): New function.
2034         (map_char_table): Use `map_char_table' for encoding_table of
2035         `range->charset'.
2036
2037 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2038
2039         * chartab.c (map_char_table): Check a character is found in
2040         range->charset instead of non default value is defined in
2041         char-table when range is CHARTAB_RANGE_ROW.
2042
2043 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2044
2045         * chartab.c (map_char_id_table): Deleted.
2046         (Fmap_char_attribute): Use `map_char_table' instead of
2047         `map_char_id_table'.
2048
2049 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2050
2051         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2052         UTF-2000.
2053         (update_syntax_table): Deleted in XEmacs UTF-2000.
2054
2055         * syntax.c (find_defun_start): Use `syntax_table' instead of
2056         `mirror_syntax_table' in XEmacs UTF-2000.
2057         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2058         UTF-2000.
2059         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2060         XEmacs UTF-2000.
2061         (Fmatching_paren): Likewise.
2062         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2063         in XEmacs UTF-2000.
2064         (find_start_of_comment): Likewise.
2065         (find_end_of_comment): Likewise.
2066         (Fforward_comment): Likewise.
2067         (scan_lists): Likewise.
2068         (char_quoted): Likewise.
2069         (Fbackward_prefix_chars): Likewise.
2070         (scan_sexps_forward): Likewise.
2071         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2072         (update_syntax_table): Likewise.
2073
2074         * search.c (skip_chars): Use `syntax_table' instead of
2075         `mirror_syntax_table' in XEmacs UTF-2000.
2076         (wordify): Likewise.
2077         (Freplace_match): Likewise.
2078
2079         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2080         `mirror_syntax_table' in XEmacs UTF-2000.
2081         (WORDCHAR_P_UNSAFE): Likewise.
2082         (re_match_2_internal): Likewise.
2083
2084         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2085         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2086
2087         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2088         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2089
2090         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2091         XEmacs UTF-2000.
2092
2093         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2094         UTF-2000.
2095         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2096         (char_table_description): Delete `mirror_table' in XEmacs
2097         UTF-2000.
2098         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2099         UTF-2000.
2100         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2101         (Fcopy_char_table): Likewise.
2102         (put_char_table): Don't call `update_syntax_table' in XEmacs
2103         UTF-2000.
2104
2105         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2106         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2107         (casify_region_internal): Likewise.
2108
2109         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2110
2111         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2112         `mirror_syntax_table' in XEmacs UTF-2000.
2113
2114         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2115         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2116         (Fexpand_abbrev): Likewise.
2117
2118 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2119
2120         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2121
2122 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2123
2124         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2125         (map_over_uint16_byte_table): Likewise.
2126         (map_over_byte_table): Likewise.
2127         (get_char_id_table): Refer `cit->default_value'.
2128         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2129         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2130         of character-id ranges.
2131         (mark_char_table): Mark `ct->default_value'.
2132         (char_table_description): Add `default_value'.
2133         (fill_char_table): Use `default_value'.
2134         (decode_char_table_range): Decode `nil' as
2135         `CHARTAB_RANGE_DEFAULT'.
2136         (get_char_id_table): Refer `cit->default_value'.
2137         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2138         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2139         temporary hack; check value of char-table is bound or not.
2140         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2141
2142         * chartab.h (struct Lisp_Char_Table): Add new member
2143         `default_value' in XEmacs UTF-2000.
2144         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2145         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2146         UTF-2000.
2147
2148 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2149
2150         * chartab.h (Lisp_Char_ID_Table): Deleted.
2151
2152         * chartab.c (char_table_description): Fix typo.
2153         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2154         `Lisp_Char_ID_Table'.
2155
2156 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2157
2158         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2159         `CHAR_ID_TABLE_P'.
2160
2161         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2162         `CHAR_ID_TABLE_P'.
2163
2164         * chartab.h (XCHAR_ID_TABLE): Deleted.
2165         (XSETCHAR_ID_TABLE): Deleted.
2166         (CHAR_ID_TABLE_P): Deleted.
2167
2168         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2169         `CHAR_ID_TABLE_P'.
2170         (Fget_composite_char): Likewise.
2171         (put_char_table): Likewise.
2172         (add_char_attribute_alist_mapper): Fixed.
2173         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2174         `CHAR_ID_TABLE_P'.
2175         (Fget_char_attribute): Likewise.
2176         (Fget_char_attribute): Likewise.
2177         (Fmap_char_attribute): Likewise.
2178
2179         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2180         `CHAR_ID_TABLE_P'.
2181         (encode_char_1): Likewise.
2182
2183 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2184
2185         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2186         `XCHAR_ID_TABLE'.
2187
2188         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2189         instead of `XCHAR_ID_TABLE'.
2190         (remove_char_ccs): Likewise.
2191
2192         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2193         `XCHAR_ID_TABLE'.
2194         (Fget_composite_char): Likewise.
2195         (Fchar_variants): Likewise.
2196         (put_char_table): Likewise.
2197         (add_char_attribute_alist_mapper): Likewise.
2198         (Fchar_attribute_alist): Likewise.
2199         (Fget_char_attribute): Likewise.
2200         (Fput_char_attribute): Likewise.
2201         (Fmap_char_attribute): Likewise.
2202         (Fmap_char_attribute): Likewise.
2203
2204         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2205         `XCHAR_ID_TABLE'.
2206         (encode_char_1): Likewise.
2207
2208 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2209
2210         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2211         `Lisp_Char_ID_Table'.
2212         (mark_char_id_table): Deleted.
2213         (print_char_id_table): Likewise.
2214         (char_id_table_equal): Likewise.
2215         (char_id_table_hash): Likewise.
2216         (char_id_table_description): Likewise.
2217         (char_id_table): Likewise.
2218         (make_char_id_table): Use `Fmake_char_table' and
2219         `fill_char_table'.
2220         (get_char_id_table): Use `Lisp_Char_Table' instead of
2221         `Lisp_Char_ID_Table'.
2222         (put_char_id_table): Likewise.
2223         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2224         `XCHAR_ID_TABLE'.
2225         (Fremove_char_attribute): Likewise.
2226         (syms_of_chartab): Don't define type `char-id-table'.
2227
2228         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2229         (char_id_table): Likewise.
2230         (GC_CHAR_ID_TABLE_P): Likewise.
2231         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2232         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2233         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2234         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2235         (get_char_id_table): Use `Lisp_Char_Table' instead of
2236         `Lisp_Char_ID_Table'.
2237         (put_char_id_table_0): Likewise.
2238         (put_char_id_table): Likewise.
2239
2240 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2241
2242         * chartab.h: Lisp_Byte_Table related codes are moved from
2243         chartab.h.
2244
2245         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2246
2247 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2248
2249         * chartab.h: Don't include "chartab.h".
2250         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2251         (Lisp_Char_ID_Table): Likewise.
2252         (char_id_table): Likewise.
2253         (XCHAR_ID_TABLE): Likewise.
2254         (XSETCHAR_ID_TABLE): Likewise.
2255         (CHAR_ID_TABLE_P): Likewise.
2256         (GC_CHAR_ID_TABLE_P): Likewise.
2257         (get_char_id_table): Likewise.
2258
2259         * char-ucs.h: Include "chartab.h".
2260         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2261         (Lisp_Char_ID_Table): Likewise.
2262         (char_id_table): Likewise.
2263         (XCHAR_ID_TABLE): Likewise.
2264         (XSETCHAR_ID_TABLE): Likewise.
2265         (CHAR_ID_TABLE_P): Likewise.
2266         (GC_CHAR_ID_TABLE_P): Likewise.
2267         (get_char_id_table): Likewise.
2268
2269 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2270
2271         * chartab.c (copy_uint8_byte_table): New function.
2272         (copy_uint16_byte_table): New function.
2273         (copy_byte_table): New function.
2274         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2275         characters to call.
2276         (map_over_uint16_byte_table): Likewise.
2277         (map_over_byte_table): Likewise.
2278         (get_byte_table): Move prototype to chartab.h.
2279         (put_byte_table): Likewise.
2280         (put_char_id_table_0): Moved to chartab.h.
2281         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2282         (char_table_entry_equal): Likewise.
2283         (char_table_entry_hash): Likewise.
2284         (char_table_entry_description): Likewise.
2285         (char_table_entry): Likewise.
2286         (make_char_table_entry): Likewise.
2287         (copy_char_table_entry): Likewise.
2288         (get_non_ascii_char_table_value): Likewise.
2289         (map_over_charset_ascii): Likewise.
2290         (map_over_charset_control_1): Likewise.
2291         (map_over_charset_row): Likewise.
2292         (map_over_other_charset): Likewise.
2293         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2294         (print_char_table): Likewise.
2295         (char_table_equal): Likewise.
2296         (char_table_hash): Likewise.
2297         (char_table_description): Likewise.
2298         (fill_char_table): Likewise.
2299         (Fcopy_char_table): Likewise.
2300         (get_char_table): Likewise.
2301         (Fget_range_char_table): Likewise.
2302         (put_char_table): Likewise.
2303         (map_char_table): Likewise.
2304         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2305         UTF-2000.
2306
2307 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2308
2309         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2310         `Vauto_fill_chars' in XEmacs UTF-2000.
2311
2312         * chartab.h (get_byte_table): New prototype [moved from
2313         chartab.c].
2314         (put_byte_table): Likewise [moved from chartab.c].
2315         (put_char_id_table_0): New inline function [moved from chartab.c].
2316         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2317         (Lisp_Char_Table_Entry): Likewise.
2318         (char_table_entry): Likewise.
2319         (XCHAR_TABLE_ENTRY): Likewise.
2320         (XSETCHAR_TABLE_ENTRY): Likewise.
2321         (CHAR_TABLE_ENTRYP): Likewise.
2322         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2323         (NUM_ASCII_CHARS): Likewise.
2324         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2325         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2326
2327 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2328
2329         * chartab.c (get_char_id_table): Change interface.
2330         (put_char_id_table_0): New function.
2331         (put_char_id_table): Change interface; new implementation.
2332         (Fget_composite_char): Modify for interface change of
2333         `get_char_id_table'.
2334         (Fchar_variants): Likewise.
2335         (add_char_attribute_alist_mapper): Likewise.
2336         (Fchar_attribute_alist): Likewise.
2337         (Fget_char_attribute): Likewise.
2338         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2339         as same as character as the first argument like `put-char-table';
2340         modify for interface change of `put_char_id_table'.
2341         (Fremove_char_attribute): Modify for interface change of
2342         `put_char_id_table'.
2343
2344 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * text-coding.c: Sync up with XEmacs 21.2.41.
2347         (COMPOSE_ADD_CHAR): Modify for interface change of
2348         `get_char_id_table'.
2349
2350         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2351         change of `put_char_id_table'.
2352         (remove_char_ccs): Likewise.
2353
2354         * chartab.h (put_char_id_table): Change interface.
2355
2356         * char-ucs.h (get_char_id_table): Change interface.
2357         (charset_code_point): Modify for interface change of
2358         `get_char_id_table'.
2359         (encode_char_1): Likewise.
2360
2361 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2362
2363         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2364         argument `ccs'.
2365         (map_over_uint16_byte_table): Likewise.
2366         (map_over_byte_table): Likewise.
2367         (map_char_id_table): Add new argument `range' like
2368         `map_char_table'.
2369         (Fmap_char_attribute): Add new argument `range' like
2370         `Fmap_char_table'.
2371
2372 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2373
2374         * chartab.c (map_over_uint8_byte_table): Change interface of
2375         mapping function to use struct chartab_range instead of Emchar.
2376         (map_over_uint16_byte_table): Likewise.
2377         (map_over_byte_table): Likewise.
2378         (map_char_id_table): Likewise.
2379         (struct slow_map_char_id_table_arg): Deleted.
2380         (slow_map_char_id_table_fun): Deleted.
2381         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2382         function `slow_map_char_table_fun' instead of struct
2383         `slow_map_char_id_table_arg' and function
2384         `slow_map_char_id_table_fun'.
2385
2386 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2387
2388         * mule-charset.c: Move char-it-table related codes to chartab.c.
2389         (Vutf_2000_version): Moved to chartab.c.
2390         (Fdefine_char): Likewise.
2391         (Ffind_char): Likewise.
2392         (syms_of_mule_charset): Move types `uint8-byte-table',
2393         `uint16-byte-table', `byte-table' and `char-id-table' to
2394         chartab.c; move functions `char_attribute_list,
2395         `find_char_attribute_table, `char_attribute_alist,
2396         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2397         `map_char_attribute, `define_char, `find_char, `char_variants and
2398         `get_composite_char to chartab.c; move symbols `=>ucs',
2399         `->decomposition', `compat', `isolated', `initial', `medial',
2400         `final', `vertical', `noBreak', `fraction', `super', `sub',
2401         `circle', `square', `wide', `narrow', `small' and `font' to
2402         chartab.c.
2403         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2404         setting codes for `Vcharacter_composition_table' and
2405         `Vcharacter_variant_table' to chartab.c.
2406         (complex_vars_of_mule_charset): Move setting code for
2407         `Vchar_attribute_hash_table' to chartab.c.
2408
2409         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2410         (make_char_id_table): New prototype.
2411         (put_char_id_table): Likewise.
2412         (Fget_char_attribute): Likewise.
2413
2414         * chartab.c: Move char-id-table related code from mule-charset.c.
2415         (Vutf_2000_version): Moved from mule-charset.c.
2416
2417         * char-ucs.h (Qucs): New external variable.
2418         (put_char_ccs_code_point): New prototype.
2419         (remove_char_ccs): Likewise.
2420
2421 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2422
2423         * mule-charset.c (Vcharset_ucs_jis): New variable.
2424         (Qucs_jis): Likewise.
2425         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2426         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2427
2428         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2429
2430 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2431
2432         * mule-charset.c (map_over_uint8_byte_table): New function.
2433         (map_over_uint16_byte_table): Likewise.
2434         (map_over_byte_table): Likewise.
2435         (map_char_id_table): Likewise.
2436         (slow_map_char_id_table_fun): Likewise.
2437         (Fmap_char_attribute): Likewise.
2438         (syms_of_mule_charset): Add new function `map-char-attribute'.
2439
2440 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2441
2442         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2443         (syms_of_mule_charset): Add new function `find-char'.
2444
2445 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2446
2447         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2448         XEmacs UTF-2000.
2449         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2450         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2451         XEmacs UTF-2000.
2452         (complex_vars_of_mule_charset): Add new coded-charset
2453         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2454         `ideograph-gt-pj-*'.
2455
2456         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2457
2458 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2459
2460         * mule-charset.c (encode_builtin_char_1): Purge codes about
2461         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2462         {MIN|MAX}_CHAR_HEBREW.
2463         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2464         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2465
2466         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2467         (MAX_CHAR_GREEK): Purged.
2468         (MIN_CHAR_CYRILLIC): Purged.
2469         (MAX_CHAR_CYRILLIC): Purged.
2470         (MIN_CHAR_HEBREW): Commented out.
2471         (MAX_CHAR_HEBREW): Likewise.
2472
2473 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2474
2475         * mule-charset.c (Qto_ucs): New variable.
2476         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2477         (Fdefine_char): Likewise.
2478         (syms_of_mule_charset): Add new symbol `=>ucs'.
2479
2480 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2481
2482         * mule-charset.c (Fdecode_char): Fixed.
2483
2484 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2485
2486         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2487         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2488         "tcvn5712-1".
2489
2490 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2491
2492         * mule-charset.c (Vcharset_ucs_big5): New variable.
2493         (Qucs_big5): Likewise.
2494         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2495         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2496
2497         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2498
2499 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2500
2501         * mule-charset.c (decode_builtin_char): Check Big5 code range
2502         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2503
2504 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2505
2506         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2507         (Qchinese_gb12345): Likewise.
2508         (Fdecode_builtin_char): Fixed.
2509         (syms_of_mule_charset): Add `chinese-gb12345'.
2510         (complex_vars_of_mule_charset): Add coded-charset
2511         `chinese-gb12345'.
2512
2513         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2514         (LEADING_BYTE_CHINESE_GB12345): New macro.
2515
2516 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2517
2518         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2519         and `latin-viscii-upper' for `latin-viscii'.
2520
2521 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (Fdecode_builtin_char): Comment out
2524         regularization code for ISO-IR GR representation.
2525
2526 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2527
2528         * mule-charset.c (decode_builtin_char): New function; renamed from
2529         `make_builtin_char'; return -1 instead of signal.
2530         (Fdecode_builtin_char): Use `decode_builtin_char'.
2531
2532         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2533         `make_builtin_char'.
2534         (DECODE_CHAR): Use `decode_builtin_char' instead of
2535         `make_builtin_char'; use mapping table of `chinese-big5' for
2536         `chinese-big5-{1,2}'.
2537
2538 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2539
2540         * text-coding.c (char_encode_big5): New function.
2541         (char_finish_big5): Likewise.
2542         (reset_encoding_stream): Use `char_encode_big5' and
2543         `char_finish_big5' for CODESYS_BIG5.
2544         (mule_encode): Don't use `encode_coding_big5'.
2545         (encode_coding_big5): Deleted.
2546
2547 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2548
2549         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2550         0x81- in XEmacs UTF-2000.
2551         (detect_coding_big5): Likewise.
2552
2553 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2554
2555         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2556         generate character-id if the CCS property does not have
2557         corresponding predefined character.
2558         (make_builtin_char): Return -1 if corresponding predefined
2559         character is not found.
2560         (Fdecode_char): Return nil if corresponding character is not
2561         found.
2562         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2563         don't map to builtin ucs space.
2564
2565 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2566
2567         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2568         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2569
2570 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2571
2572         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2573         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2574         (Qideograph_gt): Likewise.
2575         (Qideograph_gt_pj_{1..11}): Likewise.
2576         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2577         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2578         `ideograph-gt-pj-11'.
2579         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2580         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2581         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2582
2583         * char-ucs.h (LEADING_BYTE_GT): New macro.
2584         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2585         (MIN_CHAR_GT): Likewise.
2586         (MAX_CHAR_GT): Likewise.
2587
2588 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2591         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2592
2593         * doprnt.c (unsigned_int_converters): Add `c'.
2594         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2595
2596         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2597         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2598         `MIN_CHAR_MOJIKYO'.
2599         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2600         (MAX_CHAR_MOJIKYO_0): New macro.
2601         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2602
2603 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2604
2605         * mule-charset.c (Fdefine_char): Delete cemented out code.
2606         (encode_builtin_char_1): Modify for new allocation of builtin
2607         Mojikyo characters.
2608
2609         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2610
2611 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2612
2613         * mule-charset.c (Vcharset_ucs_cns): New variable.
2614         (Qucs_cns): New variable.
2615         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2616         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2617
2618 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2619
2620         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2621
2622 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2623
2624         * search.c (search_buffer): Make `charset_base_code' as
2625         character-id >> 6 to eliminate the corresponding last byte in
2626         UTF-8 representation [I'm not sure it is right thing].
2627         (boyer_moore): Likewise.
2628
2629 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2630
2631         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2632         representation in MULE.
2633
2634 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2635
2636         * text-coding.c (Fmake_coding_system): Use
2637         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2638         `EXTERNAL_PROPERTY_LIST_LOOP'.
2639
2640 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2641
2642         * text-coding.c (decode_output_utf8_partial_char): New function.
2643         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2644
2645 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2646
2647         * text-coding.c (decode_coding_utf8): Output original byte
2648         sequence if it is broken; change order of conditions.
2649
2650         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2651         of conditions.
2652
2653         * mb-multibyte.h (BYTE_ASCII_P):
2654         Use bit ops for char-signedness safety.
2655         (BYTE_C0_P): Use bit ops for char-signedness safety.
2656         (BYTE_C1_P): Use bit ops for char-signedness safety.
2657
2658         * character.h: (XCHAR_OR_CHAR_INT):
2659         Always use inline function.
2660         Remove redundant type checking assert() - XINT will abort quite
2661         nicely.
2662
2663 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2664
2665         * text-coding.c: (Fencode_shift_jis_char):
2666         (Fencode_big5_char):
2667         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2668         Replace 0 with '\0' when working with bytes.
2669         Replace initial "(" with "\(" in docstrings.
2670
2671         (Fmake_coding_system):
2672         When type is ccl and value is vector, register it with a proper
2673         symbol.  And checks whether the given ccl program is valid.
2674         (mule_decode): When calling ccl_driver, if src indicates
2675         NULL pointer, set an empty string instead.
2676         (mule_encode): Likewise.
2677
2678         (detect_eol_type):
2679         (detect_coding_sjis):
2680         (decode_coding_sjis):
2681         (detect_coding_big5):
2682         (decode_coding_big5):
2683         (detect_coding_ucs4):
2684         (decode_coding_ucs4):
2685         (detect_coding_utf8):
2686         (decode_coding_utf8):
2687         (detect_coding_iso2022):
2688         (decode_coding_iso2022):
2689         (decode_coding_no_conversion):
2690         (mule_decode):
2691         Make all detecting and decoding functions take an Extbyte * arg.
2692         (text_encode_generic):
2693         (encode_coding_big5):
2694         (encode_coding_no_conversion):
2695         (mule_encode):
2696         Make all encoding functions take a Bufbyte * arg.
2697         Use size_t instead of unsigned int for memory sizes.
2698         Only cast to unsigned char whenever dereferencing Extbyte *.
2699
2700         (struct lrecord_description fcd_description_1): Use countof.
2701         (complex_vars_of_file_coding):
2702         Use countof instead of sizeof.
2703         Use CHECK_NATNUM instead of CHECK_INT.
2704
2705 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2706
2707         * mule-charset.c (Fget_char_attribute): Add new optional argument
2708         `default-value'.
2709         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2710         (remove_char_ccs): Likewise.
2711
2712 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2713
2714         * text-coding.c (char_encode_shift_jis): New implementation in
2715         UTF-2000.
2716         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2717         ...)'.
2718
2719         * mule-charset.c (Vcharset_chinese_big5): New variable in
2720         UTF-2000.
2721         (Qchinese_big5): New variable in UTF-2000.
2722         (BIG5_SAME_ROW): New macro in UTF-2000.
2723         (make_builtin_char): Use builtin characters of
2724         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2725         characters of `Vcharset_chinese_big5'.
2726         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2727         (complex_vars_of_mule_charset): Add new coded-charset
2728         `chinese-big5' in UTF-2000.
2729
2730         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2731         (Vcharset_chinese_big5): New external variable declaration.
2732         (Vcharset_japanese_jisx0208_1990): Likewise.
2733
2734 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2735
2736         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2737         function.
2738         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2739
2740 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2741
2742         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2743         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2744         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2745         `mojikyo-pj-*'.
2746
2747 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2748
2749         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2750
2751 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2752
2753         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2754         to 0.17.
2755
2756 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2757
2758         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2759         for `CHARSET_BY_ATTRIBUTES'.
2760         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2761         `CHARSET_BY_ATTRIBUTES'.
2762
2763         * text-coding.c (struct decoding_stream): Rename member `CH' to
2764         `CPOS'.
2765         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2766         (decode_coding_sjis): Likewise.
2767         (decode_coding_big5): Likewise.
2768         (decode_coding_ucs4): Likewise.
2769         (decode_coding_utf8): Likewise.
2770         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2771         `CHARSET_BY_ATTRIBUTES'.
2772         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2773         `str->counter'; decode 3, 4 bytes sets.
2774         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2775         sets.
2776         (decode_coding_no_conversion): Use `str->cpos' instead of
2777         `str->ch'.
2778
2779         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2780         (Qmojikyo_2022_1): New variable.
2781         (make_charset): Don't use `CHARSET_TYPE_*'.
2782         (range_charset_code_point): Support coded-charset
2783         `mojikyo-2022-1'.
2784         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2785         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2786         `CHARSET_BY_ATTRIBUTES'.
2787         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2788         `CHARSET_BY_ATTRIBUTES'.
2789         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2790         (complex_vars_of_mule_charset): Add new coded-charset
2791         `mojikyo-2022-1'.
2792
2793         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2794         interface; changed to inline function.
2795
2796         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2797         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2798         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2799         (CHARSET_TYPE_94): Deleted.
2800         (CHARSET_TYPE_94X94): Deleted.
2801         (CHARSET_TYPE_96): Deleted.
2802         (CHARSET_TYPE_96X96): Deleted.
2803         (CHARSET_TYPE_128): Deleted.
2804         (CHARSET_TYPE_128X128): Deleted.
2805         (CHARSET_TYPE_256): Deleted.
2806         (CHARSET_TYPE_256X256): Deleted.
2807         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2808         to inline function.
2809         (DECODE_MOJIKYO_2022): New inline function.
2810         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2811         `Vcharset_mojikyo_2022_1'.
2812
2813 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2814
2815         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2816         instead of `EQ'.
2817         (put_byte_table): Likewise.
2818         (char_id_table_equal): Use `get_byte_table' [new implementation].
2819
2820 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2821
2822         * mule-charset.c: Include <limits.h> in UTF-2000.
2823         (BT_UINT8_MIN): New macro in UTF-2000.
2824         (BT_UINT8_MAX): New macro in UTF-2000.
2825         (BT_UINT8_t): New macro in UTF-2000.
2826         (BT_UINT8_nil): New macro in UTF-2000.
2827         (BT_UINT8_unbound): New macro in UTF-2000.
2828         (INT_UINT8_P): New inline function in UTF-2000.
2829         (UINT8_VALUE_P): New inline function in UTF-2000.
2830         (UINT8_ENCODE): New inline function in UTF-2000.
2831         (UINT8_DECODE): New inline function in UTF-2000.
2832         (mark_uint8_byte_table): New function in UTF-2000.
2833         (print_uint8_byte_table): New function in UTF-2000.
2834         (uint8_byte_table_equal): New function in UTF-2000.
2835         (uint8_byte_table_hash): New function in UTF-2000.
2836         (make_uint8_byte_table): New function in UTF-2000.
2837         (uint8_byte_table_same_value_p): New function in UTF-2000.
2838         (BT_UINT16_MIN): New macro in UTF-2000.
2839         (BT_UINT16_MAX): New macro in UTF-2000.
2840         (BT_UINT16_t): New macro in UTF-2000.
2841         (BT_UINT16_nil): New macro in UTF-2000.
2842         (BT_UINT16_unbound): New macro in UTF-2000.
2843         (INT_UINT16_P): New inline function in UTF-2000.
2844         (UINT16_VALUE_P): New inline function in UTF-2000.
2845         (UINT16_ENCODE): New inline function in UTF-2000.
2846         (UINT16_DECODE): New inline function in UTF-2000.
2847         (UINT8_TO_UINT16): New inline function in UTF-2000.
2848         (mark_uint16_byte_table): New function in UTF-2000.
2849         (print_uint16_byte_table): New function in UTF-2000.
2850         (uint16_byte_table_equal): New function in UTF-2000.
2851         (uint16_byte_table_hash): New function in UTF-2000.
2852         (make_uint16_byte_table): New function in UTF-2000.
2853         (uint16_byte_table_same_value_p): New function in UTF-2000.
2854         (print_byte_table): New function in UTF-2000.
2855         (byte-table): Use `print_byte_table' as printer.
2856         (make_byte_table): Delete second argument `older'.
2857         (byte_table_same_value_p): New function in UTF-2000.
2858         (copy_byte_table): Deleted.
2859         (get_byte_table): New function in UTF-2000.
2860         (put_byte_table): New function in UTF-2000.
2861         (print_char_id_table): New function in UTF-2000.
2862         (char-id-table): Use `print_char_id_table' as printer.
2863         (make_char_id_table): Delete second argument `older'.
2864         (get_char_id_table): Use `get_byte_table [new implementation].
2865         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2866         implementation].
2867         (Ffind_char_attribute_table): New function in UTF-2000.
2868         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2869         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2870         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2871         (syms_of_mule_charset): Add new function
2872         `find-char-attribute-table' in UTF-2000.
2873
2874         * lrecord.h (enum lrecord_type): Add
2875         `lrecord_type_uint16_byte_table' and
2876         `lrecord_type_uint8_byte_table'.
2877
2878         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2879         (Lisp_Uint8_Byte_Table): New type.
2880         (XUINT8_BYTE_TABLE): New macro.
2881         (XSETUINT8_BYTE_TABLE): New macro.
2882         (UINT8_BYTE_TABLE_P): New macro.
2883         (GC_UINT8_BYTE_TABLE_P): New macro.
2884         (struct Lisp_Uint16_Byte_Table): New structure.
2885         (Lisp_Uint16_Byte_Table): New type.
2886         (XUINT16_BYTE_TABLE): New macro.
2887         (XSETUINT16_BYTE_TABLE): New macro.
2888         (UINT16_BYTE_TABLE_P): New macro.
2889         (GC_UINT16_BYTE_TABLE_P): New macro.
2890
2891 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2892
2893         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2894         (Vcharacter_ideographic_strokes_table): Deleted.
2895         (Vcharacter_total_strokes_table): Deleted.
2896         (Vcharacter_morohashi_daikanwa_table): Deleted.
2897         (Vcharacter_decomposition_table): Deleted.
2898         (Qname): Deleted because it is duplicated.
2899         (Qideographic_radical): Deleted.
2900         (Qideographic_strokes): Deleted.
2901         (Qtotal_strokes): Deleted.
2902         (Qmorohashi_daikanwa): Deleted.
2903         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2904         `ideographic-radical', `ideographic-strokes', `total-strokes',
2905         `morohashi-daikanwa' and `->decomposition'.
2906         (Fget_char_attribute): Likewise.
2907         (Fput_char_attribute): Likewise; use `make-vector' instead of
2908         `make_older_vector' for `->decomposition' value.
2909         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2910         `ideograph-daikanwa'.
2911         (syms_of_mule_charset): Delete builtin symbols `name',
2912         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2913         `morohashi-daikanwa'.
2914         (vars_of_mule_charset): Don't setup
2915         `Vcharacter_ideographic_radical_table',
2916         `Vcharacter_ideographic_strokes_table',
2917         `Vcharacter_total_strokes_table',
2918         `Vcharacter_morohashi_daikanwa_table' and
2919         `Vcharacter_decomposition_table'.
2920
2921 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2922
2923         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2924         `make_older_vector', `make_vector_newer_1' and
2925         `make_vector_newer'.
2926
2927         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2928         `make_older_vector' and `make_vector_newer'.
2929
2930         * config.h.in (HAVE_GGC): New macro.
2931
2932 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2933
2934         * mule-charset.c (struct char_attribute_list_closure): New
2935         structure in UTF-2000.
2936         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2937         (Fchar_attribute_list): Likewise.
2938         (Fset_charset_mapping_table): Use `make_vector_newer'.
2939         (Fdecode_builtin_char): New function in UTF-2000.
2940         (syms_of_mule_charset): Add new function `char-attribute-list' and
2941         `decode-builtin-char' in UTF-2000.
2942
2943         * lisp.h (make_vector_newer): New prototype.
2944
2945         * alloc.c (make_vector_newer_1): New function.
2946         (make_vector_newer): New function.
2947
2948 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2949
2950         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2951         50100)'.
2952
2953 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2954
2955         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2956         (Vcharacter_attribute_table): Deleted.
2957         (Vcharacter_name_table): Deleted.
2958         (put_char_attribute): Deleted.
2959         (remove_char_attribute): Deleted.
2960         (struct char_attribute_alist_closure): New structure.
2961         (add_char_attribute_alist_mapper): New function.
2962         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2963         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2964         (Fget_char_attribute): Likewise.
2965         (Fput_char_attribute): Likewise.
2966         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2967         of `remove_char_attribute'.
2968         (Fdefine_char): Return character.
2969         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2970         and `Vcharacter_name_table'.
2971         (complex_vars_of_mule_charset): Likewise
2972         `Vchar_attribute_hash_table'.
2973
2974 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2975
2976         * character.h (CHARC_CHARSET): New macro.
2977         (CHARC_CHARSET_ID): New macro.
2978         (CHARC_CODE_POINT): New macro.
2979         (CHARC_COLUMNS): New macro.
2980         (CHARC_TO_CHAR): New inline function.
2981         (CHARC_EQ): New inline function.
2982         (CHARC_ASCII_EQ): New inline function.
2983         (CHARC_IS_SPACE): New inline function.
2984         (ASCII_TO_CHARC): New inline function.
2985
2986         * char-ucs.h (encode_char_2): Deleted.
2987         (ENCODE_CHAR): Use `encode_char_1' again.
2988         (breakup_char_1): Likewise.
2989         (CHAR_TO_CHARC): New inline function.
2990
2991         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2992
2993 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2994
2995         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2996         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2997         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2998         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2999         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3000         `CHARC_IS_SPACE'.
3001         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3002
3003         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3004         `CHARC_CODE_POINT'.
3005         (x_output_display_block): Use `CHARC_CHARSET' and
3006         `CHARC_ASCII_EQ'.
3007
3008         * redisplay-tty.c (tty_output_display_block): Use
3009         `CHARC_ASCII_EQ'.
3010         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3011
3012         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3013
3014         * insdel.c (find_charsets_in_charc_string): Use
3015         `CHARC_CHARSET_ID'.
3016         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3017         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3018         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3019         (convert_charc_string_into_malloced_string): Likewise.
3020
3021 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3022
3023         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3024         instead of <Emchar_dynarr *> for buf; use
3025         `convert_bufbyte_string_into_charc_dynarr' instead of
3026         `convert_bufbyte_string_into_emchar_dynarr'; use
3027         `find_charsets_in_charc_string' instead of
3028         `find_charsets_in_emchar_string'.
3029
3030         * redisplay.h:
3031         - Include "character.h".
3032         (struct rune): New member `cglyph'; delete member `chr'.
3033
3034         * redisplay.c (redisplay_text_width_charc_string): New function;
3035         delete `redisplay_text_width_emchar_string'.
3036         (rtw_charc_dynarr): New variable; renamed from
3037         `rtw_emchar_dynarr'.
3038         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3039         `rtw_emchar_dynarr'; use
3040         `convert_bufbyte_string_into_charc_dynarr' instead of
3041         `convert_bufbyte_string_into_emchar_dynarr'; use
3042         `redisplay_text_width_charc_string' instead of
3043         `redisplay_text_width_emchar_string'.
3044         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3045         instead of `rtw_emchar_dynarr'; use
3046         `convert_bufbyte_string_into_charc_dynarr' instead of
3047         `convert_bufbyte_string_into_emchar_dynarr'.
3048         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3049         `redisplay_text_width_charc_string' instead of
3050         `redisplay_text_width_emchar_string'.
3051         (create_text_block): Modify for <struct rune> change.
3052         (generate_formatted_string_db): Likewise.
3053         (create_string_text_block): Likewise.
3054         (pixel_to_glyph_translation): Likewise.
3055
3056         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3057         instead of <const Emchar *>.
3058         (x_text_width): Likewise.
3059         (x_output_display_block): Use <Charc_dynarr *> instead
3060         <Emchar_dynarr *>; modify for <structure rune> change.
3061         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3062         *>.
3063
3064         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3065         <const Emchar *>; use `charc_string_displayed_columns' instead of
3066         `emchar_string_displayed_columns'.
3067         (tty_output_display_block): Use <Charc_dynarr *> instead of
3068         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3069         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3070         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3071         `tty_output_emchar_dynarr_dynarr'.
3072         (tty_output_charc_dynarr): New function; delete
3073         `tty_output_charc_dynarr'.
3074
3075         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3076         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3077         <Emchar_dynarr *> for buf; use
3078         `convert_bufbyte_string_into_charc_dynarr' instead of
3079         `convert_bufbyte_string_into_emchar_dynarr'.
3080
3081         * frame.c (title_string_charc_dynarr): New variable; renamed from
3082         `title_string_emchar_dynarr'.
3083         (generate_title_string): Use `title_string_charc_dynarr' instead
3084         of `title_string_emchar_dynarr'; use
3085         `convert_charc_string_into_malloced_string' instead of
3086         `convert_emchar_string_into_malloced_string'.
3087         (init_frame): Use `title_string_charc_dynarr' instead of
3088         `title_string_emchar_dynarr'.
3089
3090         * console.h:
3091         - Include "character.h".
3092         (struct console_methods): Use <const Charc *> instead of <const
3093         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3094         <Emchar_dynarr *> in output_string_method.
3095
3096         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3097         <Emchar_dynarr *>.
3098
3099         * console-stream.c (stream_text_width): Use <const Charc *>
3100         instead of <const Emchar *>.
3101
3102         * character.h (Charc_dynarr): New type.
3103
3104         * char-ucs.h (structure Charc): New structure; define new type
3105         `Charc'.
3106
3107         * char-lb.h (DECODE_CHAR): New inline function.
3108         (encode_char_1): New inline function.
3109         (ENCODE_CHAR): New macro.
3110         (structure Charc): New structure; define new type `Charc'.
3111
3112         * char-1byte.h (Vcharset_control_1): New macro.
3113         (Vcharset_latin_iso8859_1): New macro.
3114         (DECODE_CHAR): New inline function.
3115         (encode_char_1): New inline function.
3116         (ENCODE_CHAR): New macro.
3117         (structure Charc): New structure; define new type `Charc'.
3118
3119         * insdel.c (find_charsets_in_charc_string): New function; delete
3120         `find_charsets_in_emchar_string'.
3121         (charc_string_displayed_columns): New function; delete
3122         `emchar_string_displayed_columns'.
3123         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3124         `convert_bufbyte_string_into_emchar_dynarr'.
3125         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3126         `convert_charc_string_into_bufbyte_dynarr'.
3127         (convert_charc_string_into_malloced_string): New function; delete
3128         `convert_charc_string_into_malloced_string'.
3129
3130         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3131         `find_charsets_in_emchar_string'.
3132         (charc_string_displayed_columns): New prototype; delete
3133         `emchar_string_displayed_columns'.
3134         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3135         `convert_charc_string_into_bufbyte_dynarr'.
3136         (convert_charc_string_into_malloced_string): New prototype; delete
3137         `convert_charc_string_into_malloced_string'.
3138
3139 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3140
3141         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3142
3143 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3144
3145         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3146
3147         * char-ucs.h: Use <short> for <Charset_ID>.
3148
3149         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3150         <Charset_ID>.
3151
3152 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3153
3154         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3155         to 0.16.
3156
3157 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3158
3159         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3160         variable.
3161         (Qmorohashi_daikanwa): New variable.
3162         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3163         for `morohashi-daikanwa' attribute.
3164         (Fget_char_attribute): Likewise.
3165         (Fput_char_attribute): Likewise.
3166         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3167         has the same value of `ideograph-daikanwa'.
3168         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3169         (vars_of_mule_charset): Setup
3170         `Vcharacter_morohashi_daikanwa_table'.
3171
3172 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3173
3174         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3175         attributes.
3176         (add_charset_to_list_mapper): Add `key' instead of
3177         `XCHARSET_NAME (value)' to return aliases.
3178
3179 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3180
3181         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3182         variable.
3183         (Vcharacter_ideographic_strokes_table): New variable.
3184         (Qideographic_radical): New variable.
3185         (Qideographic_strokes): New variable.
3186         (Fchar_attribute_alist): Use
3187         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3188         attribute; use `Vcharacter_ideographic_strokes_table' for
3189         `ideographic-strokes' attribute.
3190         (Fget_char_attribute): Likewise.
3191         (Fput_char_attribute): Likewise.
3192         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3193         `ideographic-strokes'.
3194         (vars_of_mule_charset): Setup
3195         `Vcharacter_ideographic_radical_table' and
3196         `Vcharacter_ideographic_strokes_table'.
3197
3198 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3199
3200         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3201         (Qtotal_strokes): New variable.
3202         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3203         `total-strokes' attribute.
3204         (Fget_char_attribute): Likewise.
3205         (Fput_char_attribute): Likewise.
3206         (syms_of_mule_charset): Add new symbol `total-strokes'.
3207         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3208
3209 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3210
3211         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3212         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3213         are found.
3214         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3215         `->decomposition' attribute.
3216         (Fput_char_attribute): Likewise.
3217         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3218
3219 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3220
3221         * mule-charset.c (decoding_table_check_elements): New function.
3222         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3223
3224 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3225
3226         * mule-charset.c (Fset_charset_mapping_table): Use
3227         `put_char_ccs_code_point'.
3228
3229 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3230
3231         * mule-charset.c (decoding_table_put_char): New inline function.
3232         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3233
3234 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3235
3236         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3237         (XCHARSET_BYTE_SIZE): New macro.
3238         (decoding_table_remove_char): New inline function.
3239         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3240         `decoding_table_remove_char'.
3241         (remove_char_ccs): Use `decoding_table_remove_char'.
3242         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3243
3244 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3245
3246         * mule-charset.c (Vcharacter_name_table): New variable.
3247         (Qname): New variable.
3248         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3249         attribute.
3250         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3251         `Vcharacter_name_table' for `name' attribute.
3252         (Fremove_char_attribute): Use function `remove_char_ccs'.
3253         (put_char_ccs_code_point): New function.
3254         (remove_char_ccs): New function.
3255         (syms_of_mule_charset): Add new symbol `name'.
3256         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3257
3258 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3259
3260         * mule-charset.c (make_byte_table): Add new argument `older'.
3261         (make_char_id_table): Likewise.
3262         (copy_char_id_table): Comment out because it is not used.
3263         (put_char_id_table): Modify for `make_byte_table'.
3264         (Fput_char_attribute): Make encoding_table as older object;
3265         inherit older bit of `Vcharacter_composition_table'.
3266         (mark_charset): Don't mark `cs->encoding_table'.
3267         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3268         normal object; make `Vcharacter_composition_table' as an older
3269         object; delete staticpro for `Vcharacter_composition_table'; make
3270         `Vcharacter_variant_table' as a normal object.
3271
3272         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3273         (mark_object): Don't check older object in UTF-2000.
3274
3275         * lrecord.h (struct lrecord_header): Add new member `older' in
3276         UTF-2000.
3277         (set_lheader_implementation): Setup `SLI_header->older' in
3278         UTF-2000.
3279         (set_lheader_older_implementation): New macro in UTF-2000.
3280         (OLDER_RECORD_P): New macro in UTF-2000.
3281         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3282         (alloc_older_lcrecord): New prototype in UTF-2000.
3283         (alloc_older_lcrecord_type): New macro in UTF-2000.
3284
3285 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3286
3287         * mule-charset.c (byte_table_description): Use
3288         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3289         (char_id_table_description): Delete bogus `, 1'.
3290         (Fget_char_attribute): Refer encoding_table of each coded-charset
3291         to get value of coded-charset attribute of a character.
3292         (Fput_char_attribute): Use `make_older_vector' instead of
3293         `make_vector'; use encoding_table of each coded-charset to store
3294         value of coded-charset attribute of a character.
3295         (Fremove_char_attribute): Use encoding_table of each coded-charset
3296         to store value of coded-charset attribute of a character.
3297         (mark_charset): Mark `cs->encoding_table'; don't mark
3298         `cs->decoding_table'.
3299         (charset_description): Add description of new member
3300         `encoding_table'.
3301         (make_charset): Initialize `encoding_table'.
3302
3303         * char-ucs.h (struct Lisp_Charset): Add new member
3304         `encoding_table'.
3305         (CHARSET_ENCODING_TABLE): New macro.
3306         (XCHARSET_ENCODING_TABLE): New macro.
3307         (charset_code_point): New implementation.
3308         (encode_char_1): Likewise.
3309
3310         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3311         (disksave_object_finalization_1): Call finalizers of
3312         `all_older_lcrecords' in UTF-2000.
3313         (make_older_vector): New function in UTF-2000.
3314         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3315         UTF-2000.
3316
3317         * lisp.h (make_older_vector): New prototype in UTF-2000.
3318
3319 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3320
3321         * lrecord.h (enum lrecord_type): Rename
3322         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3323
3324         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3325         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3326         `get_char_code_table'.
3327
3328         * mule-charset.c (mark_char_id_table): Renamed from
3329         `mark_char_code_table'.
3330         (char_id_table_equal): Renamed from `char_code_table_equal'.
3331         (char_id_table_hash): Renamed from `char_code_table_hash'.
3332         (make_char_id_table): Renamed from `make_char_code_table'.
3333         (copy_char_id_table): Renamed from `copy_char_code_table'.
3334         (get_char_id_table): Renamed from `get_char_code_table'.
3335         (put_char_id_table): Renamed from `put_char_code_table'.
3336         (to_char_id): Renamed from `to_char_code'.
3337
3338         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3339         `Lisp_Char_Code_Table'.
3340         (char_id_table): Renamed from `char_code_table'.
3341         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3342         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3343         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3344         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3345         (get_char_id_table): Renamed from `get_char_code_table'.
3346
3347 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3348
3349         * lrecord.h (enum lrecord_type): Rename
3350         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3351
3352         * mule-charset.c (mark_byte_table): Renamed from
3353         `mark_char_byte_table'.
3354         (byte_table_equal): Renamed from `char_byte_table_equal'.
3355         (byte_table_hash): Renamed from `byte_table_hash'.
3356         (make_byte_table): Renamed from `make_byte_table'.
3357         (copy_byte_table): Renamed from `copy_char_byte_table'.
3358
3359         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3360         `Lisp_Char_Byte_Table'.
3361         (byte_table): Renamed from `char_byte_table'.
3362         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3363         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3364         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3365         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3366
3367 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3368
3369         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3370         (dfc_convert_to_internal_format): Likewise.
3371         
3372         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3373         * text-coding.c (Fcoding_system_alias_p): New function.
3374         * text-coding.c (Fcoding_system_aliasee): New function.
3375         * text-coding.c (append_suffix_to_symbol): New function.
3376         * text-coding.c (dangling_coding_system_alias_p): New function.
3377         * text-coding.c (Ffind_coding_system):
3378         * text-coding.c (Fcopy_coding_system):
3379         * text-coding.c (encode_coding_no_conversion):
3380         * text-coding.c (syms_of_file_coding):
3381         * text-coding.c (vars_of_file_coding):
3382         Rewrite coding system alias code.
3383         Allow nested aliases, like symbolic links.
3384         Allow redefinition of coding system aliases.
3385         Prevent existence of dangling coding system aliases.
3386         Eliminate convert_to_external_format.
3387         Eliminate convert_to_internal_format.
3388         
3389         * text-coding.c: Change enum eol_type to eol_type_t.
3390
3391 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3392
3393         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3394         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3395
3396         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3397         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3398
3399 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3400
3401         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3402         `ideograph-daikanwa'.
3403
3404         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3405         (Vcharset_ucs_bmp): Likewise.
3406         (Vcharset_mojikyo): Add new extern variable definition.
3407         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3408         (Vcharset_latin_iso8859_3): Likewise.
3409         (Vcharset_latin_iso8859_4): Likewise.
3410         (Vcharset_latin_iso8859_9): Likewise.
3411         (Vcharset_latin_viscii_lower): Likewise.
3412         (Vcharset_latin_viscii_upper): Likewise.
3413         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3414         `mojikyo' code-point is used to decode.
3415         (encode_char_2): New function [to convert `mojikyo' code-point to
3416         Mojikyo font encoding].
3417         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3418         (breakup_char_1): Likewise.
3419         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3420
3421 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3422
3423         * text-coding.c (Fmake_coding_system): Add document about
3424         `disable-composition' property.
3425
3426 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3427
3428         * text-coding.c (Qdisable_composition): New variable; delete
3429         `Qcomposite'.
3430         (Fmake_coding_system): Add new property `disable-composite';
3431         delete property `composite'.
3432         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3433         instead of `!CODING_SYSTEM_COMPOSITE'.
3434         (syms_of_file_coding): Add new symbol `disable-composition';
3435         delete symbol `composite'.
3436
3437         * file-coding.h (struct Lisp_Coding_System): Add
3438         `disable_composition'; delete `enable_composition'.
3439         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3440         `CODING_SYSTEM_COMPOSITE'.
3441         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3442         `XCODING_SYSTEM_COMPOSITE'.
3443
3444 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3445
3446         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3447         to 0.15.
3448
3449 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3450
3451         * text-coding.c (Qcomposite): New variable.
3452         (Fmake_coding_system): Add new property `composite'.
3453         (struct decoding_stream): Add `combined_char_count',
3454         `combined_chars' and `combining_table' in UTF-2000.
3455         (COMPOSE_FLUSH_CHARS): New macro.
3456         (COMPOSE_ADD_CHAR): New macro.
3457         (reset_decoding_stream): Reset `str->combined_char_count' and
3458         `str->combining_table' in UTF-2000.
3459         (decode_coding_iso2022): Modify for character-decomposition.
3460         (syms_of_file_coding): Add new symbol `composite'.
3461
3462 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3463
3464         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3465         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3466         of `Vcharacter_composition_table' if `->decomposition' property
3467         has only 1 element.
3468         (Qlatin_tcvn5712): New variable.
3469         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3470         (complex_vars_of_mule_charset): Add new coded-charset
3471         `latin-tcvn5712'.
3472
3473         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3474
3475 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3476
3477         * file-coding.h (struct Lisp_Coding_System): Add
3478         `enable_composition'.
3479         (CODING_SYSTEM_COMPOSITE): New macro.
3480         (XCODING_SYSTEM_COMPOSITE): New macro.
3481
3482 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3483
3484         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3485
3486 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3487
3488         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3489         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3490
3491 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3492
3493         * mule-charset.c (Vcharset_mojikyo): New variable.
3494         (Fdefine_char): Don't use coded-charset which does not have
3495         non-builtin character range to allocate character-id.
3496         (Qmojikyo): New variable.
3497         (syms_of_mule_charset): Add new symbol `mojikyo'.
3498         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3499
3500         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3501         (LEADING_BYTE_MOJIKYO): New macro.
3502         (MIN_CHAR_MOJIKYO): New macro.
3503         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3504         (MAX_CHAR_MOJIKYO): New macro.
3505
3506 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3507
3508         * mule-charset.c (remove_char_attribute): Fixed.
3509
3510 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3511
3512         * mule-charset.c (remove_char_attribute): New function.
3513         (Fremove_char_attribute): New function.
3514         (encode_builtin_char_1): Comment out builtin-support for
3515         greek-iso8859-7 and cyrillic-iso8859-5.
3516         (Fdecode_char): Check `code' is an integer.
3517         (syms_of_mule_charset): Add `remove-char-attribute'.
3518         (MIN_CHAR_GREEK): Deleted.
3519         (MAX_CHAR_GREEK): Likewise.
3520         (MIN_CHAR_CYRILLIC): Likewise.
3521         (MAX_CHAR_CYRILLIC): Likewise.
3522         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3523         MAX_CHAR_GREEK for `greek-iso8859-7'.
3524
3525         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3526         (MAX_CHAR_GREEK): Likewise.
3527         (MIN_CHAR_CYRILLIC): Likewise.
3528         (MAX_CHAR_CYRILLIC): Likewise.
3529
3530 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3531
3532         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3533         format is used without `ucs' property.
3534         (Fdecode_char): Fix problem with GR representation.
3535         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3536         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3537
3538 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3539
3540         * mule-charset.c (make_builtin_char): New function.
3541         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3542         (Fset_charset_mapping_table): Modify for new representation of
3543         code-point.
3544         (Fdecode_char): New function.
3545         (syms_of_mule_charset): Add new builtin function `decode-char' in
3546         UTF-2000.
3547
3548         * char-ucs.h (make_builtin_char): New prototype.
3549         (DECODE_CHAR): New inline function.
3550         (MAKE_CHAR): Use `DECODE_CHAR'.
3551
3552 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3553
3554         * text-coding.c (parse_charset_conversion_specs): Use
3555         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3556         `XCHARSET_TYPE'.
3557         (iso2022_designate): Likewise.
3558
3559         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3560         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3561
3562         * mule-charset.c (Vcharset_ucs): New variable.
3563         (print_charset): Change design; use `CHARSET_CHARS' and
3564         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3565         (make_charset): Change signature to specify `chars' and
3566         `dimension' instead of `type'.
3567         (range_charset_code_point): Modify for 256^n-set.
3568         (encode_builtin_char_1): Encode as `ucs' in default.
3569         (Fmake_charset): Modify for `make_charset'.
3570         (Fmake_reverse_direction_charset): Likewise.
3571         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3572         UTF-2000.
3573         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3574         for `make_charset'.
3575
3576         * char-ucs.h (Vcharset_ucs): New variable.
3577         (LEADING_BYTE_UCS): New macro.
3578         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3579         and `chars' to `unsigned short' from `unsigned int'.
3580         (CHARSET_TYPE): Deleted.
3581         (XCHARSET_TYPE): Deleted.
3582
3583 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3584
3585         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3586
3587         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3588         (ENCODE_CHAR): New macro.
3589
3590 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3591
3592         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3593         to 0.14 (Kawachi-Katakami).
3594
3595 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3596
3597         * text-coding.c (char_encode_shift_jis): Modify for
3598         `charset_code_point'.
3599         (char_encode_iso2022): Likewise.
3600
3601         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3602         (integer) instead of list of <Lisp_Object>s (integers) as the
3603         format of code-point of a coded-charset.
3604         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3605         (encode_builtin_char_1): New function; delete
3606         `split_builtin_char'.
3607         (charset_code_point): Return <int> instead of <Lisp_Object>.
3608         (Fsplit_char): Don't use `SPLIT_CHAR'.
3609
3610         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3611         prototype for `split_builtin_char'.
3612         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3613         (charset_code_point): Likewise.
3614         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3615         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3616
3617 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3618
3619         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3620         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3621
3622 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3623
3624         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3625
3626         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3627         (MAX_CHAR_OBS_94x94): Deleted.
3628
3629 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3630
3631         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3632
3633         * char-ucs.h (MAX_CHAR_BMP): New macro.
3634
3635 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3636
3637         * text-coding.c: Sync with r21-2-24.
3638
3639 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3640
3641         * file-coding.c: Modify for UTF-2000.
3642
3643 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3644
3645         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3646         to 0.13 (Takaida).
3647
3648 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3649
3650         * mule-charset.c (split_builtin_char): Delete builtin support for
3651         `katakana-jisx0201'.
3652         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3653         BMP area in builtin representation.
3654
3655         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3656         `Vcharset_katakana_jisx0201'.
3657
3658 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3659
3660         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3661         (Qisolated): New variable.
3662         (Qinitial): New variable.
3663         (Qmedial): New variable.
3664         (Qfinal): New variable.
3665         (Qvertical): New variable.
3666         (Qsmall): New variable.
3667         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3668         `Qvertical' and `Qsmall'.
3669         (Qmojikyo_pj_[1 .. 21]): New variable.
3670         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3671         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3672         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3673         .. 21]'.
3674
3675 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3676
3677         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3678         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3679         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3680
3681 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3682
3683         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3684         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3685         BMP.
3686         (Qjapanese_jisx0208_1990): New variable.
3687         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3688         (complex_vars_of_mule_charset): Add new coded-charset
3689         `japanese-jisx0208-1990'.
3690
3691         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3692         (MIN_CHAR_JIS_X0208_1990): New macro.
3693         (MAX_CHAR_JIS_X0208_1990): New macro.
3694
3695 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3696
3697         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3698         coded-charset is not found.
3699
3700 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3701
3702         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3703         (Fdefine_char): Use `Fmake_char'.
3704
3705 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3706
3707         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3708         (Vcharset_hiragana_jisx0208): Deleted.
3709         (Vcharset_katakana_jisx0208): Deleted.
3710         (Qideograph_daikanwa): New variable.
3711         (Qhiragana_jisx0208): Deleted.
3712         (Qkatakana_jisx0208): Deleted.
3713         (split_builtin_char): Split `ideograph-daikanwa'.
3714         (Fsplit_char): New implementation for UTF-2000.
3715         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3716         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3717         (complex_vars_of_mule_charset): Add new coded-charset
3718         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3719         `katakana-jisx0208'.
3720
3721         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3722         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3723         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3724         (MIN_CHAR_DAIKANWA): New macro.
3725         (MAX_CHAR_DAIKANWA): New macro.
3726
3727 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3728
3729         * data.c (Fstring_to_number): Don't recognize floating point if
3730         base is not 10.
3731
3732 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3733
3734         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3735
3736 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3737
3738         * mule-charset.c (Qsquare): New variable.
3739         (to_char_code): Add `Qsquare'.
3740         (syms_of_mule_charset): Add new symbol `square'.
3741
3742 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3743
3744         * mule-charset.c (Qcircle): New variable.
3745         (to_char_code): Add `Qcircle'.
3746         (syms_of_mule_charset): Add new symbol `circle'.
3747
3748 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3749
3750         * mule-charset.c (Qfont): New variable.
3751         (to_char_code): Add `Qfont'.
3752         (syms_of_mule_charset): Add new symbol `font'.
3753
3754 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3755
3756         * mule-charset.c (Qsub): New variable.
3757         (to_char_code): Add `Qsub'.
3758         (syms_of_mule_charset): Add new symbol `sub'.
3759
3760 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3761
3762         * mule-charset.c (Fput_char_attribute): Convert each element of
3763         VALUE to GL position if ATTRIBUTE is a GR-set,
3764
3765 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3766
3767         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3768         coded-charset is a GR-set.
3769
3770 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3771
3772         * mule-charset.c (Fput_char_attribute): Check each element of
3773         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3774
3775 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3776
3777         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3778         UTF-2000.
3779         (Qethiopic_ucs): New variable in UTF-2000.
3780         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3781         (complex_vars_of_mule_charset): Add new coded-charset
3782         `ethiopic-ucs' in UTF-2000.
3783
3784         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3785         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3786         9)'.
3787         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3788         10)'.
3789         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3790
3791 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3792
3793         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3794         `ascii'.
3795
3796 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3797
3798         * mule-charset.c (Vcharacter_variant_table): New variable.
3799         (Q_ucs): New variable.
3800         (Fchar_variants): New function.
3801         (Fput_char_attribute): Register `->ucs' value to
3802         `Vcharacter_variant_table'.
3803         (syms_of_mule_charset): Add new function `char-variants' and new
3804         symbol `->ucs'.
3805         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3806
3807 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3808
3809         * mule-charset.c (get_char_code_table): Allow negative character
3810         code.
3811         (put_char_code_table): Likewise.
3812         (Vcharacter_composition_table): New variable.
3813         (Q_decomposition): New variable.
3814         (Qwide): New variable.
3815         (Qnarrow): New variable.
3816         (Qcompat): New variable.
3817         (QnoBreak): New variable.
3818         (Qsuper): New variable.
3819         (Qfraction): New variable.
3820         (to_char_code): New function.
3821         (Fget_composite_char): New function.
3822         (Fput_char_attribute): Register `->decomposition' value to
3823         `Vcharacter_composition_table'.
3824         (syms_of_mule_charset): Add new function `get-composite-char', new
3825         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3826         `super' and `fraction'.
3827         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3828
3829 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3830
3831         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3832         character; copy the return value.
3833
3834 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3835
3836         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3837
3838         * mule-charset.c (range_charset_code_point): Must use make_int.
3839         (split_builtin_char): New function.
3840
3841 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3842
3843         * mule-charset.c (char_byte_table): Change name from
3844         "char-code-table" to "char-byte-table".
3845         (mark_char_code_table): New function.
3846         (char_code_table_equal): New function.
3847         (char_code_table_hash): New function.
3848         (char_code_table_description): New constant.
3849         (char_code_table): New type.
3850         (make_char_code_table): New function.
3851         (copy_char_code_table): New function.
3852         (get_char_code_table): Modify for `char_code_table' type.
3853         (put_char_code_table): Likewise.
3854         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3855         (Kashiwara).
3856
3857         * char-ucs.h (char_code_table): New type.
3858         (XCHAR_CODE_TABLE): New macro.
3859         (XSETCHAR_CODE_TABLE): New macro.
3860         (CHAR_CODE_TABLE_P): New macro.
3861         (GC_CHAR_CODE_TABLE_P): New macro.
3862         (struct Lisp_Char_Code_Table): New structure.
3863
3864 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3865
3866         * mule-charset.c (Fmake_charset): Setup byte_offset for
3867         {94|96}^n-set.
3868
3869 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3870
3871         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3872         character.
3873
3874 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3875
3876         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3877         is found.
3878
3879 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3880
3881         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3882         charset, it is regarded as a charset.
3883         (put_char_attribute): New function in UTF-2000.
3884         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3885         charset, mapping-table of the charset is modified.
3886         (Fdefine_char): New function in UTF-2000.
3887         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3888         `Fput_char_attribute'.
3889         (syms_of_mule_charset): Add new function `define-char' and new
3890         symbol `ucs' in UTF-2000.
3891         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3892
3893 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3894
3895         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3896         non-UTF-2000 configuration.
3897
3898 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3899
3900         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3901         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3902
3903         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3904         deleted.
3905         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3906         (Fset_charset_mapping_table): Likewise.
3907
3908         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3909         (CHARSET_ENCODING_TABLE): Delete.
3910         (XCHARSET_ENCODING_TABLE): Delete.
3911         (charset_code_point): New interface.
3912
3913 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3914
3915         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3916         instead of `charset_get_byte1' and `charset_get_byte2'.
3917
3918         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3919         (charset_get_byte2): Deleted.
3920
3921 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3922
3923         * char-ucs.h (SPLIT_CHAR): New inline function.
3924         (breakup_char_1): Use `SPLIT_CHAR'.
3925
3926         * mule-charset.c (range_charset_code_point): New function.
3927         (charset_code_point): New function.
3928
3929         * char-ucs.h (range_charset_code_point): New interface.
3930         (breakup_char_1): Use `range_charset_code_point'.
3931
3932 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3933
3934         * mule-charset.c (Fmake_charset): Delete unused local variable
3935         `code_offset'.
3936
3937         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3938         (breakup_char_1): Find a charset and code-point in
3939         `Vcharacter_attribute_table'.
3940
3941 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3942
3943         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3944         to 0.10 (Yao).
3945
3946 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3947
3948         * mule-charset.c (Vcharacter_attribute_table): New variable.
3949         (Fchar_attribute_alist): New function.
3950         (Fget_char_attribute): New function.
3951         (Fput_char_attribute): New function.
3952         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3953         too.
3954         (syms_of_mule_charset): Add new function `char-attribute-alist',
3955         `get-char-attribute' and `put-char-attribute'.
3956         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3957
3958 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3959
3960         * mule-charset.c (Fmake_charset): Just use
3961         `get_unallocated_leading_byte'.
3962
3963         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3964         sets; don't use final-byte based number for private sets.
3965
3966 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3967
3968         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3969         integer.
3970
3971 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3972
3973         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3974         to 0.9.
3975
3976 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3977
3978         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3979         of `CHAR_LEADING_BYTE' in UTF-2000.
3980
3981         * insdel.c (find_charsets_in_bufbyte_string): Use
3982         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3983         (find_charsets_in_emchar_string): Likewise.
3984
3985         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3986         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3987
3988         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3989         (CHAR_CHARSET_ID): New macro.
3990
3991 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3992
3993         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3994         charset-id - MIN_LEADING_BYTE.
3995         (put_char_table): Likewise.
3996
3997 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3998
3999         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4000         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4001         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4002         (CHARSET_ID_OFFSET): New macro.
4003         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4004         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4005         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4006         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4007         4).
4008         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4009         5).
4010         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4011         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4012         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4013         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4014         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4015
4016 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4017
4018         * mule-charset.c (next_allocated_leading_byte): New variable in
4019         UTF-2000.
4020         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4021         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4022         (get_unallocated_leading_byte): Simply use
4023         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4024         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4025         UTF-2000.
4026
4027         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4028         (MAX_LEADING_BYTE_PRIVATE): New macro.
4029         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4030         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4031
4032 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4033
4034         * mule-charset.c (Fmake_charset): Allocate final-byte based
4035         charset-id for 94-set, 96-set and 94x94-set.
4036
4037 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4038
4039         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4040         ambiguous `else'.
4041         (Fmake_charset): Likewise.
4042         (complex_vars_of_mule_charset): Modify the font registry of
4043         `ucs-bmp' not to match `Ethiopic-Unicode'.
4044
4045 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4046
4047         * mule-charset.c (complex_vars_of_mule_charset): Add font
4048         registory of `ucs-bmp'.
4049
4050 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4051
4052         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4053         coded-charsets in `default-coded-charset-priority-list' when
4054         breaking up a character.
4055
4056         * mule-charset.c (Vcharset_latin_viscii): New variable.
4057         (Qlatin_viscii): New variable.
4058         (make_charset): Don't use `decoding_table'.
4059         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4060         byte_offset.
4061         (Fset_charset_mapping_table): New implementation.
4062         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4063         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4064         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4065         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4066         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4067         charset `latin_viscii'.
4068
4069         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4070         (CHARSET_TYPE_94X94): Change to 1 from 2.
4071         (CHARSET_TYPE_96): Change to 2 from 1.
4072         (CHARSET_TYPE_128): New macro.
4073         (CHARSET_TYPE_128X128): Change to 5 from 4.
4074         (CHARSET_TYPE_256): New macro.
4075         (CHARSET_TYPE_256X256): Change to 7 from 5.
4076         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4077
4078 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4079
4080         * text-coding.c (char_encode_shift_jis): Refer
4081         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4082         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4083
4084         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4085         (char_byte_table_equal): New function in UTF-2000.
4086         (char_byte_table_hash): New function in UTF-2000.
4087         (char_byte_table_description): New constant in UTF-2000.
4088         (char_byte_table): New type in UTF-2000.
4089         (make_char_byte_table): New function in UTF-2000.
4090         (copy_char_byte_table): New function in UTF-2000.
4091         (make_char_code_table): New macro in UTF-2000.
4092         (get_char_code_table): New function in UTF-2000.
4093         (put_char_code_table): New function in UTF-2000.
4094         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4095         (charset_description): Add setting in UTF-2000.
4096         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4097         `CHARSET_TO_BYTE1_TABLE(cs)'.
4098         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4099         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4100         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4101         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4102         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4103         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4104         `CHARSET_TO_BYTE2_TABLE(cs)'.
4105
4106         * char-ucs.h (char_byte_table): New type.
4107         (XCHAR_BYTE_TABLE): New macro.
4108         (XSETCHAR_BYTE_TABLE): New macro.
4109         (CHAR_BYTE_TABLE_P): New macro.
4110         (GC_CHAR_BYTE_TABLE_P): New macro.
4111         (struct Lisp_Char_Byte_Table): New structure.
4112         (get_char_code_table): New interface.
4113         (Emchar_to_byte_table): Deleted.
4114         (get_byte_from_character_table): Deleted.
4115         (struct Lisp_Charset): Add `encoding_table'; delete
4116         `to_byte1_table' and `to_byte2_table'.
4117         (CHARSET_ENCODING_TABLE): New macro.
4118         (CHARSET_TO_BYTE1_TABLE): Deleted.
4119         (CHARSET_TO_BYTE2_TABLE): Deleted.
4120         (XCHARSET_ENCODING_TABLE): New macro.
4121         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4122         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4123
4124 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4125
4126         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4127         `vietnamese-viscii-*'.
4128
4129 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4130
4131         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4132         (Qvietnamese_viscii_upper): New variable.
4133         (Fdefine_charset_alias): New function.
4134         (syms_of_mule_charset): Add new function `define-charset-alias'.
4135         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4136         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4137         `latin-viscii-*'.
4138
4139 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4140
4141         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4142         (MAX_CHAR_OBS_94x94): New macro.
4143         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4144         for 94x94 sets.
4145
4146         * mule-charset.c (put_byte_from_character_table): Change unit size
4147         from 128 to 256.
4148         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4149         not defined.
4150         (Fmake_reverse_direction_charset): Modify dummy argument of
4151         `make_charset' for non-UTF-2000 environment.
4152
4153 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4154
4155         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4156
4157         * mule-charset.c (destroy_byte_from_character_table): New macro.
4158         (latin_jisx0201_to_ucs): Deleted.
4159         (latin_iso8859_2_to_ucs): Deleted.
4160         (latin_iso8859_3_to_ucs): Deleted.
4161         (latin_iso8859_4_to_ucs): Deleted.
4162         (latin_iso8859_9_to_ucs): Deleted.
4163         (latin_viscii_lower_to_ucs): Deleted.
4164         (latin_viscii_upper_to_ucs): Deleted.
4165         (mark_charset): Mark `cs->decoding_table'.
4166         (Fcharset_mapping_table): Fix DOC-string.
4167         (Fset_charset_mapping_table): New function.
4168         (syms_of_mule_charset): Add nwe function
4169         `set-charset-mapping-table'.
4170         (complex_vars_of_mule_charset): Don't setup and use
4171         `latin_*_to_ucs'.
4172
4173 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4174
4175         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4176         charset.
4177
4178 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4179
4180         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4181         (Vcharset_katakana_jisx0208): New variable.
4182         (Qhiragana_jisx0208): New variable.
4183         (Qkatakana_jisx0208): New variable.
4184         (make_charset): Add new argument `byte_offset'.
4185         (charset_get_byte1): Modify for new coded-charset definition; use
4186         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4187         `XCHARSET_BYTE_OFFSET'.
4188         (Fmake_charset): Modify for `make_charset'.
4189         (Fmake_reverse_direction_charset): Likewise.
4190         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4191         `katakana-jisx0208'.
4192         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4193         `.'  in font registry of charset `katakana-jisx0201',
4194         `latin-jisx0201', `vietnamese-viscii-lower' and
4195         `vietnamese-viscii-upper'; modify DOC-string of charset
4196         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4197         registry of charset `japanese-jisx0208' not to use font for JIS
4198         X0208:1990; add new charset `hiragana-jisx0208' and
4199         `katakana-jisx0208'.
4200
4201         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4202         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4203         (struct Lisp_Charset): Add `byte_offset'.
4204         (CHARSET_BYTE_OFFSET): New macro.
4205         (XCHARSET_UCS_MIN): New macro.
4206         (XCHARSET_UCS_MAX): New macro.
4207         (XCHARSET_CODE_OFFSET): New macro.
4208         (XCHARSET_BYTE_OFFSET): New macro.
4209         (MIN_CHAR_HIRAGANA): New macro.
4210         (MAX_CHAR_HIRAGANA): New macro.
4211         (MIN_CHAR_KATAKANA): New macro.
4212         (MAX_CHAR_KATAKANA): New macro.
4213         (MAKE_CHAR): Modify for new coded-charset definition; use
4214         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4215         `XCHARSET_BYTE_OFFSET'.
4216
4217 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4218
4219         * mule-charset.c (CHAR96): Deleted.
4220         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4221         <Lisp_Object>.
4222         (latin_iso8859_2_to_ucs): Likewise.
4223         (latin_iso8859_3_to_ucs): Likewise.
4224         (latin_iso8859_4_to_ucs): Likewise.
4225         (latin_iso8859_9_to_ucs): Likewise.
4226         (latin_viscii_lower_to_ucs): Likewise.
4227         (latin_viscii_upper_to_ucs): Likewise.
4228         (latin_tcvn5712_to_ucs): Commented out.
4229         (make_charset): Change type of argument `decoding_table' from
4230         <Emchar*> to <Lisp_Object> [vector of characters].
4231         (Fmake_charset): Modify for `make_charset'.
4232         (Fmake_reverse_direction_charset): Likewise.
4233         (Fcharset_mapping_table): New function in UTF-2000.
4234         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4235         UTF-2000.
4236         (complex_vars_of_mule_charset): Modify for type change of
4237         `*_to_ucs'; modify for `make_charset'.
4238
4239         * char-ucs.h (struct Lisp_Charset): Change type of
4240         `decoding_table' from <Emchar*> to <Lisp_Object>.
4241         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4242
4243 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4244
4245         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4246         error with non-UTF-2000-Mule.
4247
4248 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4249
4250         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4251         in lisp again].
4252         (Vcharset_chinese_cns11643_4): Likewise.
4253         (Vcharset_chinese_cns11643_5): Likewise.
4254         (Vcharset_chinese_cns11643_6): Likewise.
4255         (Vcharset_chinese_cns11643_7): Likewise.
4256         (Qchinese_cns11643_3): Likewise.
4257         (Qchinese_cns11643_4): Likewise.
4258         (Qchinese_cns11643_5): Likewise.
4259         (Qchinese_cns11643_6): Likewise.
4260         (Qchinese_cns11643_7): Likewise.
4261         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4262         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4263         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4264         (complex_vars_of_mule_charset): Likewise.
4265
4266 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4267
4268         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4269         96-set.
4270         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4271         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4272
4273 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4274
4275         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4276         0xFF60.
4277         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4278         (breakup_char_1): Likewise.
4279
4280         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4281         one of them includes the specified character.
4282
4283 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4284
4285         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4286
4287 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4288
4289         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4290
4291 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4292
4293         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4294         definition for non-UTF-2000 Mule.
4295         (latin_iso8859_3_to_ucs): Likewise.
4296         (latin_iso8859_4_to_ucs): Likewise.
4297         (latin_iso8859_9_to_ucs): Likewise.
4298         (latin_jisx0201_to_ucs): Likewise.
4299         (MIN_CHAR_THAI): Likewise.
4300         (MAX_CHAR_THAI): Likewise.
4301         (MIN_CHAR_GREEK): Likewise.
4302         (MAX_CHAR_GREEK): Likewise.
4303         (MIN_CHAR_HEBREW): Likewise.
4304         (MAX_CHAR_HEBREW): Likewise.
4305         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4306         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4307         (MIN_CHAR_CYRILLIC): Likewise.
4308         (MAX_CHAR_CYRILLIC): Likewise.
4309
4310 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4311
4312         * char-ucs.h (breakup_char_1): Use
4313         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4314         thai-tis620 and katakana-jisx0201 area.
4315
4316 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4317
4318         * char-ucs.h (breakup_char_1): Use
4319         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4320         area.
4321
4322         * text-coding.c (reset_encoding_stream): Fixed.
4323         (char_encode_ucs4): Delete `& 255'.
4324
4325         * char-ucs.h (breakup_char_1): Use
4326         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4327
4328 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4329
4330         * file-coding.c (Fmake_coding_system): Don't set up
4331         `codesys->fixed.size'.
4332         (encode_coding_no_conversion): Don't refer
4333         `str->codesys->fixed.size'.
4334
4335 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4336
4337         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4338         (latin_a_char_to_byte1): Deleted.
4339         (latin_a_char_to_byte2): Deleted.
4340
4341 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4342
4343         * mule-charset.c (make_charset): Add new argument `ucs_min',
4344         `ucs_max' and `code_offset'.
4345         (charset_get_byte1): New implementation [delete specific charset
4346         depended implementations].
4347         (Fmake_charset): Modify for `make_charset'.
4348         (Fmake_reverse_direction_charset): Likewise.
4349         (complex_vars_of_mule_charset): Likewise.
4350
4351         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4352         `code_offset'.
4353         (CHARSET_UCS_MIN): New macro.
4354         (CHARSET_UCS_MAX): New macro.
4355         (CHARSET_CODE_OFFSET): New macro.
4356         (MAKE_CHAR): Delete charset depended definitions [except
4357         katakana-jisx0201].
4358
4359 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4360
4361         * char-ucs.h (breakup_char_1): Use
4362         `Vdefault_coded_charset_priority_list' for C0-Controls,
4363         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4364
4365 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4366
4367         * char-ucs.h (charset_get_byte1): New function.
4368         (XCHARSET_GET_BYTE1): Deleted.
4369         (charset_get_byte2): New function.
4370         (XCHARSET_GET_BYTE2): Deleted.
4371         (Vdefault_coded_charset_priority_list): New external variable.
4372         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4373         `Vdefault_preferred_coded_charset_list'.
4374
4375         * mule-charset.c (charset_get_byte1): New function.
4376         (charset_get_byte2): New function.
4377         (Vdefault_coded_charset_priority_list): New variable.
4378         (vars_of_mule_charset): Add new variable
4379         `default-coded-charset-priority-list'.
4380
4381 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4382
4383         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4384         (XCHARSET_GET_BYTE2): New inline function.
4385         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4386         `XCHARSET_GET_BYTE2'.
4387
4388 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4389
4390         * mule-charset.c (make_charset): Initialize
4391         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4392         NULL if table is not defined.
4393
4394 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4395
4396         * text-coding.c (char_encode_shift_jis): Use
4397         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4398         `ucs_to_latin_jisx0201'.
4399
4400         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4401         (ucs_to_latin_iso8859_2): Deleted.
4402         (ucs_to_latin_iso8859_3): Deleted.
4403         (ucs_to_latin_iso8859_4): Deleted.
4404         (ucs_to_latin_iso8859_9): Deleted.
4405         (ucs_to_latin_viscii_lower): Deleted.
4406         (ucs_to_latin_viscii_upper): Deleted.
4407         (ucs_to_latin_tcvn5712): Deleted.
4408         (make_charset): Add new argument `decoding_table'; set up
4409         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4410         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4411         `decoding_table' is defined in UTF-2000.
4412         (Fmake_charset): Modify for `make_charset'.
4413         (Fmake_reverse_direction_charset): Likewise.
4414         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4415         and `GENERATE_96_SET'.
4416
4417         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4418         (ucs_to_latin_jisx0201): Deleted.
4419         (latin_iso8859_2_to_ucs): Deleted.
4420         (ucs_to_latin_iso8859_2): Deleted.
4421         (latin_iso8859_3_to_ucs): Deleted.
4422         (ucs_to_latin_iso8859_3): Deleted.
4423         (latin_iso8859_4_to_ucs): Deleted.
4424         (ucs_to_latin_iso8859_4): Deleted.
4425         (latin_iso8859_9_to_ucs): Deleted.
4426         (ucs_to_latin_iso8859_9): Deleted.
4427         (latin_viscii_lower_to_ucs): Deleted.
4428         (ucs_to_latin_viscii_lower): Deleted.
4429         (latin_viscii_upper_to_ucs): Deleted.
4430         (ucs_to_latin_viscii_upper): Deleted.
4431         (struct Lisp_Charset): Renamed `encoding_table' to
4432         `to_byte1_table'; add `to_byte2_table'.
4433         (CHARSET_DECODING_TABLE): New macro.
4434         (CHARSET_TO_BYTE1_TABLE): New macro.
4435         (CHARSET_TO_BYTE2_TABLE): New macro.
4436         (XCHARSET_DECODING_TABLE): New macro.
4437         (XCHARSET_TO_BYTE1_TABLE): New macro.
4438         (XCHARSET_TO_BYTE2_TABLE): New macro.
4439         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4440         tables.
4441         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4442         don't use `ucs_to_*' tables.
4443
4444 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4445
4446         * text-coding.c (Fmake_coding_system): Don't set up
4447         `codesys->fixed.size'.
4448         (encode_coding_no_conversion): Use `if' instead of `switch'.
4449
4450         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4451
4452 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4453
4454         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4455         (Fmake_charset): Modify for `make_charset'.
4456         (Fmake_reverse_direction_charset): Likewise.
4457         (complex_vars_of_mule_charset): Likewise.
4458
4459 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4460
4461         * text-coding.c (char_encode_shift_jis): Use table
4462         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4463
4464 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4465
4466         * text-coding.c (text_encode_generic): Use `if' instead of
4467         `switch'.
4468         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4469         decode JIS-Latin.
4470
4471 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4472
4473         * text-coding.c (encode_coding_sjis): Deleted.
4474         (char_encode_shift_jis): New function.
4475         (char_finish_shift_jis): New function.
4476         (reset_encoding_stream): Set up `encode_char' and `finish' for
4477         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4478         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4479         (char_encode_utf8): Treat `eol_type'.
4480
4481 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4482
4483         * file-coding.c (decode_coding_iso2022): Use
4484         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4485
4486 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4487
4488         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4489         to 0.7 (Hirano).
4490
4491 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4492
4493         * char-lb.h (CHAR_COLUMNS): New macro.
4494
4495 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4496
4497         * text-coding.c (char_encode_ucs4): New function.
4498         (char_finish_ucs4): New function.
4499         (encode_coding_ucs4): Deleted.
4500         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4501         (text_encode_generic): Delete local variable `charset' and `half'.
4502         (ucs_to_mule_table): Deleted.
4503         (mule_to_ucs_table): Deleted.
4504         (Fset_ucs_char): Deleted.
4505         (ucs_to_char): Deleted.
4506         (Fucs_char): Deleted.
4507         (Fset_char_ucs): Deleted.
4508         (Fchar_ucs): Deleted.
4509         (decode_ucs4): Deleted.
4510         (mule_char_to_ucs4): Deleted.
4511         (encode_ucs4): Deleted.
4512         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4513         (decode_coding_utf8): Likewise.
4514         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4515         (char_encode_iso2022): Fixed.
4516         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4517         `Fset_char_ucs' and `Fchar_ucs'.
4518         (complex_vars_of_file_coding): Don't initialize
4519         `ucs_to_mule_table'.
4520
4521         * objects-tty.c (tty_initialize_font_instance): Don't use
4522         `XCHARSET_COLUMNS'.
4523
4524         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4525         UTF-2000.
4526
4527         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4528         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4529
4530         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4531         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4532         (emchar_string_displayed_columns): Likewise.
4533
4534         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4535         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4536         (string_column_at_point): Likewise.
4537         (Fmove_to_column): Likewise.
4538
4539         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4540         `encoding_table' and `decoding_table'.
4541         (CHARSET_REP_BYTES): Deleted.
4542         (XCHARSET_REP_BYTES): Deleted.
4543         (XCHARSET_COLUMNS): Deleted.
4544         (CHAR_COLUMNS): New macro.
4545         (lookup_composite_char): Deleted unconditionally.
4546         (composite_char_string): Likewise.
4547
4548 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4549
4550         * char-ucs.h (Emchar_to_byte_table): New type.
4551         (get_byte_from_character_table): New function interface.
4552         (Vcharset_latin_jisx0201): New variable.
4553         (latin_jisx0201_to_ucs): New variable.
4554         (ucs_to_latin_jisx0201): New variable.
4555         (Vcharset_latin_iso8859_2): New variable.
4556         (latin_iso8859_2_to_ucs): New variable.
4557         (ucs_to_latin_iso8859_2): New variable.
4558         (Vcharset_latin_iso8859_3): New variable.
4559         (latin_iso8859_3_to_ucs): New variable.
4560         (ucs_to_latin_iso8859_3): New variable.
4561         (Vcharset_latin_iso8859_4): New variable.
4562         (latin_iso8859_4_to_ucs): New variable.
4563         (ucs_to_latin_iso8859_4): New variable.
4564         (Vcharset_latin_iso8859_9): New variable.
4565         (latin_iso8859_9_to_ucs): New variable.
4566         (ucs_to_latin_iso8859_9): New variable.
4567         (Vcharset_latin_viscii_lower): New variable.
4568         (latin_viscii_lower_to_ucs): New variable.
4569         (ucs_to_latin_viscii_lower): New variable.
4570         (Vcharset_latin_viscii_upper): New variable.
4571         (latin_viscii_upper_to_ucs): New variable.
4572         (ucs_to_latin_viscii_upper): New variable.
4573         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4574         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4575         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4576         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4577         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4578         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4579         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4580         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4581         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4582         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4583
4584         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4585         (Vcharset_latin_viscii_upper): New variable.
4586         (make_byte_from_character_table): New function.
4587         (put_byte_from_character_table): New function.
4588         (get_byte_from_character_table): New function.
4589         (CHAR96): New macro.
4590         (ucs_to_latin_jisx0201): New variable.
4591         (latin_jisx0201_to_ucs): New variable.
4592         (ucs_to_latin_iso8859_2): New variable.
4593         (latin_iso8859_2_to_ucs): New variable.
4594         (ucs_to_latin_iso8859_3): New variable.
4595         (latin_iso8859_3_to_ucs): New variable.
4596         (ucs_to_latin_iso8859_4): New variable.
4597         (latin_iso8859_4_to_ucs): New variable.
4598         (ucs_to_latin_iso8859_9): New variable.
4599         (latin_iso8859_9_to_ucs): New variable.
4600         (ucs_to_latin_viscii_lower): New variable.
4601         (latin_viscii_lower_to_ucs): New variable.
4602         (ucs_to_latin_viscii_upper): New variable.
4603         (latin_viscii_upper_to_ucs): New variable.
4604         (ucs_to_latin_tcvn5712): New variable.
4605         (latin_tcvn5712_to_ucs): New variable.
4606         (Qlatin_viscii_lower): New variable.
4607         (Qlatin_viscii_upper): New variable.
4608         (syms_of_mule_charset): Set up new symbol
4609         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4610         (complex_vars_of_mule_charset): Set up new charset
4611         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4612         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4613         `ucs_to_<CHARSET>' tables.
4614
4615 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4616
4617         * text-coding.c: New file.
4618
4619 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4620
4621         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4622
4623         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4624         (MAKE_CHAR): Modify for `ucs-bmp'.
4625         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4626         non-MULE characters of BMP.
4627
4628 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4629
4630         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4631         to 0.6.
4632
4633 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4634
4635         * lstream.h:
4636         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4637         - Include character.h for `CHAR_ASCII_P'.
4638
4639         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4640
4641         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4642         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4643
4644         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4645         (BYTE_C0_P): Likewise.
4646         (BYTE_C1_P): Likewise.
4647         (Lstream_get_emchar_1): Likewise.
4648         (Lstream_fput_emchar): Likewise.
4649         (Lstream_funget_emchar): Likewise.
4650         (copy_internal_to_external): Likewise.
4651         (copy_external_to_internal): Likewise.
4652
4653         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4654         (BYTE_C0_P): Likewise.
4655         (BYTE_C1_P): Likewise.
4656         (Lstream_get_emchar_1): Likewise.
4657         (Lstream_fput_emchar): Likewise.
4658         (Lstream_funget_emchar): Likewise.
4659         (copy_internal_to_external): Likewise.
4660         (copy_external_to_internal): Likewise.
4661
4662         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4663         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4664
4665         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4666         (BYTE_ASCII_P): Moved to mb-1byte.h.
4667
4668 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4669
4670         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4671
4672         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4673         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4674         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4675         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4676         (VALIDATE_CHARPTR_FORWARD): Likewise.
4677         (simple_charptr_emchar): Moved to mb-multibyte.h.
4678         (simple_set_charptr_emchar): Likewise.
4679         (simple_charptr_copy_char): Likewise.
4680         (non_ascii_charptr_emchar): Likewise.
4681         (non_ascii_set_charptr_emchar): Likewise.
4682         (non_ascii_charptr_copy_char): Likewise.
4683         (charptr_emchar): Moved to mb-*byte.h.
4684         (set_charptr_emchar): Likewise.
4685         (charptr_copy_char): Likewise.
4686
4687         * mb-1byte.h, mb-multibyte.h: New files.
4688
4689 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4690
4691         * mb-utf-8.h (MULTIBYTE): New macro.
4692         (MAX_EMCHAR_LEN): Moved from buffer.h.
4693         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4694
4695         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4696
4697         * mb-lb.h, multibyte.h: New files.
4698
4699         * char-1byte.h (Charset_ID): Moved from buffer.h.
4700         (MIN_LEADING_BYTE): Likewise.
4701         (LEADING_BYTE_ASCII): Likewise.
4702         (NUM_LEADING_BYTES): Likewise.
4703         (CHARSETP): Likewise.
4704         (CHARSET_BY_LEADING_BYTE): Likewise.
4705         (XCHARSET_LEADING_BYTE): Likewise.
4706         (XCHARSET_GRAPHIC): Likewise.
4707         (XCHARSET_COLUMNS): Likewise.
4708         (XCHARSET_DIMENSION): Likewise.
4709         (CHAR_CHARSET): Likewise.
4710         (CHAR_LEADING_BYTE): Likewise.
4711         (BREAKUP_CHAR): Likewise.
4712         (Vcharset_ascii): Likewise.
4713
4714         * buffer.h: Include multibyte.h unconditionally.
4715         (VALID_CHARPTR_P): Moved to multibyte.h.
4716         (ASSERT_VALID_CHARPTR): Likewise.
4717         (REAL_INC_CHARPTR): Likewise.
4718         (REAL_INC_CHARBYTIND): Likewise.
4719         (REAL_DEC_CHARPTR): Likewise.
4720         (INC_CHARPTR): Likewise.
4721         (INC_CHARBYTIND): Likewise.
4722         (DEC_CHARPTR): Likewise.
4723         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4724         (VALIDATE_CHARPTR_FORWARD): Likewise.
4725         (charptr_n_addr): Likewise.
4726         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4727         (simple_charptr_emchar): Moved to multibyte.h.
4728         (simple_set_charptr_emchar): Likewise.
4729         (simple_charptr_copy_char): Likewise.
4730         (non_ascii_charptr_emchar): Likewise.
4731         (non_ascii_set_charptr_emchar): Likewise.
4732         (non_ascii_charptr_copy_char): Likewise.
4733         (charptr_emchar): Likewise.
4734         (set_charptr_emchar): Likewise.
4735         (charptr_copy_char): Likewise.
4736         (charptr_emchar_n): Likewise.
4737         (Charset_ID): Moved to char-1byte.h.
4738         (Vcharset_ascii): Likewise.
4739         (CHAR_CHARSET): Likewise.
4740         (CHAR_LEADING_BYTE): Likewise.
4741         (LEADING_BYTE_ASCII): Likewise.
4742         (NUM_LEADING_BYTES): Likewise.
4743         (MIN_LEADING_BYTE): Likewise.
4744         (CHARSETP): Likewise.
4745         (CHARSET_BY_LEADING_BYTE): Likewise.
4746         (XCHARSET_LEADING_BYTE): Likewise.
4747         (XCHARSET_GRAPHIC): Likewise.
4748         (XCHARSET_COLUMNS): Likewise.
4749         (XCHARSET_DIMENSION): Likewise.
4750         (BREAKUP_CHAR): Likewise.
4751
4752 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4753
4754         * character.h: Add document about interface for characters.
4755
4756         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4757         (MAKE_CHAR): Delete comment about
4758         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4759         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4760         (BREAKUP_CHAR): Modify name of arguments.
4761         (CHAR_CHARSET): Modify name of argument.
4762
4763         * buffer.h: Delete document about Emchar accessors.
4764
4765 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4766
4767         * character.h (CHAR_INTP): Moved from buffer.h
4768         (CHAR_OR_CHAR_INTP): Likewise.
4769         (XCHAR_OR_CHAR_INT): Likewise.
4770         (CHECK_CHAR_COERCE_INT): Likewise.
4771
4772         * buffer.h (CHAR_INTP): Moved to character.h
4773         (CHAR_OR_CHAR_INTP): Likewise.
4774         (XCHAR_OR_CHAR_INT): Likewise.
4775         (CHECK_CHAR_COERCE_INT): Likewise.
4776
4777 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4778
4779         * character.h:
4780         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4781         - Include char-1byte.h, char-lb.h or char-ucs.h.
4782
4783         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4784
4785         * buffer.h: Include character unconditionally.
4786         (valid_char_p): Moved to char-*.h.
4787         (non_ascii_valid_char_p): Moved to char-lb.h.
4788
4789         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4790
4791 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4792
4793         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4794         in UTF-2000 because it is not ported yet and not to use
4795         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4796         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4797         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4798
4799         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4800         (CHAR_ASCII_P): Moved from character.h.
4801
4802         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4803         (CHAR_ASCII_P): Likewise.
4804         (CHAR_FIELD1_MASK): Deleted.
4805         (CHAR_FIELD2_MASK): Deleted.
4806         (CHAR_FIELD3_MASK): Deleted.
4807         (MAX_CHAR_BASIC_LATIN): New macro.
4808         (CHAR_FIELD1): Deleted.
4809         (CHAR_FIELD2_INTERNAL): Deleted.
4810         (CHAR_FIELD3_INTERNAL): Deleted.
4811         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4812         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4813         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4814         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4815         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4816         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4817         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4818         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4819         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4820         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4821         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4822         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4823         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4824         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4825         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4826         (MIN_CHAR_COMPOSITION): Deleted.
4827         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4828         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4829
4830 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4831
4832         * buffer.h: Include mb-utf-8.h in UTF-2000.
4833
4834         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4835
4836         * mb-utf-8.h: New file.
4837
4838 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4839
4840         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4841         instead of `int'.
4842
4843         * mule-charset.h, buffer.h (Charset_ID): New type.
4844
4845 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4846
4847         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4848         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4849         instead of `MULE_CHAR_PRIVATE_OFFSET',
4850         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4851         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4852         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4853
4854         * character.h (Vcharset_japanese_jisx0212): New variable
4855         definition.
4856
4857 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4858
4859         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4860         (charset_by_attributes): Delete array about direction.
4861         (latin_a_char_to_charset): New variable in UTF-2000.
4862         (latin_a_char_to_byte1): New variable in UTF-2000.
4863         (latin_a_char_to_byte2): New variable in UTF-2000.
4864         (Qucs_bmp): New variable.
4865         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4866         `Bufbyte'.
4867         (next_allocated_2_byte_leading_byte): Likewise.
4868         (non_ascii_set_charptr_emchar): Likewise.
4869         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4870         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4871         `charset_by_attributes'.
4872         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4873         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4874         and `CHARSET_BY_LEADING_BYTE'.
4875         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4876         `utf-2000-version' to `vars_of_mule_charset'.
4877         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4878         define `leading-code-private-11' in UTF-2000; move setting of
4879         `utf-2000-version' from `syms_of_mule_charset'.
4880         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4881         UTF-2000.
4882
4883         * character.h (Charset_ID): New type.
4884         (LEADING_BYTE_UCS_BMP): New macro.
4885         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4886         (CHARSET_ID_OFFSET_94): New macro.
4887         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4888         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4889         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4890         final-byte.
4891         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4892         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4893         (CHARSET_ID_OFFSET_96): New macro.
4894         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4895         CHARSET_ID_OFFSET_96 and final-byte.
4896         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4897         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4898         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4899         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4900         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4901         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4902         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4903         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4904         (LEADING_BYTE_THAI_TIS620): Likewise.
4905         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4906         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4907         (CHARSET_ID_OFFSET_94x94): New macro.
4908         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4909         CHARSET_ID_OFFSET_94x94 and final-byte.
4910         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4911         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4912         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4913         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4914         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4915         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4916         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4917         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4918         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4919         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4920         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4921         (CHARSET_TYPE_128X128): New macro.
4922         (CHARSET_TYPE_256X256): New macro.
4923         (XCHARSET_PRIVATE_P): Delete unconditionally.
4924         (charset_by_attributes): Delete array about direction.
4925         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4926         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4927         (MIN_CHAR_94): New macro.
4928         (MAX_CHAR_94): New macro.
4929         (MIN_CHAR_96): New macro.
4930         (MAX_CHAR_96): New macro.
4931         (MIN_CHAR_94x94): New macro.
4932         (MAX_CHAR_94x94): New macro.
4933         (MIN_CHAR_96x96): New macro.
4934         (MAX_CHAR_96x96): New macro.
4935         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4936         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4937         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4938         - 32)'.
4939         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4940         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4941         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4942         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4943         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4944         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4945         `XCHARSET_LEADING_BYTE' to make code-point.
4946         (latin_a_char_to_charset): New variable.
4947         (latin_a_char_to_byte1): New variable.
4948         (latin_a_char_to_byte2): New variable.
4949         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4950         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4951         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4952
4953         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4954         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4955         (find_charsets_in_emchar_string): Likewise.
4956         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4957
4958         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4959         `int'.
4960         (decode_coding_iso2022): Likewise.
4961
4962         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4963         of `unsigned char'.
4964
4965         * redisplay.c (redisplay_text_width_emchar_string): Use
4966         `Charset_ID' instead of `unsigned char'.
4967         (redisplay_frame_text_width_string): Likewise.
4968
4969         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4970         `unsigned char'.
4971
4972         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4973         instead of `unsigned char'.
4974         (face_cachel_charset_font_metric_info): Likewise.
4975
4976         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4977         (get_non_ascii_char_table_value): Likewise.
4978         (get_char_table): Likewise.
4979         (put_char_table): Likewise.
4980         (map_over_other_charset): Likewise.
4981         (map_char_table): Likewise.
4982
4983         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4984         instead of `unsigned char'.
4985
4986 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4987
4988         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4989         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4990
4991         * mule-charset.c (leading_code_private_11): Don't define in
4992         UTF-2000.
4993
4994         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4995         in UTF-2000 because it is not ported yet and not to use
4996         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4997
4998 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4999
5000         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5001
5002 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5003
5004         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5005         in UTF-2000.
5006
5007         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5008         of unsigned char to store leading-byte.
5009
5010         * chartab.c (get_non_ascii_char_table_value): Don't use
5011         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5012
5013         * file-coding.c (encode_coding_big5): Delete bogus implementation
5014         in UTF2000.
5015
5016         * character.h (LEADING_BYTE_*): Delete definition for
5017         non-UTF-2000.
5018         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5019         (LEADING_BYTE_PREFIX_P): Deleted.
5020         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5021         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5022         (BUFBYTE_LEADING_BYTE_P): Deleted.
5023         (CHARSET_PRIVATE_P): Deleted unconditionally.
5024         (rep_bytes_by_first_byte): Deleted unconditionally.
5025         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5026         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5027         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5028         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5029         (CHAR_FIELD2): Deleted.
5030         (CHAR_FIELD3): Deleted.
5031         (MAKE_CHAR): Delete definition for non-UTF-2000.
5032         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5033         (breakup_char_1): New implementation.
5034         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5035         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5036
5037 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5038
5039         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5040         condition.
5041
5042 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5043
5044         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5045         (CHARSET_PRIVATE_P): Likewise.
5046         (XCHARSET_PRIVATE_P): Likewise.
5047         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5048
5049         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5050         UTF2000.
5051         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5052
5053 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5054
5055         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5056         (NUM_LEADING_BYTES): Changed from 128 to 256.
5057         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5058         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5059         UTF2000.
5060         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5061
5062         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5063         UTF2000.
5064         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5065         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5066         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5067         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5068         (Qchinese_cns11643_3): New variable in UTF2000.
5069         (Qchinese_cns11643_4): New variable in UTF2000.
5070         (Qchinese_cns11643_5): New variable in UTF2000.
5071         (Qchinese_cns11643_6): New variable in UTF2000.
5072         (Qchinese_cns11643_7): New variable in UTF2000.
5073         (syms_of_mule_charset): Define `chinese-cns11643-3',
5074         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5075         and `chinese-cns11643-7' in UTF2000.
5076         (vars_of_mule_charset): Initialize
5077         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5078         + 1 in UTF2000.
5079         (complex_vars_of_mule_charset): Setup charset
5080         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5081         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5082
5083 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5084
5085         * mule-charset.c: Move setting for `leading-code-private-11' from
5086         `syms_of_mule_charset' to `vars_of_mule_charset'.
5087
5088 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5089
5090         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5091         and `NUM_LEADING_BYTES' in assert.
5092
5093 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5094
5095         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5096         instead of 128.
5097         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5098         `NUM_LEADING_BYTES' instead of 128.
5099
5100 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5101
5102         * mule-charset.h (charset_by_leading_byte): Use
5103         `NUM_LEADING_BYTES' instead of 128.
5104         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5105
5106         * mule-charset.c (charset_by_leading_byte): Use
5107         `NUM_LEADING_BYTES' instead of 128.
5108         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5109
5110         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5111         128.
5112
5113 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5114
5115         * mule-charset.c (syms_of_mule_charset): Update to
5116         0.4 (Shin-Imamiya).
5117
5118 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5119
5120         * file-coding.c (encode_coding_sjis): New implementation for
5121         UTF2000.  (decode_coding_sjis): Ditto.
5122
5123 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5124
5125         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5126         Don't define in UTF2000.
5127
5128         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5129         defined.
5130
5131         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5132         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5133         MULE.
5134
5135 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5136
5137         * config.h.in (CHAR_IS_UCS4): New macro.
5138
5139         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5140         conventional MULE representation.
5141         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5142
5143         * mule-charset.h: Reverted to original.
5144
5145         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5146         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5147         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5148
5149         * character.h: New file.
5150
5151         * file-coding.c (Fmake_coding_system): Set 1 to
5152         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5153         defined.
5154         (encode_coding_no_conversion): New implementation for UTF2000.
5155
5156         * file-coding.h (struct Lisp_Coding_System): Add new member
5157         `fixed.size'.
5158
5159 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5160
5161         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5162         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5163         (encode_coding_iso2022): New implementation for UTF2000.
5164
5165 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5166
5167         * mule-canna.c (c2mu): New implementation for UTF2000.
5168         (m2c): Likewise.
5169
5170 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5171
5172         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5173
5174 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5175
5176         * file-coding.c (reset_encoding_stream): Set 0 to
5177         `str->iso2022.current_char_boundary' in UTF2000.
5178         (encode_utf8): Don't define in UTF2000.
5179         (encode_coding_utf8): New implementation for UTF-8 representation
5180         of UTF2000.
5181         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5182
5183 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5184
5185         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5186
5187         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5188         UTF2000.
5189         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5190
5191         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5192
5193         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5194         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5195         as UTF-8 in UTF2000.
5196         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5197         (non_ascii_valid_char_p): Don't define in UTF2000.
5198         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5199         (Lstream_get_emchar_1): Likewise.
5200         (utf-2000-version): New variable in UTF2000.
5201
5202         * lread.c (read_escape): Add new reader `u'.
5203
5204         * insdel.c (three_to_one_table): Don't define in UTF2000.
5205         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5206         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5207         UTF2000.
5208         (bytind_to_bufpos_func): Likewise.
5209         (buffer_mule_signal_inserted_region): Likewise.
5210         (vars_of_insdel): Don't initialize `three_to_one_table'.
5211         (init_buffer_text): Use `buf->text->mule_size' instead of
5212         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5213         UTF2000.
5214
5215         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5216         UTF-8 representation in UTF2000.
5217         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5218         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5219         (decode_coding_iso2022): Don't define local variable `lb' in
5220         UTF2000; don't use LEADING_BYTE in UTF2000; use
5221         `DECODE_ADD_UCS_CHAR' in UTF2000.
5222         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5223
5224         * config.h.in (UTF2000): New macro.
5225
5226         * buffer.h (struct buffer_text): Add new member `mule_size' and
5227         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5228         (valid_char_p): Return always 1 in UTF2000.
5229         (MAX_EMCHAR_LEN): 6 in UTF2000.
5230         (three_to_one_table): Don't define in UTF2000.
5231         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5232         UTF2000.
5233         (real_bytind_to_bufpos): Likewise.
5234
5235         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5236
5237 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5238
5239         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5240         representation change.
5241         (Vutf_2000_version): New variable.
5242         (leading_code_private_11): New variable.
5243         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5244         `leading-code-private-11'.
5245
5246         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5247         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5248         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5249         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5250         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5251         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5252         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5253         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5254         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5255         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5256         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5257         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5258         (MIN_CHAR_GREEK): New macro.
5259         (MAX_CHAR_GREEK): New macro.
5260         (MIN_CHAR_CYRILLIC): New macro.
5261         (MAX_CHAR_CYRILLIC): New macro.
5262         (MIN_CHAR_HEBREW): New macro.
5263         (MAX_CHAR_HEBREW): New macro.
5264         (MIN_CHAR_THAI): New macro.
5265         (MAX_CHAR_THAI): New macro.
5266         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5267         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5268         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5269         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5270         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5271         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5272         (CHAR_FIELD2): New inline function.
5273         (CHAR_FIELD3): New inline function.
5274         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5275         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5276         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5277         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5278         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5279         (MIN_CHAR_COMPOSITION): Likewise.
5280         (CHAR_LEADING_BYTE): Modified for character representation change.
5281         (MAKE_CHAR): Likewise.
5282
5283         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5284         (Vcharset_greek_iso8859_7): Likewise.
5285         (Vcharset_cyrillic_iso8859_5): Likewise.
5286         (Vcharset_hebrew_iso8859_8): Likewise.
5287         (Vcharset_thai_tis620): Likewise.
5288         (Vcharset_katakana_jisx0201): Likewise.
5289
5290 2003-09-03  Vin Shelton <acs@xemacs.org>
5291
5292         * XEmacs 21.4.14 is released
5293
5294 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5295
5296         * config.h.in (REGEX_MALLOC): Make it configure'able.
5297
5298 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5299
5300         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5301         linking.
5302         * sysdll.c (dll_init):
5303         * sysdll.c (dll_open):
5304         * sysdll.c (dll_close):
5305         * sysdll.c (dll_function):
5306         * sysdll.c (dll_variable):
5307         * sysdll.c (dll_error):
5308         Add support for loading bundles using Darwin/MacOSX
5309         native API.
5310
5311 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5312
5313         * process.c (start-process-internal): Document coding systems.
5314
5315 2003-07-30  Jerry James  <james@xemacs.org>
5316
5317         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5318
5319 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5320
5321         * event-msw.c (mswindows_enqueue_mouse_button_event):
5322         * event-msw.c (mswindows_wnd_proc):
5323           enqueue button event when scrollwheel event isn't handled by 
5324           mswindows_handle_mousewheel_event, such as when the scrollbars
5325           are not showing.
5326
5327 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5328
5329         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5330
5331 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5332
5333         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5334
5335 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5336
5337         * regex.c (re_match_2_internal): Fix matching degenerate word
5338         boundaries.
5339
5340 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5341
5342         * XEmacs 21.4.13 is released
5343
5344 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5345
5346         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5347         * lisp.h (<inttypes.h>):
5348         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5349         the definition.
5350
5351 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5352
5353         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5354         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5355         Result: "temacs can only be run in -batch mode."
5356         Fix: Check xemacs executable candidate for directory-ness.
5357
5358 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5359
5360         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5361           they conflict with <sys/types.h>.
5362
5363 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5364
5365         * database.c: Berkeley DB wants __STDC__ to be defined.
5366
5367 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5368
5369         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5370
5371 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5372
5373         * process-unix.c (unix_send_process): Fix C++ compile error.
5374
5375 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5376
5377         * Added .dylib as an acceptable shared library file extension
5378         * to support MacOSX.
5379
5380 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5381
5382         * EmacsFrameP.h (EmacsFramePart):
5383         Kludge to allow compiling with Motif1, but linking with Motif2.
5384
5385 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5386
5387         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5388
5389
5390 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5391
5392         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5393
5394 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5395
5396         * sysdll.c: Included lisp.h to define needed alloca_array.
5397
5398 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5399
5400         Make XEmacs redisplay 10 times faster.
5401         If, that is, you're using a slow X connection and MoveOpaque.
5402         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5403         Use compress_motion = TRUE.
5404         * EmacsFrame.c (emacsFrameClassRec): 
5405         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5406         * EmacsManager.c (emacsManagerClassRec):
5407         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5408
5409 2003-01-30  Vin Shelton  <acs@xemacs.org>
5410
5411         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5412
5413 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5414
5415         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5416         Patch by Martin Buchholz.
5417
5418 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5419
5420         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5421         Thanks to icc for warning and Martin Buchholz for reporting.
5422
5423 2003-01-29  Vin Shelton <acs@xemacs.org>
5424
5425         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5426
5427         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5428         remember to multiply by the element size.
5429
5430 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5431
5432         * XEmacs 21.4.12 "Portable Code" is released.
5433
5434 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5435
5436         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5437         * s/cygwin.sc: new linker file.
5438
5439 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5440
5441         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5442
5443         * redisplay-x.c (x_output_string): Use X11-specified types.
5444         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5445         * emacs.c (__free_hook): Use typeof with Intel compiler.
5446         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5447
5448 2003-01-08  Andy Piper  <andy@xemacs.org>
5449
5450         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5451         reserve size during unexec().
5452
5453 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5454
5455         * process-unix.c (unix_create_process): Don't let outchannel block.
5456
5457 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5458
5459         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5460         Needed for IsBadReadPtr().
5461
5462 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5463
5464         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5465
5466 2002-12-14  Ben Wing  <ben@xemacs.org>
5467
5468         * callint.c: Declaration error.
5469         * dumper.c (pdump):
5470         * dumper.c (pdump_load): Warning fix.
5471         * process.c: GCPRO error.
5472         * glyphs.c (unmap_subwindow):
5473         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5474         * event-stream.c (maybe_kbd_translate): Wrong argument to
5475         character_to_event().
5476
5477         * alloc.c (garbage_collect_1):
5478         * emacs.c:
5479         * emacs.c (debug_can_access_memory):
5480         * emacs.c (fatal_error_signal):
5481         * emacs.c (mswindows_handle_hardware_exceptions):
5482         * emacs.c (main_1):
5483         * emacs.c (main):
5484         * emacs.c (assert_failed):
5485         * emacs.c (syms_of_emacs):
5486         * lisp.h:
5487         * print.c:
5488         * print.c (std_handle_out_va):
5489         * print.c (write_string_to_stdio_stream):
5490         * print.c (write_fmt_string):
5491         * print.c (printing_badness):
5492         * print.c (printing_major_badness):
5493         * print.c (print_internal):
5494         * print.c (debug_print_no_newline):
5495         * print.c (debug_backtrace):
5496         Be more defensive in handling bad values when printing.  Add code
5497         from trunk involving inhibit_non_essential_printing_operations.
5498         When going down or in debug_print(), don't do external conversion
5499         and such and try really, really hard when printing to avoid core
5500         dumping.  Add force-debugging-signal, debug_break().
5501
5502 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5503
5504         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5505         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5506
5507 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5508
5509         * database.c: Fix open_database. Berkeley DB API has changed in
5510         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5511
5512 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5513
5514         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5515
5516 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5517
5518         * event-Xt.c (Xt_timeout):
5519         (Xt_timeout_callback):
5520         (emacs_Xt_add_timeout):
5521         (emacs_Xt_remove_timeout):
5522         (Xt_timeout_to_emacs_event):
5523         Turn completed_timeouts from a stack into a queue.  Fixes
5524         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5525
5526 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5527
5528         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5529         * emacs.c (main): Assert that mmap'd allocation is disabled.
5530
5531 2002-10-14  Andy Piper  <andy@xemacs.org>
5532
5533         * glyphs-widget.c (layout_query_geometry): add in fiddle
5534         factor. Include border text in width layout calculation.
5535         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5536
5537 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5538
5539         * XEmacs 21.4.10 "Military Intelligence" is released.
5540
5541 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5542
5543         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5544         using the NAS private array SoundFileInfo that no longer exists in
5545         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5546         and earlier.  This is broken for some versions between 1.5a and
5547         1.5f.
5548
5549 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5550
5551         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5552
5553         * emacs.c (shut_down_emacs): Improve crash message.
5554
5555 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5556
5557         * file-coding.c (determine_real_coding_system): Check for coding
5558         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5559         shebangs and Python PEP 263.
5560
5561 2002-10-08  Andy Piper  <andy@xemacs.org>
5562
5563         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5564         if static sizes haven't been set.
5565
5566 2002-08-30  Mike Alexander  <mta@arbortext.com>
5567
5568         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5569         to close a socket.
5570
5571 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5572
5573         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5574
5575 2002-09-20  Mike Sperber <mike@xemacs.org>
5576
5577         (This partially gets back my patch from 2002-07-20 without the
5578         bug.)
5579         * callproc.c (child_setup): Remove Ben's comment noting confusion
5580         over the file descriptors >= 3: close_process_descs() doesn't
5581         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5582         * process-unix.c (unix_create_process): Call
5583         begin_dont_check_for_quit to inhibit unwanted interaction (and
5584         thus breaking of X event synchronicity) in the child.
5585
5586 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5587
5588         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5589         widget.
5590
5591 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5592
5593         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5594         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5595         the xemacs process did not exit, but looped infinitely here.  This
5596         fixes that problem.
5597
5598 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5599
5600         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5601         (find_context): Improve comments.
5602
5603         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5604         (re_match_2): An XCHAR_TABLE operation was missing.
5605
5606         Many of the following changes were inspired by Andy Piper's (now
5607         obsolete) patch to make syntax-table text property lookup optional.
5608
5609         [Documentation]
5610
5611         * syntax.h (top level): Document semantics of syntax flags.
5612         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5613         * syntax.c, syntax.h (top level): Document syntax cache better in
5614         comments.
5615
5616         [Instrument syntax caching (temporary change)]
5617
5618         * syntax.h (enum syntax_cache_statistics_functions, struct
5619         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5620         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5621         * syntax.c (scan_words, Fforward_comment, scan_lists,
5622         Fbackward_prefix_characters):
5623         * font-lock.c (find_context):
5624         Use them to instrument syntax caching. 
5625         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5626         syntax_cache_statistics_function_names): New type and variables.
5627         * syntax.c (update_syntax_cache): Update and report statistics.
5628
5629         [Major syntax cache optimizations]
5630
5631         syntax.c (lookup_syntax_properties): Default off.
5632
5633         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5634         * syntax.c (update_syntax_cache):
5635         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5636
5637         [Minor syntax cache optimizations and code clarifications]
5638
5639         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5640         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5641         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5642         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5643         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5644         (Code clarification.)
5645
5646         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5647         scan_lists): Compute code from syncode, use Boolean macros instead
5648         of redundant masking operations.  (Code clarification; any decent
5649         compiler can do this optimization.)
5650
5651         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5652         for clarity.
5653
5654         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5655         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5656         use F*_single_property_change instead of F*_extent_change.
5657         Currently F*_single_property_change is _much_ less efficient.
5658
5659         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5660         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5661         syntax_cache.object properly, don't leave Qt or Qnil.
5662         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5663         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5664         tests for Qt or Qnil.
5665
5666 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5667
5668         * redisplay.c (point_in_line_start_cache): 
5669         * extents.c (print_extent_1):
5670         Fix warnings.
5671
5672         * extents.c (Fset_extent_property): Document `syntax-table' property.
5673
5674         * extents.h (Fnext_single_property_change): EXFUN it.
5675
5676 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5677
5678         * search.c (clear_unused_search_regs): New static function.
5679         (search_buffer): 
5680         (simple_search): 
5681         (boyer_moore):
5682         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5683         Minor clarifications in comments.
5684
5685         * regex.c (re_match_2_internal): Ensure no stale submatches.
5686
5687 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5688
5689         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5690
5691 2002-08-29  Jerry James  <james@xemacs.org>
5692
5693         * lisp.h: structrures -> structures.
5694
5695 2002-06-03  Andy Piper  <andy@xemacs.org>
5696
5697         * frame.c (frame_conversion_internal): add conversion appropriate
5698         for setting frame dimensions in pixels.
5699
5700         * console.h (struct console_methods): add device-specific widget
5701         layout functions.
5702
5703         * emacs.c (main_1): initialize glyph vars.
5704
5705         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5706         (handle_focus_event_2): new function. Allow focus to
5707         be set to a particular window and widget.
5708         (enqueue_focus_event): new function. Create a
5709         synthetic focus event.
5710         (emacs_Xt_handle_magic_event): call
5711         handle_focus_event_2.
5712
5713         * frame.c (Fset_frame_pixel_height): new function. Allow
5714         pixel-based sizing. Does the right thing on character-oriented
5715         displays.
5716         (Fset_frame_pixel_width): ditto.
5717         (Fset_frame_pixel_size): ditto.
5718         (syms_of_frame): declare.
5719
5720         * general-slots.h: add :vertically-justify and
5721         :horizontally-justify.
5722
5723         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5724         (mswindows_widget_border_width): new function.
5725         (mswindows_combo_box_instantiate): set border widths.
5726         (console_type_create_glyphs_mswindows): declare.
5727
5728         * glyphs-widget.c:
5729         (check_valid_justification): allow vertical and horizontal
5730         justification.
5731         (widget_border_width): new function. Call device methods.
5732         (widget_instance_border_width): ditto.
5733         (logical_unit_height): new function. Determine the height of a
5734         logical-unit. Logical units are intended to provide grid-like
5735         layout for subcontrols in a layout. If the layout is
5736         :vertically-justify top then subcontrols will be positioned on
5737         logical-unit boundaries, thus allowing adjacent subcontrols to
5738         line up.
5739         (widget_logical_unit_height): ditto for widgets.
5740         (redisplay_widget): misc cleanup.
5741         (widget_spacing): new function. Call device specific
5742         methods. Intended to be the default gap between adjacent widgets.
5743         (widget_query_geometry): use new spacing functions to determine
5744         appropriate geometry.
5745         (initialize_widget_image_instance): initialize horizontal and
5746         vertical justification.
5747         (widget_instantiate): use logica-units where appropriate for
5748         sizing large widgets.
5749         (button_query_geometry): use widget_instance_border_width.
5750         (tree_view_query_geometry): ditto.
5751         (tab_control_query_geometry): ditto.
5752         (edit_field_query_geometry): new function.
5753         (layout_update): pick up :justify, :horizontally-justify and
5754         :vertically-justify none of which worked previously. :justify is
5755         used as a fallback for both horizontal and vertical justification.
5756         (layout_query_geometry): use logical units to size appropriately.
5757         (layout_layout): ditto.
5758         (Fwidget_logical_to_character_width): new function. Allow users to
5759         convert from logical units to characters so that frame sizes can
5760         be set appropriately.
5761         (Fwidget_logical_to_character_height): ditto.
5762         (syms_of_glyphs_widget): declare.
5763         (image_instantiator_edit_fields): add edit_field_query_geometry.
5764         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5765         :horizontally-justify.
5766         (specifier_vars_of_glyphs_widget): new function. Declare
5767         Vwidget_border_width which is not yet used.
5768
5769         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5770         (x_widget_border_width): new function.
5771         (x_widget_instantiate): create a sensible name for widgets.
5772         (console_type_create_glyphs_x): declare x_widget_border_width.
5773
5774         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5775         (struct Lisp_Image_Instance): add :vertically-justify and
5776         :horizontally-justify.
5777         (LAYOUT_JUSTIFY_TOP): new.
5778         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5779         (ROUND_UP): new macro. Round argument up to next integral
5780         interval.
5781
5782         * redisplay-output.c (redisplay_output_layout): misc formatting.
5783
5784         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5785
5786 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5787
5788         * XEmacs 21.4.9 "Informed Management" is released.
5789
5790 2002-08-19  Andy Piper  <andy@xemacs.org>
5791
5792         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5793         win32 format.
5794
5795         * realpath.c (xrealpath): normalize drive spec also so that dir
5796         sep chars are not mixed on cygwin.
5797
5798 2002-08-06  Jerry James  <james@xemacs.org>
5799
5800         * window.c (Fsplit_window): Count only half of the divider width
5801         against the left window when splitting horizontally. 
5802
5803 2002-06-24  Andy Piper  <andy@xemacs.org>
5804
5805         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5806         toolbar was cleared.
5807
5808         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5809         function. Split out from mswindows_output_frame_toolbars.
5810         (mswindows_output_frame_toolbars): move clear pieces to
5811         mswindows_output_frame_toolbars.
5812
5813         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5814         out from gtk_output_frame_toolbars.
5815         (gtk_output_frame_toolbars): move clear pieces to
5816         gtk_clear_frame_toolbars.
5817
5818         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5819         the frame is cleared. How this ever worked before is a mystery.
5820         (x_output_frame_toolbars): Only output toolbars.
5821         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5822
5823         * gutter.c (update_gutter_geometry):
5824         Mark frame layout changed.
5825         (update_frame_gutter_geometry, update_frame_gutters):
5826         Respect frame_layout_changed.
5827
5828         * console.h (struct console_methods): add
5829         clear_frame_toolbars_method.
5830
5831         * redisplay.c (redisplay_frame): call
5832         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5833
5834         * toolbar.h: declare update_frame_toolbars_geometry.
5835
5836         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5837         out from update_frame_toolbars.  Call clear_frame_toolbars.
5838         (update_frame_toolbars): only output, do not change geometry.
5839
5840         * redisplay.c: add frame_layout_changed.
5841
5842         * redisplay.h: add frame_layout_changed.
5843         (CLASS_RESET_CHANGED_FLAGS): set it.
5844         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5845         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5846         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5847
5848         * device.h (struct device): add frame_layout_changed.
5849         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5850
5851         * frame.h (struct frame): add frame_layout_changed.
5852         (MARK_FRAME_LAYOUT_CHANGED): new.
5853
5854 2002-06-30  Mike Alexander  <mta@arbortext.com>
5855
5856         * event-msw.c (mswindows_need_event): Don't wait for a new message
5857         if the queue is not empty.  Suggested by Paul Moore.
5858
5859 2002-06-12  Andy Piper  <andy@xemacs.org>
5860
5861         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5862         for printing on accurately.
5863
5864 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5865
5866         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5867         WM_ACTIVATE message. Make sure that the frame is visible if the
5868         window is visible. This seemss to fix the problem where XEmacs
5869         appears to freeze after switching desktops with certain virtual
5870         window managers.
5871         (debug_output_mswin_message): Added code to output message
5872         parameters for WM_WINDOWPOSCHANGED, 
5873         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5874
5875 2002-05-25  Andy Piper  <andy@xemacs.org>
5876
5877         * select-x.c (vars_of_select_x): Fix docstring of
5878         x-selection-strict-motif-ownership
5879
5880 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5881
5882         * keymap.c (get_keymap):
5883         Add comment about do_autoload GCPROs own args.
5884
5885 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5886
5887         * bytecode.c (execute_optimized_program): check_opcode ifdef
5888         ERROR_CHECK_BYTE_CODE.
5889
5890 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5891
5892         Thanks to Ben Wing and Michael Sperber.
5893
5894         * eval.c (Fcommand_execute):
5895         (Feval):
5896         (Ffuncall):
5897         (Fmacroexpand_internal):
5898         (function_argcount):
5899         callint.c (Fcall_interactively):
5900         Add comment about do_autoload GCPROs own args.
5901
5902         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5903
5904         * eval.c (Ffuncall): Extra braces to placate GCC.
5905
5906 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5907
5908         * backtrace.h (grow_specpdl):
5909         (SPECPDL_RESERVE):
5910         * EmacsFrame.c (EmacsFrameSetValues):
5911         * eval.c (grow_specpdl):
5912         * ExternalShell.c (hack_event_masks_1):
5913         * glyphs-x.c (convert_EImage_to_XImage): 
5914         (x_finalize_image_instance):
5915         * ralloc.c (page_size):
5916         (r_alloc_sbrk):
5917         * xgccache.c (gc_cache_hash):
5918         Fix unsigned comparison warnings.
5919
5920 2002-07-29  Jerry James  <james@xemacs.org>
5921
5922         * lread.c (locate_file): Any nonnegative return value indicates
5923         success if MODE is nonnegative.
5924
5925 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5926
5927         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5928         argument. 
5929
5930 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5931
5932         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5933
5934         * dumper.c (pdump_get_indirect_count):
5935         (pdump_scan_by_alignment):
5936         (pdump_dump_root_struct_ptrs):
5937         (pdump_dump_rtables):
5938         (pdump_dump_root_objects):
5939         (pdump):
5940         * nas.c (WaveOpenDataForReading):
5941         * fns.c (print_bit_vector):
5942         * font-lock.c (SINGLE_SYNTAX_STYLE):
5943         * glyphs.c (check_for_ignored_expose):
5944         (find_matching_subwindow):
5945         * glyphs-eimage.c:
5946         * imgproc.c (get_histogram):
5947         * redisplay.c (point_in_line_start_cache):
5948         * redisplay-output.c (redisplay_unmap_subwindows):
5949         * symbols.c (defsymbol_massage_name_1):
5950         (defkeyword_massage_name):
5951         (deferror_massage_name_and_message):
5952         * redisplay-x.c (x_output_string): 
5953         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5954         * frame.h (struct frame):
5955         * filelock.c (current_lock_owner):
5956         * doprnt.c (emacs_doprnt_1):
5957         * lisp.h (struct Lisp_Bit_Vector):
5958         (DO_REALLOC):
5959         Fix warnings.
5960
5961 2002-02-13  Ben Wing  <ben@xemacs.org>
5962
5963         * event-stream.c (reset_key_echo):
5964         * event-stream.c (reset_this_command_keys):
5965         * event-stream.c (execute_command_event):
5966         If console is dead as a result of C-x 5 0, then post-command stuff
5967         needs to be careful and do only non-console-specific stuff.
5968
5969 2002-07-01  Mike Sperber <mike@xemacs.org>
5970
5971         * process-unix.c (unix_send_process): Mark coding_outstream as
5972         non-open upon SIGPIPE.
5973
5974         * event-stream.c (Fnext_event): Reorder switch cases to something
5975         that makes sense.
5976
5977 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5978
5979         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5980         Don't bogusly reinitialize ascii_character property.
5981
5982 2002-07-08  Mike Sperber <mike@xemacs.org>
5983
5984         * process.c (Fstart_process_internal): Do error checking before we
5985         fork off the child, so the child can't muck with the state of the
5986         parent.
5987
5988 2002-07-08  Mike Sperber <mike@xemacs.org>
5989
5990         * ralloc.c (init_ralloc): Allocate properly for pdump.
5991
5992 2002-06-12  Andy Piper  <andy@xemacs.org>
5993
5994         * glyphs.c (query_string_geometry): check the string.
5995
5996         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5997         widget names.
5998
5999 2002-06-17  Jerry James  <james@xemacs.org>
6000
6001         * sysdll.c: Remove RTLD_GLOBAL initialization.
6002         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6003
6004 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6005
6006         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6007
6008 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6009
6010         * sysdep.c (sys_rename): Make sys_rename work for the case where
6011         Windows rename sets errno to EACCES if target file exists.
6012
6013 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6014
6015         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6016         Fix detection of metric units to work on Win95
6017
6018 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6019
6020         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6021
6022 2002-04-25  Andy Piper  <andy@xemacs.org>
6023
6024         * redisplay.c (create_text_block): Remove extra comment trailer.
6025
6026 2002-04-24  Andy Piper  <andy@xemacs.org>
6027
6028         * redisplay.c (create_text_block): Don't actually add propagation
6029         data if the line ends after we have added a glyph.
6030
6031 2002-04-22  Andy Piper  <andy@xemacs.org>
6032
6033         * extents.c (extent_fragment_update): check for glyphs we have
6034         previously displayed.
6035         * extents.c (print_extent_1): warning removal.
6036         * extents.h: change prototype.
6037         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6038         widths correctly for wide glyphs.
6039         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6040         * redisplay.c (prop_type): add PROP_GLYPH.
6041         * redisplay.c (struct prop_block): add glyph type
6042         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6043         to the propagation data.
6044         * redisplay.c (create_text_block): if there is a glyph in the
6045         propagation data use it to salt extent_fragment_update.
6046         * redisplay.c (create_string_text_block): ditto.
6047
6048 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6049
6050         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6051         * redisplay-output.c (compare_runes): Compare them.
6052         * redisplay.c: Update copyright date.
6053         * redisplay.c (pos_data): Add need_baseline_computation field.
6054         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6055         need_baseline_computation; zero yoffset. Set max_pixmap_height
6056         for all pixmaps, not just automatically positioned ones.
6057         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6058         * redisplay.c (calculate_baseline): New, compute textual baseline.
6059         * redisplay.c (add_glyph_rune): Call them.
6060         * redisplay.c (create_text_block): Likewise.
6061         * redisplay.c (create_overlay_glyph_block): Likewise.
6062         * redisplay.c (add_margin_runes): Likewise.
6063         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6064
6065         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6066         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6067         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6068         * redisplay-msw.c (mswindows_output_string): Likewise.
6069         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6070         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6071         * redisplay-x.c (x_output_display_block): Likewise.
6072
6073 2002-03-28  Ben Wing  <ben@xemacs.org>
6074
6075         * redisplay.c: Fixed bug in redisplay
6076         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6077         and down of the lines, since they're bigger than the line
6078         size. (It was seen most obviously when there's a horizontal scroll
6079         bar, e.g. do C-h a glyph or something like that.) The problem was
6080         that the glyph-contrib-p setting on glyphs was ignored even if it
6081         was set properly, which it wasn't until now.
6082
6083 2002-04-24  Andy Piper  <andy@xemacs.org>
6084
6085         * lisp.h (Dynarr_end): Fix definition.
6086
6087 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6088
6089         * redisplay.c (mark_redisplay): Remove call to
6090         update_frame_window_mirror.
6091
6092 2001-11-15  Andy Piper  <andy@xemacs.org>
6093
6094         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6095         cygwin (again).
6096
6097 2002-02-13  Andy Piper  <andy@xemacs.org>
6098
6099         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6100         we did in fact enqueue the XM_MAPFRAME event.
6101
6102 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6103
6104         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6105         to fix problem switching between virtual desktops under virtuawin
6106         virtual window manager.
6107
6108 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6109
6110         * event-msw.c: Typo fix.
6111         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6112         magic XM_MAPFRAME event has been sent.
6113
6114 2001-11-23  Andy Piper  <andy@xemacs.org>
6115
6116         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6117
6118 2001-11-21  Andy Piper  <andy@xemacs.org>
6119
6120         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6121         mouse events outside the frame.
6122
6123 2002-03-20  Andy Piper  <andy@xemacs.org>
6124
6125         * menubar-msw.c (mswindows_popup_menu): warning removal.
6126         * dialog-msw.c (dialog_popped_down): ditto.
6127
6128 2001-12-11  Andy Piper  <andy@xemacs.org>
6129
6130         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6131         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6132         popup_up_p.
6133         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6134         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6135         * menubar-msw.c (mswindows_popup_menu): ditto.
6136
6137 2001-10-29  Andy Piper  <andy@xemacs.org>
6138
6139         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6140         cancels.
6141
6142 2002-01-03  Andy Piper  <andy@xemacs.org>
6143
6144         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6145         letters.
6146         (xrealpath): ditto.
6147
6148 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6149
6150         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6151         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6152         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6153         Detect and handle case where machine is set up for metric units
6154
6155 2002-04-02  Andy Piper  <andy@xemacs.org>
6156
6157         * dired-msw.c (mswindows_get_files): 
6158         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6159         completely handled by XEmacs. Suggested by Thomas Vogler
6160         <mail@thomas-vogler.de>.
6161
6162 2001-11-14  Andy Piper  <andy@xemacs.org>
6163
6164         * nt.c (REG_ROOT): change registry key to XEmacs.
6165
6166 2002-04-27  Andy Piper  <andy@xemacs.org>
6167
6168         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6169
6170 2002-04-26  Andy Piper  <andy@xemacs.org>
6171
6172         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6173         behavior.
6174
6175 2002-03-14  Mike Alexander  <mta@arbortext.com>
6176
6177         * event-msw.c (mswindows_unwait_process): New, remove process from
6178         wait list
6179         * process-nt.c (nt_finalize_process_data): Call
6180         mswindows_unwait_process
6181         * console-msw.h: Declare mswindows_unwait_process
6182
6183 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6184
6185         * editfns.c (Fdecode_time):
6186         (Fformat_time_string):
6187         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6188         (make_time): Warning elimination (change arg name).
6189
6190 2001-11-24  Andy Piper  <andy@xemacs.org>
6191
6192         * window.c (Fsplit_window): Doc return type.
6193
6194 2002-04-01  Andy Piper  <andy@xemacs.org>
6195
6196         * emacs.c (Fkill_emacs): Only output message box in interactive
6197         mode.
6198
6199 2002-04-26  Andy Piper  <andy@xemacs.org>
6200  
6201         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6202         cygwin.
6203
6204 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6205
6206         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6207         bit platform.
6208
6209 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6210
6211         * XEmacs 21.4.8 "Honest Recruiter" is released.
6212
6213 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6214
6215         Supersedes 2002-04-17 patch.
6216
6217         * process.h (PROCESS_LIVE_P): Use the process status as
6218         evidence of health, not the state of the input stream.
6219         (PROCESS_READABLE_P): Say if the process is readable
6220         from. (It may be dead nonetheless.)
6221         (CHECK_READABLE_PROCESS): Test for that condition.
6222
6223         * process.c (create_process): Use PROCESS_READABLE_P.
6224         (read_process_output, set_process_filter): Likewise.
6225
6226         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6227         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6228
6229         This code is #if 0'd, this is not the time to add new functions:
6230
6231         * process.c (Fprocess_readable_p): Report readability status.
6232         * process.c (Qprocess_readable_p): New, associated symbol...
6233         * process.c (syms_of_process): ... initialize it.
6234
6235 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6236
6237         * XEmacs 21.4.7 "Economic Science" is released.
6238
6239 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6240
6241         * process.h (PROCESS_LIVE_P): Use the process status as
6242         evidence of health, not the state of the input stream.
6243
6244 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6245
6246         * sysdep.c (sys_siglist): change "signum" to "signal"
6247
6248 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6249
6250         * s/darwin.h: New file.
6251         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6252         
6253 2002-04-23  Andreas Jaeger  <aj@suse.de>
6254
6255         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6256         which use lib64 for 64-bit libs.
6257         (START_FILES): Likewise.
6258
6259 2002-02-11  Mike Sperber  <mike@xemacs.org>
6260
6261         * device-x.c: 
6262         (x_IO_error_handler):
6263         (x_init_device): Temporarily keep device in static variable
6264         `device_being_initialized' so we can recover gracefully from
6265         internal XOpenDevice failure.  (XOpenDevice is documented to
6266         return NULL on failure, but sometimes calls the IO error handler
6267         instead.)
6268
6269 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6270
6271         * dired.c (Ffile_name_all_completions): Change documentation --
6272         remove reference to completion-ignored-extensions.
6273         * dired.c (vars_of_dired): Change documentation for
6274         completion-ignored-extensions -- remove reference to
6275         file-name-all-completions.
6276
6277 2002-03-06  Jerry James  <james@xemacs.org>
6278
6279         * emodules.c (emodules_load): Fix multiple loading of same module.
6280
6281 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6282         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6283         RTLD_LAZY to avoid incorrect symbol binding when using nested
6284         shared libraries on Solaris.
6285
6286 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6287
6288         * fileio.c (Ffind_file_name_handler): Improve docstring.
6289
6290 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6291
6292         * fns.c (Fmapconcat): Improve docstring.
6293
6294 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6295
6296         * device-gtk.c: Add prototype for
6297         emacs_gtk_selection_clear_event_handle.
6298         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6299         selection.  Setup signal handler for "selection_clear_event"
6300         (emacs_gtk_selection_clear_event_handle).
6301
6302         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6303         other applications owning the clipboard (based on
6304         x_handle_selection_clear).
6305
6306 2001-12-23  William M. Perry  <wmperry@gnu.org>
6307
6308         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6309         
6310 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6311
6312         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6313
6314 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6315
6316         * XEmacs 21.4.6 "Common Lisp" is released.
6317
6318 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6319
6320         * search.c (Freplace_match): Add missing sub-expression functionality.
6321
6322         * buffer.c (decode_buffer): Add a check for pointer type to
6323         decode_buffer, before gcc's CSE optimization reorders a
6324         dereference in front of the allow_string test.
6325
6326 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6327
6328         * window.c (window_loop): Fix bug that sometimes prevented
6329         window_loop() from iterating across multiple devices.  Also, at
6330         Ben's request, changed infloop-detecting code to abort() instead
6331         of silently terminating window_loop().
6332
6333 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6334
6335         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6336         * editfns.c (make_time): New function.
6337         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6338         * lisp.h (make_time): Prototype and comment it.
6339         * dired.c (wasteful_word_to_lisp): Deprecate.
6340         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6341
6342 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6343
6344         * fileio.c (auto_save_1): Use current coding system, not
6345         escape-quoted.
6346
6347 2001-11-13  Ben Wing  <ben@xemacs.org>
6348
6349         * window.c:
6350         * window.c (window_truncation_on):
6351         * window.c (syms_of_window):
6352         truncate-partial-width-windows should respect the buffer being
6353         displayed, like other redisplay vars.
6354
6355 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6356
6357         * event-stream.c (Fread_key_sequence): save current buffer.
6358
6359 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6360
6361         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6362
6363 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6364
6365         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6366
6367 2001-10-26  Mike Alexander  <mta@arbortext.com>
6368
6369         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6370
6371 2001-10-25  Andy Piper  <andy@xemacs.org>
6372
6373         * ChangeLog:
6374         * dialog-msw.c (handle_directory_proc): new function.
6375          (handle_directory_dialog_box): new fucntion.
6376          (handle_file_dialog_box): use new directory dialog support.
6377          (mswindows_make_dialog_box_internal): ditto.
6378         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6379         handling.
6380         (mswindows_find_frame): make global.
6381         * fileio.c (Fexpand_file_name): build fix.
6382         * general-slots.h: add Qdirectory.
6383         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6384         handling.
6385         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6386         cygwin not leaving win32 paths unchanged.
6387         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6388         cygwin runtime to do path conversion.
6389         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6390         (syms_of_win32): add new function.
6391         * window.c (window_loop): build fix.
6392
6393 2001-10-15  Andy Piper  <andy@xemacs.org>
6394
6395         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6396
6397 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6398
6399         * XEmacs 21.4.5 "Civil Service" is released.
6400
6401 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6402
6403         * glyphs-x.c: Force buffer-tab highlight update when moving the
6404         buffer, avoiding an ugly black border, used for keyboard focus
6405         indication, on a widget that can never have keyboard focus, the
6406         buffer tab.
6407
6408 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6409
6410         * process-unix.c (unix_open_multicast_group): Remove too much
6411         conversion between host and network byte order.
6412
6413 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6414
6415         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6416         before replacing them.
6417
6418         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6419         operation.
6420
6421         * src/window.c (undedicate_windows): Use it.
6422         * src/window.h: Add prototype.
6423
6424 2001-09-17  Ben Wing  <ben@xemacs.org>
6425
6426         * fileio.c (normalize_filename):
6427         * fileio.c (Fexpand_file_name):
6428         Fix various C++ compile errors in Andy's recent code.
6429         
6430         * callint.c (Fcall_interactively):
6431         * editfns.c (Ftemp_directory):
6432         * editfns.c (Fuser_full_name):
6433         * emacs.c (argmatch):
6434         * lread.c (locate_file_map_suffixes):
6435         * redisplay-x.c (x_ring_bell):
6436         Fix sign-compare warnings.
6437         
6438 2001-09-08  Andy Piper  <andy@xemacs.org>
6439
6440         * fileio.c (normalize_filename): copied from nt.c
6441         * (Ffile_name_directory): enable win32 paths under cygwin.
6442         * (Ffile_name_nondirectory): ditto.
6443         * (directory_file_name): ditto.
6444         * (Fexpand_file_name): ditto.
6445         * (Ffile_truename): ditto.
6446         * (Fsubstitute_in_file_name): ditto.
6447         * (Ffile_name_absolute_p): ditto.
6448         * (Ffile_readable_p): ditto.
6449
6450 2001-09-08  Andy Piper  <andy@xemacs.org>
6451
6452         * device-msw.c (mswindows_finish_init_device): remove dde
6453         initialization.
6454         * device-msw.c (mswindows_init_dde): factor out from
6455         mswindows_finish_init_device()
6456         * device-msw.c (init_mswindows_very_early): new function
6457         initialize but don't enable dde.
6458         * emacs.c (main_1): call init_mswindows_very_early.
6459         * event-msw.c:
6460         * event-msw.c (mswindows_dde_callback): only execute when we are
6461         ready.
6462         * symsinit.h: declare init_mswindows_very_early.
6463
6464 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6465
6466         [sjt: This has been in 21.5 for months with no complaints.]
6467
6468         * console.h (struct console_methods): Added flags member.
6469         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6470         (CONMETH_IMPL_FLAG):
6471         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6472         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6473
6474         * device.c (window_system_pixelated_geometry): Use the above macros.
6475
6476         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6477         implememntation flag.
6478         * device.h (DEVICE_DISPLAY_P): Use it.
6479
6480         * frame.c (delete_frame_internal): Use the above macro.
6481
6482         * redisplay.c (redisplay_device): Use it.
6483         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6484         (redisplay_frame): Ditto.
6485
6486         * device-msw.c (mswindows_device_implementation_flags): Removed.
6487         (msprinter_device_implementation_flags): Removed.
6488         (console_type_create_device_mswindows): Removed references to
6489         implementation_flags methods, set implementation flags here.
6490         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6491
6492         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6493         (console_type_create_device_gtk): Removed method declaration.
6494         Added commented out statement which semantically matches the
6495         commented out statement in the above removed method.
6496
6497 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6498
6499         The attached patch fixes a few warnings. 
6500
6501         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6502         * src/frame-gtk.c: guard against GNOME calls in GTK only
6503         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6504         * src/select-gtk.c: prototype lisp_to_time
6505
6506 2001-06-08  Ben Wing  <ben@xemacs.org>
6507
6508         ------ gc-in-window-procedure fixes ------
6509         
6510         * alloc.c:
6511         * alloc.c (struct post_gc_action):
6512         * alloc.c (register_post_gc_action):
6513         * alloc.c (run_post_gc_actions):
6514         * alloc.c (garbage_collect_1):
6515         Create "post-gc actions", to avoid those dreaded "GC during window
6516         procedure" problems.
6517
6518         * event-msw.c:
6519         Abort, clean and simple, when GC in window procedure.  We want
6520         to flush these puppies out.
6521
6522         * glyphs-msw.c:
6523         * glyphs-msw.c (finalize_destroy_window):
6524         * glyphs-msw.c (mswindows_finalize_image_instance):
6525         Use a post-gc action when destroying subwindows.
6526
6527         * lisp.h:
6528         Declare register_post_gc_action().
6529
6530         * scrollbar-msw.c:
6531         * scrollbar-msw.c (unshow_that_mofo):
6532         Use a post-gc action when unshowing scrollbar windows, if in gc.
6533
6534         * redisplay.c (mark_redisplay):
6535         Add comment about the utter evilness of what's going down here.
6536
6537         ------ cygwin setitimer fixes ------
6538         
6539         * Makefile.in.in (sheap_objs):
6540         * Makefile.in.in (profile_objs):
6541         * Makefile.in.in (objs):
6542         Compile profile.c only when HAVE_SETITIMER.
6543         
6544         * nt.c (mswindows_sigset):
6545         * nt.c (mswindows_sighold):
6546         * nt.c (mswindows_sigrelse):
6547         * nt.c (mswindows_sigpause):
6548         * nt.c (mswindows_raise):
6549         * nt.c (close_file_data):
6550         Style fixes.
6551         
6552         * nt.c:
6553         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6554         
6555         * profile.c:
6556         * profile.c (Fstart_profiling):
6557         * profile.c (Fstop_profiling):
6558         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6559         instead of just plain setitimer().
6560         
6561         * signal.c:
6562         * signal.c (set_one_shot_timer):
6563         * signal.c (alarm):
6564         Define qxe_setitimer() as an encapsulation around setitimer() --
6565         call setitimer() directly unless Cygwin or MS Win, in which case
6566         we use our simulated version in win32.c.
6567         
6568         * systime.h:
6569         * systime.h (struct itimerval):
6570         * systime.h (ITIMER_REAL):
6571         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6572         comment about "qxe" and the policy regarding encapsulation.
6573
6574         * win32.c:
6575         * win32.c (setitimer_helper_proc):
6576         * win32.c (setitimer_helper_period):
6577         * win32.c (setitimer_helper):
6578         * win32.c (mswindows_setitimer):
6579         Move setitimer() emulation here, so Cygwin can use it.
6580         Rename a couple of functions and variables to be longer and more
6581         descriptive.  In setitimer_helper_proc(), send the signal
6582         using either mswindows_raise() or (on Cygwin) kill().  If for
6583         some reason we are still getting lockups, we'll change the kill()
6584         to directly invoke the signal handlers.
6585
6586         ------ windows shell fixes ------
6587         
6588         * callproc.c:
6589         * ntproc.c:
6590         Comments about how these two files must die.
6591
6592         * callproc.c (init_callproc):
6593         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6594         not just COMSPEC. (more correct and closer to FSF.) Don't
6595         force a value for SHELL into the environment. (Comments added
6596         to explain why not.)
6597         
6598         * nt.c (init_user_info):
6599         Don't shove a fabricated SHELL into the environment.  See above.
6600
6601 2001-06-01  Ben Wing  <ben@xemacs.org>
6602
6603         * Makefile.in.in (ldflags):
6604         eliminate that pesky "defaulting to 00401000" warning.
6605         * nt.h:
6606         eliminate warnings.
6607
6608 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6609
6610         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6611         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6612
6613 2001-04-24  Jerry James <james@xemacs.org>
6614
6615         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6616         correct order.
6617
6618 2001-06-01  Ben Wing  <ben@xemacs.org>
6619
6620         * event-msw.c (debug_mswin_messages):
6621         conditionalize the messages that were causing compile errors.
6622         (if only macros could generate #ifdef statements ...)
6623
6624 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6625
6626         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6627
6628 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6629
6630         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6631
6632 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6633
6634         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6635         * process-unix.c (unix_canonicalize_host_name):
6636         sysdep.c (init_system_name):
6637         Use it to conditionally support IPv6 canonicalization.
6638
6639 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6640
6641         * event-msw.c:
6642         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6643
6644 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6645
6646         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6647         attempt is made to scroll when no scroll bar is available.
6648
6649 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6650
6651         * input-method-motif.c (XIM_delete_frame): New callback.
6652         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6653         got deleted from 21.4.3.)
6654
6655 2001-06-01  Ben Wing  <ben@xemacs.org>
6656
6657         * nt.c (mswindows_utime):
6658         * nt.c (close_file_data):
6659         fix off-by-one-indirection error.
6660
6661 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6662
6663         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6664         because set_file_times() now takes Lisp_Object path, instead of
6665         char*.
6666         * nt.c: Include buffer.h.
6667         * nt.c (convert_from_time_t): New.
6668         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6669         not set mtime correctly.
6670         * nt.h: Declare mswindows_utime().
6671         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6672         path, instead of char*.
6673         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6674
6675 2001-05-30  Ben Wing  <ben@xemacs.org>
6676
6677         For 21.4:
6678
6679         (Stephen, just take all event-msw.c patches.  This includes
6680         the "iconify" fix below.)
6681
6682         * event-msw.c:
6683         * event-msw.c (mswindows_dequeue_dispatch_event):
6684         * event-msw.c (assert):
6685         * event-msw.c (emacs_mswindows_quit_p):
6686         * event-msw.c (debug_mswin_messages):
6687         * event-msw.c (debug_output_mswin_message):
6688         * event-msw.c (vars_of_event_mswindows):
6689         Fix yet more problems with C-g handling.
6690         Implement debug-mswindows-events.
6691         
6692 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6693
6694         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6695         
6696 2001-05-23  Ben Wing  <ben@xemacs.org>
6697
6698         * event-msw.c (winsock_writer):
6699         * event-msw.c (winsock_closer):
6700         prior kludgy code was clobbering the buffer, thinking it was
6701         "unused" space to store an unneeded return value; instead, use
6702         the variable we've already got staring us in the face.
6703
6704 2001-05-17  Andy Piper  <andy@xemacs.org>
6705
6706         * sysfile.h: don't assume that file attributes are boolean
6707
6708 2001-05-23  Ben Wing  <ben@xemacs.org>
6709
6710         * device-msw.c (msprinter_init_device):
6711         signal an error rather than crash with an unavailable network
6712         printer (from Mike Alexander).
6713         
6714         * event-msw.c:
6715         * event-msw.c (struct winsock_stream):
6716         * event-msw.c (winsock_writer):
6717         * event-msw.c (winsock_closer):
6718         * event-msw.c (make_winsock_stream_1):
6719         cleanup headers.  fix (hopefully) an error with data corruption
6720         when sending to a network connection.
6721
6722         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6723         to handle the ~user prefix by (a) always assuming we're referencing
6724         ourselves and not even verifying the user -- hence any file with
6725         a tilde as its first char is invalid! (b) if there wasn't a slash
6726         following the filename, the pointer was set *past* the end of
6727         file and we started reading from uninitialized memory.  Now we
6728         simply treat these as files, always.
6729
6730         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6731         
6732 2001-05-19  Ben Wing  <ben@xemacs.org>
6733
6734         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6735
6736         * process-nt.c:
6737         * process-nt.c (vars_of_process_nt):
6738         remove unused mswindows-quote-process-args.  rec for 21.4.
6739         
6740 2001-05-12  Ben Wing  <ben@xemacs.org>
6741
6742         * event-msw.c (mswindows_dde_callback):
6743         * event-msw.c (mswindows_wnd_proc):
6744         eliminate cygwin warnings.
6745
6746 2001-05-06  Ben Wing  <ben@xemacs.org>
6747
6748         * console-msw.h:
6749         * device-msw.c:
6750         * device-msw.c (print_dialog_worker):
6751         * device-msw.c (mswindows_handle_print_dialog_box):
6752         * device-msw.c (syms_of_device_mswindows):
6753         * dialog-msw.c (mswindows_make_dialog_box_internal):
6754         * general-slots.h:
6755         implement printing the selection when it's selected.
6756
6757 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6758
6759         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6760
6761 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6762
6763         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6764         EMACS_INT is signed.
6765
6766 2001-04-15  Michael Lausch  <mla@1012surf.net>
6767
6768         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6769         gtk_widget_request_size() to give scrollbar >0 width for
6770         GTK >1.2.8.
6771
6772 2001-05-30  William M. Perry  <wmperry@gnu.org>
6773
6774         * event-gtk.c: Check for buttons as modifier keys.
6775
6776 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6777
6778         * s\mingw32.h:
6779         Properly find MinGW's <process.h> inside Cygwin's restructured
6780         include directories.  Don't try to include <cygwin/version.h>
6781         since we are dropping support for MinGW in versions of Cygwin
6782         earlier than b21.
6783         * nt.c:
6784         Drop support for MinGW in versions of Cygwin before b21.
6785         * sysdep.c:
6786         Properly find MinGW's <process.h> inside Cygwin's restructured
6787         include directories.
6788         * syswindows.h:
6789         Drop support for MinGW in versions of Cygwin before b21.
6790         * unexcw.c:
6791         Even though a.out.h is no longer detected by configure, allow
6792         MinGW to use it until we figure out how to do the job with Win32.
6793
6794 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6795
6796         * syntax.c (find_start_of_comment):
6797         Fix `unbalanced parentheses' bug when dealing with mixed comment
6798         styles in c++/java/etc. mode
6799
6800 2001-05-29  Mike Alexander  <mta@arbortext.com>
6801
6802         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6803         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6804
6805 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6806
6807         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6808
6809 2001-03-31  Mike Sperber <mike@xemacs.org>
6810
6811         * search.c (Freplace_match): Support FSF-style specification of
6812         match subexpression when applied to a buffer.
6813
6814 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6815
6816         * event-stream.c (is_scrollbar_event): add missing semicolon
6817
6818 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6819
6820         * Makefile.in.in: Use TAR macro instead of hardcoding
6821           tar.  Allows use of GNU tar instead of system tar
6822
6823 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6824
6825         * event-stream.c (is_scrollbar_event): add missing semicolon
6826
6827 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6828
6829         * XEmacs 21.4.3 "Academic Rigor" is released.
6830
6831 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6832
6833         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6834
6835 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6836
6837         * buffer.c (Vcase_fold_search): Remove obsolete
6838           comment about non ASCII case-fold-search.  This
6839           bug has been fixed by case-table changes.
6840
6841 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6842
6843         * event-msw.c: Restore include of events-mod.h.
6844
6845 2001-04-22   zhaoway  <zw@debian.org>
6846
6847         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6848         !HAVE_SCROLLBARS.
6849
6850 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6851
6852         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6853
6854 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6855
6856         * mule-charset.c (Fmake_charset): Add missing else.
6857
6858 2001-04-23  Ben Wing  <ben@xemacs.org>
6859
6860         * event-msw.c (FAKE_MOD_QUIT):
6861         * event-msw.c (mswindows_dequeue_dispatch_event):
6862         * event-msw.c (mswindows_wnd_proc):
6863         * event-msw.c (emacs_mswindows_quit_p):
6864         Get critical quit working.
6865
6866 2001-05-05  Ben Wing  <ben@xemacs.org>
6867
6868         * console-msw.h:
6869         * device-msw.c:
6870         * device-msw.c (mswindows_get_default_margin):
6871         * frame-msw.c (mswindows_size_frame_internal):
6872         * frame-msw.c (msprinter_init_frame_1):
6873         * frame-msw.c (vars_of_frame_mswindows):
6874         Change top/bottom margin defaults to 0.5 inches.
6875
6876 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6877
6878         Fix link error with gcc 3.0 on Linux.
6879         * terminfo.c (UP): Remove.
6880         * terminfo.c (BC): Remove.
6881         * terminfo.c (PC): Remove.
6882         They weren't used, and in any case, these symbols should be
6883         defined in the *library*.
6884
6885 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6886
6887         * s/aix4.h: Fix crash with xlc -O3.
6888         Improve comment explaining how -O3 works.
6889
6890 2001-04-15  Ben Wing  <ben@xemacs.org>
6891
6892         * event-stream.c:
6893         * event-stream.c (Fnext_event):
6894         * event-stream.c (is_scrollbar_event):
6895         * event-stream.c (execute_command_event):
6896         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6897         crash' problem.  His fix introduces other problems.  We filter
6898         out scrollbar events specifically, making them somewhat invisible
6899         to command-building, and not appearing in `this-command-keys'.
6900         More work is still needed (see comments in event-stream.c), but
6901         this fixes all the major problems.
6902
6903 2001-04-20  Ben Wing  <ben@xemacs.org>
6904
6905         * .cvsignore: Added stuff for Windows.
6906
6907 2001-04-28  Ben Wing  <ben@xemacs.org>
6908
6909         * buffer.c (Ferase_buffer):
6910         * editfns.c (buffer_insert1):
6911         * editfns.c (Finsert_before_markers):
6912         * editfns.c (Finsert_string):
6913         * editfns.c (Finsert_char):
6914         * editfns.c (Fdelete_region):
6915         * editfns.c (Fwiden):
6916         * editfns.c (Fnarrow_to_region):
6917         remove bogus lines setting zmacs_region_stays to 0.
6918         
6919 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6920
6921         * process-unix.c (unix_open_network_stream): If connect() fails
6922         invalidate file descriptor after closing it.
6923
6924 2001-03-08  Mike Alexander  <mta@arbortext.com>
6925
6926         * event-msw.c (mswindows_need_event_in_modal_loop):
6927         Don't dispatch a message if we didn't get one.
6928         (mswindows_need_event):
6929         Terminate the correct process when one exits instead of the first
6930         one on Vprocess_list and look for process termination when in
6931         mswindows_protect_modal_loop.
6932
6933 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6934
6935         * XEmacs 21.4.1 "Copyleft" is released.
6936
6937 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6938
6939         * input-method-motif.c (XIM_delete_frame): New callback.
6940         (XIM_init_frame): Register it.
6941
6942 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6943
6944         * XEmacs 21.4.0 "Solid Vapor" is released.
6945
6946 2001-04-15  Ben Wing  <ben@xemacs.org>
6947
6948         * cmdloop.c (call_command_loop):
6949         Fix braino in bit-rotting code.
6950         
6951 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6952
6953         * extents.c (Fset_extent_endpoints): Force creation of extent info
6954         in buffer_or_string.
6955
6956         * extents.c (process_extents_for_insertion_mapper): Correctly
6957         check for open-open zero-length extents.
6958
6959 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6960
6961         * lisp.h: New typedefs Memory_count, Element_count.
6962         * regex.c:
6963         * regex.h:
6964         Sign-compare warning elimination: several unsigned -> signed.
6965         Based on work by Ben Wing <ben@xemacs.org>.
6966
6967 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6968
6969         * XEmacs 21.2.47 "Zephir" is released.
6970
6971 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6972
6973         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6974
6975 2001-04-03  Mike Sperber <mike@xemacs.org>
6976
6977         * search.c: Revert previous patch due because of release.
6978
6979 2001-03-30  Ben Wing  <ben@xemacs.org>
6980
6981         * s\cygwin32.h:
6982         Add missing killpg prototype.
6983
6984         * elhash.c:
6985         Add a comment about fixing problems when a new entry is added
6986         while mapping.
6987
6988         * frame-msw.c (mswindows_init_frame_1):
6989         Fix compile warnings.
6990
6991         * menubar.c (vars_of_menubar):
6992         Provide `menu-accelerator-support' to indicate that we properly
6993         support %_ in menu specifications, so that package code can
6994         conditionalize on this (and remove %_ from menu specifications
6995         on older versions).
6996
6997         * event-msw.c:
6998         * scrollbar-msw.c:
6999         * scrollbar-msw.c (can_scroll):
7000         * scrollbar-msw.h:
7001         Fix handling of mouse wheel under Windows to follow standards --
7002         now scrolls window under pointer, not selected window.
7003
7004 2001-03-31  Mike Sperber <mike@xemacs.org>
7005
7006         * search.c (Freplace_match): Support FSF-style specification of
7007         match subexpression when applied to a buffer.
7008
7009 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7010
7011         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7012         function to modify KEYMAP, so map over a copy of the hash table.
7013
7014 2001-03-21  Martin Buchholz <martin@xemacs.org>
7015
7016         * XEmacs 21.2.46 "Urania" is released.
7017
7018 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7019
7020         * realpath.c (xrealpath): Make file-truename work with symlinks to
7021         /cygdrive paths on cygwin. Always lowercase drive-letters on
7022         native windows.
7023         (cygwin_readlink): Don't try to find canonical filename unless
7024         file exists.
7025
7026 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7027
7028         * ChangeLog: Log GTK merge.
7029
7030         * dumper.c:
7031         * select-x.c:
7032         * specifier.c:
7033         * symeval.h:
7034         Revert gratuitous whitespace changes from GTK merge.
7035
7036         * emacs.c: Document end of complex #ifdef @ l. 1495.
7037
7038
7039 2001-03-12  Andy Piper  <andy@xemacs.org>
7040
7041         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7042         have to do likewise.
7043
7044 2001-03-12  Andy Piper  <andy@xemacs.org>
7045
7046         * sysdep.c: we only support mingw now.
7047
7048 2001-03-09  Andy Piper  <andy@xemacs.org>
7049
7050         * unexcw.c (copy_executable_and_dump_data_section): making approx
7051         overrun a warning only.
7052
7053 2001-03-10  William M. Perry  <wmperry@aventail.com>
7054
7055         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7056         satisfy Stephen's identical-after-cpp plea.
7057
7058 2001-03-02  Ben Wing  <ben@xemacs.org>
7059
7060         * cmds.c:
7061         * cmds.c (Fforward_char):
7062         * syntax.c:
7063         * window.c:
7064
7065         Augment documentation of the most common motion commands to make
7066         note of the shifted-motion support.
7067         
7068 2001-03-02  Ben Wing  <ben@xemacs.org>
7069
7070         * nt.c (mswindows_fstat):
7071         * nt.c (mswindows_stat):
7072         * search.c (boyer_moore):
7073         Fix compile warnings under Windows.
7074         
7075         * sysdep.c (sys_readdir):
7076         Fix buggy filename-conversion code under Mule.
7077
7078 2001-03-09  William M. Perry  <wmperry@aventail.com>
7079
7080         * Makefile.in.in:
7081         * config.h.in:
7082         * console.c:
7083         * console.h:
7084         * device.c:
7085         * device.h:
7086         * dragdrop.c:
7087         * emacs.c:
7088         * event-stream.c:
7089         * events.c:
7090         * events.h:
7091         * faces.c:
7092         * frame.h:
7093         * general-slots.h:
7094         * glyphs.c:
7095         * gutter.c:
7096         * inline.c:
7097         * lisp.h:
7098         * lrecord.h:
7099         * make-src-depend:
7100         * redisplay-output.c:
7101         * redisplay.c:
7102         * symsinit.h:
7103         * sysfile.h:
7104         * toolbar.c:
7105         * window.c:
7106         The Great GTK Merge.
7107
7108         * ChangeLog.GTK:
7109         * console-gtk.c:
7110         * console-gtk.h:
7111         * device-gtk.c:
7112         * emacs-marshals.c:
7113         * emacs-widget-accessors.c:
7114         * event-gtk.c:
7115         * frame-gtk.c:
7116         * gccache-gtk.c:
7117         * gccache-gtk.h:
7118         * glade.c:
7119         * glyphs-gtk.c:
7120         * glyphs-gtk.h:
7121         * gtk-glue.c:
7122         * gtk-xemacs.c:
7123         * gtk-xemacs.h:
7124         * gui-gtk.c:
7125         * gui-gtk.h:
7126         * menubar-gtk.c:
7127         * native-gtk-toolbar.c:
7128         * objects-gtk.c:
7129         * objects-gtk.h:
7130         * redisplay-gtk.c:
7131         * scrollbar-gtk.c:
7132         * scrollbar-gtk.h:
7133         * select-gtk.c:
7134         * toolbar-gtk.c:
7135         * ui-byhand.c:
7136         * ui-gtk.c:
7137         * ui-gtk.h:
7138         The Great GTK Merge: new files.
7139
7140 2001-02-26  Ben Wing  <ben@xemacs.org>
7141
7142         Reapplied Lstream change.
7143
7144 2001-02-26  Ben Wing  <ben@xemacs.org>
7145
7146         Undid the last change, since it is more controversial than I
7147         thought.  It should be back in at some point soon.
7148         
7149 2001-02-25  Ben Wing  <ben@xemacs.org>
7150
7151         * buffer.c:
7152         * callproc.c (Fold_call_process_internal):
7153         * event-msw.c (ntpipe_slurp_reader):
7154         * event-msw.c (ntpipe_shove_writer):
7155         * event-msw.c (winsock_reader):
7156         * event-msw.c (winsock_writer):
7157         * file-coding.c:
7158         * file-coding.c (detect_eol_type):
7159         * file-coding.c (detect_coding_type):
7160         * file-coding.c (determine_real_coding_system):
7161         * file-coding.c (Fdetect_coding_region):
7162         * file-coding.c (decoding_reader):
7163         * file-coding.c (decoding_writer):
7164         * file-coding.c (mule_decode):
7165         * file-coding.c (Fdecode_coding_region):
7166         * file-coding.c (encoding_reader):
7167         * file-coding.c (encoding_writer):
7168         * file-coding.c (mule_encode):
7169         * file-coding.c (Fencode_coding_region):
7170         * file-coding.c (detect_coding_sjis):
7171         * file-coding.c (decode_coding_sjis):
7172         * file-coding.c (encode_coding_sjis):
7173         * file-coding.c (detect_coding_big5):
7174         * file-coding.c (decode_coding_big5):
7175         * file-coding.c (encode_coding_big5):
7176         * file-coding.c (detect_coding_ucs4):
7177         * file-coding.c (decode_coding_ucs4):
7178         * file-coding.c (encode_coding_ucs4):
7179         * file-coding.c (detect_coding_utf8):
7180         * file-coding.c (decode_coding_utf8):
7181         * file-coding.c (encode_coding_utf8):
7182         * file-coding.c (detect_coding_iso2022):
7183         * file-coding.c (decode_coding_iso2022):
7184         * file-coding.c (encode_coding_iso2022):
7185         * file-coding.c (decode_coding_no_conversion):
7186         * file-coding.c (encode_coding_no_conversion):
7187         * glyphs-x.c (write_lisp_string_to_temp_file):
7188         * gpmevent.c (tty_get_foreign_selection):
7189         * lisp.h:
7190         * lstream.c:
7191         * lstream.c (Lstream_flush_out):
7192         * lstream.c (Lstream_adding):
7193         * lstream.c (Lstream_write_1):
7194         * lstream.c (Lstream_write):
7195         * lstream.c (Lstream_raw_read):
7196         * lstream.c (Lstream_read_more):
7197         * lstream.c (Lstream_read):
7198         * lstream.c (Lstream_unread):
7199         * lstream.c (Lstream_fputc):
7200         * lstream.c (stdio_reader):
7201         * lstream.c (stdio_writer):
7202         * lstream.c (filedesc_reader):
7203         * lstream.c (filedesc_writer):
7204         * lstream.c (lisp_string_reader):
7205         * lstream.c (struct fixed_buffer_stream):
7206         * lstream.c (make_fixed_buffer_input_stream):
7207         * lstream.c (make_fixed_buffer_output_stream):
7208         * lstream.c (fixed_buffer_reader):
7209         * lstream.c (fixed_buffer_writer):
7210         * lstream.c (struct resizing_buffer_stream):
7211         * lstream.c (resizing_buffer_writer):
7212         * lstream.c (dynarr_writer):
7213         * lstream.c (lisp_buffer_reader):
7214         * lstream.c (lisp_buffer_writer):
7215         * lstream.h:
7216         * lstream.h (lstream_implementation):
7217         * lstream.h (struct lstream):
7218         * md5.c (Fmd5):
7219         * process-nt.c (nt_send_process):
7220         * process-unix.c (unix_send_process):
7221         
7222         Correct Lstream lossage due to mixing of signed and unsigned
7223         quantities.  All Lstream uses of size_t and ssize_t are now a
7224         single signed data type Lstream_data_count.  This fixes problems
7225         under Windows with sending large quantities of data to a process,
7226         and may well fix other subtle bugs.
7227
7228 2001-02-23  Martin Buchholz <martin@xemacs.org>
7229
7230         * XEmacs 21.2.45 "Thelxepeia" is released.
7231
7232 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7233
7234         * lisp-union.h (XSETINT): 
7235         (XSETCHAR):
7236         (XSETOBJ): 
7237         Reverse previous change of 2001-02-06.
7238
7239 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7240
7241         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7242         buffers.
7243         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7244         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7245         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7246         * regex.c (POS_AS_IN_BUFFER): removed
7247         * regex.c (re_search_2):
7248         * regex.c (re_match_2):
7249         Don't use an offset of 1 when calculating buffer positions, since
7250         `BI_BUF_BEGV' does it already.
7251
7252 2001-02-18  Wim Dumon  <wim@easics.be>
7253
7254         * insdel.c (prepare_to_modify_buffer): Also check for
7255         supersession when clash-detection is enabled. 
7256
7257 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7258
7259         * regex.c (re_match_2_internal):
7260         Convert temp characters from 'const unsigned char' to 're_char'.
7261         Fix crashing bug with extended characters under mule.
7262         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7263         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7264         font-lock, pdump, and new syntax-table code.
7265         * syntax.c (find_start_of_comment):
7266         (find_end_of_comment):
7267         (forward-comment):
7268         Fix crashing bugs involving moving beyond end of buffer.
7269         * syntax.c (find_start_of_comment):
7270         Fixed logic to allow proper detection of cases where the same
7271         character is used to end both a two-char comment start and a
7272         two-char comment end sequence. Fixes `(forward-comment -1)'.
7273         * syntax.c (find_start_of_comment):
7274         Return position just past last comment-end character for all cases
7275         (previously was only done for two-char comment-end sequences).
7276         * syntax.c (forward-comment):
7277         Take value returned from `find_end_of_comment', rather than
7278         incrementing it.
7279         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7280         Properly deal with BUFFERP (syntax_cache.object)
7281
7282 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7283
7284         * alloc.c (Fgarbage_collect): 
7285         * alloc.c (make_bit_vector_from_byte_vector):
7286         -Wsign-compare-correctness.
7287
7288 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7289
7290         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7291         (XSETCHAR): Likewise.
7292         (XSETOBJ): Likewise.
7293
7294 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7295
7296         * mule-canna.c (canna-func-delete_previous): 
7297         Rename to canna-func-delete-previous.
7298
7299 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7300
7301         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7302
7303 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7304
7305         * font-lock.c (find_context): Fix C++ compile errors introduced by
7306         recent patch
7307
7308 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7309
7310         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7311         pragma, but earlier ones barf on the same pragma.
7312
7313 2001-02-06  Mike Sperber <mike@xemacs.org>
7314
7315         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7316         `configure-mule-lisp-directory'.
7317
7318 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7319
7320         Make sure dump-id.c is compiled in the same way as other .c's.
7321         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7322         * dump-id.h: Remove.
7323         * emacs.c: Move dump-id.h into dumper.h.
7324         * dumper.h: Move dump-id.h into dumper.h.
7325         * Makefile.in.in:
7326         Use standard .c.o rule for building dump-id.o.
7327         Remove preprocessor flags from link command.
7328         Add dump-id.o to ${otherobjs} if PDUMP.
7329
7330 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7331
7332         Port FSF 20.7 syntax table improvements.
7333         * syntax.c.
7334         * syntax.h.
7335
7336         Fixups for new syntax table stuff.
7337         * dired.c: Include syntax.c.
7338         (Fdirectory_files): Initialize regex_match_object and
7339         regex_emacs_buffer.
7340         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7341         and Fget_char_property.
7342
7343         Use ported FSF 20.7 syntax table improvements.
7344         * font-lock.c.
7345         * regex.c.
7346         * search.c.
7347         
7348 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7349
7350         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7351         Unixware's enum boolean from sys/types.h.
7352
7353 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7354
7355         Fix support for building with latest Purify.
7356         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7357         (PURIFY_FLAGS): Likewise.
7358
7359 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7360
7361         * fileio.c (lisp_string_set_file_times): New.
7362         * fileio.c (Fcopy_file): Use it.
7363         Fixes bug:
7364         (copy-file filename non-ascii-filename t t)
7365         ==> No such file or directory, non-ascii-filename
7366
7367 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7368
7369         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7370         USHRT_MAX seems clearer than ~0 anyways.
7371
7372 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7373
7374         dumper improvements.  Inspired by Olivier.
7375         * dumper.c (pdump_max_align): New.
7376         * dumper.c (pdump_add_entry): Use pdump_max_align.
7377         * dumper.c (pdump_get_entry_list): Likewise.
7378         * dumper.c (pdump_scan_by_alignment): Likewise.
7379         Don't iterate through unnecessary alignments.
7380         * dumper.c (pdump_file_get): No need to align result of malloc().
7381         * dumper.c (pdump_mallocadr): Remove.  
7382         The result of malloc() is guaranteed to be maximally aligned.
7383         * dumper.c: s/elmt/elt/g;
7384         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7385         * dumper.c (pdump_alert_undump_object): Likewise.
7386         * dumper.c (pdump_align_table): 
7387         Don't support alignments > 64.
7388         Store ALIGNOF's, not shift counts, in table.
7389
7390 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7391
7392         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7393         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7394         * systime.h: Use HAVE_UTIME.
7395         * sysdep.c (struct utimbuf): Remove.
7396         * sysdep.c (set_file_times): Prefer utime() to utimes().
7397         * config.h.in (HAVE_UTIME): New.
7398         * config.h.in (HAVE_UTIME_H): Remove.
7399         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7400
7401 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7402
7403         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7404
7405 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7406
7407         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7408
7409 2001-02-08  Martin Buchholz <martin@xemacs.org>
7410
7411         * XEmacs 21.2.44 "Thalia" is released.
7412
7413 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7414
7415         Fixes crashes in kill-emacs on some systems.
7416         * process-unix.c (unix_kill_child_process):
7417         It's OK for kill() to fail with ESRCH.
7418
7419 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7420
7421         Contortions to make .gdbinit tricks work on most systems.
7422         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7423         * alloc.c (dbg_valmask): Make non-const.
7424         * alloc.c (dbg_typemask): Make non-const.
7425         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7426         * alloc.c (dbg_valbits): Make non-const.
7427         * alloc.c (dbg_gctypebits): Make non-const.
7428         * .gdbinit (decode_object): Make it work with AIX cc.
7429
7430 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7431
7432         * elhash.c (make_general_lisp_hash_table):
7433         Use simpler and more efficient calloc to clear entries.
7434
7435 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7436
7437         * window.c (window_scroll): Work around an AIX C compiler bug.
7438         Fixes 'scroll-up' does nothing problem with xlC.
7439
7440 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7441
7442         * .gdbinit: Remove obsolete comment.
7443
7444 2001-01-31  Mike Alexander  <mta@arbortext.com>
7445
7446         * select.c (Fown_selection_internal): Set owned_p for device
7447         method correctly.
7448
7449 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7450
7451         Port to g++ 2.97.
7452         "not" cannot be used as a macro name as it is an operator in C++
7453         * config.h.in: Stop #defining `not'.
7454         * chartab.c (check_category_char): not ==> not_p
7455         * chartab.h: Likewise.
7456         * regex.c (re_match_2_internal): Likewise.
7457
7458 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7459
7460         * lisp-disunion.h: Fix up comments.
7461
7462 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7463
7464         * keymap.c (define_key_check_and_coerce_keysym):
7465         (syms_of_keymap):
7466         Support mouse-6 and mouse-7 bindings in the obvious way.
7467
7468 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7469
7470         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7471
7472 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7473
7474         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7475         Previous patch missed DEFVAR_INT_MAGIC.
7476         Make sure future DEFVAR_foo use correct types.
7477         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7478         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7479         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7480         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7481         * (DEFVAR_INT): Likewise.
7482         * redisplay.c (vertical_clip): Should be of type Fixnum.
7483         * redisplay.c (horizontal_clip): Likewise.
7484         * lisp.h (dump_add_opaque_int): New.
7485         (dump_add_opaque_fixnum): New.
7486
7487 2001-01-29  Andy Piper  <andy@xemacs.org>
7488
7489         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7490         since they can be eval'ed
7491
7492 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7493
7494         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7495         Oops, XEmacs redefines `class'.  Use `typename' instead.
7496
7497 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7498
7499         * dumper.c: Fix C++ compile errors.
7500
7501 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7502
7503         * tparam.c: Use correct prototypes.
7504
7505 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7506
7507         * sysproc.h: #include util.h for NetBSD's openpty.
7508
7509 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7510
7511         More 64-bit correctness.
7512         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7513         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7514         Fix up comments.
7515         This finally finishes the 64-bit SGI port.
7516         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7517         * symbols.c: Fix up comments and type casts.
7518         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7519         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7520         * symeval.h (Fixnum): New type.
7521         * symeval.h (symbol_value_type): Fix up comment.
7522
7523         * commands.h:
7524         * nt.c:
7525         * emacs.c:
7526         * data.c:
7527         * redisplay.c:
7528         * abbrev.c:
7529         * dired-msw.c:
7530         * event-Xt.c:
7531         * eldap.c:
7532         * window.c:
7533         * sound.c:
7534         * event-stream.c:
7535         * eval.c:
7536         * buffer.c:
7537         * mule-canna.c: A million DEFVAR_INTs here...
7538         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7539         * extents.c:
7540         * cmdloop.c:
7541         * lisp.h:
7542         * select-x.c:
7543         * console-x.h:
7544         * event-msw.c:
7545         * mule-wnnfns.c:
7546         * hpplay.c:
7547         * ralloc.c:
7548         * alloc.c:
7549         * keymap.c:
7550         * profile.c:
7551         s/int/Fixnum/g in DEFVAR_INT declarations.
7552
7553 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7554
7555         Port pdump to SGI alignment-sensitive environment.
7556         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7557         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7558         properly aligned.
7559         Define and use aligned reading and writing macros.
7560         Use buffered stdio instead of posix i/o for faster dumping.
7561         Eliminate kludgy 256 byte space for header.
7562         Read and write from dump file using structs for alignment safety.
7563         * dumper.c (pdump_align_stream): New.
7564         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7565         * dumper.c (PDUMP_READ_ALIGNED): New.
7566         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7567         * dumper.c (pdump_static_Lisp_Object): New struct.
7568         * dumper.c (pdump_static_pointer): New struct.
7569         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7570         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7571         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7572         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7573
7574         * dumper.c (pdump_backtrace):
7575         * dumper.c (pdump_get_indirect_count):
7576         * dumper.c (pdump_register_object):
7577         * dumper.c (pdump_register_struct):
7578         * dumper.c (pdump_reloc_one):
7579         * dumper.c (pdump_scan_by_alignment):
7580         * dumper.c (pdump_dump_from_root_struct_ptrs):
7581         * dumper.c (pdump_dump_opaques):
7582         * dumper.c (pdump_dump_rtables):
7583         * dumper.c (pdump_dump_from_root_objects):
7584         * dumper.c (pdump):
7585         * dumper.c (pdump_load_finish):
7586         Use aligned reading and writing.
7587
7588         * dumper.c (pdump_free): Make static.
7589         * dumper.c (pdump_hFile): Likewise.
7590         * dumper.c (pdump_hMap): Likewise.
7591
7592 2001-01-26  Martin Buchholz <martin@xemacs.org>
7593
7594         * XEmacs 21.2.43 "Terspichore" is released.
7595
7596 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7597
7598         Type fiddling for window_config.saved_windows_count
7599         * window.c (struct window_config): 
7600         Make saved_windows_count member unsigned.
7601         * window.c (sizeof_window_config_for_n_windows): 
7602         Make parameter unsigned.
7603         * window.c (mark_window_config):
7604         * window.c (window_config_equal):
7605         * window.c (free_window_configuration):
7606         * window.c (Fset_window_configuration):
7607         * window.c (count_windows):
7608         * window.c (Fcurrent_window_configuration):
7609         * window.c (reinit_vars_of_window):
7610         Update all callers and users.
7611
7612 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7613
7614         Alignment correctness for flexible arrays.
7615         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7616         Make alignment-correct. Add interesting comments.
7617         * alloc.c (size_vector):
7618         * alloc.c (make_vector_internal):
7619         * alloc.c (make_bit_vector_internal):
7620         * alloc.c (sweep_bit_vectors_1):
7621         * fns.c (size_bit_vector):
7622         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7623         * window.c (sizeof_window_config_for_n_windows): 
7624         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7625
7626 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7627
7628         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7629
7630 2001-01-23  Andy Piper  <andy@xemacs.org>
7631
7632         * select.c (Fown_selection_internal): pass owned_p
7633
7634         * select-msw.c (mswindows_own_selection): New Signature.
7635
7636         * console.h (struct console_methods): add owned_p to
7637         _own_selection.
7638
7639         * select-x.c (x_own_selection): pass owned_p
7640         (hack_motif_clipboard_selection): use owned_p
7641         (vars_of_select_x): new variable -
7642         x_selection_strict_motif_ownership.
7643
7644 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7645
7646         * specifier.h (specifier_data_offset): Remove pointless parens.
7647         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7648
7649 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7650
7651         Make Lisp_Object sizeof methods be alignment-correct.
7652         pdump must restore objects to the same alignment as the C compiler
7653         assumes.  It really matters on SGIs.
7654         * lstream.c (aligned_sizeof_lstream): New.
7655         (sizeof_lstream): Use aligned_sizeof_lstream.
7656         (Lstream_new): Likewise.
7657         * opaque.c (aligned_sizeof_opaque): New.
7658         (sizeof_opaque): Use aligned_sizeof_opaque.
7659         (make_opaque): Likewise.
7660         * specifier.c (aligned_sizeof_specifier): New.
7661         (sizeof_specifier): Use aligned_sizeof_specifier.
7662         (make_specifier_internal): Likewise.
7663
7664 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7665
7666         * lstream.h (struct lstream): Use max_align_t for trailing data.
7667         * specifier.h (struct Lisp_Specifier): Likewise.
7668
7669 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7670
7671         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7672         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7673         (CCL_SUSPEND): Likewise.
7674         (CCL_INVALID_CMD): Likewise.
7675         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7676         (ccl_driver): Likewise.
7677         (CCL_WRITE_CHAR): Macro hygiene.
7678         (CCL_WRITE_STRING): Macro hygiene.
7679
7680 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7681
7682         Port "portable" dumper to SunOS 4 and HP-UX.
7683         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7684         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7685         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7686
7687 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7688
7689         * lisp.h (ALIGNOF): A better definition for C++.
7690
7691 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7692
7693         Macro hygiene.
7694         Fix printf warnings: int format, long int arg.
7695         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7696         (PUSH_FAILURE_POINT): Use correct printf formats.
7697         (POP_FAILURE_POINT): Use correct printf formats.  
7698         Use do {...} while (0)
7699
7700 2001-01-20  Martin Buchholz <martin@xemacs.org>
7701
7702         * XEmacs 21.2.42 "Poseidon" is released.
7703
7704 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7705
7706         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7707
7708 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7709
7710         De-kludgify FIXED_TYPE free list frobbing.
7711         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7712         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7713         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7714         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7715         * alloc.c (LRECORD_FREE_P): New.
7716         * alloc.c (MARK_LRECORD_AS_FREE): New.
7717         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7718         * alloc.c (STRUCT_FREE_P): Deleted.
7719         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7720         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7721         * alloc.c (STRING_CHARS_FREE_P): New.
7722         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7723         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7724         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7725         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7726         * alloc.c (resize_string): Use new definitions.
7727         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7728         * alloc.c (verify_string_chars_integrity): Use new definitions.
7729         * alloc.c (compact_string_chars): Use new definitions.
7730         * alloc.c: Update monster comments.
7731         * lrecord.h (lrecord_type): Add some new lrecord types for
7732         alloc.c's use.
7733
7734 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7735
7736         Improve alignment hackery.
7737         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7738         (max_align_t): Moved from opaque.h - general purpose.
7739         (ALIGN_PTR): Use size_t, not long.
7740         * opaque.h (max_align_t): Move to lisp.h.
7741
7742 2001-01-18  Norbert Koch  <nk@LF.net>
7743
7744         * gui.h: Fix and add prototypes to fix build problems.
7745
7746 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7747
7748         temacs is going away, so `dump-temacs' is now a bad name.
7749         * .dbxrc (dump-temacs): Rename to `dmp'.
7750         * .gdbinit (dump-temacs): Rename to `dmp'.
7751
7752 2001-01-17  Andy Piper  <andy@xemacs.org>
7753
7754         * glyphs.c (print_image_instance): comment to make martin happy.
7755
7756         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7757         change.
7758
7759         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7760         activation.
7761         (mswindows_tab_control_redisplay): warning suppression.
7762
7763         * glyphs-widget.c (widget_update): re-write to cope with updated
7764         items.
7765         (widget_instantiate): use new gui_item functions.
7766         (tab_control_update): deleted.
7767         (progress_gauge_update): deleted.
7768         (image_instantiator_progress_guage): take out update reference.
7769         (image_instantiator_tree_view): ditto.
7770         (image_instantiator_tab_control): ditto.
7771
7772         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7773         Right the new way.
7774         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7775         return whether anything was changed.
7776         (update_gui_item_keywords): as it sounds.
7777
7778         * gui.h: declare widget_gui_parse_item_keywords.
7779
7780         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7781         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7782
7783 2001-01-17  Martin Buchholz <martin@xemacs.org>
7784
7785         * XEmacs 21.2.41 "Polyhymnia" is released.
7786
7787 2001-01-16  Didier Verna  <didier@xemacs.org>
7788
7789         * glyphs.c (image_instantiate): don't use fallbacks when
7790         instantiating a face's background pixmap by inheritance.
7791
7792 2001-01-14  Mike Sperber <mike@xemacs.org>
7793
7794         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7795         Conditionalize accordingly.
7796
7797 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7798
7799         * dumper.c (pdump_file_get): Fix a compiler warning.
7800
7801 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7802
7803         Make Purify happy when pdumping.
7804         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7805         iniitalizing all bits of new lisp object memory.
7806         * symbols.c (Fmake_local_variable): Likewise.
7807         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7808         * symbols.c (Fdefvaralias): Likewise.
7809         * mule-charset.c (vars_of_mule_charset): Likewise.
7810
7811 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7812         Add the `-nd' flag when running pre-dump operations under the debugger.
7813         * .dbxrc (run-temacs): Add `-nd'.
7814         * .dbxrc (update-elc): Likewise.
7815         * .dbxrc (dump-temacs): Likewise.
7816         * .gdbinit (run-temacs): Likewise.
7817         * .gdbinit (check-temacs): Likewise.
7818         * .gdbinit (update-elc): Likewise.
7819         * .gdbinit (dump-temacs): Likewise.
7820
7821 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7822
7823         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7824         export OBJECT_MODE=64
7825         configure --pdump --use-union-type=no
7826         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7827         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7828
7829         * miscplay.c (sndcnv8U_2mono):
7830         Avoid two uses of `++' in the same expression.
7831         Suppresses a GCC warning.
7832
7833 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7834
7835         Make sure future compilers don't miscompile alloc.c.
7836         * alloc.c:
7837         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7838         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7839
7840 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7841
7842         * dumper.c: A little post-pdump-rename comment fixup.
7843
7844 2001-01-09  Jerry James  <james@eecs.ku.edu>
7845
7846         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7847
7848 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7849
7850         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7851         script:
7852         #!/bin/sh
7853         replace_symbol () {
7854           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7855         }
7856
7857         replace_symbol pdump_wire_lists pdump_weak_object_chains
7858         replace_symbol pdump_wire_list dump_add_weak_object_chain
7859
7860         replace_symbol pdump_wires pdump_root_objects
7861         replace_symbol pdump_wire dump_add_root_object
7862
7863         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7864         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7865
7866         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7867         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7868         replace_symbol dumpstructinfo pdump_root_struct_ptr
7869         replace_symbol dumpstruct dump_add_root_struct_ptr
7870
7871         replace_symbol dumpopaque dump_add_opaque
7872         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7873         replace_symbol dumpopaqueinfos pdump_opaques
7874         replace_symbol dumpopaqueinfo pdump_opaque
7875
7876         replace_symbol nb_structdump nb_root_struct_ptrs
7877         replace_symbol nb_opaquedump nb_opaques
7878
7879         replace_symbol align_table pdump_align_table
7880         replace_symbol dump_header pdump_header
7881
7882         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7883         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7884
7885
7886 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7887
7888         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7889         optimizing bytecount_to_charcount().
7890
7891 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7892
7893         * config.h.in:
7894         (HAVE_DLFCN_H): Removed.
7895         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7896
7897 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7898
7899         Portable dumper maintainability improvements.
7900         * alloc.c (staticpro):
7901         * alloc.c (staticpro_nodump):
7902         * alloc.c (garbage_collect_1):
7903         * alloc.c (reinit_alloc_once_early):
7904         * alloc.c (init_alloc_once_early):
7905         * alloc.c: Move dumper functions to alloc.c.
7906         * dumper.c (pdump_backtrace):
7907         * dumper.c (pdump_dump_structs):
7908         * dumper.c (pdump_dump_opaques):
7909         * dumper.c (pdump_dump_rtables):
7910         * dumper.c (pdump_dump_wired):
7911         * dumper.c (pdump):
7912         * dumper.c (pdump_load_check):
7913         * dumper.c (pdump_load_finish):
7914         * dumper.c (pdump_file_unmap):
7915         * dumper.c (pdump_file_get):
7916         * dumper.c (pdump_resource_free):
7917         * dumper.c (pdump_resource_get):
7918         * dumper.c (pdump_file_free):
7919         * dumper.c (pdump_file_try):
7920         * dumper.c (pdump_load):
7921         Remove fixed size limits on staticpro(), staticpro_nodump(),
7922         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7923         Remove custom code for dumping lrecord_implementations_table - use
7924         dumpopaque instead.
7925         Remove (most of the) custom code for dumping staticpros - dump it
7926         like any other dynarr.
7927
7928         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7929         * dumper.c: Moved functions from alloc.c.
7930         * alloc.c (dumpstruct): Moved to dumper.c.
7931         * alloc.c (dumpopaque): Likewise.
7932         * alloc.c (pdump_wire): Likewise.
7933         * alloc.c (pdump_wire_list): Likewise.
7934
7935         * lisp.h (Dynarr_sizeof): New.
7936         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7937         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7938         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7939
7940         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7941         * lisp.h (dumpopaque): ditto.
7942         * lisp.h (pdump_wire): ditto.
7943         * lisp.h (pdump_wire_list): ditto.
7944
7945 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7946
7947         * make-src-depend (PrintPatternDeps):
7948         Use `sort' to make output independent of perl version.
7949
7950 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7951
7952         Port to Netbsd 1.5.
7953         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7954         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7955
7956 2001-01-03  Didier Verna  <didier@xemacs.org>
7957
7958         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7959         that `focus_frame' is alive before thinking of calling
7960         `redisplay_redraw_cursor' on it.
7961
7962 2001-01-08  Martin Buchholz <martin@xemacs.org>
7963
7964         * XEmacs 21.2.40 is released.
7965
7966 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7967
7968         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7969
7970 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7971
7972         * alloc.c (dbg_valmask): Make const.
7973         * alloc.c (dbg_typemask): Make const.
7974         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7975         * alloc.c (dbg_valbits): Make const.
7976         * alloc.c (dbg_gctypebits): Make const.
7977
7978 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7979
7980         * redisplay-x.c (x_bevel_area):
7981         redisplay.h (struct rune):
7982         Typo fixes in comments.
7983
7984 2001-01-05  Andy Piper  <andy@xemacs.org>
7985
7986         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7987         adjustment.
7988
7989         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7990
7991 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7992
7993         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7994
7995         * mule-ccl.c (stack_idx_of_map_multiple):
7996         Non const global data must not be initialized!
7997         Found by MIYASHITA Hisashi.
7998
7999 2001-01-02  Andy Piper  <andy@xemacs.org>
8000
8001         * frame.c (change_frame_size): make sure frame size is always
8002         marked as changed.
8003
8004         * glyphs.c (image_instance_layout): minor code reuse.
8005
8006         * window.c (Fcurrent_window_configuration): revert previous
8007         change.
8008
8009 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8010
8011         * glyphs.h:
8012         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8013
8014 2000-12-31  Andy Piper  <andy@xemacs.org>
8015
8016         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8017         when widget gets unmapped.
8018
8019         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8020         function. Make sure widgets losing focus don't just drop it.
8021         (handle_focus_event_1): record the widget with focus.
8022
8023 2000-12-31  Andy Piper  <andy@xemacs.org>
8024
8025         * window.c (allocate_window): use
8026         make_image_instance_cache_hash_table.
8027         (make_dummy_parent): ditto.
8028         (Fset_window_configuration): ditto.
8029
8030         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8031
8032         * glyphs.c (process_image_string_instantiator): use
8033         INSTANTIATOR_TYPE.
8034         (get_image_instantiator_governing_domain): ditto.
8035         (normalize_image_instantiator): ditto.
8036         (instantiate_image_instantiator): ditto.
8037         (make_image_instance_1): ditto.
8038         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8039         (instantiator_eq_equal): new function for use with instance hash
8040         tables.
8041         (instantiator_eq_hash): ditto.
8042         (make_image_instance_cache_hash_table): create a suitable hash
8043         table for storing image instances.
8044
8045         * elhash.h (hash_table_weakness): new internal weakness type
8046         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8047         declare new functions.
8048
8049         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8050         another weakness type for glyphs.
8051         (make_standard_lisp_hash_table): new function split out from
8052         make_general_lisp_hash_table.
8053         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8054         (hash_table_instantiate): ditto.
8055         (Fmake_hash_table): ditto.
8056
8057 2000-12-31  Martin Buchholz <martin@xemacs.org>
8058
8059         * XEmacs 21.2.39 is released.
8060
8061 2000-12-29  Andy Piper  <andy@xemacs.org>
8062
8063         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8064
8065         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8066         the frame has changed so that we pick up geometry changes such as
8067         menubar visibility.
8068
8069 2000-12-28  Andy Piper  <andy@xemacs.org>
8070
8071         * lastfile.c (my_ebss): make a char array so we can pad the
8072         bss. Fixes cygwin unexec.
8073
8074         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8075
8076 2000-12-26  Andy Piper  <andy@xemacs.org>
8077
8078         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8079         comments and try and be more precise about a non-/SIGIO world.
8080         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8081         SIGIO.
8082
8083         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8084         we don't normalize to zero width or height.
8085
8086 2000-12-24  Andy Piper  <andy@xemacs.org>
8087
8088         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8089
8090 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8091
8092         * s/sco5.h: SCO 5 has pty support.
8093
8094 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8095
8096         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8097         input-method-xlib.c contains whole contents of input-method-xfs.c,
8098         so we can use input-method-xlib.c's code for USE_XFONTSET
8099         using #ifdefs.
8100         * input-method-xfs.c: removed.
8101
8102 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8103
8104         * file-coding.h (enum coding_category_type): reorder enumerators to
8105         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8106         (now one greater than largest real coding_category_type enumerator).
8107         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8108         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8109         Fcoding_category_list, Fset_coding_priority_list,
8110         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8111         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8112
8113 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8114
8115         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8116         * redisplay-output.c (redisplay_output_window): Clear top of window
8117         when face is changed.
8118         * redisplay-x.c (x_redraw_exposed_window): Call
8119         redisplay_clear_top_of_window.
8120         * redisplay.h: Publish redisplay_clear_top_of_window.
8121
8122 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8123
8124         * buffer.c (Fkill_buffer): Map over all devices.
8125         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8126         (list_windows): New function.
8127         (list_all_windows): Ditto.
8128         (Freplace_buffer_in_windows): Use them.
8129
8130 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8131
8132         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8133         (Fopen_database): Use `db_create' instead of `db_open'.
8134         (syms_of_database): Initialize Qqueue.
8135
8136 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8137
8138         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8139         buffer_local_face_property.
8140         * buffer.h (struct buffer): New member buffer_local_face_property.
8141         * window.c (Fset_window_buffer):  Mark window's face as changed
8142         when buffer has buffer local face.
8143         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8144         * objects.c (color_after_change): Set buffer_local_face_property
8145         when locale of face specifier is buffer.
8146         * objects.c (font_after_change): Ditto.
8147         * objects.c (face_boolean_after_change): Ditto.
8148         * glyphs.c (image_after_change): Ditto.
8149
8150 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8151
8152         * nt.c (mswindows_fstat): Report file permissions, volume serial
8153         number, etc. Code adapted from FSF Emacs 20.7.
8154
8155 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8156
8157         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8158         of stat when we don't have symbolic links, to make sure
8159         mswindows_stat is called on mswindows.
8160
8161 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8162
8163         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8164
8165 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8166
8167         * doprnt.c (emacs_doprnt_1): More printing fixes.
8168         Make printing of numbers compatible with libc and FSF Emacs.
8169         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8170         Use the system printf to do most of the hard work of formatting,
8171         instead of doprnt_1().
8172         Calculate memory to allocate for format string.
8173         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8174         (doprnt_1): Cleaner code and documentation.
8175
8176 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8177
8178         * Makefile.in.in: Use the loop variable to install headers.
8179
8180 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8181
8182         * window.c (Fsplit_window): Don't invalidate face cache.
8183
8184 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8185
8186         * minibuf.c (Fall_completions): Undo the previous change
8187         which removed checking elements start with space.
8188
8189 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8190
8191         * mule-canna.c: Didier suppression.
8192
8193 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8194
8195         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8196         (warning suppression).  Add English comment translations.
8197
8198 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8199
8200         * unexelfsgi.c (unexec): Better test for mmap failure.
8201
8202 2000-12-05  Martin Buchholz <martin@xemacs.org>
8203
8204         * XEmacs 21.2.38 is released.
8205
8206 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8207
8208         * redisplay.c (bar-cursor): Make a user variable.
8209
8210         * symsinit.h: Add init_postgresql_from_environment.
8211
8212 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8213
8214         * regex.c: Convert to clean C.
8215
8216 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8217
8218         * realpath.c:
8219         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8220         initialization.
8221         (sys_readlink): renamed to system_readlink to avoid conflict with
8222         the other sys_readlink.
8223
8224 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8225
8226         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8227
8228 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8229
8230         * postgresql.c (init_postgresql_from_environment): new function.
8231         (vars_of_postgresql): Move code initializing Lisp variables out and
8232         into init_postgresql_from_environment.
8233         emacs.c (main_1): Call init_postgresql_from_environment if and only
8234         if running a dumped XEmacs.
8235
8236 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8237
8238         * buffer.c: Make find-file-compare-truenames default to true on
8239         windows.
8240
8241         * realpath.c (win32_abs_start):
8242         (cygwin_readlink):
8243         (win32_readlink): New functions.
8244         (xrealpath): Return really real filenames on windows.
8245
8246         * fileio.c (Ffile_truename): Make file-truename work on windows.
8247
8248 2000-11-29  Didier Verna  <didier@xemacs.org>
8249
8250         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8251         * faces.c (update_face_cachel_data): use it.
8252         * faces.c (add_face_cachel): use it. Complete background pixmap
8253         frobbing in face cache if `update_face_cachel_data' has not done so.
8254
8255 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8256
8257         * search.c (string_match_1): Don't set last_thing_searched
8258         when search failed.
8259
8260 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8261
8262         * buffer.c: Include casetab.h
8263         (common_init_complex_vars_of_buffer): Use new case-table object.
8264         * buffer.h: Include casetab.h
8265         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8266         (DOWNCASE_TABLE_OF): Ditto.
8267         * bufslots.h: Remove char-tables and add case-table.
8268         * casetab.c: Include casetab.h
8269         (CASE_TABLE_P): Removed.
8270         (mark_case_table): New function.
8271         (allocate_case_table): New function.
8272         (Fcase_table_p): Use new case-table.
8273         (case_table_char): New function.
8274         (Fget_case_table): Ditto.
8275         (Fput_case_table): Ditto.
8276         (Fput_case_table_pair): Ditto.
8277         (Fcopy_case_table): Ditto.
8278         (Fcurrent_case_table): Return case-table.
8279         (Fstandard_case_table): Return case-table.
8280         (Fset_case_table): Fix doc-string.
8281         (set_case_table): Use case-table
8282         (syms_of_casetab): DEFSUBR new functions.
8283         (complex_vars_of_casetab): Set up standard case-table.
8284         * casetab.h: New file.
8285         * editfns.c: Include casetab.h
8286         (Fcompare_buffer_substrings): Use case-table.
8287         * inline.c: Include casetab.h
8288         * lisp.h: Remove bogus extern.
8289         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8290         * search.c: Include casetab.h
8291         (TRANSLATE_ASCII): Removed.
8292         (TRANSLATE): Unconditionally translate character.
8293         (looking_at_1): Use case-table.
8294         (string_match_1): Ditto.
8295         (fast_string_match): Ditto.
8296         (search_command): Ditto.
8297         (search_buffer): Separate boyer_moore.  Check whether
8298         boyer_moore is possible.
8299         (simple_search): New function.
8300         (boyer_moore): Separated from search_buffer. Translate char.
8301
8302 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8303
8304         * regex.c (RE_TR_ASCII): Removed.
8305         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8306         (PATFETCH): Call PATFETCH_RAW.
8307         (PATFETCH_RAW): Fetch Emchar.
8308         (PATUNFETCH): Decrement charptr.
8309         (GET_BUFFER_SPACE): Rename b to buf_end.
8310         (BUF_PUSH): Ditto.
8311         (BUF_PUSH_2): Ditto.
8312         (BUF_PUSH_3): Ditto.
8313         (EXTEND_BUFFER): Ditto.
8314         (SET_LIST_BIT): Ditto.
8315         (regex_compile): Ditto.  Translate non ASCII char.
8316         (compile_range): Ditto.
8317         (re_search_2): Ditto.
8318         (re_match_2_internal): Compare Emchar.
8319         (bcmp_translate): Ditto.
8320
8321 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8322
8323         * lisp.h (basic char/int typedefs):  comment improvement.
8324
8325 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8326
8327         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8328         unstomp inhibit_site_lisp.  Improve comments.
8329
8330 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8331
8332         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8333
8334 2000-11-28  Andy Piper  <andy@xemacs.org>
8335
8336         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8337         clipped display for windows in the gutter also.
8338         (redisplay_display_boxes_in_window_p): change semantics of return
8339         codes to be more intuitive.
8340
8341         * gutter.h: declare display_boxes_in_gutter_p.
8342
8343         * gutter.c (display_boxes_in_gutter_p): new function for
8344         redisplay.
8345
8346 2000-11-22  Andy Piper  <andy@xemacs.org>
8347
8348         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8349         autodetect domain.
8350
8351 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8352
8353         * callproc.c (Fold_call_process_internal):
8354         * gpm.c (Freceive_gpm_event):
8355         (tty_get_foreign_selection): Might be just warning supression.
8356         * fileio.c (Fwrite_region_internal):
8357         (Fset_visited_file_modtime):
8358         * keymap.c (event_matches_key_specifier_p):
8359         Initialize GCPROed variable.
8360
8361         * menubar-x.c (command_builder_find_menu_accelerator):
8362         Initialize before use.
8363
8364 2000-11-23  Andy Piper  <andy@xemacs.org>
8365
8366         * unexcw.c (unexec): make the resulting executable executable.
8367
8368 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8369
8370         * doc.c (get_doc_string):
8371         Use size_t, not int, for result of XSTRING_LENGTH.
8372
8373         * cmds.c (Fdelete_char):
8374         * cmds.c (Fpoint_at_eol):
8375         * cmds.c (Fself_insert_command):
8376         Use EMACS_INT, not int, for result of XINT.
8377         Someday, someone will want to insert more than 2**31 identical characters.
8378
8379         * cmds.c (Fdelete_char):
8380         * cmds.c (Fdelete_backward_char):
8381         * syntax.c (Fforward_word):
8382         * syntax.c (Fforward_comment):
8383         Make COUNT argument optional, for consistency with forward-char et al.
8384
8385 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8386
8387         * lisp.h:
8388         * print.c (long_to_string):
8389         Return a useful value: the pointer at end of data written.
8390
8391         * doprnt.c:
8392         Use `static const char * const' for constant strings.
8393         (union printf_arg): Delete `i', `ui' members.
8394         (get_doprnt_args):
8395         (emacs_doprnt_1):
8396         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8397         Do all printf-ing via the `l' specifier.
8398         Use EMACS_INT instead of int.
8399         Optimize.
8400
8401 2000-11-20  Didier Verna  <didier@xemacs.org>
8402
8403         * faces.c (update_face_cachel_data): don't frob the background
8404         pixmap when the window is being created. The face is needed but
8405         does not exist yet.
8406
8407 2000-11-20  Andy Piper  <andy@xemacs.org>
8408
8409         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8410         messing with a debug environment.
8411
8412 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8413
8414         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8415
8416 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8417
8418         * casetab.c (Fcase_table_p): Fix compile error and crash.
8419
8420 2000-11-18  Philip Aston  <philipa@mail.com>
8421
8422         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8423
8424 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8425
8426         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8427         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8428
8429 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8430
8431         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8432         * unexelf.c: Use HAVE_ELF_H.
8433         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8434         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8435         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8436         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8437         for testing.
8438         So this is an unexelfsgi.c from a different line of development.
8439
8440 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8441
8442         * regex.c (RE_TR_ASCII): New function.
8443         (RE_TRANSLATE): Call it.
8444
8445 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8446
8447         * buffer.h (TRT_TABLE_OF): Remove assert.
8448         (IN_TRT_TABLE_DOMAIN): Removed.
8449
8450 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8451
8452         * free-hook.c (log_gcpro):
8453         (show_gcprohist): Add support for GCPRO5.
8454
8455 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8456
8457         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8458
8459 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8460
8461         * symeval.h: Declare flush_all_buffer_local_cache.
8462
8463         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8464         (flush_buffer_local_cache): Added.
8465         (flush_all_buffer_local_cache): Added.
8466
8467         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8468
8469         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8470         (pdump_dump_data): Ditto.
8471         (pdump_reloc_one): Ditto.
8472         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8473         before dumping.
8474
8475
8476 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8477
8478         * buffer.c: Remove if 0'ed entry.
8479         * buffer.h: Rewrite TRT to use char-table.
8480         * bufslots.h: Remove mirror tables.
8481         * casetab.c: Remove mirror tables.
8482         (CASE_TABLE_P): New macro.
8483         (Fcase_table_p): Element of a case table is string or char-table.
8484         (make_mirror_trt_table): Removed.
8485         (set_case_table): Setup char-table from strings for backward
8486         compatibility.
8487         * dired.c (Fdirectory_files):
8488         * dired-msw.c: (mswindows_get_files):
8489         * lisp.h: Change prototype of re_pattern_buffer.
8490         * regex.c: (RE_TRANSLATE): New macro.
8491         (TRANSLATE_P): Ditto.
8492         Change translate to type RE_TRANSLATE_TYPE.
8493         * regex.h: Define RE_TRANSLATE_TYPE
8494         * search.c (TRANSLATE): New macro.
8495         (TRANSLATE_ASCII): New macro.
8496         Translate table is changed to Lisp_Object.
8497         (signal_failure): Inhibit return.
8498
8499 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8500
8501         * device-msw.c:
8502         * eldap.c:
8503         * event-Xt.c:
8504         * event-stream.c:
8505         * print.c:
8506         Do UNGCPRO before return.
8507
8508 2000-11-14  Martin Buchholz <martin@xemacs.org>
8509
8510         * XEmacs 21.2.37 is released.
8511
8512 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8513
8514         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8515         Add comments about discarded return value.
8516
8517 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8518
8519         * callint.c:
8520         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8521
8522 2000-10-27  Andy Piper  <andy@xemacs.org>
8523
8524         * gutter.c (Fset_default_gutter_position): default left and right
8525         gutters to visible.
8526         (calculate_gutter_size): calculate resonable heuristic for left
8527         and right gutter sizes.
8528         (specifier_vars_of_gutter): change left and right gutter sizes to
8529         autodetect.
8530         (calculate_gutter_size_from_display_lines): new function.
8531         (output_gutter): check for resizing on left and right gutters.
8532         (clear_gutter): don't special case top and left gutters.
8533         (specifier_vars_of_gutter): use new signature for
8534         set_specifier_caching.
8535
8536         * glyphs-x.c (x_redisplay_widget): spelling fix.
8537         * glyphs.c (specifier_vars_of_glyphs):
8538         * menubar.c (specifier_vars_of_menubar):
8539         * redisplay.c (specifier_vars_of_redisplay):
8540         * toolbar.c (specifier_vars_of_toolbar):
8541         * window.c (specifier_vars_of_window):
8542         * scrollbar.c (specifier_vars_of_scrollbar):
8543         (complex_vars_of_scrollbar): use new signature for
8544         set_specifier_caching.
8545
8546         * specifier.c (set_specifier_caching): include recompute flag.
8547         (recompute_one_cached_specifier_in_window): always recompute if
8548         flag set.
8549         (recompute_one_cached_specifier_in_frame): ditto.
8550
8551         * specifier.h (struct specifier_caching): add recompute flag.
8552
8553 2000-10-24  Andy Piper  <andy@xemacs.org>
8554
8555         * unexcw.c (copy_executable_and_dump_data_section): add new
8556         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8557         5.0 happy.
8558
8559 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8560
8561         * console-x.h (x_device): New member modifier_release_time.
8562         * event-Xt.c (x_handle_sticky_modifiers):
8563         Bound interval modifier keys are sticky.
8564         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8565         * events.h: extern it.
8566
8567 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8568
8569         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8570
8571 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8572
8573         * event-stream.c (execute_command_event): Preserve current_events
8574         and the like when event is misc-user-event.
8575         Inhibit quit during the call to maybe_echo_keys.
8576
8577 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8578
8579         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8580         symlink when buffer is killed.
8581         (inhibit_clash_detection): New variable.
8582
8583 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8584
8585         * console.c (Fset_input_method): Trigger redisplay on tty.
8586
8587 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8588
8589         * process.c (Fprocess_status): Revert to previous behavior:
8590         (process-status "nosuchprocess") ==> nil
8591
8592 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8593
8594         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8595         Work around another GCC 2.95.2 optimizer bug.
8596
8597 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8598
8599         * process.c (Fget_process): Use LIST_LOOP_2.
8600         (kill_buffer_processes): Use LIST_LOOP_2.
8601
8602         * minibuf.c (Fall_completions):
8603         Delete old non-functional code for FSF fourth argument.
8604
8605         * frame.c (frame_matches_frame_spec):
8606         Renamed from `frame_matches_frametype'.  Update all callers.
8607         (device_matches_device_spec):
8608         Renamed from 'device_matches_console_spec'.  Update all callers.
8609
8610         * doc.c (Fsubstitute_command_keys):
8611         Remove buffer overflow crash.  Small code cleanups.
8612
8613         * casetab.c (check_case_table): Simpler code.
8614
8615         * window.c (Freplace_buffer_in_windows):
8616         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8617         (and similar implementation) as Fdelete_windows_on.
8618         Update all callers.
8619
8620         * alloc.c (Fmake_list):
8621         * alloc.c (make_vector):
8622         * alloc.c (Fmake_vector):
8623         * alloc.c (make_bit_vector):
8624         * alloc.c (Fmake_bit_vector):
8625         * alloc.c (Fbit_vector):
8626         * alloc.c (Fmake_string):
8627         * alloc.c (Fpurecopy):
8628         * alloc.c (Fmemory_limit):
8629         * buffer.c:
8630         * buffer.c (Fget_buffer):
8631         * buffer.c (Fkill_buffer):
8632         * buffer.c (complex_vars_of_buffer):
8633         * bytecode.c (Fcompiled_function_stack_depth):
8634         * callint.c (Fprefix_numeric_value):
8635         * event-stream.c:
8636         * event-stream.c (Fread_key_sequence):
8637         * casetab.c:
8638         * casetab.c (Fcase_table_p):
8639         * casetab.c (check_case_table):
8640         * casetab.c (Fset_case_table):
8641         * casetab.c (Fset_standard_case_table):
8642         * chartab.c:
8643         * chartab.c (Fchar_table_type):
8644         * chartab.c (Freset_char_table):
8645         * chartab.c (Fget_char_table):
8646         * chartab.c (Fget_range_char_table):
8647         * chartab.c (Fput_char_table):
8648         * chartab.c (Fmap_char_table):
8649         * chartab.c (Fcategory_table_p):
8650         * chartab.c (Fcheck_category_at):
8651         * chartab.c (Fchar_in_category_p):
8652         * chartab.c (Fcategory_table):
8653         * chartab.c (Fcopy_category_table):
8654         * chartab.c (Fset_category_table):
8655         * chartab.c (Fcategory_designator_p):
8656         * chartab.c (Fcategory_table_value_p):
8657         * cmds.c (Fdelete_char):
8658         * cmds.c (Fdelete_backward_char):
8659         * cmds.c (Fself_insert_command):
8660         * cmds.c (Fself_insert_internal):
8661         * console.c (Fvalid_console_type_p):
8662         * console.c (Fcdfw_console):
8663         * console.c (Fconsole_type):
8664         * console.c (Fconsole_name):
8665         * console.c (Fconsole_device_list):
8666         * console.c (Fconsole_on_window_system_p):
8667         * data.c:
8668         * data.c (Feq):
8669         * data.c (Fold_eq):
8670         * data.c (Fsubr_interactive):
8671         * data.c (Fchar_to_int):
8672         * data.c (Fint_to_char):
8673         * data.c (Fsetcar):
8674         * data.c (Fsetcdr):
8675         * data.c (Fnumber_to_string):
8676         * data.c (Fstring_to_number):
8677         * data.c (Frem):
8678         * database.c (mark_database):
8679         * database.c (finalize_database):
8680         * database.c (Fdatabase_live_p):
8681         * database.c (Fdatabasep):
8682         * device-x.c (Fx_get_resource):
8683         * device.c (Fdfw_device):
8684         * dired.c:
8685         * dired.c (Ffile_name_completion):
8686         * dired.c (Ffile_name_all_completions):
8687         * dired.c (Fuser_name_completion):
8688         * dired.c (Fuser_name_completion_1):
8689         * dired.c (Fuser_name_all_completions):
8690         * doc.c (Fdocumentation):
8691         * doc.c (Fdocumentation_property):
8692         * doc.c (Fsubstitute_command_keys):
8693         * editfns.c:
8694         * editfns.c (Fchar_to_string):
8695         * editfns.c (Fstring_to_char):
8696         * editfns.c (Ftemp_directory):
8697         * editfns.c (Finsert_char):
8698         * editfns.c (Fbuffer_substring_no_properties):
8699         * editfns.c (Fnarrow_to_region):
8700         * editfns.c (Fchar_equal):
8701         * editfns.c (Fchar_Equal):
8702         * editfns.c (Ftranspose_regions):
8703         * emacs.c (Fdump_emacs):
8704         * eval.c (Fthrow):
8705         * eval.c (Fcommand_execute):
8706         * eval.c (Fautoload):
8707         * eval.c (Fbacktrace):
8708         * eval.c (Fbacktrace_frame):
8709         * events.c:
8710         * events.c (Fcopy_event):
8711         * events.c (Fcharacter_to_event):
8712         * events.c (Fevent_button):
8713         * events.c (Fevent_process):
8714         * extents.c:
8715         * extents.c (Fnext_extent_change):
8716         * extents.c (Fextent_property):
8717         * faces.c (Ffacep):
8718         * faces.c (Fmake_face):
8719         * file-coding.c:
8720         * file-coding.c (Fencode_shift_jis_char):
8721         * file-coding.c (Fencode_big5_char):
8722         * fileio.c (Ffile_name_directory):
8723         * fileio.c (Ffile_name_nondirectory):
8724         * fileio.c (Ffile_name_as_directory):
8725         * fileio.c (Fdirectory_file_name):
8726         * fileio.c (Ffile_truename):
8727         * fileio.c (Fsubstitute_in_file_name):
8728         * fileio.c (Ffile_modes):
8729         * fileio.c (Fset_file_modes):
8730         * fileio.c (Fset_default_file_modes):
8731         * fileio.c (Fverify_visited_file_modtime):
8732         * floatfns.c (Facos):
8733         * floatfns.c (Fasin):
8734         * floatfns.c (Fatan):
8735         * floatfns.c (Fcos):
8736         * floatfns.c (Fsin):
8737         * floatfns.c (Ftan):
8738         * floatfns.c (Fbessel_j0):
8739         * floatfns.c (Fbessel_j1):
8740         * floatfns.c (Fbessel_jn):
8741         * floatfns.c (Fbessel_y0):
8742         * floatfns.c (Fbessel_y1):
8743         * floatfns.c (Fbessel_yn):
8744         * floatfns.c (Ferf):
8745         * floatfns.c (Ferfc):
8746         * floatfns.c (Flog_gamma):
8747         * floatfns.c (Fexp):
8748         * floatfns.c (Fexpt):
8749         * floatfns.c (Flog):
8750         * floatfns.c (Flog10):
8751         * floatfns.c (Fsqrt):
8752         * floatfns.c (Fcube_root):
8753         * floatfns.c (Facosh):
8754         * floatfns.c (Fasinh):
8755         * floatfns.c (Fatanh):
8756         * floatfns.c (Fcosh):
8757         * floatfns.c (Fsinh):
8758         * floatfns.c (Ftanh):
8759         * floatfns.c (Fabs):
8760         * floatfns.c (Ffloat):
8761         * floatfns.c (Flogb):
8762         * floatfns.c (Fceiling):
8763         * floatfns.c (Ffloor):
8764         * floatfns.c (Fround):
8765         * floatfns.c (Ftruncate):
8766         * floatfns.c (Ffceiling):
8767         * floatfns.c (Fffloor):
8768         * floatfns.c (Ffround):
8769         * floatfns.c (Fftruncate):
8770         * fns.c (Fstring_equal):
8771         * fns.c (Fstring_lessp):
8772         * fns.c (concat2):
8773         * fns.c (concat3):
8774         * fns.c (vconcat2):
8775         * fns.c (vconcat3):
8776         * fns.c (Fsubstring):
8777         * fns.c (Fassoc):
8778         * fns.c (Fold_assoc):
8779         * fns.c (assoc_no_quit):
8780         * fns.c (Fassq):
8781         * fns.c (Fold_assq):
8782         * fns.c (assq_no_quit):
8783         * fns.c (Frassoc):
8784         * fns.c (Fold_rassoc):
8785         * fns.c (Frassq):
8786         * fns.c (Fold_rassq):
8787         * fns.c (rassq_no_quit):
8788         * fns.c (Fremassoc):
8789         * fns.c (remassoc_no_quit):
8790         * fns.c (Fremassq):
8791         * fns.c (remassq_no_quit):
8792         * fns.c (Fremrassoc):
8793         * fns.c (Fremrassq):
8794         * fns.c (remrassq_no_quit):
8795         * fns.c (Fsort):
8796         * fns.c (Fplist_get):
8797         * fns.c (Fplist_put):
8798         * fns.c (Fplist_remprop):
8799         * fns.c (Fplist_member):
8800         * fns.c (Flax_plist_get):
8801         * fns.c (Flax_plist_put):
8802         * fns.c (Flax_plist_remprop):
8803         * fns.c (Flax_plist_member):
8804         * fns.c (Fequal):
8805         * fns.c (Fold_equal):
8806         * fns.c (Frequire):
8807         * fns.c (Fbase64_encode_region):
8808         * fns.c (Fbase64_encode_string):
8809         * fns.c (Fbase64_decode_region):
8810         * frame.c:
8811         * frame.c (frame_matches_frame_spec):
8812         * frame.c (device_matches_device_spec):
8813         * frame.c (next_frame):
8814         * frame.c (previous_frame):
8815         * frame.c (Fnext_frame):
8816         * frame.c (Fprevious_frame):
8817         * frame.c (Fframe_property):
8818         * frame.c (Fset_frame_height):
8819         * frame.c (Fset_frame_size):
8820         * frame.h:
8821         * glyphs.c:
8822         * glyphs.c (if):
8823         * glyphs.c (decode_error_behavior_flag):
8824         * glyphs.c (Fmake_image_instance):
8825         * indent.c (Findent_to):
8826         * intl.c (Fignore_defer_gettext):
8827         * keymap.c (Fkeymapp):
8828         * keymap.c (Flookup_key):
8829         * lread.c:
8830         * lread.c (Fload_internal):
8831         * lread.c (Feval_buffer):
8832         * lread.c (Feval_region):
8833         * macros.c (Fexecute_kbd_macro):
8834         * marker.c (set_marker_internal):
8835         * marker.c (Fset_marker):
8836         * marker.c (set_marker_restricted):
8837         * marker.c (Fcopy_marker):
8838         * marker.c (noseeum_copy_marker):
8839         * menubar.c:
8840         * menubar.c (Fpopup_menu):
8841         * minibuf.c:
8842         * mule-charset.c (Fcharset_name):
8843         * mule-charset.c (Fchar_charset):
8844         * mule-charset.c (Fchar_octet):
8845         * mule-charset.c (Fsplit_char):
8846         * mule-wnnfns.c (Fwnn_open):
8847         * mule-wnnfns.c (Fwnn_dict_comment):
8848         * mule-wnnfns.c (Fwnn_quit_henkan):
8849         * mule-wnnfns.c (Fwnn_word_toroku):
8850         * mule-wnnfns.c (Fwnn_word_sakujo):
8851         * mule-wnnfns.c (Fwnn_word_use):
8852         * mule-wnnfns.c (Fwnn_hindo_set):
8853         * objects.c:
8854         * objects.c (Fmake_color_instance):
8855         * objects.c (Fmake_font_instance):
8856         * print.c (Fwrite_char):
8857         * process.c:
8858         * process.c (mark_process):
8859         * process.c (print_process):
8860         * process.c (get_process_from_usid):
8861         * process.c (Fprocessp):
8862         * process.c (Fprocess_live_p):
8863         * process.c (Fget_process):
8864         * process.c (Fget_buffer_process):
8865         * process.c (get_process):
8866         * process.c (Fprocess_id):
8867         * process.c (Fprocess_name):
8868         * process.c (Fprocess_command):
8869         * process.c (init_process_io_handles):
8870         * process.c (start_process_unwind):
8871         * process.c (Fstart_process_internal):
8872         * process.c (Fopen_multicast_group_internal):
8873         * process.c (Fset_process_window_size):
8874         * process.c (read_process_output):
8875         * process.c (send_process):
8876         * process.c (Fprocess_tty_name):
8877         * process.c (Fset_process_buffer):
8878         * process.c (Fprocess_buffer):
8879         * process.c (Fprocess_mark):
8880         * process.c (set_process_filter):
8881         * process.c (Fset_process_filter):
8882         * process.c (Fprocess_filter):
8883         * process.c (Fprocess_send_region):
8884         * process.c (Fprocess_send_string):
8885         * process.c (exec_sentinel):
8886         * process.c (Fset_process_sentinel):
8887         * process.c (Fprocess_sentinel):
8888         * process.c (status_notify):
8889         * process.c (Fprocess_status):
8890         * process.c (Fprocess_exit_status):
8891         * process.c (process_send_signal):
8892         * process.c (Fprocess_send_eof):
8893         * process.c (deactivate_process):
8894         * process.c (remove_process):
8895         * process.c (Fdelete_process):
8896         * process.c (kill_buffer_processes):
8897         * process.c (Fprocess_kill_without_query):
8898         * process.c (Fprocess_kill_without_query_p):
8899         * rangetab.c:
8900         * rangetab.c (Fget_range_table):
8901         * rangetab.c (Fput_range_table):
8902         * rangetab.c (Fremove_range_table):
8903         * rangetab.c (Fclear_range_table):
8904         * search.c:
8905         * search.c (Fskip_chars_forward):
8906         * search.c (Fskip_chars_backward):
8907         * search.c (Fskip_syntax_forward):
8908         * search.c (Fskip_syntax_backward):
8909         * search.c (search_command):
8910         * search.c (Freplace_match):
8911         * search.c (Fregexp_quote):
8912         * select.c (Fown_selection_internal):
8913         * select.c (Fselection_owner_p):
8914         * select.c (Fselection_exists_p):
8915         * select.c (Fget_selection_internal):
8916         * specifier.c:
8917         * symbols.c:
8918         * symbols.c (Fintern):
8919         * symbols.c (Fintern_soft):
8920         * symbols.c (Funintern):
8921         * symbols.c (Fapropos_internal):
8922         * symbols.c (Fset_default):
8923         * syntax.c:
8924         * syntax.c (Fsyntax_table_p):
8925         * syntax.c (Fcopy_syntax_table):
8926         * syntax.c (Fset_syntax_table):
8927         * syntax.c (Fchar_syntax):
8928         * syntax.c (syntax_match):
8929         * syntax.c (Fmatching_paren):
8930         * syntax.c (Fforward_word):
8931         * syntax.c (scan_lists):
8932         * syntax.c (Fscan_lists):
8933         * syntax.c (Fscan_sexps):
8934         * syntax.c (Fparse_partial_sexp):
8935         * toolbar.c (Fcheck_toolbar_button_syntax):
8936         * tooltalk.doc:
8937         * window.c:
8938         * window.c (Fwindowp):
8939         * window.c (Fwindow_live_p):
8940         * window.c (Fwindow_point):
8941         * window.c (Fdelete_window):
8942         * window.c (Fnext_window):
8943         * window.c (Fprevious_window):
8944         * window.c (Fother_window):
8945         * window.c (window_loop):
8946         * window.c (Fget_lru_window):
8947         * window.c (Fsplit_window):
8948         * window.c (Fenlarge_window):
8949         * window.c (Fenlarge_window_pixels):
8950         * window.c (Fshrink_window):
8951         * window.c (Fshrink_window_pixels):
8952         * window.c (change_window_height):
8953         * window.c (Fwindow_configuration_p):
8954         * window.c (Fcurrent_window_configuration):
8955         * window.h:
8956         * casefiddle.c (casify_object):
8957         * casefiddle.c (Fupcase):
8958         * casefiddle.c (Fdowncase):
8959         * casefiddle.c (Fcapitalize):
8960         * casefiddle.c (Fupcase_initials):
8961         * casefiddle.c (casify_region_internal):
8962         * casefiddle.c (casify_region):
8963         * casefiddle.c (Fupcase_region):
8964         * casefiddle.c (Fdowncase_region):
8965         * casefiddle.c (Fcapitalize_region):
8966         * casefiddle.c (Fupcase_initials_region):
8967         * casefiddle.c (Fupcase_word):
8968         * casefiddle.c (Fdowncase_word):
8969         * casefiddle.c (Fcapitalize_word):
8970         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8971         Replace 0 with '\0' when working with bytes.
8972         Replace initial "(" with "\(" in docstrings.
8973
8974 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8975
8976         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8977
8978         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8979
8980 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8981
8982         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8983
8984 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8985
8986         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8987         correctly.
8988
8989 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8990
8991         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8992         (inhibit_auto_save_session): New variable.
8993         (vars_of_fileio): Declare and initialize them.
8994         * fileio.c (Fdo_auto_save): Don't create session file if
8995         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8996
8997 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8998
8999         * sgiplay.c (play_internal): C++ compilability.
9000         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9001         * callproc.c (Fold_call_process_internal):
9002         Remove unused vars `env', `first'.
9003         * scrollbar.c (update_scrollbar_instance):
9004         #### unused var `current_window'.
9005         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9006         etc. within #ifdef NOT_YET.
9007         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9008         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9009         * specifier.c (specifier_instance):
9010         #### unused var `tag'.
9011         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9012
9013 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9014
9015         * fns.c (Fbutlast):
9016         * fns.c (list_sort):
9017         * fns.c (Ffillarray):
9018         * fns.c (bytecode_nconc2):
9019         * fns.c (Fnconc):
9020         * fns.c (mapcar1):
9021         * fns.c (Fmapconcat):
9022         Be pedantically 64-bit correct.  For the time when someone will
9023         want to have a list with length > 2**32.
9024
9025         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9026         Work around MIPSpro compiler bug.
9027
9028         * process-unix.c (unix_kill_child_process): Add snarky comment.
9029         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9030
9031         * config.h.in: Oops, _getpt ==> _getpty
9032
9033 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9034
9035         * config.h.in:
9036         * regex.c:
9037         Use void*, not char*, as return type of alloca().
9038
9039         * alloc.c (free_marker): Side effect inside assert expression!
9040
9041 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9042
9043         * mule-charset.c (Fset_charset_ccl_program): To check
9044         if the given ccl program is valid, use setup_ccl_program()
9045         instead of CHECK_VECTOR().
9046         (Fmake_charset): Likewise.
9047
9048 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9049
9050         * faces.c (get_extent_fragment_face_cache_index):
9051         Fix cachel.merged_faces memory leak.
9052
9053 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9054
9055         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9056         Reset MSB of octets obtained by DECODE_SJIS
9057         because of the incompatibility with Emacs.
9058         (ccl_driver)<CCL_ENCODE_SJIS>:
9059         Set MSB of octets before passing them to
9060         ENCODE_SJIS because of the incompatibility
9061         with Emacs.
9062
9063 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9064
9065         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9066         (DECLARE_LRECORD): Undo the last change.
9067         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9068
9069 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9070
9071         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9072         the implementation to lrecord_implementations_table.
9073
9074 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9075
9076         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9077         initial value of `lrecord_type_##c_name' and
9078         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9079         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9080         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9081         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9082         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9083
9084 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9085
9086         * miscplay.c (sndcnv8S_2mono):
9087         (sndcnv2monounsigned):
9088         (sndcnvULaw_2linear):
9089         (sndcnv16swap):
9090         Remove implementation-defined behavior.
9091
9092 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9093
9094         * input-method-xlib.c: Warning suppression.
9095
9096 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9097
9098         * mule-ccl.c: Sync up with Emacs 21.0.90.
9099         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9100         Do nothing.
9101         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9102         Likewise.
9103         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9104         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9105         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9106         leading char belongs to official 2-dimensional charset.
9107         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9108         write the given character as is.  Otherwise,
9109         if it is a multibyte char, convert it by
9110         non_ascii_set_charptr_emchar, then write it.
9111         (CCL_WRITE_STRING): Likewise.
9112         (ccl_get_compiled_code): New function.
9113         (setup_ccl_program): When ccl_prog is invalid,
9114         return -1.
9115         (Fregister_code_conversion_map): New function.
9116         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9117
9118         * mule-ccl.h: Sync up with Emacs 21.0.90.
9119         (Fregister_ccl_program): export it.
9120
9121         * redisplay-msw.c (separate_textual_runs):
9122         If ccl program is not valid, don't do ccl conversion.
9123
9124         * redisplay-x.c (separate_textual_runs): Ditto.
9125
9126         * file-coding.c (Fmake_coding_system):
9127         When type is ccl and value is vector, register it
9128         with a proper symbol.  And checks whether the
9129         given ccl program is valid.
9130         (mule_decode): When calling ccl_driver, if src indicates
9131         NULL pointer, set an empty string instead.
9132         (mule_encode): Likewise.
9133
9134 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9135
9136         The following large batch of changes gets us back to a state of
9137         C++ compilability.  Extbyte is now a char, which means that
9138         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9139
9140         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9141
9142         * sound.c (Fplay_sound): Type correctness.
9143
9144         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9145         (x_get_window_property): Type correctness.
9146         (receive_incremental_selection): unsigned char ==> Extbyte
9147         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9148         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9149         (Fx_store_cutbuffer_internal): Type correctness.
9150
9151         * process-unix.c (try_to_initialize_subtty): Type correctness.
9152
9153         * objects-x.c (x_print_color_instance): Type correctness.
9154         (x_print_font_instance): Type correctness.
9155         (x_list_fonts): SExtbyte ==> Extbyte.
9156         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9157         (x_find_charset_font): SExtbyte ==> Extbyte.
9158         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9159         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9160         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9161         Use bufbyte_strcmp.
9162
9163         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9164         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9165         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9166         (BYTE_C0_P): Use bit ops for char-signedness safety.
9167         (BYTE_C1_P): Use bit ops for char-signedness safety.
9168         (CHARSET_BY_LEADING_BYTE):
9169         (CHARSET_BY_ATTRIBUTES):
9170         Always use inline function.
9171         Use type_checking_assert.
9172         Hide chlook.
9173
9174         * mule-charset.c (non_ascii_charptr_copy_char):
9175         Modify to work with both ASCII and non-ASCII characters.
9176         Improve docs and variable names.
9177         Replace over-clever fall-through switch with a simple loop.
9178         (Lstream_get_emchar_1):
9179         Replace over-clever fall-through switch with a simple loop.
9180
9181         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9182         Warning suppression.
9183
9184         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9185         the return value of Lstream_getc, which could be EOF as well.
9186
9187         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9188
9189         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9190         APIs can be used on Extbytes without casts.  Risky!
9191         (SExtbyte): Remove.
9192         (UExtbyte): Remove.
9193
9194         * input-method-xlib.c (XIM_init_device):
9195         Use Xlib.h instead of IntrinsicP.h.
9196         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9197         which will break in X11R7.
9198         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9199         to call XRegisterIMInstantiateCallback with correct types.
9200
9201         * gui-x.c (button_item_to_widget_value): Type correctness.
9202
9203         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9204
9205         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9206         (xbm_instantiate_1): Type correctness.
9207         (BUILD_GLYPH_INST):  Type correctness.
9208
9209         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9210
9211         * file-coding.c:
9212         (decode_coding_sjis):
9213         (decode_coding_big5):
9214         (decode_coding_ucs4):
9215         (decode_coding_utf8):
9216         (decode_coding_iso2022):
9217         (decode_coding_no_conversion):
9218         Make all decoding functions take an Extbyte * arg.
9219         (encode_coding_sjis):
9220         (encode_coding_big5):
9221         (encode_coding_ucs4):
9222         (encode_coding_utf8):
9223         (encode_coding_iso2022):
9224         (encode_coding_no_conversion):
9225         Make all encoding functions take a Bufbyte * arg.
9226         Use size_t instead of unsigned int for memory sizes.
9227         Only cast to unsigned char whenever dereferencing Extbyte *.
9228
9229         * doc.c (unparesseuxify_doc_string): Type correctness.
9230
9231         * console-x.c (split_up_display_spec):
9232         Rewrite without using details of internal string representation.
9233         (x_semi_canonicalize_device_connection): Type correctness.
9234
9235         * config.h.in:
9236         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9237         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9238         (HAVE_XFREE386): Removed.
9239
9240         * buffer.h (DEC_CHARPTR): `const' correctness.
9241         (bufbyte_strcmp): New.
9242         (bufbyte_memcmp): New.
9243
9244         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9245
9246         * buffer.h (XCHAR_OR_CHAR_INT):
9247         Always use inline function.
9248         Remove redundant type checking assert() - XINT will abort quite nicely.
9249
9250 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9251
9252         * search.c (Freplace_match): Set newtext to an empty string.
9253
9254 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9255
9256         * s/decosf1-3.h: Remove #include of stropts.h
9257         * s/ptx.h: Remove #include of stropts.h
9258         * s/usg5-4.h: Remove #include of stropts.h
9259         * sysproc.h:
9260         * config.h.in:
9261         Use stropts.h, not sys/stropts.h.
9262         Use strtio.h, not sys/strtio.h.
9263
9264 2000-10-04  Martin Buchholz <martin@xemacs.org>
9265
9266         * XEmacs 21.2.36 is released.
9267
9268 2000-09-21  Andy Piper  <andy@xemacs.org>
9269
9270         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9271         changes still involve copying the widget tree.
9272         (update_widget_face): make sure a change is register in the widget
9273         tree. Call update_tab_widget_face appropriately.
9274         (update_tab_widget_face): ditto.
9275         (x_tab_control_redisplay): make sure non-structural changes still
9276         involve copying the widget tree.
9277
9278 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9279
9280         * lread.c (locate_file): Check the path element is non-nil.
9281
9282 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9283
9284         * lisp.h: Warning suppression for SCO compilers.
9285
9286         * redisplay-tty.c (reset_tty_modes): Fix crash.
9287         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9288
9289 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9290
9291         Big signal/process handling overhaul.  Bugs fixed:
9292         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9293         M-x comint-kill-subjob should work for both values nil and t of
9294         process-connection-type. It was broken on most platforms.
9295         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9296         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9297         * process-unix.c: Signal/Process handling overhaul.
9298         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9299         (allocate_pty): Use all available modern methods of allocating
9300         ptys, falling back to old style BSD allocation as a last resort.
9301         Use allegedly more secure Unix98 pty allocation by default.
9302         (allocate_pty_the_old_fashioned_way): New. the last resort.
9303         (unix_create_process): Push ptem, ldterm, ttcompat where
9304         available.  Autoconfiscate.
9305         (try_to_initialize_subtty): New.
9306         (unix_kill_child_process): Proper signal handling for ptys on most
9307         platforms, using special knowledge of AIX, BSD, etc...
9308         (unix_create_process): Always disconnect_controlling_terminal() for
9309         subprocesses, whether using ptys or not.
9310         * process.h: Remove old getpt-dependent PTY code.
9311         * process.c (Fprocess_send_signal): New, obvious generic function.
9312         (decode_signal): New.
9313         (Finterrupt_process):
9314         (Fkill_process):
9315         (Fquit_process):
9316         (Fstop_process):
9317         (Fcontinue_process):
9318         (Fsignal_process): Use decode_signal.
9319         (process_send_signal):
9320         Many docstring corrections.
9321         Allow any signal to be sent to a process object.
9322         * config.h.in: Add symbols for big signal/process overhaul.
9323         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9324         * sysproc.h: Include process-related headers, where available:
9325         sys/stropts.h sys/strtio.h pty.h libutil.h
9326         * s/irix4-0.h:
9327         * s/irix5-0.h:
9328         * s/cygwin32.h:
9329         * s/gnu.h:
9330         * s/linux.h:
9331         * s/hpux.h:
9332         * s/aix3-1.h:
9333         Remove old S&M pty stuff.
9334         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9335         * systty.h: Simplify cpp hackery, improve comments.
9336         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9337
9338         * editfns.c (Fformat_time_string):
9339         Be a little more paranoid with the return value of ctime.
9340
9341         * fileio.c (check_executable):
9342         (check_writable):
9343         Use symbolic constants X_OK, W_OK.
9344
9345         * console-x.c (split_up_display_spec): Fix a warning.
9346
9347 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9348
9349         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9350         * ntproc.c (sys_spawnve): make_string ==> build_string
9351         Small clarity improvements.
9352
9353 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9354
9355         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9356
9357         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9358
9359         * config.h.in (HAVE_STRCASECMP): Remove.
9360
9361 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9362
9363         * redisplay-output.c (redisplay_output_pixmap):
9364         Cleaner and possibly more 64-bit correct code.
9365
9366 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9367
9368         * dumper.c (pdump_load_finish): move restoration of
9369         `noninteractive1' to emacs.c (main_1).
9370         * emacs.c (main_1): protect LISP-visible command-line flags
9371         from pdump_load().
9372
9373 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9374
9375         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9376         DUMP_TARGET instead of literal program names.
9377
9378 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9379
9380         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9381
9382 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9383
9384         * *: Spelling mega-patch
9385
9386 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9387
9388         * fns.c (bad_bad_turtle):
9389         Delete "Eek!" comment, since we fixed the bug to which it refers.
9390
9391 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9392
9393         * alloca.c: Replace REGISTER with register.
9394
9395 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9396
9397         * file-coding.c (ucs_to_char): Use countof.
9398
9399 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9400
9401         * file-coding.c: (ucs_to_char):
9402         (complex_vars_of_file_coding):
9403         Use countof instead of sizeof.
9404         Use CHECK_NATNUM instead of CHECK_INT.
9405
9406         * sysdep.c (strcasecmp): Remove.
9407         * device-x.c (ascii_strcasecmp): New.
9408         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9409         Avoid using non-standard non-portable strcasecmp.
9410
9411 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9412
9413         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9414         * font-lock.c: remove reference to emacsfns.h.
9415         * search.c: small doc improvement.
9416         * event-Xt.c: correct file names in comments.
9417         * console-x.h Correct file names in comments.
9418         * frame.c: Correct file names in comments.
9419         * event-stream.c: remove Energize from comments.
9420
9421 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9422
9423         * symeval.h (DEFERROR_STANDARD):
9424         (DEFERROR):
9425         (DEFSYMBOL):
9426         (DEFSYMBOL_NO_DUMP):
9427         (DEFSYMBOL_MULTIWORD_PREDICATE):
9428         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9429         (DEFKEYWORD):
9430         The construct &##name is not sensible C.
9431         Fixes compilation errors with Unixware native compiler.
9432
9433 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9434
9435         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9436         (next_frame_internal): Removed.  We now just have next_frame.
9437         (next_frame):
9438         Write a simpler and cleaner one-pass algorithm.
9439         Remove called_from_delete_device arg and #ifdefed-out code.
9440         (previous_frame):
9441         Renamed from prev_frame.  Update callers.
9442         Cleaned up to have an analogous implementation to next_frame.
9443         (other_visible_frames_internal): Remove the
9444         called_from_delete_device bogus arg, and hence, remove this
9445         function.  Just use other_visible_frames().
9446
9447         * window.c (Fnext_window):
9448         Prettify docstring.
9449         Since next_frame() is guaranteed to return a frame, remove check
9450         for nil inserted in previous patch.
9451         (Fprevious_window):
9452         Prettify docstring.
9453         Make code look more like Fnext_window.
9454         (window_loop):
9455         Respect the `console' arg when iterating through windows.
9456         Fixes bug: (get-buffer-window buffer t device) not respecting
9457         the `device' arg.
9458         This function needs more work, as others have pointed out.
9459
9460         * frame.h: Rename prev_frame to previous_frame.
9461         device_matches_console_spec no longer takes a `frame' arg.
9462
9463         * s/gnu.h:
9464         * s/linux.h:
9465         * s/hpux.h:
9466         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9467         From "Golubev I. N." <gin@mo.msk.ru>.
9468
9469         * make-src-depend: Fix typo.
9470
9471 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9472
9473         * window.c (Fnext_window):
9474         next_frame() might return nil, not a frame.
9475         Fixes this crash:
9476         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9477
9478         * frame.c (next_frame_internal):
9479         We've passed a frame if we've passed its device.
9480         Fixes this crash:
9481         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9482 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9483
9484 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9485
9486         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9487         Allow option to suppress accelerators in menu/dialog items.
9488         (populate_or_checksum_helper): Pass dialog title through above.
9489
9490 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9491
9492         * event-msw.c (mswindows_key_to_emacs_keysym):
9493         Add "pause" key, fix "menu" key.
9494
9495 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9496
9497         * eval.c (reinit_vars_of_eval):
9498         Increase max_lisp_eval_depth to 1000,
9499         required for thai-xtis.el to byte-compile under some circumstances.
9500
9501 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9502
9503         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9504         From Kenichi Handa.
9505
9506 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9507
9508         * make-src-depend: Make the generated Makefiles smaller.
9509
9510         * s/hpux.h (SETUP_SLAVE_PTY):
9511         Provide a %d in the format string for the errno argument.
9512
9513         * editfns.c (Ftemp_directory):
9514         Warning fix.
9515         Avoid buffer overrun on very long file name.
9516
9517         * input-method-xlib.c (XIM_init_device):
9518         6th parameter of XRegisterIMInstantiateCallback has different
9519         pointer types on different OSes, so simply cast to (void *).
9520
9521         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9522
9523         * sysdll.c (dll_open):
9524         shl_load will hang hard if passed a NULL filename.
9525         Simply return NULL for compatibility with dlopen.
9526         * sysdll.c: Conform to XEmacs coding standards.
9527
9528         * sysdep.c (get_pty_max_bytes):
9529         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9530
9531 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9532
9533         * tooltalk.c: Add #include <syssignal.h>
9534
9535 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9536
9537         * s/hpux.h: Don't use undefined function sigunblock().
9538
9539 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9540
9541         * config.h.in: Add HAVE_BALLOON_HELP.
9542         * emacs.c: Use HAVE_BALLOON_HELP.
9543         * Makefile.in.in (x_objs):
9544         Make Balloon Help conditional on finding shape.h.
9545
9546 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9547
9548         * syntax.c (regex_emacs_buffer_p): New variable.
9549         * syntax.h (regex_emacs_buffer_p): extern.
9550         * search.c (looking_at_1):
9551         (string_match_1):
9552         (fast_string_match):
9553         (search_buffer): Set regex_emacs_buffer_p.
9554         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9555         when before_dot, at_dot, after_dot.
9556
9557 2000-08-23  Andy Piper  <andy@xemacs.org>
9558
9559         * gui-x.c (popup_selection_callback): Only set action_occurred
9560         when we really have an image instance.
9561         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9562
9563 2000-08-23  Andy Piper  <andy@xemacs.org>
9564
9565         * gui-msw.c (mswindows_handle_gui_wm_command): set
9566         action_occurred.
9567         * gui-x.c (popup_selection_callback): ditto.
9568
9569         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9570         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9571         (struct Lisp_Image_Instance): add action_occurred flag.
9572
9573         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9574         (image_instance_changed): ditto.
9575         (reset_frame_subwindow_instance_cache): only unmap windows - do
9576         not remove them from the cache also.
9577
9578         * glyphs-widget.c (tab_control_update): better debug.
9579         (progress_gauge_update): ditto.
9580         (layout_update): ditto.
9581         (layout_instantiate): ditto.
9582         (tab_control_order_only_changed): cope with null pending items.
9583
9584         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9585         debug. Force selection of an item when an action occurred. Cope
9586         with null pending_items.
9587         (mswindows_progress_gauge_redisplay): better debug.
9588         * glyphs-x.c (x_tab_control_redisplay): ditto.
9589
9590         * redisplay.c (redisplay_frame): reset the frame cache if the
9591         frame is garbaged.
9592
9593         * window.c (Fset_window_configuration): potentially re-enable
9594         frame cache reset.
9595         (window_unmap_subwindows): need to finalize instances here since
9596         it is only used in mark_window_as_deleted.
9597
9598 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9599
9600         * nas.c (SndOpenDataForReading):
9601         nas.c (WaveOpenDataForReading):
9602         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9603         Somehow escaped from the 2000-08-14 patch.
9604
9605 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9606
9607         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9608         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9609
9610 2000-08-21  Andy Piper  <andy@xemacs.org>
9611
9612         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9613         window if it is not already displayed.
9614
9615         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9616         it is not already displayed.
9617
9618         * window.c (Fset_window_configuration): don't reset the frame
9619         cache.
9620
9621         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9622         instances from the frame cache if we are actually finalizing them.
9623         (reset_frame_subwindow_instance_cache): reset frame cache only
9624         after unmapping everything.
9625         (map_subwindow): set displayed flag after mapping.
9626
9627 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9628
9629         * data.c (indirect_function):
9630         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9631
9632         * eval.c (function_argcount):
9633         Use original function when signaling errors.
9634
9635 2000-08-18  Andy Piper  <andy@xemacs.org>
9636
9637         * frame.c (delete_frame_internal): use new
9638         free_frame_subwindow_instances name.
9639
9640         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9641         (add_tab_item): make return type correct.
9642         (mswindows_tab_control_instantiate): assert index of tab.
9643         (mswindows_tab_control_redisplay): Re-code to use
9644         gui_item_equal_sans_selected and gui_item_list_find_selected.
9645
9646         * glyphs-widget.c (tab_control_update): Correct comment.
9647
9648         * window.c (window_unmap_subwindows): use new
9649         unmap_subwindow_instance_cache_mapper.
9650         (window_unmap_subwindows_cache_mapper): deleted.
9651         (Fset_window_configuration): comparisons should now be with
9652         EQ. Preserve the subwindow instance cache across configuration
9653         changes.
9654         (allocate_window): ditto.
9655         (make_dummy_parent): ditto.
9656
9657         * glyphs.c (free_frame_subwindow_instances): rename from
9658         free_frame_subwindow_instance_cache. finalize all instances rather
9659         than just those in the display cache.
9660         (finalize_all_subwindow_instances): walk windows unmapping and
9661         finalizing subwindows.
9662         (unmap_subwindow_instance_cache_mapper): moved from
9663         window.c. Allow finalization as well as unmapping.
9664
9665         * gui.c (gui_item_list_find_selected): new function.
9666
9667         * gui.h (gui_item_list_find_selected): declare.
9668
9669         * glyphs-x.c (x_tab_control_redisplay): pick tab
9670         explicitly. Re-code to use gui_item_equal_sans_selected and
9671         gui_item_list_find_selected.
9672
9673         * glyphs-x.h: add lwlib-utils.h
9674
9675         * buffer.c (Frecord_buffer): undo previous change.
9676
9677 2000-08-09  Vin Shelton  <acs@xemacs.org>
9678
9679         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9680         possible.  Create temporary files more securely.  The patch was
9681         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9682         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9683         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9684         for details.
9685
9686 2000-08-07  Ben Wing  <ben@xemacs.org>
9687
9688         * getloadavg.c: remove duplicate (and windows-breaking)
9689         includes of fcntl.h and sys/file.h.
9690
9691         * nt.c: remove duplicate getloadavg() definition.
9692
9693         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9694         encodings.
9695
9696 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9697
9698         * eval.c (function_argcount): If function needs to be autoloaded
9699         actually use the loaded definition.
9700         GCPRO function.
9701
9702 2000-08-05  Ben Wing  <ben@xemacs.org>
9703
9704         * getloadavg.c: add prototype for getloadavg().  remove
9705         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9706         of the code).  remove duplicate header includes.
9707
9708         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9709
9710         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9711         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9712         useful load average.
9713
9714         * alloc.c (reinit_alloc_once_early): removed references to
9715         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9716         the lisp vars are the only things referencing the malloc_sbrk_*
9717         vars, and they were already if 0'd out.  these vars only exist
9718         in the older malloc.c, which is basically unused, and they're
9719         only for informational purposes.
9720
9721         * m\*.h: removed useless VIRT_ADDR_VARIES.
9722
9723         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9724
9725 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9726
9727         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9728         color if the image is a mono pixmap.
9729
9730 2000-07-30  Ben Wing  <ben@xemacs.org>
9731
9732         * Makefile.in.in (release):
9733         Remove stray @.
9734
9735         * buffer.c (directory_is_current_directory):
9736         * dired-msw.c (mswindows_get_files):
9737         * dired.c:
9738         * dired.c (Fdirectory_files):
9739         * dired.c (file_name_completion_stat):
9740         * dired.c (Ffile_attributes):
9741         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9742         preprocessor tricks, to avoid problems on some machines
9743         (e.g. SCO).
9744
9745         * callproc.c (egetenv): GC docs.
9746
9747         * console-msw.h:
9748         * console-msw.h (struct mswindows_dialog_id):
9749         * lrecord.h (lrecord_type):
9750         New object for use with MSW dialogs.
9751
9752         * console.h (struct console_methods):
9753         New enable/disable frame methods, for proper modal dialogs.
9754
9755         * device-msw.c (msprinter_default_printer): Fix to follow
9756         proper Mule conventions.
9757
9758         * device-msw.c:
9759         * device-msw.c (signal_open_printer_error):
9760         * device-msw.c (msprinter_init_device):
9761         * device-msw.c (ensure_not_printing):
9762         * device-msw.c (plist_get_margin):
9763         * device-msw.c (Fmsprinter_select_settings):
9764         * device-msw.c (finalize_devmode):
9765         * device-msw.c (Fmsprinter_settings_despecialize):
9766         * device-msw.c (signal_enum_priner_error):
9767         * extents.c (decode_extent):
9768         * extents.c (decode_map_extents_flags):
9769         * extents.c (decode_extent_at_flag):
9770         * extents.c (Fextent_at):
9771         * extents.c (Fextents_at):
9772         * extents.c (symbol_to_glyph_layout):
9773         [[[[2]]]] Use structured errors.
9774
9775         * dialog-msw.c:
9776         * dialog-msw.c (mswindows_is_dialog_msg):
9777         * dialog-msw.c (mark_mswindows_dialog_id):
9778         * dialog-msw.c (dialog_proc):
9779         * dialog-msw.c (handle_question_dialog_box):
9780         * dialog-msw.c (syms_of_dialog_mswindows):
9781         Define new object to clean up marking; use it as a dialog identifier.
9782         Call new delete-dialog-box-hook.
9783
9784         * dialog-x.c (dbox_selection_callback):
9785         * dialog-x.c (dbox_descriptor_to_widget_value):
9786         * dialog-x.c (x_make_dialog_box_internal):
9787         Call new delete-dialog-box-hook.
9788         Return an id.
9789
9790         * dialog.c:
9791         * dialog.c (syms_of_dialog):
9792         * dialog.c (vars_of_dialog):
9793         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9794
9795         * eval.c:
9796         * eval.c (signal_call_debugger):
9797         when noninteractive, output stack traces on the console instead
9798         of in a (never-seen) buffer.
9799
9800         * eval.c (signal_type_error):
9801         * eval.c (invalid_argument_2):
9802         * lisp.h:
9803         new funs for use w/structured errors.
9804
9805         * event-Xt.c:
9806         * event-Xt.c (x_to_emacs_keysym):
9807         * event-Xt.c (describe_event):
9808         * event-Xt.c (emacs_Xt_event_handler):
9809         * event-Xt.c (vars_of_event_Xt):
9810         * event-msw.c:
9811         * event-msw.c (mswindows_wnd_proc):
9812         * event-msw.c (vars_of_event_mswindows):
9813         rename {x,mswindows}-debug-events to debug-{}-events for
9814         consistency with other debug-foo variables.
9815
9816         * event-stream.c:
9817         document next-event more clearly.
9818
9819         * fileio.c (Ffile_name_directory):
9820         * fileio.c (Ffile_name_nondirectory):
9821         * fileio.c (Funhandled_file_name_directory):
9822         * fileio.c (file_name_as_directory):
9823         * fileio.c (Ffile_name_as_directory):
9824         * fileio.c (directory_file_name):
9825         * fileio.c (Fdirectory_file_name):
9826         * fileio.c (Fmake_temp_name):
9827         * fileio.c (Ffile_truename):
9828         * fileio.c (Fsubstitute_in_file_name):
9829         * fileio.c (expand_and_dir_to_file):
9830         * fileio.c (barf_or_query_if_file_exists):
9831         * fileio.c (check_executable):
9832         * fileio.c (Ffile_exists_p):
9833         * fileio.c (Ffile_writable_p):
9834         * fileio.c (Ffile_directory_p):
9835         * fileio.c (Ffile_regular_p):
9836         * fileio.c (Ffile_modes):
9837         * fileio.c (Ffile_newer_than_file_p):
9838         * fileio.c (Fverify_visited_file_modtime):
9839         * fileio.c (Fset_visited_file_modtime):
9840         * fileio.c (auto_save_1):
9841         (1). (2).
9842         fix up gcpro's.
9843
9844         * frame-msw.c:
9845         * frame-msw.c (mswindows_init_frame_1):
9846         * frame-msw.c (mswindows_enable_frame):
9847         * frame-msw.c (error_frame_unsizable):
9848         * frame-msw.c (msprinter_init_frame_1):
9849         * frame-msw.c (msprinter_init_frame_3):
9850         * frame-msw.c (console_type_create_frame_mswindows):
9851         (2).
9852         implement new enable/disable frame methods.
9853
9854         * frame-x.c:
9855         * frame-x.c (x_enable_frame):
9856         * frame-x.c (console_type_create_frame_x):
9857         implement new enable/disable frame methods.
9858
9859         * frame.c:
9860         * frame.c (Fdisable_frame):
9861         * frame.c (syms_of_frame):
9862         * frame.h (struct frame):
9863         implement new enable/disable frame methods/functions.
9864
9865         * general-slots.h:
9866         add initial-focus.
9867
9868         * glyphs-msw.c (mswindows_widget_instantiate):
9869         comment that initial-focus should be implemented.
9870
9871         * glyphs-widget.c:
9872         * glyphs-widget.c (check_valid_instantiator):
9873         * glyphs-widget.c (check_valid_orientation):
9874         * glyphs-widget.c (check_valid_tab_orientation):
9875         * glyphs-widget.c (check_valid_justification):
9876         * glyphs-widget.c (check_valid_border):
9877         * glyphs-widget.c (check_valid_callback):
9878         * glyphs-widget.c (check_valid_int_or_function):
9879         * glyphs-widget.c (check_valid_string_or_vector):
9880         * glyphs-widget.c (check_valid_item_list_1):
9881         * glyphs-widget.c (widget_validate):
9882         * glyphs-widget.c (combo_box_validate):
9883         * glyphs-widget.c (widget_instantiate):
9884         * glyphs-widget.c (syms_of_glyphs_widget):
9885         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9886         * glyphs-widget.c (image_instantiator_combo_box):
9887         * glyphs-widget.c (image_instantiator_scrollbar):
9888         * glyphs-widget.c (image_instantiator_tab_control):
9889         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9890         (2).
9891         support (unimplemented) keyword initial-focus.
9892         reindent long macros.
9893
9894         * glyphs-x.c (x_redisplay_widget):
9895         * glyphs-x.c (x_button_instantiate):
9896         * glyphs-x.c (x_button_redisplay):
9897         * glyphs-x.c (x_progress_gauge_instantiate):
9898         * glyphs-x.c (x_edit_field_instantiate):
9899         * glyphs-x.c (x_combo_box_instantiate):
9900         * glyphs-x.c (x_tab_control_instantiate):
9901         * glyphs-x.c (x_label_instantiate):
9902         * gui-x.c:
9903         * gui-x.c (button_item_to_widget_value):
9904         * gui-x.c (gui_items_to_widget_values_1):
9905         * gui-x.c (gui_item_children_to_widget_values):
9906         * gui-x.c (gui_items_to_widget_values):
9907         * gui-x.h:
9908         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9909         add new flag to gui-parsing routines to indicate whether
9910         accelerator specs should be supported.
9911
9912         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9913
9914         * glyphs.h (struct Lisp_Image_Instance):
9915         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9916         add initial-focus flag.
9917
9918         * gui.c:
9919         * gui.c (syms_of_gui):
9920         * gui.c (vars_of_gui):
9921         clean up menu-no-selection-hook.
9922
9923         * gui.h:
9924         support delete-dialog-box-hook.
9925
9926         * lread.c (Fload_internal):
9927         * lread.c (locate_file_in_directory_mapper):
9928         (1).
9929
9930         * lrecord.h:
9931         * lrecord.h (struct toolbar_button):
9932         * lrecord.h (syms_of_toolbar):
9933         document how to create a new object.
9934
9935         * menubar-msw.c (mswindows_char_is_accelerator):
9936         may be called on frames w/o menus.
9937
9938         * menubar.c (vars_of_menubar):
9939         clean up :filter docs.
9940
9941         * nt.c (readdir):
9942         * ntproc.c:
9943         (1).
9944
9945         * process-nt.c:
9946         * process-nt.c (validate_signal_number):
9947         * process-nt.c (signal_cannot_launch):
9948         * process-nt.c (nt_create_process):
9949         * process-nt.c (nt_send_process):
9950         * process-nt.c (nt_kill_child_process):
9951         * process-nt.c (nt_open_network_stream):
9952         * process-nt.c (syms_of_process_nt):
9953         (2).
9954         delete quote-handling.  call new lisp code that does it better.
9955
9956         * process-unix.c (connect_to_file_descriptor):
9957         * process-unix.c (allocate_pty):
9958         * process-unix.c (unix_send_process):
9959         * process-unix.c (unix_kill_child_process):
9960         * process-unix.c (unix_open_network_stream):
9961         * process-unix.c (unix_open_multicast_group):
9962         (1). (2).
9963
9964         * process.c:
9965         * process.c (Fstart_process_internal):
9966         (2).  need to canonicalize process path even if absolute.
9967
9968         * select-msw.c (symbol_to_ms_cf):
9969         * select-msw.c (ms_cf_to_symbol):
9970         * select-msw.c (cf_is_autofreed):
9971         * select-msw.c (mswindows_destroy_selection):
9972         * select.c:
9973         * select.c (syms_of_select):
9974         * select.h:
9975         support dibv5, fix bugs. (from Mike Alexander)
9976
9977         * select.c (Fget_selection_internal):
9978         * select.c (select_convert_out):
9979
9980         * sysdep.c:
9981         * sysdep.c (xemacs_stat):
9982         renamed.
9983
9984         * sysdep.c (mkdir):
9985         * sysdep.c (rmdir):
9986         but keep original stat() here because we provide encapsulation
9987         around these funs.
9988
9989         * sysfile.h:
9990         * sysfile.h (fstat):
9991         remove stat garbage.
9992
9993         * syswindows.h:
9994         fix X/MSW conflict.
9995         don't include tchar.h.  it's inappropriate because it makes
9996         compile-time distinctions when we want runtime distinctions.
9997         (we provide our own tchar replacements)
9998
9999         * toolbar.c:
10000         use default object printer for toolbar-button.
10001
10002         * unexcw.c:
10003         make sure we don't encapsulate.
10004
10005         * window.c (vars_of_window):
10006         emphasize that temp-buffer-show-hook is obsolete.
10007
10008 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10009
10010         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10011         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10012
10013         * events.c (Fevent_timestamp_lessp):
10014         Not 64-bit clean.  Use EMACS_INT, not int.
10015
10016 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10017
10018         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10019         unsigned int and changed the last enum to
10020         lrecord_type_last_built_in_type.
10021         (lrecord_implementations_table): changed prototype to know how
10022         long the array is supposed to be.
10023         (lrecord_type_count): new unsigned int to keep track of the
10024         current number of lisp lrecord types.
10025         (DEFINE_EXTERNAL_LRECORD):
10026         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10027         dynamic-modules to declare new lisp types. They are the same
10028         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10029         int for each new type, and increment lrecord_type_count by 1.
10030
10031         * alloc.c (lrecord_implementations_table): Changed to reference
10032         lrecord_type_last_built_in_type for the size of the array.
10033         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10034
10035 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10036
10037         * glyphs.h (check_valid_item_list): Renamed from
10038         check_valid_item_list_1.
10039
10040 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10041
10042         * select.c (Qselect_coerce): New.
10043         * select.c (Vselection_coercion_alist): New.
10044         * select.c (syms_of_select): Declare.
10045         * select.c (get-selection-internal): Use it.
10046         Use the new select-coerce functionality.
10047
10048         * select.c (select_coerce): New.
10049         * select.h (select_coerce): Declare.
10050         New function to coerce one type of data into another.
10051
10052 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10053
10054         * callproc.c (Fcall_process_internal):
10055         (Fcall_process_internal):
10056         * process-unix.c (unix_create_process):
10057         Save and restore the value of errno, so that error messages are accurate.
10058
10059 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10060
10061         * elhash.c (print_hash_table):
10062         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10063         Prettify docstrings and indentation.
10064
10065 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10066
10067         * window.c (Fwindow_pixel_edges): Subtract frame border and
10068         gutter size.
10069
10070 2000-07-31  Andy Piper  <andy@xemacs.org>
10071
10072         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10073         will acknowledge the change.
10074
10075         * glyphs.h: declare tab_control_order_only_changed.
10076
10077         * glyphs-x.c (x_tab_control_redisplay): use
10078         tab_control_order_only_changed.
10079
10080         * glyphs-widget.c (tab_control_order_only_changed): new function.
10081
10082         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10083         tab_control_order_only_changed.
10084
10085         * gui.c (gui_item_equal_sans_selected): new function.
10086         (gui_item_equal): use it.
10087
10088         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10089         :properties in favor of :items..
10090
10091         * glyphs-widget.c (check_valid_item_list): rename from
10092         check_valid_item_list_1.
10093         (check_valid_item_list_1): renamed.
10094         (combo_box_validate): deprecate :properties in favor of :items.
10095         (widget_instantiate): ditto.
10096         (tab_control_update): ditto.
10097         (image_instantiator_combo_box): ditto.
10098         (image_instantiator_tree_view): ditto.
10099         (image_instantiator_tab_control): ditto.
10100         (layout_post_instantiate): remove dead code.
10101
10102         * print.c (debug_print_no_newline): only write to debugger if in
10103         WIN32_NATIVE.
10104
10105         * elhash.c (Fmake_hash_table): update doc string.
10106
10107         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10108         messages whilst in GC. This at least stops XEmacs crashing but has
10109         the potential for wierd behaviour.
10110
10111 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10112
10113         * config.h.in:
10114         Make existence of s&m files optional.
10115
10116         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10117         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10118         * s/gnu.h: Remove HAVE_GETLOADAVG.
10119         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10120         * s/sol2.h: Remove HAVE_GETLOADAVG.
10121         * lisp.h: Remove getloadavg() declaration.
10122         * fns.c:
10123         Include <sys/loadavg.h> if available.
10124         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10125         * config.h.in:  Group together getloadavg()-related macros.
10126         Use only configure-time tests to detect getloadavg().
10127
10128 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10129
10130         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10131
10132 2000-07-25  Andy Piper  <andy@xemacs.org>
10133
10134         * syswindows.h: add tchar.h for native builds.
10135
10136         * frame.c (syms_of_frame): remove set-glyph-image.
10137
10138         * general-slots.h: add Qset_glyph_image.
10139
10140         * glyphs-widget.c (layout_update): add domain arg to
10141         set-glyph-image.
10142         (syms_of_glyphs_widget): remove set-glyph-image.
10143
10144 2000-07-23  Ben Wing  <ben@xemacs.org>
10145
10146         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10147         Vpopup_frame_list.
10148
10149 2000-07-22  Andy Piper  <andy@xemacs.org>
10150
10151         * symsinit.h: add syms_of_win32().
10152
10153         * gui-msw.c (syms_of_gui_mswindows): remove
10154         Fmswindows_shell_execute.
10155         (Fmswindows_shell_execute): moved to win32.c.
10156
10157         * emacs.c (main_1): add syms_of_win32 ().
10158
10159         * win32.c (init_potentially_nonexistent_functions): rewrite in
10160         compiler-friendly terms.
10161         (Fmswindows_shell_execute): move here from gui-msw.c.
10162         (syms_of_win32): new.
10163
10164         * device-msw.c (Fmswindows_printer_list): clean up args to
10165         EnumPrinters.
10166         Don't include tchar under cygwin or mingw.
10167         (msprinter_default_printer): make cygwin-friendly.
10168
10169 2000-07-21  Andy Piper  <andy@xemacs.org>
10170
10171         * glyphs-widget.c (image_instantiator_tree_view): use tab
10172         control's update function.
10173         (layout_property): new function. Retrieve items.
10174
10175         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10176         function. Re-populate the tree view from the pending items.
10177
10178         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10179         is designated the parent if the domain is an image instance. This
10180         is needed so that dirtiness can be cascade up the hierarchy and
10181         thus for layout children to be redisplayed correctly.
10182         (allocate_image_instance): rename glyph -> parent.
10183
10184         * redisplay.h: change redisplay_output_layout signature.
10185
10186         * redisplay-msw.c (mswindows_output_display_block): use domain
10187         arg.
10188
10189         * redisplay-x.c (x_output_display_block): use domain arg.
10190
10191 2000-07-10  Andy Piper  <andy@xemacs.org>
10192
10193         * window.c (Fset_window_configuration): add comment.
10194
10195         * redisplay-output.c (compare_runes):
10196         (redisplay_output_subwindow): redisplay rather than update subwindow.
10197         (redisplay_output_layout): ditto.
10198
10199         * redisplay-msw.c (mswindows_frame_output_end):
10200         (mswindows_frame_output_end): make defer window pos optional.
10201
10202         * lisp.h: add Flast.
10203
10204         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10205         normalize method. Change update method to be for changed
10206         instantiators. Add redisplay method. Change signature of layout
10207         method.
10208         (struct Lisp_Image_Instance): add instantiator.
10209         (IMAGE_INSTANCE_INSTANTIATOR): new.
10210         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10211         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10212         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10213
10214         * glyphs.c:
10215         (find_instantiator_differences): new function.
10216         (Fset_instantiator_property): new convenience function.
10217         (check_image_instance_structure): strictly check for vector
10218         instantiators.
10219         (normalize_image_instantiator): make non-static.
10220         (instantiate_image_instantiator): pass on dest_mask and use new
10221         signatures for image_instance_layout and friends.
10222         (mark_image_instance): mark the instantiator. Mark the subwindow
10223         face not the widget face.
10224         (image_instance_equal): add instantiator.
10225         (image_instance_hash): ditto.
10226         (allocate_image_instance): ditto.
10227         (Fset_image_instance_property): removed.
10228         (Fimage_instance_file_name): ditto.
10229         (Fcolorize_image_instance): ditto.
10230         (image_instance_layout): add offsets to be set.
10231         (update_image_instance): new function. update an image instance
10232         from its changed instantiator.
10233         (inherit_normalize): add dest_mask.
10234         (xbm_normalize): ditto.
10235         (xface_normalize): ditto.
10236         (xpm_normalize): ditto.
10237         (text_update): set_property -> update.
10238         (image_instantiate): use the glyph identity as a hash key, not the
10239         instantiator.
10240         (glyph_width): use new image_instance_layout signature.
10241         (glyph_ascent): ditto.
10242         (glyph_descent): ditto.
10243         (glyph_height): ditto.
10244         (glyph_query_geometry): ressurrect.
10245         (glyph_layout): ditto.
10246         (redisplay_subwindow): update -> redisplay.
10247         (syms_of_glyphs): add Fset_instantiator_property.
10248         (image_instantiator_format_create): set_property -> update.
10249
10250         * glyphs-x.c:
10251         (autodetect_normalize): add dest_maks to signature.
10252         (x_redisplay_subwindow): update -> redisplay.
10253         (x_redisplay_widget): ditto.
10254         (x_button_redisplay): ditto.
10255         (x_progress_gauge_redisplay): ditto.
10256         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10257         stacking order.
10258         (console_type_create_glyphs_x): update -> redisplay.
10259         (image_instantiator_format_create_glyphs_x): ditto.
10260
10261         * glyphs-widget.c:
10262         (check_valid_instantiator): disallow glyphs in the instantiator,
10263         they must now be vectors.
10264         (check_valid_instantiator_list): ditto.
10265         (glyph_instantiator_to_glyph): use internal symbol rather than
10266         intern.
10267         (widget_update): renamed from widget_set_property. Call cascaded
10268         update methods.
10269         (redisplay_widget): renamed from update_widget.
10270         (widget_layout): image_instance_layout now takes position as well
10271         as size.
10272         (widget_normalize): ditto.
10273         (widget_instantiate): ditto.
10274         (tab_control_query_geometry) ditto.:
10275         (tab_control_update): renamed from tab_control_set_property.
10276         (progress_gauge_update): set_property -> update.
10277         (layout_normalize): rewrite so that child instantiators are
10278         normalized also.
10279         (layout_update): new function. Create glyphs from the normalized
10280         children and cope with any other layout keywords. We do not
10281         instantiate children here that will be take care of by
10282         redisplay_output_layout.
10283         (layout_instantiate): call layout_update and not much else.
10284         (layout_post_instantiate): not sure whether this is needed
10285         anymore.
10286         (layout_query_geometry): query glyph geometry rather than
10287         image_instance geometry.
10288         (layout_layout): set offsets from pass in parameters. Use glyph
10289         geometry and layout functions rather than image instance ones.
10290         (native_layout_layout): ditto.
10291         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10292         (image_instantiator_widget): set_property -> update.
10293         (image_instantiator_buttons): ditto.
10294         (image_instantiator_progress_guage): ditto.
10295         (image_instantiator_tab_control): ditto.
10296         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10297         (image_instantiator_layout): add update method.
10298
10299         * glyphs-msw.c (bmp_normalize):
10300         (mswindows_resource_normalize): add dest_mask so that it can be
10301         proprogated by layout_normalize.
10302         (begin_defer_window_pos): make optional because it may not be the
10303         right thing to do and it introduces differences with X.
10304         (mswindows_unmap_subwindow): ditto.
10305         (mswindows_map_subwindow): ditto.
10306         (mswindows_redisplay_subwindow): renamed from
10307         mswindows_update_subwindow.
10308         (mswindows_redisplay_widget): ditto.
10309         (mswindows_button_redisplay): renamed from
10310         mswindows_button_update. Update is now what the instantiation
10311         function does for a changed instantiator.
10312         (mswindows_progress_gauge_instantiate): set the progress value
10313         here if appropriate.
10314         (mswindows_tab_control_redisplay): cope with re-ordering of the
10315         members of the tab widget by simply selecting the new top
10316         widget. This makes things appear ok if you click on a tab.
10317         (mswindows_combo_box_instantiate): image_instance_layout now takes
10318         position as well as size.
10319         (mswindows_progress_gauge_redisplay): renamed from
10320         mswindows_progress_gauge_update.
10321         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10322         (image_instantiator_format_create_glyphs_mswindows): ditto.
10323
10324         * glyphs-eimage.c (jpeg_normalize):
10325         (gif_normalize):
10326         (png_normalize):
10327         (tiff_normalize): add dest_mask so that it can be proprogated by
10328         layout_normalize.
10329
10330         * elhash.c:
10331         (print_hash_table):
10332         (hash_table_weakness_validate):
10333         (decode_hash_table_weakness):
10334         (Fhash_table_weakness):
10335         (Fhash_table_type):
10336         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10337
10338         * console.h (struct console_methods): move update_* to
10339         redisplay_*.
10340
10341 2000-07-20  Ben Wing  <ben@xemacs.org>
10342
10343         * *.[ch] (XSETOBJ): remove unused middle argument.
10344         lisp-disunion.h: correct wrap_object() to one argument.
10345
10346 2000-07-15  Ben Wing  <ben@xemacs.org>
10347
10348         * s/cygwin32.h:
10349         * s/cygwin32.h (CYGWIN_CONV_PATH):
10350         Add missing logb prototype for v1.1.
10351         Use post-b20 names and alias to pre-b20 names when pre-b20.
10352
10353         * s/windowsnt.h: [5].
10354
10355 2000-07-15  Ben Wing  <ben@xemacs.org>
10356
10357         * Makefile.in.in (x_objs):
10358         * Makefile.in.in (sheap_objs):
10359         * Makefile.in.in (objs):
10360         added win32.o, cosmetic cleanups.
10361
10362         * alloc.c (Fmake_byte_code):
10363         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10364         etc. macros which declare their own args now.
10365
10366         * alloc.c (syms_of_alloc):
10367         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10368
10369         * buffer.c:
10370         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10371
10372         * buffer.c (Fget_file_buffer):
10373         Fixed GCPRO problem.
10374
10375         * buffer.c (get_truename_buffer):
10376         Fixed comment about GC checking.
10377
10378         * buffer.c (syms_of_buffer):
10379         Undeclared those dedicated frame funs.
10380         [2].
10381
10382         * buffer.h:
10383         Define convenience macros for internal/external conversions.
10384         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10385         and Qenvironment_variable_encoding for cleaner code.
10386
10387         * bufslots.h:
10388         Remove dedicated-frame; in lisp.
10389
10390         * bytecode.c (funcall_compiled_function):
10391         [1].
10392
10393         * bytecode.c (syms_of_bytecode):
10394         [2].
10395
10396         * console-msw.c:
10397         * console-msw.c (mswindows_show_console): Rewrote.
10398
10399         * console-msw.c (Fmswindows_debugging_output): New.
10400         Sends to OutputDebugString (special MSWin debugger interface).
10401
10402         * console-msw.c (Fmswindows_message_box):
10403         Fixed stupid bugs so it works when called from kill-emacs.
10404
10405         * console-msw.c (syms_of_console_mswindows):
10406         Declare Fmswindows_debugging_output.
10407
10408         * console-msw.h:
10409         New MSWin prototypes.
10410
10411         * console-msw.h (struct mswindows_frame):
10412         New entry last-click-mods for improved button-modifier support.
10413
10414         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10415         New struct entry `popup' with corresponding accessor.
10416
10417         * console-x.c:
10418         * console-x.c (split_up_display_spec):
10419         * console-x.c (get_display_arg_connection):
10420         * console-x.c (x_semi_canonicalize_console_connection):
10421         * console-x.c (x_canonicalize_device_connection):
10422         [[[6]]]: Change char to more specific type.
10423         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10424
10425         * console-x.c (x_semi_canonicalize_console_connection):
10426         * console-x.c (x_canonicalize_device_connection):
10427         [[[9]]]: Fix up error signalling to use new structured error system.
10428
10429         * console-x.h:
10430         [[[4]]]: Define codesys aliases:
10431         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10432         Qx_color_name_encoding, Qx_display_name_encoding.
10433
10434         * console.h (struct console_methods):
10435         New method make_dialog_box_internal supersedes older
10436         popup_dialog_box method.
10437
10438         * data.c:
10439         Define many new errors, part of new structured errors.
10440
10441         * data.c (init_errors_once_early):
10442         * data.c (syms_of_data):
10443         [2].
10444
10445         * device-msw.c (mswindows_init_device):
10446         [[[5]]]: Cleanup to support NT 3.51.
10447
10448         * device-msw.c (decode_devmode): Cleanup.
10449
10450         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10451         * device-msw.c (mswindows_handle_print_dialog_box):
10452         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10453         * device-msw.c (syms_of_device_mswindows):
10454         Delete the dialog box primitives recently introduced by Kirill and
10455         instead interface to general dialog box interface.
10456
10457         * device-x.c:
10458         * device-x.c (compute_x_app_name):
10459         * device-x.c (x_init_device):
10460         * device-x.c (Fx_valid_keysym_name_p):
10461         * device-x.c (Fx_set_font_path):
10462         [6].
10463         [7].
10464
10465         * device.h (wrap_device): New.
10466         First of its kind; meant to replace XSETDEVICE.
10467
10468         * dialog-msw.c: Many file-dialog symbols.
10469
10470         * dialog-msw.c (mswindows_register_popup_frame): New.
10471         * dialog-msw.c (mswindows_is_dialog_msg): New.
10472         For supporting kbd traversal in dialog boxes.
10473
10474         * dialog-msw.c (dialog_proc):
10475         Support hitting ESC in dialogs.
10476
10477         * dialog-msw.c (struct):
10478         Common dialog box errors.
10479
10480         * dialog-msw.c (handle_file_dialog_box): New.
10481         Add file dialog code.
10482
10483         * dialog-msw.c (handle_question_dialog_box):
10484         Redo existing code to support new question dialog syntax.
10485
10486         * dialog-msw.c (console_type_create_dialog_mswindows):
10487         We support new dialog console method.
10488
10489         * dialog-msw.c (syms_of_dialog_mswindows):
10490         * dialog-msw.c (vars_of_dialog_mswindows):
10491         New file dialog symbols, vars.
10492
10493         * dialog-x.c:
10494         * dialog-x.c (maybe_run_dbox_text_callback):
10495         * dialog-x.c (dbox_descriptor_to_widget_value):
10496         * dialog-x.c (x_make_dialog_box_internal):
10497         * dialog-x.c (console_type_create_dialog_x):
10498         Mule-ize entire file.
10499         Redo to support question dialog syntax.
10500         [6].
10501
10502         * dialog.c:
10503         * dialog.c (Fmake_dialog_box_internal):
10504         * dialog.c (syms_of_dialog):
10505         Kill old popup-dialog-box, replace with new primitive.
10506         Just call device method or signal error.
10507
10508         * eldap.c (Fldap_open):
10509         * eldap.c (Fldap_search_basic):
10510         * eldap.c (Fldap_add):
10511         * eldap.c (Fldap_modify):
10512         [1].
10513         [7].
10514
10515         * emacs.c:
10516         * emacs.c (make_arg_list_1):
10517         * emacs.c (make_arg_list):
10518         Mule-ize call to dll_init().
10519         [6].
10520         [8].
10521
10522         * emacs.c (make_argc_argv):
10523         * emacs.c (free_argc_argv):
10524         * emacs.c (init_cmdargs):
10525         * emacs.c (main_1):
10526         * emacs.c (Fkill_emacs):
10527         * emacs.c (Fdump_emacs):
10528         Update comments about what can be used in syms_* etc.
10529         Call init_win32() when necessary.
10530         Fix up MS Win dialog box in kill-buffer to actually work right.
10531         [7].
10532
10533         * eval.c:
10534         * eval.c (For):
10535         * eval.c (Fand):
10536         * eval.c (Fprogn):
10537         * eval.c (Fprog1):
10538         * eval.c (Fprog2):
10539         * eval.c (FletX):
10540         * eval.c (Flet):
10541         * eval.c (condition_case_3):
10542         * eval.c (Feval):
10543         * eval.c (function_argcount):
10544         * eval.c (funcall_lambda):
10545         [1].
10546
10547         * eval.c (type_error): New.
10548         * eval.c (maybe_type_error): New.
10549         * eval.c (continuable_type_error): New.
10550         * eval.c (maybe_continuable_type_error): New.
10551         * eval.c (type_error_with_frob): New.
10552         * eval.c (maybe_type_error_with_frob): New.
10553         * eval.c (continuable_type_error_with_frob): New.
10554         * eval.c (maybe_continuable_type_error_with_frob): New.
10555         New functions for use with structured errors.
10556
10557         * event-Xt.c:
10558         * event-Xt.c (x_event_to_emacs_event):
10559         Buttons are now modifiers too.
10560
10561         * event-Xt.c (emacs_Xt_current_event_timestamp):
10562         Implement new event method.
10563         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10564
10565         * event-msw.c:
10566         * event-msw.c (ntpipe_shove_writer): [5].
10567         * event-msw.c (mswindows_enqueue_mouse_button_event):
10568         * event-msw.c (mswindows_drain_windows_queue):
10569         * event-msw.c (mswindows_wnd_proc): [7].
10570         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10571         * event-msw.c (mswindows_modifier_state):
10572         Throughout: support new button modifiers.
10573
10574         * event-msw.c (emacs_mswindows_current_event_timestamp):
10575         Implement new event method.
10576         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10577
10578         * event-stream.c:
10579         * event-stream.c (event_stream_current_event_timestamp): New.
10580         * event-stream.c (maybe_kbd_translate): New functionality.
10581         * event-stream.c (vars_of_event_stream):
10582         Document new kbd-translate-table functionality.
10583
10584         * event-stream.c (Fcurrent_event_timestamp): New.
10585         New primitive for use in fabricated events.
10586         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10587
10588         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10589
10590         * events.c:
10591         * events.c (Fmake_event):
10592         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10593         [1].
10594         [9].
10595
10596         * events.c (format_event_object): fix gcc warnings.
10597
10598         * events.c (Fevent_timestamp): Document new primitives.
10599
10600         * events.c (TIMESTAMP_HALFSPACE): New.
10601
10602         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10603         comparing timestamps correctly (half-space algorithm).
10604
10605         * events.c (Fevent_modifier_bits): Doc fix.
10606
10607         * events.c (Fevent_modifiers): Major doc addition.
10608         * events.c (event_x_y_pixel_internal): Typo fix.
10609         * events.c (syms_of_events): Declare new primitives.
10610
10611         * events.h:
10612         Update long comment for button modifiers, timestamps.
10613
10614         * events.h (struct event_stream):
10615         New current_event_timestamp method.
10616
10617         * extents.c:
10618         * extents.c (extent_in_region_p):
10619         * extents.c (decode_extent):
10620         * extents.c (Fset_extent_parent):
10621         * extents.c (decode_map_extents_flags):
10622         Fix gcc warnings.
10623         [9].
10624
10625         * extents.c (struct extent_at_arg):
10626         * extents.c (decode_extent_at_flag):
10627         * extents.c (extent_at_mapper):
10628         * extents.c (extent_at_bytind):
10629         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10630         * extents.c (Fextents_at): New primitive. [9].
10631         * extents.c (symbol_to_glyph_layout): [9].
10632         Support new primitive `extents-at'.
10633
10634
10635         * extents.c (get_text_property_bytind):
10636         extent_at_bytind has another arg.
10637         [9].
10638
10639         * extents.c (syms_of_extents): New primitive.
10640
10641         * file-coding.c (Fmake_coding_system): [1].
10642         * file-coding.c (subsidiary_coding_system): fix gcc warning
10643         * file-coding.c (syms_of_file_coding): [2].
10644
10645         * fileio.c (Fexpand_file_name):
10646         * fileio.c (Fsysnetunam):
10647         * fileio.c (Ffile_exists_p):
10648         * fileio.c (Ffile_executable_p):
10649         * fileio.c (Fverify_visited_file_modtime):
10650         Clean up GCPROing.
10651
10652         * fileio.c (syms_of_fileio): [2].
10653
10654         * filelock.c (lock_file_1):
10655         * filelock.c (current_lock_owner):
10656         * filelock.c (lock_if_free):
10657         * filelock.c (lock_file):
10658         * filelock.c (unlock_file):
10659         Clean up GCPROing.
10660
10661         * fns.c (concat): Fix gcc warning.
10662
10663         * fns.c (Fmember):
10664         * fns.c (Fold_member):
10665         * fns.c (Fmemq):
10666         * fns.c (Fold_memq):
10667         * fns.c (memq_no_quit):
10668         * fns.c (Fassoc):
10669         * fns.c (Fold_assoc):
10670         * fns.c (Fassq):
10671         * fns.c (Fold_assq):
10672         * fns.c (assq_no_quit):
10673         * fns.c (Frassoc):
10674         * fns.c (Fold_rassoc):
10675         * fns.c (Frassq):
10676         * fns.c (Fold_rassq):
10677         * fns.c (rassq_no_quit):
10678         * fns.c (Fdelete):
10679         * fns.c (Fold_delete):
10680         * fns.c (Fdelq):
10681         * fns.c (Fold_delq):
10682         * fns.c (delq_no_quit):
10683         * fns.c (Fremassoc):
10684         * fns.c (Fremassq):
10685         * fns.c (remassq_no_quit):
10686         * fns.c (Fremrassoc):
10687         * fns.c (Fremrassq):
10688         * fns.c (remrassq_no_quit):
10689         * fns.c (Freverse):
10690         * fns.c (mapcar1):
10691         [1].
10692
10693         * frame-msw.c (mswindows_init_frame_1):
10694         * frame-msw.c (mswindows_delete_frame):
10695         Register popups with dialog code so keyboard traversing works.
10696
10697         * frame-tty.c (tty_raise_frame_no_select): [1].
10698
10699         * frame-x.c:
10700         * frame-x.c (x_set_frame_text_value):
10701         * frame-x.c (x_set_frame_properties):
10702         * frame-x.c (x_create_widgets):
10703         [7].
10704
10705         * frame.c:
10706         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10707
10708         * frame.h (wrap_frame): New.
10709         Macro like wrap_device.
10710
10711         * general.c:
10712         * general.c (SYMBOL):
10713         * general.c (syms_of_general):
10714         Major reorg.  This is now just a wrapper and symbols themselves
10715         are listed in general-slots.h.
10716
10717         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10718         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10719
10720         * glyphs-msw.c (mswindows_native_layout_instantiate):
10721         Add DS_CONTROL so keyboard traversal will work.
10722
10723         * glyphs-widget.c:
10724         * glyphs-widget.c (syms_of_glyphs_widget):
10725         Move some symbols to general-slots.h.
10726
10727         * glyphs-x.c:
10728         * glyphs-x.c (xbm_instantiate_1):
10729         * glyphs-x.c (x_xbm_instantiate):
10730         * glyphs-x.c (x_xface_instantiate):
10731         * glyphs-x.c (autodetect_instantiate):
10732         * glyphs-x.c (cursor_font_instantiate):
10733         * glyphs-x.c (x_update_widget):
10734         * glyphs-x.c (x_widget_instantiate):
10735         * glyphs.c (bitmap_to_lisp_data):
10736         * glyphs.c (pixmap_to_lisp_data):
10737         [7].
10738
10739         * glyphs.c (syms_of_glyphs):
10740         [2].
10741
10742         * gui-x.c:
10743         * gui-x.c (print_widget_value):
10744         * gui-x.c (menu_separator_style_and_to_external):
10745         * gui-x.c (add_accel_and_to_external):
10746         * gui-x.c (button_item_to_widget_value):
10747         * gui-x.c (gui_items_to_widget_values_1):
10748         * gui-x.c (gui_items_to_widget_values):
10749         * gui-x.c (syms_of_gui_x):
10750         * gui-x.c (vars_of_gui_x):
10751         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10752         [9].
10753
10754         * gui-x.h:
10755         Muleize, prototype changes matching gui-x.c.
10756
10757         * gui.c:
10758         * gui.c (separator_string_p):
10759         * gui.c (gui_item_add_keyval_pair):
10760         * gui.c (make_gui_item_from_keywords_internal):
10761         * gui.c (signal_too_long_error):
10762         * gui.c (parse_gui_item_tree_item):
10763         * gui.c (syms_of_gui):
10764         * gui.c (vars_of_gui):
10765         * gui.h:
10766         menu-no-selection-hook moved here (used by MSWin).
10767         Move some symbols to general-slots.h.
10768         [6].
10769         [9].
10770
10771         * insdel.c (get_buffer_pos_char):
10772         * insdel.c (get_buffer_range_char):
10773         Add GC comments.
10774
10775         * keymap.c (keymap_lookup_directly):
10776         * keymap.c (keymap_store):
10777         * keymap.c (ensure_meta_prefix_char_keymapp):
10778         * keymap.c (describe_map):
10779         * keymap.h:
10780         Support new button modifiers.
10781
10782         * lisp-disunion.h (wrap_object):
10783         * lisp-disunion.h (XSETOBJ):
10784         Rename make_obj to wrap_object.
10785
10786         * lisp-union.h:
10787         * lisp-union.h (make_int):
10788         * lisp-union.h (make_char):
10789         Support wrap_object.
10790
10791         * lisp.h:
10792         * lisp.h (LIST_LOOP):
10793         * lisp.h (EXTERNAL_LIST_LOOP):
10794         * lisp.h (LIST_LOOP_2):
10795         * lisp.h (EXTERNAL_LIST_LOOP_1):
10796         * lisp.h (EXTERNAL_LIST_LOOP_2):
10797         * lisp.h (EXTERNAL_LIST_LOOP_3):
10798         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10799         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10800         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10801         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10802         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10803         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10804         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10805         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10806         * lisp.h (struct Lisp_Symbol):
10807         * lisp.h (maybe_continuable_error_with_frob):
10808         Fix up section comments.
10809         Add new types for char to indicate usage.
10810         Delete symbols auto-generated from general-slots.h.
10811         Add prototypes for structured error functions.
10812         Add long comments describing looping macros and change interface
10813         so that lvalues are automatically declared.
10814         Add NO_DECLARE macro in case callers want to declare lvalues
10815         themselves.
10816
10817         * lread.c (read_syntax_error):
10818         * lread.c (continuable_read_syntax_error):
10819         * lread.c (read_structure):
10820         * lread.c (sequence_reader):
10821         * lread.c (read_list_conser):
10822         * lread.c (read_compiled_function):
10823         Rename syntax_error and continuable_syntax_error to avoid clash
10824         with same-named structured error functions.
10825
10826         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10827         * menubar-msw.c (populate_menu_add_item):
10828         * menubar-msw.c (populate_or_checksum_helper):
10829         [5].
10830         [9].
10831
10832         * menubar-x.c:
10833         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10834         Mule-ize whole file.
10835
10836         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10837
10838         * mule-charset.c (Fmake_charset):
10839         * mule-wnnfns.c (Fwnn_set_param):
10840         [1].
10841
10842         * ntproc.c (create_child):
10843         * ntproc.c (Fwin32_set_current_locale):
10844         Add comments portending doom.
10845
10846         * objects-msw.c:
10847         * objects-msw.c (old_font_enum_callback_2):
10848         * objects-msw.c (font_enum_callback_1):
10849         * objects-msw.c (mswindows_enumerate_fonts):
10850         [5].
10851
10852         * objects-x.c:
10853         * objects-x.c (allocate_nearest_color):
10854         * objects-x.c (x_parse_nearest_color):
10855         * objects-x.c (x_initialize_color_instance):
10856         * objects-x.c (x_print_color_instance):
10857         * objects-x.c (x_finalize_color_instance):
10858         * objects-x.c (x_valid_color_name_p):
10859         * objects-x.c (x_initialize_font_instance):
10860         * objects-x.c (x_print_font_instance):
10861         * objects-x.c (valid_x_font_name_p):
10862         * objects-x.c (truename_via_FONT_prop):
10863         * objects-x.c (truename_via_random_props):
10864         * objects-x.c (truename_via_XListFonts):
10865         * objects-x.c (x_font_truename):
10866         * objects-x.c (x_font_instance_truename):
10867         * objects-x.c (x_font_instance_properties):
10868         * objects-x.c (x_list_fonts):
10869         * objects-x.c (x_find_charset_font):
10870         Mule-ize entire file.
10871         [7].
10872
10873         * objects-x.h:
10874         Mule-verify.
10875
10876         * print.c:
10877         * print.c (std_handle_out_external):
10878         * print.c (debug_print_no_newline):
10879         * print.c (syms_of_print):
10880         Output to all debugger kinds in debug-print.
10881         Fix console-output code under MSWin to actually work.
10882
10883         * process-nt.c (send_signal):
10884         * process-nt.c (nt_create_process):
10885         Use newer Unicode macros.
10886
10887         * process-unix.c (unix_create_process):
10888         * process-unix.c (unix_canonicalize_host_name):
10889         * process-unix.c (unix_open_network_stream):
10890         [7].
10891
10892         * scrollbar-x.c:
10893         Mule-verify.
10894
10895         * search.c (syms_of_search):
10896         [2].
10897
10898         * select-msw.c (mswindows_destroy_selection):
10899         Use LIST_LOOP_2.
10900
10901         * select-x.c (symbol_to_x_atom):
10902         [7].
10903
10904         * select.c (syms_of_select):
10905         [2].
10906
10907         * sound.c (Fplay_sound_file):
10908         [7].
10909
10910         * specifier.c:
10911         * specifier.c (decode_specifier_type):
10912         * specifier.c (Fvalid_specifier_locale_type_p):
10913         * specifier.c (check_valid_locale_or_locale_type):
10914         * specifier.c (decode_locale):
10915         * specifier.c (decode_locale_type):
10916         * specifier.c (decode_locale_list):
10917         * specifier.c (check_valid_domain):
10918         * specifier.c (decode_specifier_tag_set):
10919         * specifier.c (Fcanonicalize_tag_set):
10920         * specifier.c (Fdefine_specifier_tag):
10921         * specifier.c (Fspecifier_tag_predicate):
10922         * specifier.c (check_valid_inst_list):
10923         * specifier.c (check_valid_spec_list):
10924         * specifier.c (decode_how_to_add_specification):
10925         * specifier.c (check_modifiable_specifier):
10926         * specifier.c (specifier_add_spec):
10927         * specifier.c (boolean_validate):
10928         * specifier.c (display_table_validate):
10929         [9].
10930
10931         * specifier.c (syms_of_specifier):
10932         Move some symbols to general-slots.h.
10933         [2].
10934
10935         * symbols.c:
10936         * symbols.c (Fmapatoms):
10937         * symbols.c (Fapropos_internal):
10938         Add GCPROs.
10939
10940         * symbols.c (set_default_buffer_slot_variable):
10941         * symbols.c (set_default_console_slot_variable):
10942         [1].
10943
10944         * symbols.c (defsymbol_massage_name_1):
10945         * symbols.c (defkeyword_massage_name):
10946         * symbols.c (deferror_1):
10947         * symbols.c (deferror):
10948         * symbols.c (deferror_massage_name_and_message):
10949         * symeval.h:
10950         * symeval.h (DEFSYMBOL):
10951         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10952
10953         * symbols.c (syms_of_symbols):
10954         [2].
10955
10956         * symsinit.h:
10957         * symsinit.h (init_win32): New.
10958         Also new is syms_of_dialog_mswindows.
10959
10960         * syswindows.h:
10961         Add new Unicode macros, missing Cygwin wide-char functions,
10962         convenience conversion macros for Qmswindows_tstr, macros for
10963         encapsulating required MSWin <-> Cygwin filename conversions,
10964         prototype for dynamically-extracted (not in NT 3.51) functions.
10965
10966         * toolbar-x.c:
10967         Mule-verify.
10968
10969         * tooltalk.c (Fadd_tooltalk_message_arg):
10970         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10971         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10972         [7].
10973
10974         * tooltalk.c (syms_of_tooltalk):
10975         [2].
10976
10977         * unexnt.c:
10978         * unexnt.c (unexec):
10979         Fix up headers, declaration of unexec() to be more standard.
10980
10981 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10982
10983         * offix.h: Revert change to guard macros - they're used in offix.c!
10984
10985 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10986
10987         * lisp.h: Defsubred Fdelete.
10988
10989         * console-msw.h:  (msprinter_default_printer): Added.
10990
10991         * console-msw.c (msprinter_canonicalize_console_connection):
10992         (msprinter_canonicalize_device_connection): Added.
10993
10994         * device-msw.c (msprinter_default_printer):
10995         (Fmswingows_get_default_printer):
10996         (signal_enum_priner_error):
10997         (Fmswingows_printer_list): Added.
10998
10999 2000-07-19  Martin Buchholz <martin@xemacs.org>
11000
11001         * XEmacs 21.2.35 is released.
11002
11003 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11004
11005         * select-x.c (x_handle_selection_request):
11006         Text selected in xemacs and pasted into xterm failed to appear.
11007         Spelling fixes and cosmetic changes.
11008
11009 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11010
11011         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11012         XEmacs frame (fix for doubling chars in dialog boxes).
11013
11014 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11015
11016         * select.c (select_convert_in, select_convert_out):
11017         Don't call intern() every time.
11018
11019         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11020         * select.c (vars_of_select): Initialise them.
11021
11022 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11023
11024         * select.c (selection-coercible-types): New.
11025
11026         * select.c (own-selection-internal):
11027         * select.c (get-selection-internal):
11028         MULE bug fix - these should default to COMPOUND_TEXT and not
11029         STRING for MULE. I think.
11030
11031         * select.c (select_convert_out): Use selection-coercible-types
11032         to find types that we can attempt to perform coercions on.
11033
11034 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11035
11036         * mule-wnnfns.c:
11037         * mule-canna.c:
11038         Add coding: cookie to identify encoding.
11039
11040         * mule-canna.c (CANNA_mode_keys): make static.
11041         Use proper prototypes, even for functions of no arguments.
11042         Remove external prototype for Fding().
11043
11044         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11045
11046         * select.c (syms_of_select): Add missing DEFSUBR.
11047
11048 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11049
11050         * select.c (get_selection_internal, own_selection_internal):
11051         Make the type default to STRING, rather than placing a nil type
11052         into Vselection_alist.
11053
11054 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11055
11056         * gpmevent.c (tty_selection_exists_p):
11057         * gpmevent.c (tty_own_selection):
11058         Updated parameter lists.
11059
11060 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11061
11062         * select.h (selection-alist): Removed declaration.
11063
11064         * select.h (get_local_selection):
11065         * select.c (get_local_selection):
11066         Made static.
11067
11068         * select.h (convert_selection): Removed declaration.
11069         * select.c (convert_selection): Removed.
11070         This function belongs in Lisp.
11071
11072         * select.h (select_convert_in): Declare.
11073         * select.h (select_convert_out): Declare.
11074         * select.c (select_convert_in): New.
11075         * select.c (select_convert_out): New.
11076         New conversion functions for other files to call.
11077
11078         * select.h (select_notify_buffer_kill): Declare.
11079         * select.c (select_notify_buffer_kill): New.
11080         New functions that get called from kill-buffer.
11081
11082         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11083         X-specific lisp code.
11084
11085         * select.h: Declare some of the lisp-visible functions for
11086         external use.
11087
11088         * select.c (clean_local_selection_data): Removed. This was
11089         a disgusting function, and previously should have been in
11090         select-x.c in any case. The functionality is now provided
11091         in select-convert-from-integer (select.el).
11092
11093         * select.c (available-selection-types): Fixed stupidity where
11094         INTEGER and ATOM got added twice. Also add STRING when we see an
11095         extent.
11096
11097         * select.c (get-selection-internal): Removed symbol stripping. No
11098         longer causes conversion when data comes from the internal cache.
11099
11100         * select.c (syms_of_select): Added new functions.
11101
11102         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11103         error checking - previously this called abort!
11104
11105         * select-x.c (x_own_selection): Changed comment.
11106
11107         * select-x.c (x_handle_selection_request): Use select_convert_out.
11108         Don't mess with selection-alist; it's an internal variable of select.c.
11109
11110         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11111
11112         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11113         rather than messing with selection-alist.
11114
11115         * select-msw.c (mswindows_get_foreign_selection):
11116         Use TO_INTERNAL_FORMAT rather than hacking.
11117
11118 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11119
11120         * process-unix.c (unix_open_multicast_group):
11121         (unix_open_multicast_group): Remove useless casts.
11122
11123 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11124
11125         * sound.c (Fplay_sound): Fix `unused variable' warning.
11126
11127         * emacs.c (main): Use correct type for _environ on SCO5.
11128
11129 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11130
11131         * console.h (own_selection_method):
11132         * console.h (selection_exists_p_method):
11133         * console.h (available_selection_types_method): New.
11134         * console.h (register_selection_data_type_method): New.
11135         * console.h (selection_data_type_name): New.
11136
11137         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11138         function & alist to track GlobalAlloc()'d handles that need
11139         releasing when the clipboard data gets replaced or emptied.
11140
11141         * event-msw.c (mswindows_wnd_proc): Call it.
11142
11143         * lisp.h, general.c (Qappend): New symbol representing a
11144         `how-to-add' mode.
11145
11146         * select.c (own-selection-internal):
11147         * select.c (selection-exists-p):
11148         * select.c (available-selection-types): New.
11149         * select.c (register-selection-data-type): New.
11150         * select.c (selection-data-type-name): New.  New functions to deal
11151         with device-specific selection data formats.
11152         * select.c (selection-converter-out-alist): Renamed.
11153         * select.c (selection-converter-in-alist): New.
11154         * select.c (selection-appender-alist): New.  Added new alists.
11155         * select.c (syms_of_select, vars_of_select): Added new symbols &
11156         variables.
11157         * select.c (get_local_selection): Split.
11158         * select.c: Removed spurious type checking - selections may now be
11159         of any type, not just strings.
11160         * select.c (own-selection-internal):
11161
11162         * select.h, select.c (convert_selection): New. Created
11163         convert_selection() function based on get_local_selection().
11164         * select.h, select.c (QCF_*): New symbols representing mswindows
11165         clipboard formats.
11166         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11167         symbols representing `how-to-add' modes.
11168
11169         * select-msw.c (x_sym_p): New.
11170         * select-msw.c (symbol_to_ms_cf): New.
11171         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11172         symbols & clipboard formats. Can also handle string names.
11173         * select-msw.c (mswindows_own_selection):
11174         * select-msw.c (mswindows_selection_exists_p):
11175         Added `data-type' parameter. Use it.
11176         * select-msw.c (mswindows_available_selection_types): New.
11177         * select-msw.c (mswindows_register_selection_data_type): New.
11178         * select-msw.c (mswindows_selection_data_type_name): New.
11179         * select-msw.c (mswindows_own_selection):
11180         * select-msw.c (mswindows_get_foreign_selection):
11181         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11182         * select-msw.c (console_create_select_mswindows): Added new methods.
11183         * select-msw.c (mswindows_destroy_selection): New.
11184         * select-msw.c (Vhandle_alist): New list.
11185         * select-msw.c (mswindows_own_selection):
11186
11187         * select-x.c (x_own_selection):
11188         * select-x.c (x_selection_exists_p):
11189         * select-x.c: Added some comments about maybe using new
11190         functionality.
11191         * select-x.c (x_own_selection):
11192
11193         * specifier.c: Remove definition of Qappend (now in general.c)
11194         * specifier.c (syms_of_specifier): Remove Qappend.
11195
11196 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11197
11198         * config.h.in: Add socklen_t.
11199
11200         * s/decosf4-0.h: No special compiler flags needed or desired.
11201         In particular, undefine _BSD for DEC OSF 4.0.
11202
11203 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11204
11205         * redisplay-msw.c (msprinter_frame_output_end): Added.
11206         (console_type_create_redisplay_mswindows): Referred the above.
11207
11208         * frame.c (setup_frame_without_minibuffer): Do not create a
11209         default minibuffer frame on a printer device.
11210
11211         * frame-msw.c (apply_dc_geometry): Added.
11212         (msprinter_start_page):
11213         (msprinter_init_frame_3):
11214         (msprinter_eject_page): Use it.
11215
11216         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11217         and removed residual duplex and orientation properties.
11218
11219 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11220
11221         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11222
11223         * unexalpha.c: Remove system prototypes from C sources!
11224
11225 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11226
11227         * eval.c: Remove references to M-x edit-options in DEFUNs for
11228         `defvar' and `defconst'.
11229
11230 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11231
11232         * config.h.in: Remove SMART_INCLUDE hackery.
11233
11234         PostgreSQL hacking:
11235         * config.h.in: Don't use SMART_INCLUDE.
11236
11237         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11238         * inline.c: Simply #include "postgresql.h"
11239         * postgresql.c:
11240         - Don't use SMART_INCLUDE
11241         - Use simply "const".
11242         - Use standard doc string conventions.
11243         - Use correct type for result of PQstatus.
11244
11245 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11246
11247         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11248
11249         C++ compilation changes.
11250         * config.h.in (EXTERN_C): Define.
11251         * config.h.in (not): This is also a C++ keyword.
11252         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11253         * cm.c: Use EXTERN_C.
11254         * redisplay-tty.c: Use EXTERN_C.
11255         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11256
11257 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11258
11259         * general.c: Remove duplicate definition for Qfunction.
11260
11261 2000-07-08  Ben Wing  <ben@xemacs.org>
11262
11263         * device-msw.c (msprinter_init_device):
11264         * device-msw.c (sync_printer_with_devmode):
11265         * device-msw.c (handle_devmode_changes):
11266         * device-msw.c (print_dialog_worker):
11267         * device-msw.c (Fmsprinter_apply_settings):
11268         * device-msw.c (hash_devmode):
11269         * device-msw.c (Fmsprinter_settings_despecialize):
11270         use Qmswindows_tstr, not Qctext.
11271
11272         * vm-limit.c (check_memory_limits):
11273         avoid infinite loop printing warning messages.
11274
11275 2000-07-05  Craig Lanning  <lanning@scra.org>
11276
11277         * Makefile.in.in: Add support for including the Windows resources
11278         when building with the cygwin and mingw targets.
11279
11280         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11281         not set or not correct.
11282         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11283         (init_initial_directory): Don't try to use $PWD on the
11284         WIN32_NATIVE target.
11285
11286         * s\cygwin32.h:
11287         [[Add -mwindows to eliminate console window.]] not required --ben
11288         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11289         (MAIL_USE_POP): removed; now handled by configure.
11290
11291         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11292         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11293         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11294         (MAIL_USE_POP): removed; now handled by configure.
11295         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11296         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11297         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11298         constant string.
11299         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11300         up from <winsock.h> via systime.h.
11301         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11302         (getpagesize): from Dan Holmsand, added.
11303         Added #endif which was left dangling by Ben's mega patch; added
11304         comment to help prevent this in the future.
11305
11306         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11307
11308 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11309
11310         * console-msw.h (struct mswindows_device): Removed unnecessary
11311         cached device geometry values.
11312         Added update_tick and an accessor macro.
11313         (Lisp_Devmode): Added lrecord declaration.
11314         (struct msprinter_device): Contain devmode as a Lisp object.
11315         Added mswindows_get_selected_frame_hwnd();
11316
11317         * console.h (struct console_methods): Indentation nitpicking.
11318
11319         * device-msw.c (mswindows_init_device): Do not initialize geometry
11320         cache. Initialize update tick.
11321         (mswindows_device_system_metrics): Ask the device for its geometry.
11322         (global_free_2_maybe):
11323         (devmode_to_hglobal):
11324         (handle_printer_changes):
11325         (ensure_not_printing):
11326         (print_dialog_worker):
11327         (Fmsprinter_print_setup_dialog):
11328         (Fmsprinter_print_dialog):
11329         (plist_get_margin):
11330         (plist_set_margin):
11331         (Fmsprinter_page_setup_dialog): Added functions.
11332         (sync_printer_with_devmode):
11333         (handle_devmode_changes):
11334         (Fmsprinter_get_settings):
11335         (Fmsprinter_select_settings):
11336         (Fmsprinter_apply_settings):
11337         (allocate_devmode):
11338         (Fmsprinter_settings_copy):
11339         (Fmsprinter_settings_despecialize):
11340         (print_devmode):
11341         (finalize_devmode):
11342         (equal_devmode):
11343         (hash_devmode): Added functions
11344         (syms_of_device_mswindows): Init devmode lrecord class.
11345
11346         * device.h: Added an exfun for find-device.
11347
11348         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11349         geometry; although, recreate the device compatible DC.
11350
11351         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11352         (msprinter_init_frame_3):
11353         (msprinter_frame_property):
11354         (msprinter_internal_frame_property_p):
11355         (msprinter_frame_properties):
11356         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11357         print job properties (will move to device settings).
11358
11359         * lisp.h: Added symbols.
11360
11361         * general.c (syms_of_general): Declared them.
11362
11363         * hash.c (string_hash): Added.
11364
11365         * lrecord.h (lrecord_type): Added devmode lrecord type.
11366
11367 2000-07-02  Mike Sperber <mike@xemacs.org>
11368
11369         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11370         FreeBSD 4.0.
11371
11372 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11373
11374         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11375         integer.
11376
11377 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11378
11379         * data.c (Fstring_to_number): Don't recognize floating point if
11380         base is not 10.
11381
11382 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11383
11384         * glyphs-widget.c (tab_control_query_geometry):
11385         (widget_query_geometry):
11386         (button_query_geometry):
11387         * glyphs.c (text_query_geometry):
11388         Enforce type correctness.
11389
11390 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11391
11392         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11393         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11394
11395 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11396
11397         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11398         conflicts with gcc's fixincluded version of FOO.h.
11399
11400         * glyphs.h (image_instance_geometry): Remove trailing `,'
11401
11402 2000-06-08  Mike Alexander  <mta@arbortext.com>
11403
11404         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11405         (shove_thread): Don't write the same output twice
11406         (make_ntpipe_output_stream): Increase priority of shove thread
11407         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11408         chance to run
11409         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11410         it.
11411
11412 2000-06-12  Ben Wing  <ben@xemacs.org>
11413
11414         * s\mingw32.h (sigset):
11415         * s\windowsnt.h (sigset):
11416         rename msw_ to mswindows_ for consistency with general convention.
11417
11418 2000-06-12  Ben Wing  <ben@xemacs.org>
11419
11420         * console-msw.c:
11421         * console-msw.c (mswindows_get_console_hwnd):
11422         * console-msw.c (mswindows_ensure_console_allocated):
11423         * console-msw.c (mswindows_hide_console):
11424         * console-msw.c (mswindows_show_console):
11425         * console-msw.c (mswindows_ensure_console_buffered):
11426         * console-msw.c (mswindows_output_console_string):
11427         * console-msw.c (mswindows_windows9x_p):
11428         * console-msw.h:
11429         * device-msw.c (mswindows_get_workspace_coords):
11430         * device-msw.c (mswindows_device_system_metrics):
11431         * dialog-msw.c (mswindows_popup_dialog_box):
11432         * event-msw.c (mswindows_wnd_proc):
11433         * frame-msw.c (mswindows_size_frame_internal):
11434         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11435         * menubar-msw.c (displayable_menu_item):
11436         * menubar-msw.c (mswindows_char_is_accelerator):
11437         * nt.c:
11438         * nt.c (mswindows_sigset):
11439         * nt.c (mswindows_sigrelse):
11440         * nt.c (mswindows_sigpause):
11441         * nt.c (mswindows_raise):
11442         * nt.c (timer_proc):
11443         * ntproc.c:
11444         * ntproc.c (find_child_console):
11445         * ntproc.c (sys_kill):
11446         * print.c:
11447         * print.c (std_handle_out_external):
11448         * process-nt.c (find_child_console):
11449         * process-nt.c (send_signal_the_95_way):
11450         * process-nt.c (ensure_console_window_exists):
11451         * process-nt.c (nt_create_process):
11452         * syssignal.h:
11453         rename msw_ to mswindows_ for consistency with general convention.
11454
11455         * emacs.c:
11456         * dumper.c:
11457         include nt.h, not syswindows.h.
11458
11459         * nt.c (mswindows_fstat):
11460         * nt.c (mswindows_stat):
11461         prefix mswindows_ instead of attempting to directly override the
11462         library functions.  fix declarations.
11463
11464         * nt.h:
11465         include syswindows.h.  move some sysdep.h stuff here.
11466
11467         * ntheap.h:
11468         include syswindows.h, not <windows.h>.
11469
11470         * ntplay.c:
11471         clean up headers.
11472
11473         * sysdep.c:
11474         clean up headers.
11475
11476         * sysdep.c (sys_fstat):
11477         * sysdep.c (sys_stat):
11478         call mswindows versions when appropriate.
11479
11480         * sysdep.h:
11481         move mswin decls to nt.h.
11482
11483         * syswindows.h:
11484         add long comment describing appropriate use of the various windows
11485         headers.
11486
11487 2000-06-11  Ben Wing  <ben@xemacs.org>
11488
11489         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11490
11491 2000-06-10  Ben Wing  <ben@xemacs.org>
11492
11493         * Makefile.in.in (release):
11494         Correction to make sure xemacs.exe always dumped when correct.
11495
11496         * alloca.c:
11497         * balloon_help.c:
11498         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11499
11500         * buffer.c (set_buffer_internal):
11501         [[[[2]]]]: Remove HAVE_FEP code.
11502
11503         * buffer.c (init_initial_directory):
11504         [3].
11505
11506         * bytecode.c:
11507         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11508         individual files.
11509
11510         * callproc.c:
11511         * callproc.c (call_process_cleanup):
11512         * callproc.c (Fold_call_process_internal):
11513         * callproc.c (child_setup):
11514         * callproc.c (getenv_internal):
11515         * callproc.c (init_callproc):
11516         * callproc.c (vars_of_callproc):
11517         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11518         __CYGWIN32__ -> CYGWIN.
11519         DOS_NT -> WIN32_NATIVE.
11520         Remove MSDOS support/references, converting to WIN32_NATIVE
11521           where correct.
11522         __MINGW32__ -> MINGW.
11523         Fix windows.h includes.
11524         Remove bogus HAVE_NTGUI.
11525
11526         * config.h.in:
11527         [2].
11528
11529         * console-msw.c:
11530         mswindows_message_outputted added for use in allowing startup
11531         errors on the console to be seen.
11532
11533         * console-msw.c (msw_ensure_console_allocated):
11534         * console-msw.c (msw_output_console_string):
11535         * console-msw.c (DHEADER):
11536         * console-msw.c (DOPAQUE_DATA):
11537         * console-msw.c (DEVENT):
11538         * console-msw.c (DCONS):
11539         * console-msw.c (DCONSCDR):
11540         * console-msw.c (DSTRING):
11541         * console-msw.c (DVECTOR):
11542         * console-msw.c (DSYMBOL):
11543         * console-msw.c (DSYMNAME):
11544         Fix warnings.
11545
11546         * console-stream.c (stream_init_console):
11547         Fix text/binary problems.
11548
11549         * device-msw.c:
11550         * device-msw.c (mswindows_finish_init_device):
11551         * device-msw.c (mswindows_delete_device):
11552         [1].
11553
11554         * device.c (handle_asynch_device_change):
11555         [3].
11556
11557         * dgif_lib.c:
11558         * dgif_lib.c (DGifOpenFileName):
11559         * dgif_lib.c (DGifOpenFileHandle):
11560         * dgif_lib.c (DGifGetLine):
11561         * dgif_lib.c (DGifGetPixel):
11562         Added config.h/lisp.h, fix up includes.
11563         [1].
11564
11565         * dired-msw.c:
11566         [4].
11567
11568         * dired.c:
11569         * dired.c (file_name_completion):
11570         * dired.c (Ffile_attributes):
11571         * dired.c (syms_of_dired):
11572         [1].
11573
11574         * dumper.c:
11575         * dumper.c (pdump_file_unmap):
11576         * dumper.c (pdump_load):
11577         [1].
11578
11579         * editfns.c:
11580         * editfns.c (Ftemp_directory):
11581         * editfns.c (user_login_name):
11582         * editfns.c (Fuser_real_login_name):
11583         * editfns.c (get_home_directory):
11584         [1].
11585
11586         * elhash.c (finish_marking_weak_hash_tables):
11587         [[[[5]]]]: Fix GCC warnings.
11588
11589         * emacs.c:
11590         * emacs.c (mswindows_handle_hardware_exceptions):
11591         * emacs.c (make_arg_list_1):
11592         * emacs.c (main_1):
11593         * emacs.c (Fkill_emacs):
11594         * emacs.c (Fdump_emacs):
11595         [1].
11596         Fix problems with nested crashes, add long comment.
11597
11598         * event-Xt.c (init_event_Xt_late):
11599         [1].
11600
11601         * event-msw.c:
11602         * event-msw.c (mswindows_dde_callback):
11603         * event-msw.c (mswindows_handle_sticky_modifiers):
11604         * event-msw.c (mswindows_wnd_proc):
11605         [1].
11606         [5].
11607
11608         * events.c (character_to_event):
11609         [1].
11610
11611         * fileio.c:
11612         * fileio.c (Ffile_name_directory):
11613         * fileio.c (Ffile_name_nondirectory):
11614         * fileio.c (directory_file_name):
11615         * fileio.c (Fexpand_file_name):
11616         * fileio.c (Fsubstitute_in_file_name):
11617         * fileio.c (Ffile_name_absolute_p):
11618         * fileio.c (check_executable):
11619         * fileio.c (Ffile_readable_p):
11620         * fileio.c (Ffile_accessible_directory_p):
11621         * fileio.c (Ffile_modes):
11622         * fileio.c (Funix_sync):
11623         * fileio.c (vars_of_fileio):
11624         [1]. [4].
11625
11626         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11627
11628         Expand getdefdir defn.
11629         Fix bogus rename() comment.
11630
11631         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11632         to use standard XEmacs include files, e.g. sysfile.h, rather
11633         than system-specific includes.
11634
11635         * fns.c:
11636         * fns.c (Fsubseq):
11637         [5]. [6].
11638
11639         * frame.c (vars_of_frame):
11640         [1].
11641
11642         * getloadavg.c:
11643         * getloadavg.c (getloadavg):
11644         [1]. [6].
11645         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11646         (We don't use it elsewhere in the code; just add a comment.)
11647
11648         * gif_io.c:
11649         [6].
11650         Add config.h.
11651
11652         * glyphs-msw.c:
11653         * glyphs-msw.c (mswindows_resource_instantiate):
11654         [1].
11655
11656         * glyphs-x.c (x_native_layout_instantiate):
11657         [5].
11658
11659         * gui-msw.c (Fmswindows_shell_execute):
11660         [1].
11661
11662         * insdel.c:
11663         [4].
11664
11665         * lisp.h:
11666         [4]. [5].
11667
11668         * lread.c (locate_file_in_directory_mapper):
11669         [1].
11670
11671         * lstream.c:
11672         [4].
11673
11674         * mem-limits.h:
11675         * mem-limits.h (get_lim_data):
11676         [1].
11677
11678         * menubar-msw.c:
11679         [4].
11680
11681         * ndir.h:
11682         [1].
11683
11684         * nt.c:
11685         * nt.c (getwd):
11686         * nt.c (closedir):
11687         * nt.c (rva_to_section):
11688         * nt.c (mswindows_executable_type):
11689         [1]. [6].
11690         Fix closedir() defn.
11691
11692         * nt.h:
11693         [[[[8]]]]: *_OK defs moved to sysfile.h.
11694
11695         * ntproc.c:
11696         [6]. [7].
11697
11698         * objects-x.c:
11699         [4].
11700
11701         * print.c:
11702         * print.c (std_handle_out_external):
11703         [1]. [4].
11704
11705         * process-nt.c:
11706         * process-nt.c (nt_create_process):
11707         [6].
11708         try to fix process quoting somewhat.
11709
11710         * process-unix.c (unix_create_process):
11711         [1].
11712
11713         * process.c:
11714         * process.c (vars_of_process):
11715         Add Vnull_device.
11716
11717         * process.h:
11718         [1].
11719
11720         * realpath.c:
11721         * realpath.c (xrealpath):
11722         [1].
11723
11724         * redisplay-tty.c (init_tty_for_redisplay):
11725         [3].
11726
11727         * redisplay.c:
11728         [4]. [6].
11729
11730         * scrollbar-msw.c:
11731         [4].
11732
11733         * sheap.c:
11734         * sheap.c (more_static_core):
11735         * sheap.c (report_sheap_usage):
11736         [5]. [6].
11737
11738         * signal.c:
11739         * signal.c (alarm_signal):
11740         [1]. [6].
11741
11742         * sound.c:
11743         [6].
11744
11745         * strftime.c:
11746         * strftime.c (zone_name):
11747         [1]. [5].
11748
11749         * symsinit.h (init_sunpro):
11750         [1].
11751
11752         * syscommctrl.h:
11753         commctrl.h not in Cygwin b20.1.
11754
11755         * sysdep.c:
11756         * sysdep.c (endif):
11757         * sysdep.c (sys_subshell):
11758         * sysdep.c (init_baud_rate):
11759         * sysdep.c (emacs_get_tty):
11760         * sysdep.c (emacs_set_tty):
11761         * sysdep.c (tty_init_sys_modes_on_device):
11762         * sysdep.c (init_system_name):
11763         * sysdep.c (sys_open):
11764         * sysdep.c (interruptible_open):
11765         * sysdep.c (sys_fopen):
11766         * sysdep.c (sys_mkdir):
11767         * sysdep.c (sys_rename):
11768         * sysdep.c (get_process_times_1):
11769         [1]. [6].
11770
11771         * sysdep.h:
11772         [1].
11773
11774         * sysdir.h:
11775         * sysdir.h (DIRENTRY_NONEMPTY):
11776         [1]. [6].
11777
11778         * sysdll.c (dll_init):
11779         * sysdll.h:
11780         [1].
11781
11782         * sysfile.h:
11783         [1]. [6]. [8].
11784         added text/binary defs.
11785
11786         * sysfloat.h:
11787         [1].
11788
11789         * sysproc.h:
11790         * sysproc.h (EDESTADDRREQ):
11791         * sysproc.h (poll_fds_for_input):
11792         [1]. [6].
11793
11794         * syspwd.h:
11795         [6].
11796
11797         * syssignal.h:
11798         [1].
11799
11800         * systime.h:
11801         [1]. [6].
11802
11803         * systty.h:
11804         [1].
11805
11806         * syswindows.h:
11807         [1].
11808         Always define WIN32_LEAN_AND_MEAN.
11809
11810         * unexcw.c (unexec):
11811         [5].
11812
11813         * unexec.c:
11814         * unexec.c (copy_text_and_data):
11815         * unexec.c (adjust_lnnoptrs):
11816         [1].
11817
11818         * unexnt.c:
11819         * unexnt.c (_start):
11820         [1].
11821
11822 2000-06-07  Ben Wing  <ben@xemacs.org>
11823
11824         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11825         was used only as a model.  We've long since extracted any useful
11826         logic or code out of this. (I just did an exhaustive search.)
11827
11828         * s\msdos.h: Removed.
11829
11830         * s\windows95.h: Removed.
11831
11832 2000-06-10  Ben Wing  <ben@xemacs.org>
11833
11834         * s\cygwin32.h:
11835         [1]. [5].
11836         Don't use extern with fun defs.
11837
11838         * s\mingw32.h:
11839         [1]. [7].
11840         Remove nt\inc include.
11841         Remove getdisk, getdefdir. (The former is unused, the latter
11842         expanded in fileio.h.)
11843
11844         * s\windowsnt.h:
11845         * s\windowsnt.h (WIN32_NATIVE):
11846         * s\windowsnt.h (HAVE_STRCASECMP):
11847         [1]. [7].
11848         Add long comment about preprocessor changes.
11849         Remove getdisk, getdefdir. (The former is unused, the latter
11850         expanded in fileio.h.)
11851
11852 2000-06-10  Ben Wing  <ben@xemacs.org>
11853
11854         * m\arm.h:
11855         * m\delta.h:
11856         * m\intel386.h:
11857         * m\sequent.h:
11858         * m\template.h:
11859         * m\windowsnt.h:
11860         [1].
11861         Remove bogus/unused NO_SOCK_SIGIO.
11862
11863 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11864
11865         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11866         not an Emchar.
11867
11868 2000-06-04  Mike Sperber <mike@xemacs.org>
11869
11870         * casetab.c (set_case_table): For `set-standard-case-table',
11871         actually deposit the new case tables where the rest of XEmacs can
11872         see them.
11873
11874 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11875
11876         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11877
11878 2000-06-05  Ben Wing  <ben@xemacs.org>
11879
11880         * callproc.c (child_setup): Don't do close_load_descs() under
11881         MS Windows.  Put in a comment explaining why.
11882
11883 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11884
11885         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11886         Toolkit shell" which breaks `kill-compilation' on Windows NT
11887         native, retaining STDERR handling improvements.
11888
11889 2000-06-01  Andreas Jaeger  <aj@suse.de>
11890
11891         * s/s390.h: Support for S390, based on a patch by Martin
11892         Schwidefsky <schwidefsky@de.ibm.com>.
11893
11894 2000-05-30  Andy Piper  <andy@xemacs.org>
11895
11896         * window.c (allocate_window):
11897         (make_dummy_parent):
11898         (Fset_window_configuration): use new hashtable type.
11899
11900         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11901         (struct image_instantiator_methods):
11902         (struct Lisp_Image_Instance): make instance geometry signed.
11903
11904         * glyphs.c (instantiate_image_instantiator):
11905         (image_instance_query_geometry):
11906         (image_instance_layout):
11907         (image_instance_layout):
11908         (query_string_geometry):
11909         (text_query_geometry):
11910         (image_instantiate):
11911         (image_instantiate):
11912         (cache_subwindow_instance_in_frame_maybe):
11913         (subwindow_query_geometry): make instance geometry signed.
11914
11915         * glyphs-widget.c (widget_query_geometry):
11916         (widget_layout):
11917         (button_query_geometry):
11918         (tree_view_query_geometry):
11919         (tab_control_query_geometry):
11920         (layout_query_geometry):
11921         (layout_layout):
11922         (native_layout_layout): make instance geometry signed.
11923
11924 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11925
11926         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11927         constant.
11928
11929         * general.c (syms_of_general): Add Qfull_assoc symbol.
11930
11931         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11932         correctly.
11933         (decode_weak_list_type): Decode full-assoc type.
11934         (encode_weak_list_type): Encode full-assoc type.
11935         (Fmake_weak_list): Update doc string.
11936
11937 2000-05-30  Andy Piper  <andy@xemacs.org>
11938
11939         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11940
11941         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11942         (decode_hash_table_weakness): ditto.
11943         (Fhash_table_weakness): ditto.
11944         (Fhash_table_type): ditto.
11945         (finish_marking_weak_hash_tables): ditto.
11946         (hash_table_weakness_validate): ditto.
11947         (syms_of_elhash): ditto.
11948
11949 2000-05-28  Martin Buchholz <martin@xemacs.org>
11950
11951         * XEmacs 21.2.34 is released.
11952
11953 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11954
11955         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11956         start cache.
11957         (updating_line_start_cache): Gone.
11958         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11959         generic code to force a minimum of 1 line laid out in the
11960         CMOTION_DISP case.
11961
11962 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11963
11964         * glyphs.c (instantiate_image_instantiator): Check for initialized
11965         height & width no longer special cases IMAGE_NOTHING.
11966         (nothing_instantiate): Set height and width of instance.
11967
11968 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11969
11970         * unexelf.c (unexec): Search for ".data" section.
11971         Initialize new_data2_offset from old_data_index.
11972         Remove redundant check for ElfW.
11973
11974 2000-05-23  Andy Piper  <andy@xemacs.org>
11975
11976         * glyphs.c (get_image_instantiator_governing_domain): allow more
11977         specific domains as the governing domain rather than expecting an
11978         exact match. This fixes problems with layouts.
11979
11980 2000-05-22  Andy Piper  <andy@xemacs.org>
11981
11982         * redisplay-output.c (compare_runes): check for non-images
11983
11984         * glyphs.c (set_glyph_dirty_p): ditto.
11985         (update_glyph_cachel_data): ditto.
11986
11987         * glyphs-widget.c (layout_post_instantiate): ditto.
11988         (layout_post_instantiate): ditto.
11989
11990         * event-msw.c (mswindows_wnd_proc): warning removal.
11991
11992 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11993
11994         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11995
11996         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11997
11998         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11999
12000         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12001         (mswindows_executable_type): mingw32 now has enough headers for
12002         this to work.
12003
12004 2000-05-20  Andy Piper  <andy@xemacs.org>
12005
12006         * console-msw.c (mswindows_output_last_error): ; -> ,
12007
12008 2000-05-12  Andy Piper  <andy@xemacs.org>
12009
12010         * console-msw.c (FROB): compare ints with ints.
12011
12012 2000-05-11  Andy Piper  <andy@xemacs.org>
12013
12014         * glyphs-x.c (x_finalize_image_instance): make minimal build
12015         happy.
12016
12017 2000-05-20  Ben Wing  <ben@xemacs.org>
12018
12019         * event-Xt.c:
12020         * event-Xt.c (vars_of_event_Xt):
12021         move modifier-keys-are-sticky to event-stream.c.
12022
12023         * event-msw.c:
12024         * event-msw.c (mswindows_enqueue_mouse_button_event):
12025         * event-msw.c (key_needs_default_processing_p):
12026         * event-msw.c (XEMSW_LCONTROL):
12027         * event-msw.c (mswindows_handle_sticky_modifiers):
12028         * event-msw.c (FROB):
12029         * event-msw.c (clear_sticky_modifiers):
12030         * event-msw.c (output_modifier_keyboard_state):
12031         * event-msw.c (output_alt_keyboard_state):
12032         * event-msw.c (mswindows_wnd_proc):
12033         * event-msw.c (mswindows_modifier_state):
12034         * event-msw.c (emacs_mswindows_handle_magic_event):
12035         implement sticky modifiers.
12036
12037         * event-stream.c:
12038         * event-stream.c (vars_of_event_stream):
12039         move modifier-keys-are-sticky here.
12040
12041         * lisp.h:
12042         add CHECK_FUNCTION.
12043
12044         * rangetab.c:
12045         implement map-range-table.
12046
12047
12048 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12049
12050         * redisplay-tty.c (reset_tty_modes):
12051         (tty_redisplay_shutdown): Adjust argument type to
12052         tty_frame_output_end.
12053
12054 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12055
12056         * eval.c (Fbacktrace): Don't output a line with only right
12057         parenthesis.
12058
12059 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12060
12061         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12062         (Fpq_reset_poll): Ditto.
12063
12064 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12065
12066         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12067
12068 2000-05-16  Ben Wing  <ben@xemacs.org>
12069
12070         * buffer.c:
12071         * buffer.c (dfc_convert_to/from_internal_format):
12072         * buffer.c (reinit_vars_of_buffer):
12073         Fix conversion functions to allow reentrancy.
12074
12075         * console-msw.c:
12076         * console-msw.c (mswindows_output_last_error):
12077         New fun, generally useful -- output a human-readable
12078         version of GetLastError() on the console.
12079
12080         * console-msw.h:
12081         * console-msw.h (struct mswindows_frame):
12082         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12083
12084         * console-stream.c (stream_output_begin):
12085         * console-stream.c (stream_output_end):
12086         * console-stream.c (stream_output_vertical_divider):
12087         * console-stream.c (stream_clear_region):
12088         * console-stream.c (stream_flash):
12089         * console-stream.c (console_type_create_stream):
12090         Delete blank stream methods, not needed.
12091
12092         * console.h (struct console_methods):
12093         Split begin/end methods into window and frame.
12094
12095         * event-msw.c:
12096         * event-msw.c (mswindows_handle_paint):
12097         * event-msw.c (output_alt_keyboard_state):
12098         * event-msw.c (mswindows_wnd_proc):
12099         * event-msw.c (vars_of_event_mswindows):
12100         Comment about problems with ignored-expose.
12101         Define mswindows-debug-events; not really implemented.
12102
12103         * frame-msw.c (mswindows_init_frame_1):
12104         random cleanups.
12105
12106         * glyphs-msw.c:
12107         * glyphs-msw.c (begin_defer_window_pos):
12108         * glyphs-msw.c (mswindows_unmap_subwindow):
12109         * glyphs-msw.c (mswindows_map_subwindow):
12110         * glyphs-msw.c (mswindows_resize_subwindow):
12111         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12112
12113         * glyphs.c (make_image_instance_1):
12114         Fix crash.
12115
12116         * gutter.c (Fredisplay_gutter_area):
12117         Use new begin/end methods.
12118
12119         * lisp.h (Dynarr_new2):
12120         New creation fun.
12121
12122         * redisplay-msw.c:
12123         * redisplay-msw.c (mswindows_frame_output_begin):
12124         * redisplay-msw.c (mswindows_frame_output_end):
12125         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12126         New begin/end methods -- handle DeferWindowPos.
12127
12128         * redisplay-output.c (redisplay_move_cursor):
12129         * redisplay-output.c (redraw_cursor_in_window):
12130         * redisplay-output.c (redisplay_update_line):
12131         * redisplay-output.c (redisplay_output_window):
12132         New begin/end methods.
12133
12134         * redisplay-tty.c:
12135         * redisplay-tty.c (tty_frame_output_begin):
12136         * redisplay-tty.c (tty_frame_output_end):
12137         * redisplay-tty.c (console_type_create_redisplay_tty):
12138         New begin/end methods.
12139
12140         * redisplay-x.c:
12141         * redisplay-x.c (x_window_output_begin):
12142         * redisplay-x.c (x_window_output_end):
12143         * redisplay-x.c (console_type_create_redisplay_x):
12144         New begin/end methods.
12145
12146         * redisplay.c (redisplay_frame):
12147         * redisplay.c (Fredisplay_echo_area):
12148         New begin/end methods.
12149         use MAYBE_DEVMETH for clear_frame; it may not exist.
12150
12151         * window.h (WINDOW_XFRAME):
12152         WINDOW_XFOO macros -- get locale and decode struct pointer.
12153
12154
12155 2000-05-12  Ben Wing  <ben@xemacs.org>
12156
12157         * emacs.c:
12158         * emacs.c (ensure_no_quitting_from_now_on):
12159         * emacs.c (fatal_error_signal):
12160         * emacs.c (mswindows_handle_hardware_exceptions):
12161         * emacs.c (main):
12162         * emacs.c (Fkill_emacs):
12163         * emacs.c (shut_down_emacs):
12164         * emacs.c (assert_failed):
12165         various improvements in fatal error handling.
12166
12167         * eval.c:
12168         move preparing_for_armageddon to emacs.c.
12169
12170         * lisp.h:
12171         declare fatal_error_in_progress.
12172
12173         * print.c:
12174         * print.c (std_handle_out_external):
12175         * print.c (std_handle_out_va):
12176         * print.c (stderr_out):
12177         * print.c (stdout_out):
12178         use console under mswin when no standard output.
12179         don't do code conversion during fatal error.
12180
12181         * scrollbar.c (Fscrollbar_page_up):
12182         * scrollbar.c (Fscrollbar_page_down):
12183         fix missing else.  reindent.
12184
12185 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12186
12187         Emergency fix.
12188
12189         * glyphs.h (GLYPH_CACHEL_DESCENT):
12190         (GLYPH_CACHEL_DESCENT):
12191         (GLYPH_CACHEL_DESCENT):
12192         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12193         used in case these are inline functions.
12194         Use more absurd values to error check.
12195
12196         include window.h for error check functions.
12197
12198 2000-05-11  Ben Wing  <ben@xemacs.org>
12199
12200         * cmdloop.c (Freally_early_error_handler):
12201         Display message box under windows; otherwise, message will disappear
12202         before it can be viewed.
12203
12204         * console-msw.c:
12205         * console-msw.c (Fmswindows_message_box):
12206         * console-msw.c (FROB):
12207         * console-msw.c (syms_of_console_mswindows):
12208         Define new fun `mswindows-message-box'.
12209         #### I will merge this into `popup-dialog-box'; just give me
12210         a bit of time.
12211
12212         * general.c:
12213         * general.c (syms_of_general):
12214         Some new symbols used in `mswindows-message-box'.
12215
12216         * glyphs.c:
12217         * glyphs.c (Fset_image_instance_property):
12218         put warning in this fun.
12219
12220         * glyphs.h:
12221         * glyphs.h (GLYPH_CACHEL_WIDTH):
12222         * glyphs.h (GLYPH_CACHEL_ASCENT):
12223         * glyphs.h (GLYPH_CACHEL):
12224         * glyphs.h (GLYPH_CACHEL_GLYPH):
12225         define error-checking versions to try to catch a bug i've seen --
12226         redisplay gets in an infinite loop because the glyph width of the
12227         continuation glyph is 65535.
12228
12229         * lisp.h:
12230         Extern message-box stuff.
12231
12232         * window.c (allocate_window):
12233         * window.c (make_dummy_parent):
12234         * window.c (Fset_window_configuration):
12235         Use EQUAL not EQ for subwindow caches to make them work a bit
12236         better. (Something is still very broken.)
12237
12238
12239 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12240
12241         * glyphs.c (image_instantiate): Suppress gcc warnings.
12242         (Fmake_image_instance): Fix doc string.
12243         * specifier.c (Fmake_specifier): Ditto.
12244
12245 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12246
12247         * paths.h.in (PATH_LOCK): Removed.
12248         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12249         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12250
12251 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12252
12253         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12254         Document (featurep '(and xemacs 21.02)).
12255
12256 2000-05-09  Ben Wing  <ben@xemacs.org>
12257
12258         * buffer.c (complex_vars_of_buffer):
12259         update modeline-format doc.
12260
12261         * device.h:
12262         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12263
12264         * emacs.c:
12265         timeline of all released versions of Emacs, for use in creating
12266         authorship comments and in synching up.
12267
12268         * glyphs-widget.c (image_instantiator_buttons):
12269         * glyphs-widget.c (image_instantiator_edit_fields):
12270         * glyphs-widget.c (image_instantiator_combo_box):
12271         * glyphs-widget.c (image_instantiator_scrollbar):
12272         * glyphs-widget.c (image_instantiator_progress_guage):
12273         * glyphs-widget.c (image_instantiator_tree_view):
12274         * glyphs-widget.c (image_instantiator_tab_control):
12275         * glyphs-widget.c (image_instantiator_labels):
12276         * glyphs-widget.c (image_instantiator_layout):
12277         * glyphs-widget.c (image_instantiator_native_layout):
12278         rename decode_domain method to governing_domain.
12279
12280         * glyphs.c:
12281         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12282         * glyphs.c (add_entry_to_device_ii_format_list):
12283         make sure we don't put an entry more than once into the list.
12284         * glyphs.c (check_instance_cache_mapper):
12285         *************************************************************
12286         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12287         HAVE BEEN GETTING.
12288         *************************************************************
12289         * glyphs.c (get_image_instantiator_governing_domain):
12290         clean up, expand on new concept of governing domain.
12291         * glyphs.c (instantiate_image_instantiator):
12292         * glyphs.c (allocate_image_instance):
12293         use governing_domain instead of cache_domain in naming.
12294         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12295         * glyphs.c (make_image_instance_1):
12296         * glyphs.c (Fmake_image_instance):
12297         allow for any domain (not just device), and process the
12298         governing domain correctly.  very big doc fix.
12299         * glyphs.c (Fimage_instance_domain):
12300         new primitive, to retrieve the governing domain of an image instance.
12301         * glyphs.c (image_instantiate):
12302         use new governing_domain stuff.  this fixes a crash you could get
12303         by instantiating certain widget glyphs in frame locales. (should
12304         signal an error instead of crashing.)
12305         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12306         * glyphs.c (Fglyphp): clean up doc.
12307         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12308         * glyphs.c (syms_of_glyphs):
12309         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12310         * glyphs.c (image_instantiator_format_create): add some comments about
12311         bogus code.
12312         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12313         for current-display-table. (Apparently Hrjove implemented in 1998 a
12314         design I wrote up in 1996, but didn't update the doc string.)
12315
12316         * glyphs.h: clean up a doc string.
12317         * glyphs.h (governing_domain):
12318         * glyphs.h (struct image_instantiator_methods):
12319         changes for governing_domain stuff.
12320
12321         * gutter.c:
12322         * gutter.c (Fgutter_specifier_p):
12323         * gutter.c (Fgutter_size_specifier_p):
12324         * gutter.c (Fgutter_visible_specifier_p):
12325         * objects.c:
12326         * objects.c (Fcolor_specifier_p):
12327         * objects.c (Ffont_specifier_p):
12328         * objects.c (Fface_boolean_specifier_p):
12329         doc strings moved to make-*-specifier.
12330
12331         * redisplay.c (add_disp_table_entry_runes_1):
12332         * redisplay.c (generate_fstring_runes):
12333         * redisplay.c (screen):
12334         add random comments and doc strings.
12335
12336         * specifier.c:
12337         * specifier.c (Fmake_specifier):
12338         major overhaul of this doc string.
12339
12340         * specifier.c (Fvalid_specifier_domain_p):
12341         comment about the bogosity of image instances being domains.
12342         * specifier.c (decode_domain):
12343         now non-static, used in glyphs.c.
12344         * specifier.c (specifier_instance):
12345         comment about the bogosity of image instances being domains.
12346         * specifier.c (Fgeneric_specifier_p):
12347         move doc string to make-generic-specifier.
12348         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12349         rebackslashify.
12350
12351         * specifier.h:
12352         * specifier.h (DOMAIN_FRAME):
12353         * specifier.h (DOMAIN_LIVE_P):
12354         * specifier.h (DOMAIN_XDEVICE):
12355         rebackslashify.
12356         add comments about problems with these macros.
12357         prototype for decode_domain.
12358
12359         * toolbar.c:
12360         * toolbar.c (Ftoolbar_specifier_p):
12361         move doc string to `make-toolbar-specifier'.
12362
12363         * window.c (window_unmap_subwindows_cache_mapper):
12364         *************************************************************
12365         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12366         HAVE BEEN GETTING.
12367         *************************************************************
12368
12369 2000-05-09  Andy Piper  <andy@xemacs.org>
12370
12371         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12372
12373         * window.c (Fset_window_configuration): reset the frame subwindow
12374         cache and re-initialize the window subwindow caches.
12375
12376         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12377
12378 2000-05-09  Ben Wing  <ben@xemacs.org>
12379
12380         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12381         DWORD.
12382
12383 2000-04-26  Mike Woolley  <mike@bulsara.com>
12384
12385         * ntheap.c: Changed recreate_heap to limit the amount reserved
12386         for the heap to that which is actually available. Also now
12387         displays a message box (with some dignostics) in the event that
12388         it still can't start.
12389
12390 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12391
12392         * callproc.c (Fold_call_process_internal): GCPRO path
12393
12394 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12395
12396         Patch by Bill Perry.
12397
12398         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12399         back data instead of #ifdef.
12400         (Fscrollbar_page_down): ditto.
12401
12402 2000-05-07  Ben Wing  <ben@xemacs.org>
12403
12404         * buffer.h:
12405         Kludge for defining Qmswindows_tstr.
12406
12407         * nt.c:
12408         * nt.c (open_input_file):
12409         * nt.c (open_output_file):
12410         * nt.c (rva_to_section):
12411         * nt.c (mswindows_executable_type):
12412         Move all memory-mapped-file routines here (some were in unexnt.c,
12413         which is bad because they are used by process-nt.c, and unexnt
12414         won't be around when portable dumping).  Synched the above routines
12415         with FSF 20.6.
12416
12417         * nt.h:
12418         Removed ifdef'd out bogus code.
12419         Fixed some prototypes.
12420
12421         * nt.h (file_data):
12422         * nt.h (OFFSET_TO_RVA):
12423         * nt.h (RVA_TO_OFFSET):
12424         * nt.h (RVA_TO_PTR):
12425         Moved the memory-mapped-file structures, macros and prototypes
12426         here, to parallel nt.c.  ntheap.h should really be removed
12427         entirely, and it's a non-portable-dumper specific file.
12428
12429         * ntheap.h (round_to_next):
12430         Moved the memory-mapped-file structures, macros and prototypes
12431         to nt.h.
12432
12433         * ntproc.c (compare_env):
12434         Moved rva_to_section and mswindows_executable_type to nt.c.
12435         Moved compare_env to process-nt.c.
12436         ntproc.c will die, one day.
12437
12438         * ntproc.c (sys_spawnve):
12439         Account for win32_ -> mswindows_.
12440
12441         * process-nt.c:
12442         * process-nt.c (struct nt_process_data):
12443         * process-nt.c (ensure_console_window_exists):
12444         * process-nt.c (compare_env):
12445         * process-nt.c (nt_create_process):
12446         * process-nt.c (nt_kill_process_by_pid):
12447         * process-nt.c (syms_of_process_nt):
12448         * process-nt.c (vars_of_process_nt):
12449         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12450         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12451         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12452         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12453         Move compare_env here from ntproc.c.
12454
12455         * process.c (Fprocess_send_region):
12456         Takes an optional fourth argument, BUFFER, which should fix some
12457         problems with call-process.
12458
12459         * syscommctrl.h:
12460         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12461
12462         * syswindows.h:
12463         Move ICC_BAR_CLASSES to syscommctrl.h.
12464         Add preliminary macros for MSWindows/Mule.  More to come.
12465
12466         * unexnt.c:
12467         * unexnt.c (unexec):
12468         open_output_file moved to nt.c.
12469
12470
12471 2000-05-05  Andy Piper  <andy@xemacs.org>
12472
12473         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12474         instance from the frame cache also since GC may catch up too late
12475         to make frame deletion sane.
12476
12477 2000-05-04  Andy Piper  <andy@xemacs.org>
12478
12479         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12480         (x_finalize_image_instance): ungcpro on deletion.
12481
12482         * glyphs.c (image_instantiator_format_create): give pointers a
12483         query geometry method so that the geometry is at least set.
12484
12485         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12486         initialize layouts if using widgets.
12487
12488 2000-05-03  Andy Piper  <andy@xemacs.org>
12489
12490         * nt.c: remove bogus reference to sysmmsystem.h
12491
12492         * gui-x.c (popup_selection_callback): fix no selection abort.
12493
12494 2000-05-02  Andy Piper  <andy@xemacs.org>
12495
12496         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12497         (mswindows_widget_instantiate): ditto.
12498
12499         * glyphs-widget.c (initialize_widget_image_instance): initialize
12500         children correctly.
12501         (widget_instantiate): cope with children and items in the same
12502         instance.
12503
12504         * glyphs.c (mark_image_instance): cope with children as a first
12505         class member.
12506         (image_instance_equal): ditto.
12507         (image_instance_hash): ditto.
12508         (image_instance_changed): ditto.
12509
12510 2000-04-30  Andy Piper  <andy@xemacs.org>
12511
12512         * glyphs.c (subwindow_query_geometry): new function. Return some
12513         defaults.
12514         (subwindow_instantiate): don't assign dimensions if none have been
12515         given.
12516         (image_instantiator_format_create): add subwindow_query_geometry.
12517         (print_image_instance): cope with layouts as widgets.
12518
12519 2000-04-29  Andy Piper  <andy@xemacs.org>
12520
12521         * frame.c (delete_frame_internal): call
12522         free_frame_subwindow_instance_cache so that all subwindows are
12523         finalized before their parent.
12524         (mark_frame): remove subwindow_cachels.
12525         (Fmake_frame): remove subwindow_cachel manipulation.
12526         (allocate_frame_core): subwindow_instance_cache is a weak list.
12527         (delete_frame_internal): set subwindow_instance_cache to nil.
12528
12529         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12530         finalization safe.
12531         (mswindows_finalize_image_instance): use the device
12532         not the domain as the domain may have died already.
12533
12534         * glyphs-x.c (x_finalize_image_instance): ditto.
12535         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12536         HEIGHT.
12537
12538         * redisplay-output.c (redisplay_unmap_subwindows): update for
12539         subwindow instance cache as a weak list.
12540         (redisplay_unmap_subwindows_maybe): ditto.
12541         (redisplay_unmap_subwindows_except_us): ditto.
12542
12543         * glyphs.c (unmap_subwindow): error checking will check the domain
12544         so don't deal with it here. Don't use cachels anymore.
12545         (map_subwindow): ditto.
12546         (update_subwindow_cachel_data): remove old accessor names.
12547         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12548         (Fresize_subwindow): don't update cachel.
12549         (mark_subwindow_cachels):
12550         (update_subwindow_cachel_data):
12551         (add_subwindow_cachel):
12552         (get_subwindow_cachel_index):
12553         (update_subwindow_cachel):
12554         (reset_subwindow_cachels):
12555         (mark_subwindow_cachels_as_not_updated): deleted.
12556         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12557         subwindow instance to the frame cache.
12558         (find_matching_subwindow): update for subwindow instance cache as
12559         a weak list.
12560         (update_widget_instances): ditto.
12561         (image_instance_type_to_mask):inlined.
12562         (free_frame_subwindow_instance_cache): new function. finalize all
12563         subwindows that are instantiated.
12564
12565         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12566         of cachel information.
12567         (IMAGE_INSTANCE_DISPLAY_X):
12568         (IMAGE_INSTANCE_DISPLAY_Y):
12569         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12570         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12571         (XIMAGE_INSTANCE_DISPLAY_X):
12572         (XIMAGE_INSTANCE_DISPLAY_Y):
12573         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12574         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12575         remove subwindow_cachel structure and function references.
12576         (image_instance_type_to_mask): inline from glyphs.c
12577
12578         * redisplay.c (redisplay_frame): remove subwindow_cachel
12579         references.
12580
12581         * frame.h (struct frame): remove subwindow_cachels.
12582         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12583
12584         * frameslots.h: add subwindow_instance_cache.
12585
12586         * window.c (replace_window): check subwindow cache of replacement.
12587         (window_unmap_subwindows_cache_mapper):
12588         (window_unmap_subwindows): new functions. Unmap all subwindows
12589         cached on this window.
12590         (mark_window_as_deleted): unmap all subwindows.
12591
12592 2000-04-27  Andy Piper  <andy@xemacs.org>
12593
12594         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12595
12596         * glyphs-widget.c (widget_layout): return something.
12597         (layout_layout): return something. Fail if not initialized.
12598         (layout_query_geometry): ditto.
12599         (image_instantiator_native_layout): new function. Initialized the
12600         native layout type.
12601         (widget_instantiate): don't do layout stuff here.
12602
12603         * glyphs.c (instantiate_image_instantiator): reorded calling or
12604         instantiate and post_instantiate with layout in between.
12605         (image_instance_layout): be more selective about deciding whether
12606         the layout has been done or not.
12607
12608         * glyphs.h (struct image_instantiator_methods): return a value
12609         from layout_method.
12610
12611 2000-04-26  Andy Piper  <andy@xemacs.org>
12612
12613         * glyphs.c (allocate_image_instance): make initial width and
12614         height unspecified. Set initialized to 0.
12615
12616         * syscommctrl.h new file. Encapsulates commctrl.h.
12617
12618         * syswindows.h new file. Encapsulates windows.h.
12619
12620         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12621         * nt.c: ditto.
12622         * console-msw.h: ditto.
12623
12624         * redisplay-tty.c (tty_output_display_block): remove layout references.
12625
12626         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12627         window handle rather than just the frame.
12628
12629         * glyphs.c (mark_image_instance): remove layout references.
12630         (print_image_instance): ditto.
12631         (image_instance_equal): ditto.
12632         (image_instance_hash): ditto.
12633         (decode_image_instance_type): ditto.
12634         (encode_image_instance_type): ditto.
12635         (image_instantiate): ditto.
12636         (allocate_glyph): ditto.
12637         (Fimage_instance_height): ditto.
12638         (Fimage_instance_width): ditto.
12639         (update_subwindow): ditto.
12640
12641         * redisplay-x.c (x_output_display_block): recode for layouts as
12642         widgets.
12643
12644         * redisplay-output.c (redisplay_output_layout): recode for layouts
12645         as widgets.
12646         (compare_runes): remove layout references.
12647
12648         * redisplay-msw.c (mswindows_output_display_block): recode for
12649         layouts as widgets.
12650
12651         * glyphs-widget.c (image_instantiator_layout): remove
12652         layout_possible_dest_types.
12653         (layout_possible_dest_types): deleted.
12654
12655         * glyphs.h (image_instance_type): remove layout references.
12656         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12657         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12658         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12659
12660 2000-04-25  Andy Piper  <andy@xemacs.org>
12661
12662         * glyphs-widget.c (image_instantiator_buttons):
12663         (image_instantiator_edit_fields):
12664         (image_instantiator_combo_box):
12665         (image_instantiator_scrollbar):
12666         (image_instantiator_progress_guage):
12667         (image_instantiator_tree_view):
12668         (image_instantiator_tab_control):
12669         (image_instantiator_labels):
12670         (image_instantiator_layout): call default post_instantiate method.
12671         (widget_post_instantiate): new function. Simply lays out the
12672         widgets.
12673
12674         * glyphs.h (struct image_instantiator_methods): add
12675         post_instantiate method.
12676
12677         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12678         method calls.
12679
12680 2000-04-23  Andy Piper  <andy@xemacs.org>
12681
12682         * glyphs.h (struct image_instantiator_methods): add
12683         decode_domain_method.
12684         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12685         derived from the domain.
12686         (IMAGE_INSTANCE_FRAME): new accessor.
12687         (XIMAGE_INSTANCE_FRAME): ditto.
12688
12689         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12690         instead of _SUBWINDOW_FRAME.
12691         (finalize_image_instance): ditto.
12692         (Fimage_instance_foreground): ditto.
12693         (Fimage_instance_background): ditto.
12694         (image_instantiate): ditto.
12695         (update_subwindow_cachel): ditto.
12696         (update_subwindow): ditto.
12697         (unmap_subwindow): ditto.
12698         (map_subwindow): ditto
12699         (subwindow_instantiate): ditto.
12700         * glyphs-msw.c (mswindows_update_widget): ditto.
12701         (mswindows_progress_gauge_instantiate): ditto.
12702         (mswindows_tab_control_update): ditto.
12703         * glyphs-x.c (x_update_widget): ditto.
12704         (x_widget_instantiate): ditto.
12705         (x_tab_control_instantiate): ditto.
12706         (x_tab_control_update): ditto.
12707         * event-msw.c (mswindows_wnd_proc): ditto
12708
12709         * glyphs-widget.c (image_instantiator_layout): use
12710         subwindow_decode_domain.
12711         (image_instantiator_buttons): ditto.
12712         (image_instantiator_edit_fields): ditto.
12713         (image_instantiator_combo_box): ditto.
12714         (image_instantiator_scrollbar): ditto.
12715         (image_instantiator_progress_guage): ditto.
12716         (image_instantiator_tree_view): ditto.
12717         (image_instantiator_tab_control): ditto.
12718         (image_instantiator_labels): ditto.
12719         (image_instantiator_layout): ditto.
12720
12721         * glyphs.c: add instance error checking to many functions.
12722         (instantiate_image_instantiator): decode device from cache_domain.
12723         (image_instantiate): partially rewrite by using
12724         decode_image_instantiator_domain to determine what domain the
12725         instance needs to be cached in.
12726         (decode_image_instantiator_domain): new function. Determine what
12727         domain the image needs to be cached in.
12728         (check_window_subwindow_cache): new error checking function.
12729         (check_instance_cache_mapper): ditto.
12730         (check_image_instance_structure): ditto.
12731         (subwindow_decode_domain): new function. Encodes a window as a
12732         subwindow's cache domain.
12733         (image_instantiator_format_create): use it for text and
12734         subwindows.
12735
12736 2000-04-21  Andy Piper  <andy@xemacs.org>
12737
12738         * glyphs.c (image_instance_device): new function.
12739         (image_instance_frame): new function.
12740         (image_instance_window): new function.
12741         (image_instance_live_p): new function.
12742
12743         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12744         cache to nil.
12745
12746         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12747         (IMAGE_INSTANCE_DOMAIN): new accessor.
12748         (XIMAGE_INSTANCE_DOMAIN): ditto.
12749
12750         * glyphs-x.c (x_finalize_image_instance): device->domain.
12751
12752         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12753         (mswindows_finalize_image_instance): ditto.
12754
12755         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12756         (gif_instantiate): ditto.
12757         (png_instantiate): ditto.
12758         (tiff_instantiate): ditto.
12759
12760         * glyphs.c (instantiate_image_instantiator): use domain rather
12761         than device.
12762         (mark_image_instance): device -> domain.
12763         (print_image_instance): ditto.
12764         (finalize_image_instance): ditto.
12765         (image_instance_equal): ditto.
12766         (allocate_image_instance): ditto.
12767         (Fcolorize_image_instance): ditto.
12768         (query_string_geometry): ditto.
12769         (image_instantiate): ditto
12770         (query_string_font): ditto.
12771         (image_instantiate): ditto.
12772         (update_subwindow): ditto.
12773         (unmap_subwindow): ditto.
12774         (map_subwindow): ditto.
12775         (subwindow_instantiate): ditto.
12776
12777         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12778         (DOMAIN_FRAME): ditto.
12779         (DOMAIN_WINDOW): ditto.
12780         (DOMAIN_LIVE_P): ditto.
12781         (XDOMAIN_DEVICE): ditto.
12782         (XDOMAIN_FRAME): ditto.
12783         (XDOMAIN_WINDOW): ditto.
12784
12785         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12786         a valid specifier domain.
12787
12788 2000-04-19  Andy Piper  <andy@xemacs.org>
12789
12790         * glyphs-widget.c (syms_of_glyphs_widget): remove
12791         widget-callback-current-channel.
12792         (vars_of_glyphs_widget): ditto.
12793         * glyphs.h: ditto
12794
12795         * gui.c (get_gui_callback): revert to previous behaviour.
12796
12797 2000-04-18  Andy Piper  <andy@xemacs.org>
12798
12799         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12800         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12801         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12802
12803         * glyphs.c (image_instance_equal): add margin_width.
12804         (image_instance_hash): ditto.
12805
12806         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12807         (layout_query_geometry): ditto.
12808         (layout_layout): ditto.
12809         (syms_of_glyphs_widget): add margin-width.
12810         (image_instantiator_layout): allow margin-width.
12811
12812         * glyphs.c (update_widget_instances): make a normal function.
12813         (syms_of_glyphs): remove Qupdate_widget_instances.
12814         * glyphs.h: ditto.
12815
12816         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12817         so that we don't corrupt ideas about the last event or
12818         command. Remove widget-callback-current-channel fiddling.
12819         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12820
12821 2000-05-01  Martin Buchholz <martin@xemacs.org>
12822
12823         * XEmacs 21.2.33 is released.
12824
12825 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12826
12827         * make-src-depend: Allow dots in header file name.
12828
12829 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12830
12831         * mule-charset.h (struct charset_lookup): Add
12832         next_allocated_1_byte_leading_byte and
12833         next_allocated_2_byte_leading_byte.
12834         * mule-charset.c: Move above two variables so that those values
12835         will be dumped.
12836
12837 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12838
12839         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12840         when string length is zero.
12841         (find_charsets_in_emchar_string): Ditto.
12842
12843 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12844
12845         * lisp.h: extern Qdialog and Qmenubar.
12846
12847         * gui-x.c: added events.h.
12848                 also fixed typo which made the file uncompilable.
12849
12850         * general.c: Added Qmenubar and Qdialog
12851
12852 2000-04-28  Ben Wing  <ben@xemacs.org>
12853
12854         * frame-msw.c (mswindows_init_frame_1):
12855         * frame-msw.c (mswindows_mark_frame):
12856         * event-msw.c (mswindows_enqueue_dispatch_event):
12857         * console-msw.h:
12858         * console-msw.h (struct mswindows_frame):
12859         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12860         there are now three hash tables for callbacks.
12861         mswindows_enqueue_dispatch_event is no longer static.
12862
12863         * dialog-x.c (maybe_run_dbox_text_callback):
12864         * dialog-x.c (dbox_descriptor_to_widget_value):
12865         switch to new cons3 form for callbacks.
12866
12867         * glyphs-msw.c (mswindows_register_gui_item):
12868         * glyphs-msw.c (mswindows_widget_instantiate):
12869         * glyphs-msw.c (add_tree_item):
12870         * glyphs-msw.c (add_tab_item):
12871         new image instance parameter, so it can be passed to callback-ex.
12872         respect :callback-ex as well as :callback.
12873
12874         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12875         add :callback-ex.
12876
12877         * glyphs.c (print_image_instance):
12878         prettify, e.g. now prints widget type.
12879
12880         * gui-x.h:
12881         certain funs have new image instance parameter.
12882
12883         * gui.c:
12884         * gui.c (get_gui_callback):
12885         * gui.c (gui_item_add_keyval_pair):
12886         * gui.c (gui_item_init):
12887         * gui.c (gui_add_item_keywords_to_plist):
12888         * gui.c (mark_gui_item):
12889         * gui.c (gui_item_hash):
12890         * gui.c (gui_item_equal):
12891         * gui.c (copy_gui_item):
12892         * gui.c (syms_of_gui):
12893         recognize callback-ex in a number of places.
12894         also, fix the annoying "can't get out of yes-no dialog" bug.
12895
12896         * gui.h:
12897         * gui.h (struct Lisp_Gui_Item):
12898         recognize callback-ex in a number of places.
12899
12900         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12901         new parameter in button_item_to_widget_value.
12902
12903         * glyphs-x.c (x_update_widget):
12904         * glyphs-x.c (x_button_instantiate):
12905         * glyphs-x.c (x_button_update):
12906         * glyphs-x.c (x_progress_gauge_instantiate):
12907         * glyphs-x.c (x_edit_field_instantiate):
12908         * glyphs-x.c (x_combo_box_instantiate):
12909         * glyphs-x.c (x_tab_control_instantiate):
12910         * glyphs-x.c (x_label_instantiate):
12911         new image instance parameter in various places.
12912
12913         * event-Xt.c:
12914         * event-Xt.c (enqueue_Xt_dispatch_event):
12915         this fun gets exported.
12916
12917         * gui-msw.c:
12918         * gui-msw.c (mswindows_handle_gui_wm_command):
12919         handle both :callback and :callback-ex, and generate our own
12920         event because it's one of the callback-ex arguments.
12921
12922         * gui-x.c:
12923         * gui-x.c (popup_selection_callback):
12924         handle both :callback and :callback-ex, and generate our own
12925         event because it's one of the callback-ex arguments.
12926         * gui-x.c (button_item_to_widget_value):
12927         * gui-x.c (gui_items_to_widget_values_1):
12928         * gui-x.c (gui_item_children_to_widget_values):
12929         * gui-x.c (gui_items_to_widget_values):
12930         new image instance parameter in various places.
12931
12932         * fns.c (Freplace_list):
12933         fix small typo in doc string.
12934
12935         * lisp.h:
12936         declare enqueue_Xt_dispatch_event.
12937
12938 2000-04-28  Ben Wing  <ben@xemacs.org>
12939
12940         * buffer.c:
12941         * buffer.c (Frecord_buffer):
12942         * buffer.c (syms_of_buffer):
12943         delete record-buffer-hook.
12944
12945         * fns.c:
12946         * fns.c (Freplace_list):
12947         * fns.c (syms_of_fns):
12948         new primitive replace-list.
12949
12950         * frameslots.h:
12951         slot for old buffer-alist.
12952
12953         * lisp.h:
12954         exfun replace-list.
12955
12956         * redisplay.c:
12957         * redisplay.c (redisplay_frame):
12958         * redisplay.c (syms_of_redisplay):
12959         * redisplay.c (vars_of_redisplay):
12960         new hook buffer-list-changed-hook.
12961         call it.
12962
12963 2000-04-27  Ben Wing  <ben@xemacs.org>
12964
12965         * extents.h: extern in_modeline_generation.
12966
12967         * redisplay.c (generate_formatted_string_db): set
12968         in_modeline_generation.
12969
12970         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12971         flags if in modeline generation.  otherwise frame-modified-tick
12972         is ticked far too often.
12973         Declare in_modeline_generation.
12974
12975 2000-04-26  Ben Wing  <ben@xemacs.org>
12976
12977         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12978         option.
12979         (vars_of_emacs): add quick-build as an error-checking option.
12980         A bit kludgy, but there doesn't seem much point in creating
12981         a real var for this.
12982
12983         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12984
12985 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12986
12987         * redisplay.h (struct display_line): Add a new variable,
12988         line_continuation.
12989
12990         * redisplay.c (create_text_block): Set dl->line_continuation if
12991         the line continues.
12992         (create_string_text_block): Ditto.
12993         (regenerate_window_incrementally): Use line_continuation instead
12994         of searching continuation glyph.
12995         (add_margin_runes): Call add_glyph_rune.
12996         (add_glyph_rune): Handle margin glyph.
12997
12998 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12999
13000         * filelock.c (fill_in_lock_file_name):
13001         ANSIfy.
13002         Check for IS_ANY_SEP instead of '/'.
13003         (lock_file_1):
13004         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13005         Never check errno without first seeing that system call failed.
13006         (unlock_file): Add GCPRO.
13007         (Flock_buffer): Fix docstring.
13008         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13009
13010 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13011
13012         * sysdep.c (get_pty_max_bytes):
13013         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13014         strings longer than 252 bytes.
13015
13016         * md5.c: Unconditionally include ANSI header <limits.h>
13017
13018         * glyphs-x.c (convert_EImage_to_XImage):
13019         * lisp-union.h (union Lisp_Object):
13020         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13021
13022 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13023
13024         * filelock.c (current_lock_owner): Remove unused variable o, p.
13025
13026 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13027
13028         * callint.c: Remove multiply defined symbol Qlet
13029         (syms_of_callint): ditto.
13030
13031 2000-04-14  Andy Piper  <andy@xemacs.org>
13032
13033         * general.c (syms_of_general): add last-command, this-command, let
13034         and funcall.
13035
13036         * lisp.h: declare various symbols.
13037
13038         * glyphs.h: declare Qwidget_callback_current_channel;
13039
13040         * glyphs-widget.c (syms_of_glyphs_widget): add
13041         Qgui_callback_current_channel.
13042         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13043
13044         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13045         widget-callback-current-channel when invoking the interactive
13046         arg. Also bind last-command and next-command when invoking the
13047         widget updates.
13048         * gui-x.c (popup_selection_callback): ditto.
13049
13050         * gui.c (get_gui_callback): massage args so that we are always
13051         calling eval. This allows us to add our own variable bindings
13052         outside.
13053
13054         * glyphs-x.c (x_button_instantiate): use
13055         gui_items_to_widget_values since this is GC safe.
13056         (x_progress_gauge_instantiate): ditto.
13057         (x_edit_field_instantiate): ditto.
13058         (x_label_instantiate): ditto.
13059
13060         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13061         (emacs_Xt_event_widget_focus_out): new function
13062         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13063         focus.
13064         (emacs_Xt_event_add_widget_actions): new function. add focus
13065         functions as actions.
13066         (init_event_Xt_late): use it.
13067
13068 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13069
13070         * event-stream.c (Fdispatch_event): Doc fix.
13071
13072 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13073
13074         * postgresql.c: Remove all references to PQsetenv*.
13075
13076         * postgresql.h: Remove references to PGsetenvHandler object.
13077         * lrecord.h (lrecord_type): Ditto.
13078
13079 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13080
13081         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13082         real_heigh and real_width members, and accessor macros for these.
13083
13084         * glyphs-msw.c (init_image_instance_geometry): New function.
13085         (init_image_instance_from_dibitmap): Use it.
13086         (mswindows_resource_instantiate): Use it.
13087         (init_image_instance_from_xbm_inline): Use it.
13088         (mswindows_initialize_image_instance_mask): Use real bitmap
13089         geometry.
13090         (mswindows_create_resized_bitmap): Ditto.
13091         (mswindows_create_resized_mask): Ditto.
13092
13093         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13094         and bitmap to their surface size.
13095
13096 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13097
13098         * process-unix.c (unix_send_process): Guard against process MIA
13099         after Faccept_process_output.
13100
13101 2000-04-11  Ben Wing  <ben@xemacs.org>
13102
13103         * eval.c (unbind_to_hairy): fix brokenness introduced by
13104         nanosecond speed improvements.
13105
13106 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13107
13108         * sunplay.c (init_device): To play sounds correctly, the device
13109         apparently needs to be initialized at least once by XEmacs.  Make
13110         it so.
13111
13112 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13113
13114         * redisplay.c (add_margin_runes): Add text image glyph
13115           handling.
13116
13117 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13118
13119         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13120         gcc is newer than 2.5.
13121
13122 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13123
13124         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13125
13126         * fns.c (size_bit_vector):
13127         * alloc.c (size_vector):
13128         (make_vector_internal):
13129         (make_bit_vector_internal):
13130         (sweep_bit_vectors_1):
13131         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13132
13133 2000-04-06  Andy Piper  <andy@xemacs.org>
13134
13135         * gmalloc.c (malloc): undo previous change.
13136         (malloc): ditto.
13137         (free): ditto.
13138         (realloc): ditto.
13139
13140 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13141
13142         * line-number.c (buffer_line_number): Revert to former version.
13143
13144 2000-04-06  Andy Piper  <andy@xemacs.org>
13145
13146         * gmalloc.c (malloc): add error checking.
13147         (malloc): ditto.
13148         (free): ditto.
13149         (realloc): ditto.
13150
13151         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13152         button_item_to_widget_value arg.
13153
13154         * glyphs-x.c (x_button_instantiate): add extra
13155         button_item_to_widget_value arg.
13156         (x_progress_gauge_instantiate): ditto.
13157         (x_edit_field_instantiate): ditto.
13158         (x_label_instantiate): ditto.
13159
13160         * gui-x.c (gui_items_to_widget_values_1): add extra
13161         button_item_to_widget_value arg.
13162         (button_item_to_widget_value): add extra menu_item_p arg.
13163
13164         * gui-x.h: change signature of button_item_to_widget_value.
13165
13166         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13167         button_item_to_widget_value arg.
13168
13169 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13170
13171         * buffer.h (struct buffer): auto_save_modified should be long.
13172
13173 2000-04-05  Andy Piper  <andy@xemacs.org>
13174
13175         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13176         type.
13177         (button_query_geometry): give a little more room so that athena
13178         buttons fit.
13179
13180 2000-04-05  Andy Piper  <andy@xemacs.org>
13181
13182         * faces.c (complex_vars_of_faces): The widget face should inherit
13183         the font of the gui-element face.
13184
13185 2000-04-04  Andy Piper  <andy@xemacs.org>
13186
13187         * glyphs-x.c (x_button_update): new function. unconditionally
13188         update a button's state when the instance is dirty.
13189         (image_instantiator_format_create_glyphs_x): add x_button_update.
13190         (x_widget_instantiate): remove old resize cruft.
13191
13192 2000-04-02  Andy Piper  <andy@xemacs.org>
13193
13194         * frame.c (change_frame_size_1): The introduction of gutters means
13195         that we need to allow 0 as a potential frame dimension.
13196
13197 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13198
13199         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13200         image glyph if allow_cursor.
13201         (add_hscroll_rune): Don't allow cursor to border glyph.
13202         (create_text_block): Ditto.
13203
13204         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13205         text not in buffer.
13206         (redisplay_output_layout): Call ensure_face_cachel_complete for
13207         text image glyph.
13208
13209
13210 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13211
13212         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13213
13214         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13215         not in buffer
13216
13217         * redisplay-tty.c (tty_output_display_block): Delete the routine
13218         for text image glyph
13219         * redisplay-x.c (x_output_display_block): ditto
13220         * redisplay-msw.c (mswindows_output_display_block): ditto
13221
13222 2000-02-02  Mike Alexander  <mta@arbortext.com>
13223
13224         Note: Some of these were committed by accident as part of other
13225         patches.
13226
13227         * regex.c (regex_compile): Avoid compiler warnings.
13228
13229         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13230
13231         * nt.h: Declare term_ntproc correctly.
13232
13233         * nt.c: Remove incorrect declaration of get_home_directory which
13234         is declared correctly in lisp.h.
13235
13236         * keymap.c (get_keyelt): Avoid compiler warnings.
13237         (raw_lookup_key_mapper): Avoid compiler warnings.
13238
13239         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13240
13241         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13242
13243         * filemode.c (mode_string): Avoid compiler warnings.
13244
13245         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13246         avoid warning.
13247
13248         * events-mod.h: Undef some things that winuser.h defines differently.
13249
13250         * data.c (Faset): Avoid compiler warnings.
13251
13252         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13253
13254 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13255
13256         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13257         Fall through to simple beep on error.
13258         Replace "extern" by real header file.
13259
13260         * linuxplay.c: Use nativesound.h
13261         (play_sound_data): Return error code. Be less verbose on error.
13262
13263         * sunplay.c: Use nativesound.h
13264         (play_sound_data): Return error code. Be less verbose on error.
13265
13266         * ntplay.c: Use nativesound.h
13267         (play_sound_data): Return fake error code
13268
13269         * sgiplay.c: Use nativesound.h
13270         (play_sound_data): Return error code
13271
13272         * hpplay.c: Use nativesound.h, partially implement
13273         new error code. Break compilation until finished.
13274         (play_sound_data): error code.
13275
13276         * nativesound.h (play_sound_file):
13277           (play_sound_data): Prototype in new header.
13278
13279 2000-03-31  Andy Piper  <andy@xemacs.org>
13280
13281         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13282         for toggle and radio buttons.
13283         (image_instantiator_buttons): use it.
13284
13285 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13286
13287         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13288         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13289         found. Scrollbar event probably belonged to some old config.
13290
13291 2000-03-31  Andy Piper  <andy@xemacs.org>
13292
13293         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13294         than 1.
13295         (initialize_widget_image_instance): default layout to
13296         LAYOUT_HORIZONTAL rather than 0.
13297         (widget_instantiate): reverse the item list at the end rather than
13298         every iteration.
13299         (layout_layout): re-code for the border text at the front of the
13300         item list rather than at the end.
13301         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13302         provided by the user.
13303         (widget_query_geometry): comment.
13304
13305 2000-03-30  Andy Piper  <andy@xemacs.org>
13306
13307         * glyphs-widget.c (image_instantiator_layout): allow standard
13308         widget keywords in layouts.
13309
13310         * gutter.c (output_gutter): cope with nil gutter contents.
13311
13312         * frame.c (Fset_frame_properties): add gutter docs.
13313
13314 2000-03-29  Andy Piper  <andy@xemacs.org>
13315
13316         * toolbar-msw.c (TBSTYLE_FLAT): add.
13317         (mswindows_output_toolbar): minor fiddling.
13318
13319 2000-03-29  Andy Piper  <andy@xemacs.org>
13320
13321         * gutter.c (output_gutter): force gutter size recalculation if
13322         what we are trying to display won't fit.
13323         (update_gutter_geometry): new function. A per-gutter version of
13324         update_frame_gutter_geometry.
13325         (update_frame_gutter_geometry): use it.
13326         (redraw_exposed_gutter): add extra debugging output.
13327
13328 2000-03-28  Mike Alexander  <mta@arbortext.com>
13329
13330         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13331         (pdump_file_unmap): Implement it on Windows
13332         (pdump_file_get): Save alocated handles for pdump_file_unmap
13333
13334 2000-03-28  Andy Piper  <andy@xemacs.org>
13335
13336         * gui.c (get_gui_callback): treat Quit specially.
13337
13338 2000-03-27  Andy Piper  <andy@xemacs.org>
13339
13340         * glyphs.c (image_instantiate): be careful to check in the same
13341         way we assigned.
13342
13343 2000-03-27  Didier Verna  <didier@xemacs.org>
13344
13345         * config.h.in: define the proper SMART_INCLUDE macro.
13346         handle renaming of `foo_h_path' to `foo_h_file'.
13347
13348         * database.c: ditto.
13349
13350         * emacs.c: ditto.
13351
13352         * linuxplay.c: ditto.
13353
13354         * terminfo.c: ditto.
13355
13356         * tooltalk.h: ditto.
13357
13358 2000-03-27  Andy Piper  <andy@xemacs.org>
13359
13360         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13361         gets updated whenever the face might have changed.
13362
13363 2000-03-26  Mike Alexander  <mta@arbortext.com>
13364
13365         * dumper.c (pdump_resource_free): Fix the comment.
13366
13367 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13368
13369         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13370
13371 2000-03-22  Mike Alexander  <mta@arbortext.com>
13372
13373         * dumper.c: Include Windows headers on Windows
13374         (pdump_resource_free): Add a body to the function
13375         (pdump_load): exe_name -> exe_path and add some comments.
13376
13377 2000-03-25  Mike Alexander  <mta@arbortext.com>
13378
13379         * gui.c (copy_gui_item_tree): Return a value in all cases
13380
13381 2000-03-21  Didier Verna  <didier@xemacs.org>
13382
13383         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13384         lwlib/config.h.in.
13385         (SMART_INCLUDE): new macro.
13386         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13387         the proper location.
13388
13389         * postgresql.c: use it.
13390
13391         * inline.c: ditto.
13392
13393 2000-03-24  Andy Piper  <andy@xemacs.org>
13394
13395         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13396         do this.
13397
13398 2000-03-24  Andy Piper  <andy@xemacs.org>
13399
13400         * redisplay-output.c (compare_runes): use image_instance_changed
13401         to detect changes. Do not depend on glyphs_changed, only depend on
13402         dirtiness.
13403          (redisplay_output_layout): add debug messages.
13404         (compare_runes): ditto.
13405
13406         * glyphs.h: declare new functions.
13407         (struct Lisp_Image_Instance): remove percent and associated
13408         accessors.
13409
13410         * gui.h: declare new copying functions.
13411
13412         * gui.c (copy_gui_item_tree): new function.
13413         (copy_gui_item): new function.
13414         (gui_item_id_hash): revert to standard hash.
13415         (gui_item_hash): ditto.
13416         (gui_item_hash_internal): deleted.
13417         (mark_gui_item): mark value.
13418         (gui_item_add_keyval_pair): add value.
13419         (gui_item_init): ditto.
13420         (gui_add_item_keywords_to_plist): ditto.
13421         (gui_item_equal): ditto.
13422         (syms_of_gui): add Q_value.
13423
13424         * glyphs-x.c (x_progress_gauge_update): use pending items and
13425         value for setting the state.
13426         (x_update_widget): don't set items from pending here.
13427
13428         * glyphs-widget.c (update_widget): update items here.
13429         (progress_gauge_set_property): use items for storing value. Put
13430         new value in pending items.
13431
13432         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13433         items for new value. Convert percent -> value.
13434         (mswindows_tab_control_update): don't update items here.
13435
13436         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13437         (update_subwindow): ditto.
13438         (image_instance_changed): new function. Compare hash values and
13439         past and present widget items.
13440         (image_instantiate): We more careful about where we instantiate
13441         things.
13442         (image_instantiate): add error checking.
13443
13444         * gutter.c (syms_of_gutter): use -hook.
13445
13446 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13447
13448         * console-tty.c (Fset_console_tty_input_coding_system): Use
13449         Qkeyboard.
13450         (Fset_console_tty_output_coding_system): Use Qterminal.
13451         (tty_init_console): Use Qkeyboard and Qterminal.
13452
13453 2000-03-21  Ben Wing  <ben@xemacs.org>
13454
13455         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13456         From Mike Alexander <mta@arbortext.com>.
13457
13458 2000-03-21  Ben Wing  <ben@xemacs.org>
13459
13460         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13461         process brokenness.  Proper implementation to come.
13462         * callproc.c:
13463         Rename call-process-internal to old-call-process-internal.
13464         New impl. in process.el.
13465
13466 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13467
13468         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13469
13470 2000-03-20  Andy Piper  <andy@xemacs.org>
13471
13472         * glyphs.c (full_list_hash): make hashes of the same elements in
13473         different orders return different values.
13474
13475 2000-03-20  Martin Buchholz <martin@xemacs.org>
13476
13477         * XEmacs 21.2.32 is released.
13478
13479 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13480
13481         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13482         (DFC_MALLOC_USE_CONVERTED_DATA):
13483         Add aliasing-safe casts to allow use with char* or unsigned char*
13484         lvalues.
13485
13486         * eldap.c (Fldap_open):
13487         (Fldap_search_basic):
13488         (Fldap_add):
13489         (Fldap_modify):
13490         Make C++-compilable.
13491         Make sure GCPRO'ed variables are initialized.
13492         Use temp variables to avoid repeated calls to Flength.
13493
13494 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13495
13496         * sysfile.h:
13497         Make sure PATH_MAX is always defined.
13498         Include limits.h for PATH_MAX.
13499         Deprecate use of MAXPATHLEN.
13500
13501 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13502
13503         * emacs.c: Add reinit_vars_of_fileio.
13504         * symsinit.h: Add reinit_vars_of_fileio.
13505         * fileio.c (reinit_vars_of_fileio): New.
13506         * fileio.c (Fmake_temp_name):
13507         Initialize temp_name random number from microseconds to make
13508         collisions even less likely.  Initialize always at process startup
13509         time.  (make-temp-name) used to return the same file name twice in
13510         a row when PDUMP.
13511         Random stylistic fiddling.
13512         Comment fixes.
13513
13514 2000-03-20  Andy Piper  <andy@xemacs.org>
13515
13516         * glyphs.c (image_instantiate): allow text glyphs to be
13517         instantiated in the minibuffer window.
13518
13519 2000-03-19  Andy Piper  <andy@xemacs.org>
13520
13521         * glyphs.c (image_instance_hash): be careful about which items we
13522         hash on.
13523
13524         * glyphs-widget.c (tab_control_set_property): record into pending
13525         items rather than the actual items.
13526
13527         * glyphs-x.c (x_update_widget): use pending items to update with.
13528
13529         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13530         to update with.
13531
13532         * glyphs.c (mark_image_instance): mark pending items.
13533
13534         * window.c (Fset_window_configuration): record the buffer.
13535         (Fselect_window): totally revert previous change which breaks many
13536         things.
13537
13538 2000-03-18  Andy Piper  <andy@xemacs.org>
13539
13540         * glyphs-msw.c (mswindows_tab_control_update): force selected
13541         item.
13542
13543         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13544         window domain cache, otherwise we get inconsistencies at
13545         startup. There is something fishy at startup which can lead to the
13546         minibuffer being the selected window when the gutter content is
13547         instantiated.
13548
13549         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13550         gcpros.
13551         (parse_gui_item_tree_children): ditto.
13552         (parse_gui_item_tree_item): ditto.
13553
13554         * glyphs.c (Fupdate_widget_instances): return something.
13555
13556 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13557
13558         * window.c (Fselect_window): Undo 2000-03-17 change.
13559
13560 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13561
13562         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13563         against v7.0 libraries.  Insta-coredump city until the postgres
13564         folks fix it.
13565
13566 2000-03-17  Andy Piper  <andy@xemacs.org>
13567
13568         * faces.c (complex_vars_of_faces): don't give the widget face an
13569         inherited background pixmap.
13570
13571         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13572         selected item.
13573
13574         * event-stream.c (Fdispatch_non_command_events): return something.
13575
13576         * gutter.c (output_gutter): use widget face.
13577         (clear_gutter): ditto.
13578
13579         * NEWS: adjust again.
13580
13581         * window.c (Fselect_window): make sure this runs to completion to
13582         avoid oddities with Fset_window_configuration.
13583         (Fcurrent_window_configuration): in general do not save the
13584         minibuffer as the selected window.
13585
13586         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13587
13588 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13589
13590         * emacs.c (Frunning_temacs_p): Revert previous patch.
13591         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13592
13593 2000-03-16  Andy Piper  <andy@xemacs.org>
13594
13595         * glyphs-x.c (x_tab_control_update): if no widget values then
13596         return.
13597
13598         * NEWS: update for new features.
13599
13600         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13601         synthetic event to the native system.
13602         (reinit_vars_of_event_Xt): set force_event_pending to
13603         emacs_Xt_force_event_pending.
13604
13605         * events.h (struct event_stream): add force_event_pending.
13606
13607         * specifier.c (recompute_one_cached_specifier_in_window): add
13608         comment.
13609
13610         * redisplay.c (redisplay_frame): don't call
13611         update_frame_subwindows. Reset subwindow cachels when
13612         subwindows_changed, removing this was an optimization too far.
13613
13614         * redisplay-output.c (compare_runes): reorganize so that we catch
13615         glyph changes when we want them. Set optimize_output when this
13616         would help layouts.
13617         (redisplay_output_layout): remove frame_really_changed, use
13618         optimize_output instead.
13619
13620         * redisplay-msw.c (mswindows_output_display_block): reset
13621         optimize_output after outputting a glyph.
13622         * redisplay-x.c (x_output_display_block): ditto.
13623         * redisplay-tty.c (tty_output_display_block): ditto.
13624
13625         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13626         functions.
13627         (gutter_specs_changed): do specific gutter positions.
13628         (top_gutter_specs_changed): new function. Only update the
13629         specified gutter specs.
13630         (bottom_gutter_specs_changed): ditto.
13631         (left_gutter_specs_changed): ditto.
13632         (right_gutter_specs_changed): ditto.
13633
13634         * gui.c (gui_item_hash_internal): new function, does a real hash.
13635         (gui_item_id_hash): use it.
13636         (gui_item_hash): hash the eval'ed gui_item.
13637
13638         * gui-x.c (popup_selection_callback): send an eval event to call
13639         Fupdate_widget_instances.
13640
13641         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13642         to call Fupdate_widget_instances.
13643
13644         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13645         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13646
13647         * glyphs.c: (update_frame_subwindows): deleted.
13648         (Fupdate_widget_instances): new function for updating the dirty
13649         state of widgets that might have changed.
13650         (syms_of_glyphs): add Qupdate_widget_instances.
13651         (full_list_hash): hash a list completely.
13652         (image_instance_hash): use it for items and properties.
13653
13654         * frame-msw.c (mswindows_size_frame_internal): remove unused
13655         variable.
13656
13657         * faces.h (struct face_cachel): fix comment.
13658
13659         * event-stream.c (Fdispatch_non_command_events): new
13660         function. Process non-command events, forcing an event cycle
13661         beforehand.
13662         (syms_of_event_stream): declare.
13663         (event_stream_force_event_pending): new function. Force an event
13664         on the native event queue so that an event cycle will occur next
13665         time we check.
13666
13667         * event-msw.c:
13668         (struct ntpipe_shove_stream):
13669         (mswindows_enqueue_dispatch_event):
13670         (mswindows_dequeue_dispatch_event):
13671         (mswindows_cancel_dispatch_event):
13672         (mswindows_pump_outstanding_events):
13673         (mswindows_drain_windows_queue):
13674         (mswindows_handle_paint):
13675         (mswindows_wnd_proc):
13676         (mswindows_key_to_emacs_keysym):
13677         (get_process_input_waitable):
13678         (emacs_mswindows_delete_stream_pair): re-indent file.
13679         (mswindows_need_event): do not process further fds if the windows
13680         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13681         fixes the 100% cpu problem.
13682         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13683
13684 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13685
13686         * alloc.h: New.
13687         * dumper.h: New.
13688         * dumper.c: New.
13689
13690         * emacs.c: Moved dump file searching to dumper.c.
13691         (Frunning_temacs_p): Fixed.
13692
13693         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13694         last_lrecord_type_index_assigned.
13695
13696 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13697
13698         * symsinit.h: Added reinit parameter to init_console_stream
13699         declaration.
13700
13701         * lisp.h: Added file parameter to pdump_load declaration.
13702
13703         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13704         support.  Added dump file searching.
13705
13706         * config.h.in: Added EMACS_PROGNAME.
13707
13708         * console-stream.c (init_console_stream): Fix reinitialisation
13709         when running from temacs.
13710
13711         * alloc.c (pdump): Add id support.
13712         (pdump_load): Add file parameter and signature/id support.
13713
13714         * Makefile.in.in: Add full pdump support.
13715
13716 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13717
13718         * postgresql.c: Update documentation to reflect latest code
13719         status.
13720         (print_result): Show tuple counts in printed representation when
13721         appropriate.
13722         (Fpq_put_nbytes): MULE-ize.
13723         (Fpq_get_line_async): Ditto.
13724
13725 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13726
13727         * postgresql.c (Fpq_lo_import): Fix return value.
13728         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13729
13730 2000-03-13  Ben Wing  <ben@xemacs.org>
13731
13732         * alloc.c (pdump_load):
13733         Fix compile warning under mswin.
13734
13735 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13736
13737         * postgresql.c: Mule-ization, bug fixes.
13738         Use PG_CODING to encapsulate coding system name changes.
13739         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13740         (pg-coding-system): Create.
13741
13742         (Fpq_conn_defaults): Mule-ize.
13743         (Fpq_connectdb): Mule-ize & bug fix.
13744         (Fpq_connect_start): Mule-ize.
13745         (Fpq_set_client_encoding): Mule-ize.
13746         (Fpq_finish): Document `DEAD' connection status.
13747         (Fpq_clear): Ditto.
13748         (Fpq_pgconn): Mule-ize.
13749         (Fpq_exec): Mule-ize & bug fix.
13750         (Fpq_send_query): Ditto.
13751         (Fpq_get_result): Ditto.
13752         (Fpq_res_status): Mule-ize.
13753         (Fpq_result_error_message): Mule-ize.
13754         (Fpq_ntuples): fix comments.
13755         (Fpq_fname): Mule-ize.
13756         (Fpq_fnumber): Mule-ize.
13757         (Fpq_ftype): fix comments.
13758         (Fpq_get_value): Mule-ize.
13759         (Fpq_cmd_status): Ditto.
13760         (Fpq_cmd_tuples): Ditto.
13761         (Fpq_oid_value): Ditto.
13762         (Fpq_notifies): Ditto.
13763         (Fpq_lo_import): Ditto.
13764         (Fpq_lo_export): Ditto.
13765         (Fpq_get_line): Ditto.
13766         (Fpq_put_line): Mule-ize and bug fix.
13767         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13768
13769 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13770
13771         * postgresql.c (vars_of_postgresql): Mule-ize.
13772         (Fpq_conn_defaults): Ditto.
13773
13774 2000-03-12  Ben Wing  <ben@xemacs.org>
13775
13776         * alloc.c (Fmake_byte_code):
13777         * alloc.c (debug_string_purity_print):
13778         * alloc.c (pdump_backtrace):
13779         * alloc.c (pdump_get_indirect_count):
13780         * alloc.c (pdump_register_sub):
13781         * alloc.c (pdump_register_object):
13782         * alloc.c (pdump_register_struct):
13783         * alloc.c (pdump_dump_data):
13784         * alloc.c (pdump_reloc_one):
13785         Minor cleanups.
13786
13787         * console-msw.c:
13788         * console-msw.c (GetConsoleHwnd):
13789         * console-msw.c (msw_hide_console):
13790         * console-msw.c (msw_show_console):
13791         * console-msw.c (msw_ensure_console_buffered):
13792         * console-msw.c (msw_output_console_string):
13793         * console-msw.c (console_type_create_mswindows):
13794
13795         a) Added functions to manipulate the console window for use with
13796         shell support.
13797
13798         b) Added support for writing text to the console, which is now
13799         used under Windows when xemacs is not being run non-interactively,
13800         to write text that would otherwise be destined for stdout because
13801         under these circumstances, text written to stdout tends to
13802         disappear and not be seen.
13803
13804         * console-msw.h:
13805         * event-Xt.c:
13806         * event-Xt.c (x_event_to_emacs_event):
13807         * event-Xt.c (describe_event_window):
13808         * events-mod.h (XEMACS_MOD_CONTROL):
13809         * events.c:
13810         * events.c (Fmake_event):
13811         * events.c (character_to_event):
13812         * events.c (event_to_character):
13813         * events.c (format_event_object):
13814         * events.c (Fevent_modifiers):
13815         * events.h:
13816         * events.h (struct key_data):
13817         * events.h (struct button_data):
13818         * events.h (struct misc_user_data):
13819         * frame-x.c (Fcde_start_drag_internal):
13820         * frame-x.c (Foffix_start_drag_internal):
13821         * gpmevent.c (Freceive_gpm_event):
13822         * keymap.c:
13823         * keymap.c (bucky_sym_to_bucky_bit):
13824         * keymap.c (control_meta_superify):
13825         * keymap.c (make_key_description):
13826         * keymap.c (keymap_lookup_directly):
13827         * keymap.c (create_bucky_submap):
13828         * keymap.c (keymap_store):
13829         * keymap.c (define_key_check_and_coerce_keysym):
13830         * keymap.c (define_key_parser):
13831         * keymap.c (define_key_alternate_name):
13832         * keymap.c (Fdefine_key):
13833         * keymap.c (raw_lookup_key_mapper):
13834         * keymap.c (struct map_keymap_unsorted_closure):
13835         * keymap.c (map_keymap_unsorted_mapper):
13836         * keymap.c (map_keymap_sort_predicate):
13837         * keymap.c (map_keymap_sorted):
13838         * keymap.c (accessible_keymaps_mapper_1):
13839         * keymap.c (where_is_recursive_mapper):
13840         * keymap.c (describe_map_mapper):
13841         * keymap.c (describe_map_sort_predicate):
13842         * keymap.c (describe_map):
13843         * keymap.c (complex_vars_of_keymap):
13844         And a number of other files, the key modifier preprocessor
13845         constants that xemacs uses have names that conflict with constants
13846         defined under MS Windows for other purposes, so they were renamed
13847         to begin with the prefix XEMACS_. The variables that hold such
13848         modifiers were changed to consistently be of type int to fix
13849         various compile warnings.
13850
13851         * console.c (complex_vars_of_console):
13852         * device.c:
13853         * device-msw.c:
13854         * device-msw.c (mswindows_finish_init_device):
13855         * device-msw.c (msw_get_workspace_coords):
13856         * device-msw.c (mswindows_device_system_metrics):
13857         and various other files, added support for a new
13858         device property called offset-workspace which returns the position
13859         of the upper left corner of the workspace area and goes along with
13860         the existing size-workspace property.
13861
13862         * dialog-msw.c:
13863         * dialog-msw.c (push_bufbyte_string_as_unicode):
13864         * dialog-msw.c (mswindows_popup_dialog_box):
13865         Added support for XEmacs-style accelerator specifications in
13866         button text.  Note: I didn't add support for this under X Windows,
13867         and somebody needs to do this.
13868
13869         * dialog.c:
13870         * dialog.c (Fpopup_dialog_box):
13871         Documented the support for accelerators that was just mentioned.
13872
13873         editfns.c (get_home_directory): Changed behavior under Windows
13874         when HOME not defined; former behavior was irretrievably broken.
13875
13876         * emacs.c:
13877         * emacs.c (main_1):
13878         * emacs.c (main):
13879         * minibuf.c (clear_echo_area_internal):
13880         * minibuf.c (echo_area_append):
13881         * print.c:
13882         * print.c (std_handle_out_external):
13883         * print.c (std_handle_out_va):
13884         * print.c (fatal):
13885         * print.c (write_string_to_stdio_stream):
13886         * print.c (output_string):
13887         * print.c (debug_print):
13888         * print.c (debug_backtrace):
13889         * print.c (debug_short_backtrace):
13890         Cleaned up the code that prints text to stdout so that this can be
13891         changed to output into a console window instead under MS Windows,
13892         as described above.
13893
13894         * eval.c:
13895         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13896         * eval.c (internal_catch):
13897         * eval.c (unwind_to_catch):
13898         * eval.c (throw_or_bomb_out):
13899         * eval.c (condition_case_1):
13900         * eval.c (signal_1):
13901         * eval.c (check_error_state_sanity):
13902         * eval.c (call_with_suspended_errors_1):
13903         * eval.c (call_with_suspended_errors):
13904         * eval.c (reinit_vars_of_eval):
13905         Added code to catch throw loops and check for a pesky bug that may
13906         be gone now.
13907
13908         * event-msw.c:
13909         * event-msw.c (key_needs_default_processing_p):
13910         * event-msw.c (mswindows_wnd_proc):
13911         * event-msw.c (mswindows_modifier_state):
13912         * event-msw.c (emacs_mswindows_quit_p):
13913         * event-msw.c (vars_of_event_mswindows):
13914         a) Added support for using the alt key to select menu items as is
13915         standard under MS Windows.  This is controlled using the variable
13916         menu-accelerator-enabled, just like under X Windows.  There is an
13917         option on the options menu to turn this support on.  I really
13918         think that it should be on by default under Windows, but I'm not
13919         going to make this change yet.
13920
13921         b)  Added support for dynamic display size changes under Windows.
13922
13923         * event-stream.c:
13924         * event-stream.c (maybe_echo_keys):
13925         * event-stream.c (Fnext_event):
13926         * event-stream.c (command_builder_find_leaf):
13927         * event-stream.c (lookup_command_event):
13928         * event-stream.c (execute_command_event):
13929         * event-stream.c (pre_command_hook):
13930         * event-stream.c (post_command_hook):
13931         * event-stream.c (syms_of_event_stream):
13932         * event-stream.c (vars_of_event_stream):
13933         * event-stream.c (complex_vars_of_event_stream):
13934         * events.h (struct command_builder):
13935
13936         a) Tried to clean up a little bit the horribly written x-specific
13937         accelerator code that crept into this file.  I moved this code
13938         into menubar-x.c where it belongs. I also needed to move the
13939         command builder structure into the file events.h because it is
13940         accessed directly by this accelerator code.  What I didn't do, but
13941         which should be done at some point, is to properly abstract this
13942         code using device methods instead of the kludgy way that it
13943         currently hooks into the event code.
13944
13945         b) Added the lisp variables this-command-properties and
13946         last-command- properties, which should be used to synchronize two
13947         adjacent commands in preference to playing games with the variable
13948         this-command, which is typically what happens.
13949
13950         c) Added some slightly nasty code to hook into the lisp support
13951         for shifted- motion-key selection.  This is actually necessary for
13952         somewhat complicated reasons, which are described in
13953         simple.el. (NB: I think the proper thing would be to have the code
13954         that calls the pre and post command hooks also call out to generic
13955         lisp functions in simple.el, where all built-in stuff could be
13956         added.  I will think about this more.)
13957
13958         * event-unixoid.c (poll_fds_for_input):
13959         * lread.c (readchar):
13960         * redisplay-tty.c (tty_clear_frame):
13961         * redisplay-x.c (x_get_gc):
13962         * signal.c (interrupt_signal):
13963         And a whole bunch of other files: fixed up places that printed
13964         directly to stderr to instead call the function stderr_out so that
13965         the changes I made under Windows work correctly.
13966
13967         * filemode.c (mode_string):
13968         Warning fixes.
13969
13970         * frame-msw.c:
13971         * frame-msw.c (mswindows_size_frame_internal):
13972         Fixed the computation of frame size and position to keep the frame
13973         within the workspace area, rather than within the physical
13974         dimensions of the screen, so that the frame doesn't overlap window
13975         manager decorations, such as the start menu and toolbar, typically
13976         at the bottom of the screen.
13977
13978         * frame.c (vars_of_frame):
13979         Changed the default frame title format under MS Windows to consist
13980         of buffername-XEmacs, which is standard under MS Windows.  I think
13981         it might be a good idea to change this everywhere because I think
13982         it is superior to the current frame title format, but this is the
13983         kind of change that is likely to cause some people to get annoyed,
13984         so I'm not making it.
13985
13986         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13987
13988         * gui-msw.c (mswindows_handle_gui_wm_command):
13989         Fixed compile warnings.
13990
13991         * gui-x.c:
13992         * gui-x.c (strdup_and_add_accel):
13993         * gui-x.c (button_item_to_widget_value):
13994         * gui-x.h:
13995         Added code to automatically put an accelerator onto the beginning
13996         of menu items that don't have one as is now the standard, and is
13997         described more later.  Also fixed things so that the menu item
13998         name can be an evaluated expression, again a new standard.
13999
14000         * gui.c:
14001         * gui.c (gui_item_add_keyval_pair):
14002         * gui.c (make_gui_item_from_keywords_internal):
14003         * gui.c (gui_add_item_keywords_to_plist):
14004         * gui.c (gui_item_accelerator):
14005         * gui.c (gui_name_accelerator):
14006         * gui.c (gui_item_included_p):
14007         * gui.c (gui_item_display_flush_left):
14008         * gui.c (gui_item_display_flush_right):
14009         * gui.c (parse_gui_item_tree_item):
14010         * gui.c (parse_gui_item_tree_children):
14011         * gui.c (parse_gui_item_tree_list):
14012         Mule-ized.  Cleanup.  GCPRO addition.
14013
14014         * line-number.c (buffer_line_number):
14015         * lisp.h:
14016         * lisp.h (EMACS_INT_MAX):
14017         Added the manifest constant EMACS_INT_MIN corresponding to the
14018         existing constant EMACS_INT_MAX.  This is partially to fix compile
14019         warnings under Windows, and partly for cleanliness.
14020
14021         * menubar-msw.c:
14022         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14023         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14024         * menubar-msw.c (displayable_menu_item):
14025         * menubar-msw.c (populate_menu_add_item):
14026         * menubar-msw.c (populate_or_checksum_helper):
14027         * menubar-msw.c (populate_menu):
14028         * menubar-msw.c (update_frame_menubar_maybe):
14029         * menubar-msw.c (prune_menubar):
14030         * menubar-msw.c (msw_char_is_accelerator):
14031         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14032         * menubar-msw.c (mswindows_handle_wm_command):
14033         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14034         * menubar-msw.c (mswindows_handle_wm_initmenu):
14035         * menubar-msw.c (mswindows_update_frame_menubars):
14036         * menubar-msw.c (mswindows_free_frame_menubars):
14037         * menubar-msw.c (mswindows_popup_menu):
14038         Fixed a bug in handling accelerators where an extra character
14039         would be displayed in the menu item.  Also generalized the
14040         function displayable_menu_item because it is now used by the
14041         dialog box code as well.  And finally, added code in the functions
14042         that create the menubar to extract a list of accelerators for the
14043         top level menubar, which is used in the event code to determine
14044         whether a particular alt-key combination should be used to invoke
14045         a menu item, or should be passed through to access the standard
14046         XEmacs keymap binding for this key combination.
14047
14048         Much needed GCPROing.
14049
14050         * menubar-x.c:
14051         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14052         * menubar-x.c (menu_item_descriptor_to_widget_value):
14053         * menubar-x.c (restore_in_menu_callback):
14054         * menubar-x.c (x_popup_menu):
14055         * menubar-x.c (menu_move_up):
14056         * menubar-x.c (menu_move_down):
14057         * menubar-x.c (menu_move_left):
14058         * menubar-x.c (menu_move_right):
14059         * menubar-x.c (menu_select_item):
14060         * menubar-x.c (command_builder_operate_menu_accelerator):
14061         * menubar-x.c (menu_accelerator_junk_on_error):
14062         * menubar-x.c (command_builder_find_menu_accelerator):
14063         * menubar-x.c (Faccelerate_menu):
14064         * menubar.h:
14065         Moved a whole bunch of code here that was previously in
14066         event-stream.c as described above.  There is also code connected
14067         to the new standard of adding an accelerator to the beginning of
14068         menu items that don't have one as described above and below.
14069
14070         * menubar.c:
14071         * menubar.c (menu_parse_submenu_keywords):
14072         * menubar.c (Fmenu_find_real_submenu):
14073         * menubar.c (Fnormalize_menu_item_name):
14074         * menubar.c (syms_of_menubar):
14075         * menubar.c (vars_of_menubar):
14076         * menubar.c (complex_vars_of_menubar):
14077
14078         a) Cleaned up a bunch of documentation and improved it.
14079
14080         b) XEmacs now automatically adds an accelerator onto the beginning
14081         of any menu items that don't have one.  I did this because there
14082         will inevitably be some menu items on the main menubar that don't
14083         have accelerators on them because the package that adds that
14084         particular menu item hasn't yet been fixed up to have accelerators
14085         in them and it looked rather strange to have some items with and
14086         some items without accelerators, especially since even in items
14087         without accelerators, you can, at least under windows, still
14088         access the item through an accelerator corresponding to the first
14089         character in the item's name.  If people don't like this behavior,
14090         I can add a variable to turn it off optionally, but I'm not sure
14091         this is a good idea because we really do need to have accelerators
14092         on all of the menu items, and if a package doesn't like the
14093         accelerators being put on the first character, then it should put
14094         the accelerators where they belong.
14095
14096         c) I made a behavior change, which is that the descriptor that
14097         specifies the text of the menu item, which formerly was just a
14098         string, can now also be an evaluated expression.  This makes this
14099         descriptor parallel with all of the others, which could also be
14100         evaluated expressions.  This also obviates the need for the
14101         keyword :label, which was previously listed in the documentation
14102         as unimplemented, and which was for the same purpose.
14103
14104         d) GCPROing.
14105
14106         * ntproc.c:
14107         * ntproc.c (new_child):
14108         * ntproc.c (sys_spawnve):
14109         * ntproc.c (find_child_console):
14110         * ntproc.c (sys_kill):
14111         Fixed compile warnings.  By the way, this file should really go
14112         away entirely, and this will happen as soon as Kirill makes his
14113         final round of process cleanups, which affect the function
14114         call-process.
14115
14116         * process-nt.c:
14117         * process-nt.c (struct nt_process_data):
14118         * process-nt.c (find_process_from_pid):
14119         * process-nt.c (send_signal_the_nt_way):
14120         * process-nt.c (enable_child_signals):
14121         * process-nt.c (find_child_console):
14122         * process-nt.c (send_signal_the_95_way):
14123         * process-nt.c (nt_finalize_process_data):
14124         * process-nt.c (ensure_console_window_exists):
14125         * process-nt.c (nt_create_process):
14126         * process-nt.c (nt_kill_child_process):
14127         * process-nt.c (nt_kill_process_by_pid):
14128         * process-nt.c (nt_open_network_stream):
14129         * process-nt.c (vars_of_process_nt):
14130         Copied over code from Emacs 20.5 to correctly send signals to sub-
14131         processes under Windows 95.  Also added code to automatically
14132         create and hide console window when a sub-process is created under
14133         Windows 95, which obviates the need for the separate runemacs.exe
14134         executable, and finally implemented some variables that were
14135         implemented in Emacs 20.5, but previously not in XEmacs.  These
14136         include mswindows- start-process-share-console and
14137         mswindows-start-process-inherit-error-mode. (Both of these only
14138         apply to Windows 95.)
14139
14140         * regex.c (regex_compile): Fixed a compile warning.
14141
14142         * select-msw.c:
14143         * select-msw.c (mswindows_own_selection):
14144         * select-msw.c (mswindows_get_foreign_selection):
14145         * select-msw.c (mswindows_disown_selection):
14146         * select-msw.c (console_type_create_select_mswindows):
14147         * select-msw.c (syms_of_select_mswindows):
14148         Cleaned up the file and implemented the device method
14149         selection_exists_p, which had accidentally been left out.  Also
14150         removed four lisp functions that were remnants from before the
14151         time when the selection code was properly device abstracted.
14152         These functions are no longer needed because there are generic
14153         equivalents, and because they were added recently and don't exist
14154         in FSF Emacs, I don't think there's any problem with just deleting
14155         them.
14156
14157         * sysdep.c:
14158         * sysdep.c (sys_subshell):
14159         Fixed a compile warning, although in this case there's probably
14160         something wrong with this code, and it ought to be looked into
14161         more thoroughly by somebody who understands it.
14162
14163         * window.c:
14164         * window.c (Fwindow_text_area_height):
14165         * window.c (Fwindow_width):
14166         * window.c (Fwindow_full_width):
14167         * window.c (Fwindow_pixel_width):
14168         * window.c (debug_print_window):
14169         * window.c (syms_of_window):
14170         Added functions window-text-area-height and window-full-width,
14171         which are functions for returning various width and height
14172         characteristics of a window. (One of these functions is necessary
14173         for making the file dialog box work correctly, and the other one
14174         was added for completeness.)  Also added a table to the
14175         documentation for window-height which describes the entire scheme
14176         for accessing width and height characteristics of a window.
14177
14178 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14179
14180         * nt.c (fstat): Added a comment for another problem with
14181         non-encapsulated [f]stat(), reported by Adrian Aichner
14182         <aichner@ecf.teradyne.com>.
14183
14184 2000-03-11  Andy Piper  <andy@xemacs.org>
14185
14186         * window.c (make_dummy_parent): initialize subwindow instance
14187         cache.
14188         (Fset_window_configuration): zero extent_modiff.
14189
14190 2000-03-10  Andy Piper  <andy@xemacs.org>
14191
14192         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14193         more changes can be triggered.
14194         (Fredisplay_frame): ditto.
14195         (Fredraw_device): ditto.
14196         (Fredisplay_device): ditto.
14197         (redisplay_frame): make non-static.
14198         (redisplay_frame): call update_frame_gutter_geometry outside of
14199         display proper.
14200
14201         * gutter.h: declare update_frame_gutter_geometry.
14202
14203         * redisplay.h: declare redisplay_frame.
14204
14205         * gutter.c (update_frame_gutter_geometry): move geometry changes
14206         in update_frame_gutters here. Geometry changes can only occur
14207         outside of redisplay.
14208         (update_frame_gutters): remove geometry change code.
14209         (Fredisplay_gutter_area): make sure that we are in display when we
14210         update and that we have flushed any size changes.
14211
14212 2000-03-11  Andy Piper  <andy@xemacs.org>
14213
14214         * alloc.c (pdump_dump_data): remove i & count shadows.
14215
14216 2000-02-27  Mike Alexander  <mta@arbortext.com>
14217
14218         * sysdep.h: Declare pdump_read_file
14219
14220         * sysdep.c (pdump_read_file): New function
14221
14222         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14223         dump data
14224
14225 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14226
14227         * lrecord.h: add `lrecord_type_pgsetenv'.
14228
14229 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14230
14231         * symsinit.h: declare (vars|syms)_of* functions.
14232         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14233
14234 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14235
14236         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14237
14238         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14239         GCCs.
14240
14241         * emacs.c (main_1): Call postgres initialization code.
14242
14243         * postgresql.h: New file.  PostgreSQL RDBMS support.
14244         * postgresql.c: New file.
14245
14246 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14247
14248         * redisplay-output.c (redisplay_output_display_block): Disable
14249         redundant code.
14250
14251 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14252
14253         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14254         (Fcanna_henkan_next): Ditto.
14255         (Fcanna_bunsetu_henkou): Ditto.
14256         (Fcanna_henkan_kakutei): Ditto.
14257         (Fcanna_henkan_end): Ditto.
14258         (Fcanna_henkan_quit): Ditto.
14259         (Fcanna_henkan_next): Set retun value correctly.
14260         (c2mu): Use unsigned char instead of signed char.
14261
14262 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14263
14264         * emacs.c (main_1): Always call syms_of_gui.
14265         * inline.c: include gui.h
14266
14267 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14268
14269         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14270         converted to Lisp_Object.
14271         (Qtop_bottom): New variable.
14272         (syms_of_redisplay): Initialize it.
14273         * redisplay.h (Vvisible_bell): Ditto.
14274         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14275         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14276         only flash top and bottom.
14277
14278 2000-03-08  Andy Piper  <andy@xemacs.org>
14279
14280         * buffer.c (Frename_buffer): record new buffer name the right way.
14281
14282 2000-03-08  Andy Piper  <andy@xemacs.org>
14283
14284         * glyphs.c (update_subwindow): increase hash depth so that widget
14285         items get picked up properly.
14286
14287         * redisplay-output.c (compare_runes): increase hash depth so that
14288         widget items get picked up properly.
14289
14290 2000-03-08  Andy Piper  <andy@xemacs.org>
14291
14292         * gutter.c (output_gutter): add some debug.
14293
14294         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14295         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14296         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14297
14298         * redisplay-output.c (compare_runes): use display_hash to
14299         determine if glyphs really are not the same.
14300
14301         * glyphs.c (update_subwindow): check display_hash to see if
14302         anything really needs to be updated. If not then do
14303         nothing. Record the display_hash after updating.
14304         (image_instance_equal): compare the image_instance face also.
14305
14306 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14307
14308         * redisplay.h: Fix comment style.
14309
14310 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14311
14312         * consle-msw.h (struct mswindows_frame):
14313         Added new member paint_pending to indicate whether a WM_PAINT
14314         magic event has been queued for this frame.
14315
14316         * event-msw.c (mswindows_drain_windows_queue):
14317         Don't queue a WM_PAINT magic event if one is already queued.
14318         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14319
14320         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14321
14322 2000-03-07  Didier Verna  <didier@xemacs.org>
14323
14324         * dired.c: #include `regex.h' after `sysfile.h'.
14325
14326 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14327
14328         * sound.c (init_nas_sound): Fix compiler warning.
14329
14330         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14331         (FREE_STRUCT_P):
14332         (MARK_STRUCT_AS_FREE):
14333         (MARK_STRUCT_AS_NOT_FREE):
14334         Make `gcc -fstrict-aliasing' work properly.
14335
14336 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14337
14338         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14339         (mswindows_delete_device): Call CoUnnitialize().
14340
14341         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14342
14343 2000-02-25    <CraigL@DyCon.com>
14344
14345         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14346         <errno.h>.
14347
14348         * sysdep.c: This extern declaration for environ prevents MinGW
14349         from finding the variable in CRTDLL.DLL.
14350
14351         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14352         windows headers.
14353         (SHGFI_EXETYPE): ..
14354         (WM_MOUSEWHEEL): ..
14355         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14356         definitions.
14357         (MMRESULT): Removed, now defined in cygwin's windows headers.
14358         (TIMECAPS): ..
14359         (uid_t,gid_t,pid_t,ssize_t): ..
14360         (_timeb): Removed, MinGW defines both _timeb and timeb.
14361         (HAVE_H_ERRNO): Added.
14362         (HAVE_TZNAME): Added, configure is not detecting this.
14363
14364 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14365
14366         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14367         * syntax.c (syntax_match): Use it.
14368
14369         * cmds.c: Import auto-fill-chars from FSF Emacs.
14370         (Vauto_fill_chars): New variables.
14371         (internal_self_insert): Check Vauto_fill_chars.
14372         (vars_of_cmds):
14373         Declare auto-fill-chars as a Lisp variable and initialize it.
14374
14375 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14376
14377         * fileio.c (Fmake_symbolic_link):
14378         (Ffile_symlink_p):
14379         Run handlers even if local machine doesn't have symlinks.
14380
14381 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14382
14383         * event-msw.c (mswindows_drain_windows_queue):
14384         Don't generate paint magic events for non-XEmacs frames.
14385
14386 2000-03-05  Andy Piper  <andy@xemacs.org>
14387
14388         * redisplay.c (redisplay_frame): generate_displayable_area and
14389         friends assumes that we are not in GC, we therefore have to make
14390         sure that this doesn't happen.
14391
14392         * gutter.c (calculate_gutter_size): generate_displayable_area
14393         assumes that we are not in GC, we therefore have to make sure that
14394         this doesn't happen.
14395
14396 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14397
14398         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14399
14400 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14401
14402         * redisplay.c (regenerate_window): Make sure we set a sane value
14403         for end_pos even if we jump out of the loop.
14404         (regenerate_window): Answer Ben's question :-).
14405         (start_end_of_last_line): Add may_error argument.
14406         (start_of_last_line):
14407         (end_of_last_line): Pass may_error = 0.
14408         (end_of_last_line_may_error): New function.
14409         (pixel_to_glyph_translation): Use it, so we don't crash in
14410         event_to_glyph.
14411
14412 2000-03-04  Andy Piper  <andy@xemacs.org>
14413
14414         * window.h (struct window): add gutter_extent_modiff.
14415
14416         * window.c (allocate_window): zero out gutter_extent_modiff.
14417
14418         * redisplay.h: declare sync_display_line_structs.
14419
14420         * redisplay.c (add_glyph_rune): add a better comment.
14421
14422         * redisplay-output.c (sync_display_line_structs): made non-static.
14423         (compare_runes): remove unneccesary glyph cachel access.
14424
14425         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14426
14427         * gutter.c (output_gutter): don't output the gutter if extent
14428         changes only involve extents in buffers. use 4 sets of display
14429         lines.
14430         (gutter_extent_signal_changed_region_maybe): new function. Mark
14431         extents in gutters as changed.
14432         (update_frame_gutters): use 4 sets of display lines.
14433         (reset_gutter_display_lines): ditto.
14434         (free_frame_gutters): ditto.
14435         (redraw_exposed_gutter): force output of gutters.
14436
14437         * frame.h (struct frame): add 4 sets of gutter display lines.
14438
14439         * extents.c: (extent_changed_for_redisplay): signal changes to
14440         extents in strings in the gutter as well as extents in buffers.
14441
14442 2000-03-02  Andy Piper  <andy@xemacs.org>
14443
14444         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14445
14446         * frame.c (Fmake_frame): make sure the gutters get initialized
14447         after the frame is visible.
14448         (set_frame_selected_window): re-arrange compilation macros a
14449         little.
14450         (change_frame_size_1): mark gutters changed.
14451
14452         * device.c (Fset_device_class): mark gutters changed.
14453
14454 2000-03-01  Andy Piper  <andy@xemacs.org>
14455
14456         * window.c (window_top_frame_gutter_height): deleted.
14457         (window_bottom_frame_gutter_height): ditto.
14458         (window_left_frame_gutter_height): ditto.
14459         (window_right_frame_gutter_height): ditto.
14460         (window_top_gutter_height): don't use them.
14461         (window_bottom_gutter_height): ditto.
14462         (window_left_gutter_width): ditto.
14463         (window_right_gutter_width): ditto.
14464         (Fsplit_window): ditto.
14465         (Fwindow_pixel_edges): don't use border dimensions here.
14466
14467         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14468         (update_scrollbar_instance): ditto.
14469
14470         * redisplay.c (generate_modeline): don't take gutters into account.
14471         (generate_modeline): ditto.
14472         (redisplay_frame): small gutter display optimization.
14473
14474         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14475
14476         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14477         gutters into account.
14478
14479         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14480         for window position and type.
14481
14482         * gutter.c (get_gutter_coords): fix for frame gutters.
14483         (update_frame_gutters): update frame geometry if the gutters have
14484         changed.
14485         (init_frame_gutters): record current gutter geometries.
14486
14487         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14488         var.
14489         (mswindows_widget_instantiate): ditto.
14490
14491         * frame.h (struct frame): add current_gutter_bounds.
14492
14493         * frame.c (change_frame_size_1): position window and minibuffer
14494         appropriately taking into account the frame gutters.
14495
14496         * frame-x.c: (x_initialize_frame_size): take into account the
14497         frame gutters.
14498
14499 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14500
14501         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14502
14503 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14504
14505         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14506
14507 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14508
14509         * file-coding.c (reset_decoding_stream): Clear previous
14510         detection state when autodetect.
14511
14512 2000-02-29  Didier Verna  <didier@xemacs.org>
14513
14514         * extents.c (set_extent_glyph_1): don't require extents to be
14515         attached.
14516
14517 2000-02-27  Andy Piper  <andy@xemacs.org>
14518
14519         * gutter.c (Fset_default_gutter_position): don't default left and
14520         right gutter visibility to t.
14521         (Fset_default_gutter_position): run
14522         default-gutter-position-changed-hook.
14523         (syms_of_gutter): add default-gutter-position-changed-hook.
14524
14525 2000-02-26  Andy Piper  <andy@xemacs.org>
14526
14527         * specifier.c (Fmake_specifier): add gutter references.
14528
14529         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14530
14531         * lisp.h: declare Fvalid_plist_p.
14532
14533         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14534         as changed.
14535         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14536         well as its visibility so that it gets reconstructed.
14537         (construct_window_gutter_spec): new function. Construct a string
14538         to be displayed in the gutter from a plist of strings. Take care
14539         to only use elements that are declared as visible.
14540         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14541         WINDOW_GUTTER.
14542         (gutter_validate): allow plists of strings in the specifier.
14543         (gutter_specs_changed): construct the real_gutter from the gutter
14544         specs using construct_window_gutter_spec.
14545         (gutter_visible_validate): gutter-visible is a new specifier type.
14546         (Fgutter_visible_specifier_p): new function for the new specifier.
14547         (syms_of_gutter): declare gutter-visible and
14548         Fgutter_visible_specifier_p.
14549         (specifier_type_create_gutter): intitalize new gutter-visible
14550         specifier.
14551         (reinit_specifier_type_create_gutter): ditto.
14552         (specifier_vars_of_gutter): use new specifier type for gutter
14553         visibility.
14554         (init_frame_gutters): construct real_gutter correctly.
14555         (Fgutter_specifier_p): beef up documentation.
14556         (Fgutter_size_specifier_p): ditto.
14557
14558         * winslots.h: add real_gutter slots.
14559
14560 2000-02-25  Andy Piper  <andy@xemacs.org>
14561
14562         * device-msw.c: Be kind to older cygwin versions. From Raymond
14563         Toy <toy@rtp.ericsson.se>.
14564
14565         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14566         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14567
14568 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14569
14570         * elhash.c (MARK_OBJ): Practice macro hygiene.
14571
14572 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14573
14574         * miscplay.c: s/__inline__/inline/g;
14575         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14576         (get_device_compdc): INLINE ==> static inline
14577         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14578         find -name '*.h' | \
14579         xargs global-replace \
14580         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14581
14582 2000-02-25  Andy Piper  <andy@xemacs.org>
14583
14584         * window.c (window_top_frame_gutter_height): new function.
14585         (window_top_window_gutter_height): ditto.
14586         (window_top_gutter_height): use them.
14587         (window_bottom_frame_gutter_height): new function.
14588         (window_bottom_window_gutter_height): ditto.
14589         (window_bottom_gutter_height): use them.
14590         (window_left_window_gutter_width): new function.
14591         (window_left_frame_gutter_width): ditto.
14592         (window_left_gutter_width): use them.
14593         (window_right_window_gutter_width): new function.
14594         (window_right_frame_gutter_width): ditto.
14595         (window_right_gutter_width): use them.
14596         (window_pixel_height): new function. calulate window pixel height
14597         with frame gutter involvement.
14598         (Fsplit_window): calculate new sizes taking frame gutters into
14599         account.
14600         (window_char_height_to_pixel_height): don't include frame gutters.
14601         (window_char_height): use window_pixel_height.
14602         (window_pixheight): rename from window_pixel_height.
14603         (change_window_height): use it.
14604         (window_pixel_height_to_char_height): don't include frame gutters.
14605         (window_char_width_to_pixel_width): ditto.
14606
14607 2000-02-25  Andy Piper  <andy@xemacs.org>
14608
14609         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14610         if it is.
14611
14612 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14613
14614         * alloc.c (staticpro):
14615         (staticpro_nodump):
14616         (dumpstruct):
14617         (dumpopaque):
14618         (pdump_wire):
14619         (pdump_wire_list):
14620         (compact_string_chars):
14621         (pdump_dump_wired):
14622         Convert:  if (foo) abort();  ==>  assert (! foo);
14623
14624         * eldap.c (Fldap_search_basic):
14625         (Fldap_add):
14626         (Fldap_modify):
14627         (Fldap_delete):
14628         Fix compiler warnings, and possible crashes if (random) return
14629         value were to be used.
14630
14631 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14632
14633         * device-msw.c: Workaround ResetDC failure.
14634
14635         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14636         applying a devmode.
14637
14638         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14639         (mswindows_text_width): Do not start printer page.
14640
14641         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14642
14643         * glyphs-msw.c: Added image methods to msprinter console and
14644         msprinter-specific image instantiation.
14645
14646 2000-02-20  Mike Alexander  <mta@arbortext.com>
14647
14648         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14649         to avoid crashes when selection-sets-clipboard is on
14650         (mswindows_own_selection): ditto
14651
14652 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14653
14654         * glyphs-msw.c:
14655         * redisplay-msw.c (get_frame_dc):
14656         (get_frame_compdc):
14657         * console-msw.h:
14658         * device-msw.c (mswindows_init_device):
14659         (mswindows_delete_device):
14660         (msprinter_init_device):
14661         (msprinter_delete_device):
14662         * frame-msw.c (mswindows_init_frame_1):
14663         (mswindows_delete_frame):
14664         (msprinter_init_frame_3):
14665         (msprinter_delete_frame): Move compatible DC to device object from
14666         frame object, for both mswindows and msprinter. Only one at a time
14667         is needed, it is a real waste to have one per frame!
14668
14669 2000-02-23  Andy Piper  <andy@xemacs.org>
14670
14671         * glyphs.c: add dynamic width and height elements.
14672         (image_instance_equal): ditto.
14673
14674         * glyphs-widget.c (widget_query_geometry): calculate width and
14675         height dynamically if required.
14676         (initialize_widget_image_instance): initialize dynamic dimensions.
14677         (widget_instantiate): pick-up dynamic dimensions.
14678
14679         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14680         dynamic determination. Add appropriate macros.
14681
14682         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14683         dimensions safe.
14684         (WINDOW_GUTTER_SIZE): ditto.
14685         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14686
14687         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14688         inline.
14689         (get_frame_dc): ditto.
14690
14691         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14692         here.
14693
14694 2000-02-23  Martin Buchholz <martin@xemacs.org>
14695
14696         * XEmacs 21.2.31 is released.
14697
14698 2000-02-22  Ben Wing <ben@xemacs.org>
14699
14700         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14701
14702 2000-02-22  Andy Piper  <andy@xemacs.org>
14703
14704         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14705
14706 2000-02-21  Mike Sperber <mike@xemacs.org>
14707
14708         * .dbxrc:
14709         * .gdbinit:
14710         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14711         variables.
14712
14713 2000-02-21  Mike Sperber <mike@xemacs.org>
14714
14715         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14716
14717 2000-02-21  Martin Buchholz <martin@xemacs.org>
14718
14719         * XEmacs 21.2.30 is released.
14720
14721 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14722
14723         Performance hacking.
14724         * *.c (syms_of_*):
14725         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14726         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14727         * emacs.c (main_1):
14728         * lisp.h (DEFUN):
14729         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14730         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14731         * symeval.h (DEFVAR_SYMVAL_FWD):
14732         * symbols.c (guts_of_unbound_marker):
14733         Make all c_readonly objects also lisp_readonly and marked for life.
14734         * lrecord.h (struct lrecord_implementation):
14735         Document flags better.
14736         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14737         * lrecord.h (DECLARE_LRECORD):
14738         * lrecord.h (XSETRECORD):
14739         * lrecord.h (RECORDP):
14740         * lrecord.h (RECORD_TYPEP):
14741         * lrecord.h (RECORD_MARKER): New.
14742         * lrecord.h (error_check_*):
14743         * lrecord.h (CONCHECK_NONRECORD):
14744         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14745         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14746         * lrecord.h (set_lheader_implementation):
14747         * lrecord.h (enum lrecord_type): New.
14748         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14749         * alloc.c (disksave_object_finalization_1):
14750         * alloc.c (mark_object):
14751         * alloc.c (lrecord_type_index):
14752         * alloc.c (tick_lcrecord_stats):
14753         * alloc.c (Fgarbage_collect):
14754         * alloc.c (init_alloc_once_early):
14755         * alloc.c (pdump_load):
14756         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14757         * alloc.c (lrecord_type_index): Delete.
14758         Make lisp object type indexes be constant.
14759           Makes (byte-compile) 5% faster.
14760         Put all marker functions into their own array.
14761           Makes (garbage-collect) 5% faster.
14762         Optimize SYMBOL_VALUE_MAGIC_P.
14763           Makes (byte-compile) 2-3% faster.
14764         * config.h.in (gc_checking_assert): New.
14765         * alloc.c: Use gc_checking_assert().
14766         * .dbxrc: Make compatible with new object type implementation.
14767         * .gdbinit: Make compatible with new object type implementation.
14768         * alloc.c: Delete all symbols defined only for debugging, such as
14769         Lisp_Type_Vector and lrecord_charset.
14770
14771 2000-02-21  Andy Piper  <andy@xemacs.org>
14772
14773         * gui-msw.c (Fmswindows_shell_execute): fix file location
14774         problems.
14775
14776         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14777         unshowing so that set_window_buffer doesn't undo
14778         kill_buffer_hook's hard work.
14779
14780         * glyphs-widget.c (tab_control_query_geometry): don't count the
14781         first item when calculating geometry.
14782
14783         * glyphs.c (map_subwindow): remove redundant code.
14784         (update_frame_subwindows): be more circumspect about when to
14785         update subwindows.
14786
14787         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14788         when items haven't changed. Update faces if faces have changed as
14789         well as just the widget face.
14790         (x_tab_control_update): Update faces if faces have changed as well
14791         as just the widget face.
14792
14793 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14794
14795         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14796         registration.
14797         (build_syscolor_string): Use mswindows_color_to_string to try to
14798         get a named color.
14799         (mswindows_device_system_metrics): Reverse the foreground and
14800         background colors so that they match the documentation.
14801
14802         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14803         they match the default Windows palette.
14804         (mswindows_color_to_string): New function.
14805
14806 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14807
14808         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14809
14810 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14811
14812         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14813         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14814
14815         * symbols.c (init_symbols_once_early): Removed obsolete
14816         DATA_SEG_BITS related kludge.
14817         (defvar_magic): Ditto.
14818
14819         * malloc.c: Removed obsolete DATA_SEG_BITS
14820         * ralloc.c: Ditto.
14821         * mem-limits.h: Ditto.
14822
14823         * Makefile.in.in: Removed obsolete HAVE_SHM
14824         * emacs.c: Ditto.
14825
14826 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14827
14828         *  device-msw.c (mswindows_delete_device): Free DDE string
14829         handles.
14830
14831 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14832
14833         * keymap.c (get_keyelt):
14834         * unexnt.c (unexec):
14835         * vm-limit.c (memory_warnings):
14836         * ntheap.c (recreate_heap):
14837         * ntheap.h (UNINIT_PTR):
14838         * select-msw.c (Fmswindows_get_clipboard):
14839         (Fmswindows_set_clipboard):
14840         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14841         * objects-msw.c:
14842         * menubar-msw.c (displayable_menu_item):
14843         * glyphs-msw.c:
14844         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14845         * sysdep.c (sys_subshell):
14846         * process-nt.c (nt_create_process):
14847         * nt.c (normalize_filename):
14848         (dostounix_filename):
14849         (unixtodos_filename):
14850         * ntproc.c (win32_executable_type):
14851         * ntplay.c (play_sound_data_1):
14852         (play_sound_file):
14853         * editfns.c (get_home_directory):
14854         * event-msw.c (struct winsock_stream):
14855         (mswindows_dde_callback):
14856         * device-msw.c (msprinter_init_device):
14857         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14858
14859         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14860         mswindows_clear_toolbar were swapped!
14861
14862         * objects-msw.c:(colormap_t):
14863         (fontmap_t):
14864         * emacs.c (struct standard_args): Fixed const jumble.
14865
14866         * glyphs-widget.c (update_widget): Fixed comparison notation.
14867
14868         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14869
14870         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14871         __declspec(noreturn) syntax.
14872
14873 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14874
14875         * eldap.c (Fldap_open):
14876         (Fldap_search_basic):
14877         (Fldap_add):
14878         (Fldap_modify):
14879         Use new coding system conversion macros.
14880
14881 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14882
14883         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14884
14885 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14886
14887         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14888         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14889
14890         * eldap.c (Qadd, Qreplace): New constant symbols
14891         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14892         interruptions by XEmacs signals
14893         Remove unnecessary calls to slow_down_interrupts and
14894         speed_up_interrupts
14895         (Fldap_search_basic): Renamed from Fldap_search_internal
14896         Added new optional parameter VERBOSE that triggers the
14897         display of progress messages
14898         Remove unnecessary calls to slow_down_interrupts and
14899         speed_up_interrupts
14900         LDAP result code analysis rewritten
14901         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14902         (syms_of_eldap): Define the new symbols and functions
14903
14904
14905 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14906
14907         * realpath.c: Determine PATH_MAX maximally portably.
14908
14909         * insdel.c (bytecount_to_charcount): Optimize.
14910         The function used to be optimized for entirely ASCII sequences.
14911         Now it is optimized for successive characters from the same
14912         charset.  This also wins big for _mostly_ ASCII sequences.
14913
14914         * fileio.c (Ffile_truename): convert return from realpath() using
14915         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14916         - Rewrite GCPROing slightly.
14917
14918         * sysdep.c (sys_open): Do filename conversion, like all other
14919         sys_* functions.  Fixes bug:
14920         (let ((file-name-coding-system 'iso-8859-2))
14921            (write-region x y latin2-name))
14922         ==> writes filename using internal encoding.
14923
14924 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14925
14926         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14927         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14928         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14929         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14930         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14931         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14932         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14933         (CONST_IF_NOT_DEBUG): Delete.
14934         * alloc.c (this_one_is_unmarkable): Delete.
14935         (mark_object): Don't check for this_one_is_unmarkable. Use the
14936         c_readonly flag instead.
14937         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14938
14939 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14940
14941         * event-msw.c (mswindows_drain_windows_queue):
14942         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14943         away redundant repaint events.
14944
14945 2000-02-17  Andy Piper  <andy@xemacs.org>
14946
14947         * redisplay.h: declare mark_redisplay_structs.
14948
14949         * redisplay.c (redisplay_window):
14950         (redisplay_frame): don't check subwindows_state_changed.
14951         (mark_redisplay): mark gutters here.
14952
14953         * glyphs.c: (instantiate_image_instantiator): always layout if we
14954         haven't done so already.
14955         (allocate_image_instance): don't mark as dirty.
14956         (update_subwindow): bind inhibit_quit.
14957
14958         * gutter.c (mark_gutters): new function.
14959
14960         * glyphs-x.c (x_update_widget): Always resize to get round a
14961         widget bug.
14962
14963         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14964         breaking absolutely everything.
14965
14966         * gutter.h: declare mark_gutters.
14967
14968 2000-02-16  Martin Buchholz <martin@xemacs.org>
14969
14970         * XEmacs 21.2.29 is released.
14971
14972 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14973
14974         * fns.c (size_bit_vector): Fix computation of the size.
14975
14976 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14977
14978         * *.[ch]: Change CONST to const globally.
14979         find -name '*.[ch]' | \
14980         xargs global-replace \
14981         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14982         - Remove vestigial references to CONST_IS_LOSING
14983
14984 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14985
14986         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14987         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14988         events instead of dispatching them directly.
14989         (mswindows_handle_paint): New function to do repainting.
14990         (mswindows_wnd_proc):
14991         (emacs_mswindows_handle_magic_event): Call above function.
14992
14993 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14994
14995         * objects-msw.c (mswindows_create_font_variant): Return the new
14996         font handle.
14997         (initialize_font_instance): Get font metrics from the underlined
14998         variant of the font to cope with the case where the underlined
14999         font has a bigger descent.
15000
15001 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15002
15003         * gui.c (gui_item_accelerator): Return the first underlined
15004         character in item name.
15005
15006 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15007
15008         * lisp.h: Added Qprinter.
15009
15010         * general.c (syms_of_general): Initialized it.
15011
15012         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15013         (get_frame_dc):
15014         (get_frame_compdc): Made inline.
15015
15016         * console.h (struct console_methods): Added eject_page method.
15017
15018         * frame.h: Added FRAME_DISPLAY_P and friends.
15019         Aligned backslahes in many macros in more readable fashion.
15020         Added page_number to struct frame, and an accessor macro
15021         for it.
15022
15023         * defice.h: Added DEVICE_DISPLAY_P and friends.
15024
15025         * device.c (Fdevice_printer_p): Used these.
15026
15027         * frame.c (allocate_frame_core): Initialize page number.
15028         (Fprint_job_page_number):
15029         (Fprint_job_eject_page): Implemented.
15030
15031         * frame-msw.c (msprinter_eject_page): Added method.
15032         (msprinter_start_page): Added.
15033
15034         * window.c (Fwindow_truncated_p): Fixed docstring.
15035         (Fwindow_last_line_visible_height): Implemented.
15036
15037 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15038
15039         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15040
15041 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15042
15043         * syntax.c (scan_words): Always advance at least one character.
15044
15045 2000-02-13  Andy Piper  <andy@xemacs.org>
15046
15047         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15048         to make sure the glyph is in the cachels.
15049
15050         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15051         global image instance flag.
15052         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15053         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15054
15055         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15056         (Fset_image_instance_property): mark layout as changed.
15057         (invalidate_glyph_geometry_maybe): mark layout as changed.
15058         (glyph_width): use new NEEDS_LAYOUT macro.
15059         (glyph_ascent): ditto.
15060         (glyph_descent): ditto.
15061         (glyph_height): ditto.
15062         (image_instance_layout): mark layout as clean after laying out.
15063         (update_subwindow): don't mark layout as clean here.
15064
15065         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15066         should no longer be needed.
15067
15068         * glyphs-x.c (x_update_widget): sanitize asserts.
15069         (x_finalize_image_instance): sanitize assignment to widgets.
15070
15071         * glyphs-widget.c (widget_instantiate): don't need to clear the
15072         layout flag here.
15073
15074 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15075
15076         * sysdep.c (getcwd): Use standard prototype.
15077         * sysdep.h (getcwd): Use standard prototype.
15078
15079         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15080         (sequence, start, end).
15081         Remove redundant type checking.
15082         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15083         view of `caller-protects') to avoid a crash where the real fix was
15084         found elsewhere.
15085
15086 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15087
15088         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15089
15090         * s/sol2.h: Remove feature macro initialization.
15091
15092         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15093         (vector_hash): New.  Code from internal_hash.
15094         * lrecord.h:
15095         Fix up allocation subsystem comments.
15096
15097         * config.h.in: Add __EXTENSIONS__ for Solaris.
15098
15099         * systime.h (EMACS_GETTIMEOFDAY): New.
15100         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15101         Remove Solaris-specific code.
15102         Use void* for the (ignored) second arg for gettimeofday().
15103
15104         * elhash.c (hash_table_hash): Implement it, finally.
15105         * elhash.c:  Use hashcode_t.
15106
15107         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15108         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15109
15110         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15111         * fns.c (size_bit_vector):
15112         * alloc.c (size_vector):
15113         (make_vector_internal):
15114         (make_bit_vector_internal):
15115         (sweep_bit_vectors_1):
15116         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15117
15118 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15119
15120         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15121         Include strings.h to avoid warnings for bzero and strcasecmp.
15122
15123 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15124
15125         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15126         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15127
15128         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15129         sequence.
15130
15131 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15132
15133         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15134         use a value field instead.
15135         (symbol_value_forward_forward): Use value field.
15136         (DEFVAR_SYMVAL_FWD): Use value field.
15137         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15138         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15139         (DEFVAR_CONST_INT): Ditto.
15140         (DEFVAR_BOOL): Ditto.
15141         (DEFVAR_CONST_BOOL): Ditto.
15142         (DEFVAR_INT_MAGIC): Ditto.
15143         (DEFVAR_BOOL_MAGIC): Ditto.
15144
15145         * symbols.c (guts_of_unbound_marker): Use value field.
15146         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15147         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15148
15149         * lisp.h: Declare dumpopaque and noninteractive1.
15150
15151         * alloc.c (dumpopaque): Added.
15152         (pdump_dump_opaquevec): Added.
15153         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15154         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15155         noninteractive.
15156
15157 2000-02-10  Andy Piper  <andy@xemacs.org>
15158
15159         * glyphs.c (image_instance_layout): if the size changes, mark it
15160         as such.
15161
15162         * redisplay-output.c (redisplay_output_layout): Update the
15163         subwindow here.
15164         (redisplay_output_subwindow): ditto.
15165
15166         * glyphs.c (update_subwindow): make sure we reset flags for
15167         layouts as well as everything else.
15168
15169         * glyphs-widget.c (layout_layout): don't need to set the instances
15170         dimensions here.
15171
15172 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15173
15174         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15175         not HAVE_DLOPEN, which is a lower-level thing.
15176
15177         * .cvsignore: Ignore gmon.out
15178
15179 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15180
15181         * .cvsignore: Ignore portable dumper xemacs.dmp file
15182
15183 2000-02-09  Andy Piper  <andy@xemacs.org>
15184
15185         * redisplay-output.c (redisplay_output_layout): be more clever
15186         about when we output based on the changed flags.
15187
15188         * glyphs.h (struct image_instantiator_methods): add update_method.
15189         (struct Lisp_Image_Instance): add changed flags. Declare new
15190         macros for manipulating them.
15191
15192         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15193         (image_instance_parent_glyph): find an image_instance's parent
15194         glyph or image_instance.
15195         (image_instance_layout): mark the size as changed.
15196         (set_image_instance_dirty_p): new function. mark an image
15197         instance, plus all of its parents, as dirty.
15198         (Fset_image_instance_property): use it.
15199         (Fglyph_animated_timeout_handler): use it.
15200         (update_subwindow): call update_widget and device methods for
15201         update_subwindow. Mark all changed flags as clean.
15202         (Fresize_subwindow): mark size as changed.
15203
15204         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15205         failures.
15206         (x_update_subwindow): only resize subwindows here.
15207         (x_update_widget): new function. Update all changed properties of
15208         a widget.
15209         (x_resize_subwindow): deleted.
15210         (x_widget_set_property): deleted.
15211         (x_progress_gauge_set_property): deleted.
15212         (x_progress_gauge_update): new function. Implement recorded
15213         changes.
15214         (x_tab_control_update): ditto.
15215         (x_tab_control_set_property): deleted.
15216         (console_type_create_glyphs_x): declare new functions.
15217         (image_instantiator_format_create_glyphs_x): ditto.
15218
15219         * glyphs-widget.c (widget_set_property): mark text changed.
15220         (update_widget): new function. Update properties of a widget.
15221         (widget_instantiate): for layouts make sure we set their
15222         children's parent correctly.
15223         (tab_control_set_property): new function. Record changes that will
15224         take place under redisplay's control.
15225         (progress_gauge_set_property): ditto.
15226         (image_instantiator_progress_guage): declare new functions.
15227         (image_instantiator_tab_control): ditto.
15228
15229         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15230         now.
15231         (mswindows_update_widget): new function. Update all properties on
15232         a widget that have changed.
15233         (mswindows_button_update): new function. Update a button's set
15234         state.
15235         (mswindows_tab_control_update): new function. Update the items in
15236         a tab.
15237         (mswindows_tab_control_set_property): deleted.
15238         (mswindows_progress_gauge_update): new function. Update the
15239         progress gauge's progress.
15240         (mswindows_widget_set_property): deleted. This is all done
15241         asynchronously now.
15242         (mswindows_progress_gauge_set_property): ditto.
15243         (console_type_create_glyphs_mswindows): declare new methods.
15244         (image_instantiator_format_create_glyphs_mswindows): ditto.
15245
15246         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15247         (msprinter_set_frame_properties): ditto.
15248
15249         * console.h (struct console_methods): Add update_widget_method.
15250
15251 2000-02-09  Andy Piper  <andy@xemacs.org>
15252
15253         * gui-msw.c (Fmswindows_shell_execute): Make
15254         mswindows-shell-execute industrial strength.
15255
15256 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15257
15258         * lrecord.h: Make macro argument `props' match member function `plist'.
15259         * fns.c (Fget):
15260         * fns.c (Fput):
15261         * fns.c (Fremprop):
15262         * fns.c (Fobject_plist):
15263         * alloc.c:
15264         * symbols.c:
15265         Object property list frobbing cleanup.
15266         - Allow any lisp object (compared with `eq'), not just symbols, as
15267           keys in object plists.
15268         - Move symbol plist frobbing into symbols.c, where it belongs.
15269         - Move string plist frobbing into alloc.c, where it belongs.
15270         - Everything's an lrecord now, so no need to test for symbolp, etc.
15271         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15272
15273         * extents.c: Reorder code to remove declarations.
15274
15275         * frame.h (store_in_alist): Remove useless declaration.
15276
15277 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15278
15279         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15280         * config.h.in: Add HAVE_XCONVERTCASE.
15281
15282 2000-02-07  Andy Piper  <andy@xemacs.org>
15283
15284         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15285         it breaks many things.
15286
15287 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15288
15289         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15290         actually can start a common comment type.
15291         * src/syntax.h (SYNTAX_END_P): ditto for end.
15292
15293 2000-02-07  Martin Buchholz <martin@xemacs.org>
15294
15295         * XEmacs 21.2.28 is released.
15296
15297 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15298
15299         * event-Xt.c (x_keysym_to_character): New.
15300         (maybe_define_x_key_as_self_inserting_character): New.
15301         (x_has_keysym): New.
15302         Auto-define all keys on the keyboard as self-insert-key.
15303
15304 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15305
15306         * menubar.c (vars_of_menubar): A small code simplification.
15307
15308         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15309
15310         * ExternalShell.c:
15311         * ExternalClient.c:
15312         * EmacsShell-sub.c:
15313         * EmacsManager.c:
15314         * EmacsFrame.c:
15315         Use consistent style for specifying X resources.
15316
15317         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15318         This makes (dontusethis-set-symbol-value-handler) actually usable.
15319
15320         * lrecord.h (lrecord_decription_type):
15321         * alloc.c (pdump_register_sub):
15322         (pdump_dump_data):
15323         (pdump_reloc_one):
15324         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15325         Comply with XEmacs coding style.
15326         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15327         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15328
15329         * keymap.c (Faccessible_keymaps):
15330         Make (accessible-keymaps map "\C-h") do the Right Thing.
15331         Make (accessible-keymaps map []) do the Right Thing.
15332         Make (accessible-keymaps map "") do the Right Thing.
15333         (check_keymap_definition_loop): New function.
15334         (keymap_store_internal): Keep luser from shooting self in foot,
15335           via (define-key ctl-x-4-map "p" global-map).
15336         Remove fullness slot from struct Lisp_Keymap, since hash tables
15337         are now reliable.
15338         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15339
15340 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15341
15342         * redisplay.c (init_redisplay): Fix small memory leak.
15343         * elhash.h:
15344         * elhash.c (pdump_reorganize_hash_table):
15345         Rename from reorganize_hash_table. Change prototype.
15346         Reuse the original memory for hentries.  Save 100k.
15347         * alloc.c (PDUMP_READ): new macro.
15348         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15349         * alloc.c: No need to #ifndef before #undef.
15350
15351         * print.c: Allow debug_print() to print readably by modifying
15352         debug_print_readably.  Use consistent variable names.
15353
15354         * .dbxrc: Try to get things to work even if stopped in a function
15355         without source available by explicitly specifying source files.
15356 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15357
15358         * unexnt.c (_start): Removed bogus code which caused loading heap
15359         from differrent executable file.
15360         Removed bogus assignment to _fmode, which caused inconsistencies.
15361
15362 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15363
15364         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15365         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15366         Do not preliminary `#define signal sigset'.
15367
15368         * systime.h: Do not prototype environ on windows nt and cygwin,
15369         this conflicts with system header.
15370
15371         * syssignal.h: Use correct define for WINDOWSNT
15372
15373         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15374         with system header.
15375
15376         * sysdep.c (near start of file): Fixed commentary and rearranged
15377         ifdefs in readable order.
15378         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15379         (start_of_text):
15380         (end_of_text):
15381         (end_of_data): Do not compile in if using PDUMP.
15382
15383         * symsinit.h: Prototyped vars_of_nt().
15384
15385         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15386         (find_child_console): Use it.
15387         (sys_kill): Use it.
15388
15389         * ntheap.h: Do not extern os_subtype.
15390
15391         * ntheap.c (cache_system_info): Do not cache unneeded:
15392         nt_major_version, nt_minor_version and os_subtype.
15393         (recreate_heap): Do not compile in when PDUMPing.
15394
15395         * nt.c (geteuid and friends): Use the new varibale
15396         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15397         (init_user_info): Removed the above mentioned hackery.
15398         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15399         stat has been fixed in the C runtime.
15400         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15401
15402         * file-coding.c (struct file_coding_dump): Do not define
15403         ucs_to_mule_table in the struct if not MULE.
15404         (struct struct lrecord_description fcd_description_1): Do not dump
15405         the above.
15406
15407         * emacs.c (main_1): Call vars_of_nt().
15408         (right before Fdump_emacs_data): Don't need lastfile if using both
15409         portabe dumper and system malloc.
15410
15411         * alloc.c (Fmemory_limit): Conditionalized out.
15412         (pdump): Use OPEN_BINARY for the portable dump file.
15413         (pdump_load): Ditto.
15414
15415 2000-02-02  Mike Alexander  <mta@arbortext.com>
15416
15417         * nt.c (convert_time): Set tm_isdst before calling mktime and
15418         avoid calling it at all if the compiler supports 64 bit integers.
15419         Also initialize utc_base_ft before using it.
15420
15421 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15422
15423         * frame.c (change_frame_size_1): Take f->internal_border_width
15424         into consideration when calculating the width of the frame.
15425
15426 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15427
15428         * window.c (frame_min_height):
15429         (frame_size_valid_p):
15430         (frame_pixsize_valid_p): Added.
15431         (check_frame_size): Generalized.
15432
15433         * window.h: Prototyped the above.
15434
15435         * lisp.h:
15436         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15437         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15438         Deleted Vwin32_* and Vbinary_process_* unused variables.
15439
15440         * device-msw.c (msprinter_init_device): Do not get printer font
15441         list; Added DEVMODE functions.
15442
15443         * frame-msw.c: Added lots of printer code.
15444
15445         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15446         general.c.
15447
15448         * console-msw.h: Added more msprinter device private slots.
15449
15450 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15451
15452         * event-msw.c (key_needs_default_processing_p): Added.
15453         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15454
15455 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15456
15457         * glyphs.c (image_instance_layout): Mark image instance as clean
15458         after layout.
15459         (glyph_dirty_p): Removed redundant function.
15460         (invalidate_glyph_geometry_maybe): Added.
15461         (update_glyph_cachel_data): Call it.
15462
15463         * glyphs.h: Prototyped it.
15464
15465         * redisplay.c (add_glyph_rune): Call it.
15466         (redisplay_window): Reset glyphs cachels when frame faces have
15467         changed, thus forcing recomputation of built-in border glyphs.
15468
15469 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15470
15471         * Makefile.in.in: Make portable dumper and purify play well together.
15472         Add imperfect, but better than nothing, support for pdump.
15473         Remove xemacs.dmp when temacs is re-generated.
15474         Don't ignore errors when dumping xemacs.
15475
15476         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15477
15478 2000-01-28  Andy Piper  <andy@xemacs.org>
15479
15480         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15481         (setup_normal_frame): ditto.
15482         (setup_frame_without_minibuffer): ditto.
15483         (setup_minibuffer_frame): ditto.
15484         (delete_frame_internal): ditto.
15485         (Fmake_frame_invisible): ditto.
15486         (Ficonify_frame): ditto.
15487
15488         * window.h: change Fset_window_buffer signature.
15489
15490         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15491         (Fset_window_buffer): allow recording of buffer if the window is
15492         the selected window.
15493         (window_loop): Use new Fset_window signature.
15494
15495 2000-01-23  Daniel Pittman  <daniel@danann.net>
15496
15497         * config.h.in: Added template for `HAVE_ATHENA_3D'
15498
15499 2000-01-29  Andy Piper  <andy@xemacs.org>
15500
15501         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15502
15503         * gutter.c (output_gutter): Don't output if the window isn't live.
15504
15505 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15506
15507         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15508         of 01/12/00: Moved SetFocus back here where it belongs.
15509
15510 2000-01-23  Andy Piper  <andy@xemacs.org>
15511
15512         * s/cygwin32.h: declare printer things.
15513
15514 2000-01-26  Andy Piper  <andy@xemacs.org>
15515
15516         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15517         Alexander.
15518
15519 2000-01-24  Andy Piper  <andy@xemacs.org>
15520
15521         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15522         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15523
15524         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15525
15526         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15527
15528         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15529
15530         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15531         (mswindows_output_display_block): Avoid local shadows.
15532
15533         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15534         (mswindows_enqueue_mouse_button_event): ditto.
15535         (mswindows_handle_gui_wm_command): remove declaration.
15536
15537         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15538         warnings.
15539
15540         * console-msw.h: Avoid shadows.
15541         (mswindows_get_toolbar_button_text):
15542         (emacs_mswindows_create_stream_pair):
15543         (emacs_mswindows_delete_stream_pair):
15544         (mswindows_handle_toolbar_wm_command): declare.
15545
15546         * device-msw.c (build_syscolor_string): Avoid shadows.
15547
15548 2000-01-23  Andy Piper  <andy@xemacs.org>
15549
15550         * glyphs-widget.c (widget_instantiate): reverse the items for
15551         layouts so that children are in the expected order.
15552
15553 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15554
15555         * ralloc.c: safe_bcopy ==> memmove
15556         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15557         * s/msdos.h: Remove BCOPY macros.
15558         * insdel.c (gap_right): Remove BCOPY conditional code.
15559         * insdel.c (gap_left): Remove BCOPY conditional code.
15560         XEmacs demands a working ANSI C compiler - hence memmove.
15561
15562         * regex.c (regex_compile): Remove accidental use of trigraphs.
15563
15564 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15565
15566         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15567         event timestamp.
15568
15569 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15570
15571         * event-msw.c (mswindows_drain_windows_queue): Added the
15572         parameter.
15573         (mswindows_need_event): Commented the call to
15574         mswindows_drain_windows_queue().
15575         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15576         only.
15577
15578         * console-msw.h: Moved a few function prototypes here from
15579         event-msw.c.
15580
15581         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15582         parameter from unsigned short to unsigned long.
15583         (Fmswindows_shell_execute): Added return value.
15584
15585 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15586
15587         * sysdep.c (init_system_name):
15588           process-unix.c (unix_canonicalized_host_name):
15589         Don't call freeaddrinfo() if getaddrinfo() fails.
15590
15591         * process-unix.c (unix_open_unix_network_stream):
15592         Moved the code to get a port # into address loop.
15593
15594 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15595
15596         * buffer.c (reinit_vars_of_buffer):
15597         The right place to initialize conversion_in_dynarr and
15598         conversion_out_dynarr.
15599
15600         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15601
15602         * process-unix.c (unix_canonicalize_host_name): Muleize.
15603         (unix_open_network_stream): Muleize.
15604
15605         * buffer.h: Fix up prototypes for ralloc.c functions.
15606
15607 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15608         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15609         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15610                 instead of gethostbyname()
15611         * process-unix.c: In unix_canonicalize_host_name() and
15612                 unix_open_network_stream(), add code to use getaddrinfo()
15613                 instead of gethostbyname().
15614
15615 2000-01-27  Daniel Pittman <daniel@danann.net>
15616
15617         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15618         libs when built with flat Athena.
15619
15620 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15621
15622         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15623         Use coding standards for function prototypes.
15624
15625 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15626
15627         * dialog-msw.c (push_lisp_string_as_unicode):
15628         * doc.c (unparesseuxify_doc_string):
15629         * dired.c (Fuser_name_completion_1):
15630         * dired.c (Fuser_name_all_completions):
15631         * dired.c (free_user_cache):
15632         * dired.c (user_name_completion):
15633         * console-x.c (get_display_arg_connection):
15634         * minibuf.c (clear_echo_area_internal):
15635         * minibuf.c (echo_area_append):
15636         * eldap.c (Fldap_open):
15637         * eldap.c (Fldap_search_internal):
15638         * frame-x.c (x_set_frame_text_value):
15639         * frame-x.c (x_set_frame_properties):
15640         * frame-x.c (x_create_widgets):
15641         * redisplay-tty.c (term_get_fkeys_1):
15642         * objects-x.c (x_parse_nearest_color):
15643         * objects-x.c (x_valid_color_name_p):
15644         * objects-x.c (x_initialize_font_instance):
15645         * objects-x.c (x_list_fonts):
15646         * objects-x.c (x_find_charset_font):
15647         * tooltalk.c (Fadd_tooltalk_message_arg):
15648         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15649         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15650         * process-unix.c (unix_create_process):
15651         * ntproc.c (sys_spawnve):
15652         * sound.c (Fplay_sound_file):
15653         * sound.c (Fplay_sound):
15654         * buffer.c (init_initial_directory):
15655         * buffer.c (init_buffer):
15656         * editfns.c (init_editfns):
15657         * editfns.c (Ftemp_directory):
15658         * editfns.c (Fuser_full_name):
15659         * editfns.c (uncache_home_directory):
15660         * editfns.c (get_home_directory):
15661         * editfns.c (Fuser_home_directory):
15662         * editfns.c (Fformat_time_string):
15663         * editfns.c (Fcurrent_time_string):
15664         * gui-x.c (button_item_to_widget_value):
15665         * database.c (Fopen_database):
15666         * event-Xt.c (x_to_emacs_keysym):
15667         * event-Xt.c (x_event_to_emacs_event):
15668         * event-Xt.c (describe_event_window):
15669         * event-msw.c (mswindows_wnd_proc):
15670         * glyphs-eimage.c (jpeg_instantiate):
15671         * glyphs-eimage.c (gif_instantiate):
15672         * glyphs-eimage.c (png_instantiate):
15673         * glyphs-eimage.c (tiff_instantiate):
15674         * glyphs-x.c (xbm_instantiate_1):
15675         * glyphs-x.c (x_xbm_instantiate):
15676         * glyphs-x.c (x_xface_instantiate):
15677         * glyphs-x.c (autodetect_instantiate):
15678         * glyphs-x.c (cursor_font_instantiate):
15679         * glyphs-x.c (x_widget_instantiate):
15680         * glyphs-x.c (x_widget_set_property):
15681         * glyphs-x.c (x_widget_property):
15682         * glyphs-x.c (BUILD_GLYPH_INST):
15683         * print.c (write_string_to_stdio_stream):
15684         * print.c (output_string):
15685         * print.c (Falternate_debugging_output):
15686         * print.c (Fexternal_debugging_output):
15687         * glyphs-msw.c (extract_xpm_color_names):
15688         * glyphs-msw.c (mswindows_xpm_instantiate):
15689         * glyphs-msw.c (bmp_instantiate):
15690         * glyphs-msw.c (resource_name_to_resource):
15691         * glyphs-msw.c (mswindows_resource_instantiate):
15692         * glyphs-msw.c (xbm_instantiate_1):
15693         * glyphs-msw.c (mswindows_xbm_instantiate):
15694         * glyphs-msw.c (mswindows_xface_instantiate):
15695         * glyphs-msw.c (mswindows_widget_instantiate):
15696         * glyphs-msw.c (add_tree_item):
15697         * glyphs-msw.c (add_tab_item):
15698         * glyphs-msw.c (mswindows_combo_box_instantiate):
15699         * glyphs-msw.c (mswindows_widget_property):
15700         * glyphs-msw.c (mswindows_combo_box_property):
15701         * glyphs-msw.c (mswindows_widget_set_property):
15702         * console.c (stuff_buffered_input):
15703         * objects-msw.c (mswindows_initialize_color_instance):
15704         * objects-msw.c (mswindows_valid_color_name_p):
15705         * objects-msw.c (mswindows_list_fonts):
15706         * objects-msw.c (mswindows_font_instance_truename):
15707         * bytecode.c (optimize_compiled_function):
15708         * select-x.c (symbol_to_x_atom):
15709         * select-x.c (x_atom_to_symbol):
15710         * select-x.c (hack_motif_clipboard_selection):
15711         * select-x.c (selection_data_to_lisp_data):
15712         * select-x.c (lisp_data_to_selection_data):
15713         * select-x.c (Fx_get_cutbuffer_internal):
15714         * select-x.c (Fx_store_cutbuffer_internal):
15715         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15716         * buffer.h (TO_INTERNAL_FORMAT): New function.
15717         * emacs.c (make_arg_list_1):
15718         * emacs.c (make_argc_argv):
15719         * emacs.c (main_1):
15720         * emacs.c (Fdump_emacs):
15721         * emacs.c (split_string_by_emchar_1):
15722         * file-coding.h:
15723         * lisp.h:
15724         * lstream.h:
15725         * symsinit.h:
15726         * device-x.c (x_init_device):
15727         * device-x.c (Fx_valid_keysym_name_p):
15728         * device-x.c (Fx_get_font_path):
15729         * device-x.c (Fx_set_font_path):
15730         * glyphs.c (bitmap_to_lisp_data):
15731         * glyphs.c (pixmap_to_lisp_data):
15732         * alloc.c (make_ext_string): Use coding system arguments.  Update
15733         all callers.
15734         * alloc.c (build_string):
15735         * callproc.c (child_setup):
15736         * callproc.c (init_callproc):
15737         * fileio.c (lisp_strerror):
15738         * fileio.c (directory_file_name):
15739         * fileio.c (Fexpand_file_name):
15740         * fileio.c (Ffile_truename):
15741         * fileio.c (Fsysnetunam):
15742         * fileio.c (Fdo_auto_save):
15743         * sysdep.c (sys_readdir):
15744         * tests.c: New file.  Allow adding C tests.
15745         Replace GET_* macros with a more comprehensible and flexible
15746         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15747         Modify all calls.
15748         Any coding system can be used to do format conversion.
15749         Eliminate enum external_data_format.
15750         Eliminate convert_to_external_format.
15751         Eliminate convert_to_internal_format.
15752         Make sure file-name, keyboard, terminal, and ctext are always
15753         defined as coding systems or aliases.  Make
15754         file-name-coding-system, terminal-coding-system, and
15755         keyboard-coding-system magical variables that are equivalent to
15756         defining the corresponding coding system aliases.
15757
15758         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15759         * file-coding.c (Fcoding_system_alias_p): New function.
15760         * file-coding.c (Fcoding_system_aliasee): New function.
15761         * file-coding.c (append_suffix_to_symbol): New function.
15762         * file-coding.c (dangling_coding_system_alias_p): New function.
15763         * file-coding.c (Ffind_coding_system):
15764         * file-coding.c (Fcopy_coding_system):
15765         * file-coding.c (encode_coding_no_conversion):
15766         * file-coding.c (syms_of_file_coding):
15767         * file-coding.c (vars_of_file_coding):
15768         Rewrite coding system alias code.
15769         Allow nested aliases, like symbolic links.
15770         Allow redefinition of coding system aliases.
15771         Prevent existence of dangling coding system aliases.
15772
15773         * dired.c (Fuser_name_completion_1):
15774         * dired.c (Fuser_name_all_completions):
15775         A crash would happen if user did QUIT in the middle of building
15776         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15777
15778         * lisp.h:
15779         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15780
15781         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15782         an unsigned char *.  Update all callers.
15783
15784 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15785
15786         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15787
15788 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15789
15790         * elhash.c (hentry_description): Use more portable definition.
15791         (resize_hash_table): Initialize new hentries using
15792         xnew_array_and_zero, thereby simplifying the code.
15793
15794         * mule-charset.c (make_charset): Make sure entire object is
15795         initialized, to avoid Purify warnings.
15796
15797         * alloc.c (resize_string): Fix unlikely crash with big strings.
15798
15799 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15800
15801         * realpath.c (xrealpath):
15802         Don't call getwd().
15803
15804 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15805
15806         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15807
15808 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15809
15810         * unexelfsgi.c (unexec): Change the way we decide which segment
15811         should be extended.
15812
15813         Assumption that .bss section should be outside the PT_LOADable
15814         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15815         it's present) is inside the 'data' segment. This would fail the
15816         test which was used to find a segment to grow and cover new
15817         heap. Instead of this assumption, I created another one - on IRIX
15818         the segment to grow should start below .bss and it's address
15819         should extent above the end of .bss. Once this segment is
15820         identified, it's grown to accommodate the new heap and new
15821         zero-length .bss section is added at the end of .data2.
15822
15823 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15824
15825         * eval.c (Feval): Wrong number of arguments should use original
15826         function, not the indirect_function version of it.
15827
15828 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15829
15830         * glyphs-x.c (x_button_instantiate): Don't add image if
15831         it is not a pixmap.
15832         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15833         is relative.
15834
15835 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15836
15837         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15838         declaration.
15839         (DEFVAR_INT_MAGIC): Ditto.
15840         (DEFVAR_BOOL_MAGIC): Ditto.
15841         * glyphs.h: Reindent backslash.
15842
15843 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15844
15845         * glyphs-widget.c (layout_query_geometry):
15846         (layout_layout): Use correct types for gheight, gwidth.
15847
15848 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15849
15850         * EmacsManager.c (QueryGeometry): Purified.
15851
15852 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15853
15854         * alloc.c (make_float): Make sure entire object is initialized, to
15855         avoid Purify warnings.
15856         (pdump_register_sub): Remove useless assignment.
15857         (pdump): Use xmalloc, not malloc.
15858         (pdump_load): Use xmalloc, not malloc.
15859
15860 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15861
15862         * callproc.c:
15863         * dired-msw.c:
15864         * fileio.c:
15865         * process-nt.c:
15866         * redisplay-msw.c:
15867         * sysdep.c: Removed redundant #include <windows.h>
15868
15869 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15870
15871         * frame.c (delete_frame_internal): Do not delete device when its
15872         implementation so declares.
15873         (delete_frame_internal): Set device selected frame to nil when
15874         last frame goes away.
15875
15876         * device-msw.c (msprinter_device_system_metrics): Implemented.
15877         (mswindows_device_system_metrics): Added 'device-dpi property.
15878
15879         * device.c: (Fdevice_printer_p): Added.
15880         Added 'offset-workspace device metric.
15881
15882         * console.h (device_metrics): Declared DM_offset_workspace.
15883
15884 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15885
15886         * fileio.c (Ffile_truename): Remove pointless and confusing
15887         initialization of elen.
15888
15889         * glyphs-widget.c: Compiler warning fixes.
15890
15891 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15892
15893         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15894         instead of a Lisp_Object as argument to make it consistent with
15895         the other LIVE_P macros.
15896         (CHECK_LIVE_PROCESS): New macro.
15897
15898         * process.c: Declare Qprocess_live_p.
15899         (Fprocess_live_p): New function.
15900         (create_process): Use PROCESS_LIVE_P.
15901         (read_process_output): Ditto.
15902         (set_process_filter): Ditto.
15903         (Fdelete_process): Ditto.
15904         (kill_buffer_processes): Ditto
15905         (process_send_signal): Use CHECK_LIVE_PROCESS.
15906         (Fprocess_input_coding_system): Check whether process is still
15907         alive (fix PR#1061).
15908         (Fprocess_output_coding_system): Ditto.
15909         (Fprocess_coding_system): Ditto.
15910         (Fset_process_input_coding_system): Ditto.
15911         (Fset_process_output_coding_system): Ditto.
15912
15913 2000-01-23  Andy Piper  <andy@xemacs.org>
15914
15915         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15916         layout and widget.
15917
15918         * glyphs.c (mark_image_instance): take into account changed
15919         image_instance format.
15920         (image_instance_equal): ditto.
15921         (image_instance_hash): ditto.
15922
15923         * glyphs-widget.c (widget_instantiate): Incorporate layout
15924         instantiation here. Delay layout of the layout until later.
15925         (layout_instantiate): deleted.
15926         (layout_query_geometry): new function. get the geometry of a
15927         layout.
15928         (layout_layout): layout a layout dynamically.
15929         (image_instantiator_widget): New function - splitting up
15930         image_instantiator_format_create_glyphs_widget for netwinder
15931         compilation.
15932         (image_instantiator_buttons):
15933         (image_instantiator_edit_fields):
15934         (image_instantiator_combo_box):
15935         (image_instantiator_scrollbar):
15936         (image_instantiator_progress_guage):
15937         (image_instantiator_tree_view):
15938         (image_instantiator_tab_control):
15939         (image_instantiator_labels):
15940         (image_instantiator_layout): ditto.
15941         (image_instantiator_format_create_glyphs_widget): Call preceding
15942         functions.
15943
15944 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15945
15946         * process.c (Fset_process_coding_system):
15947         * device-x.c (Fx_keysym_hash_table):
15948         Docstring fixes.
15949
15950         * lstream.c (Lstream_write): Return documented value, not 0.
15951
15952         * fileio.c (directory_file_name):
15953         (Fsubstitute_in_file_name):
15954         (Fsubstitute_insert_file_contents_internal):
15955         (Fwrite_region_internal):
15956         * emacs.c:
15957         * sysdep.c:
15958         * getloadavg.c:
15959         * systty.h:
15960         Remove vestigial APOLLO-conditional code.
15961
15962 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15963
15964         * getpagesize.h: Add guard macros.
15965         * libsst.h: Add guard macros.
15966         * libst.h: Add guard macros.
15967         * line-number.h: Add guard macros.
15968         * ndir.h: Add guard macros.
15969         * sysfloat.h: Add guard macros.
15970         * sysfile.h: Add guard macros.
15971         * sysproc.h: Add guard macros.
15972         * syswait.h: Add guard macros.
15973         * xintrinsic.h: Add guard macros.
15974         * xintrinsicp.h: Add guard macros.
15975         * xmmanager.h: Add guard macros.
15976         * xmmanagerp.h: Add guard macros.
15977         * xmprimitive.h: Add guard macros.
15978         * xmu.h: Add guard macros.
15979         * gpmevent.h: Add copyright statement. Add guard macros.
15980         * miscplay.h: Add guard macros.
15981         * *.h: Use consistent C-standards-approved guard macro names.
15982
15983         * opaque.c (make_opaque): Switch parameter order.
15984         * opaque.h (make_opaque): Switch parameter order.
15985         Update all callers.
15986         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15987
15988         * config.h.in (type_checking_assert): Added.
15989         (bufpos_checking_assert): Added.
15990
15991 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15992
15993         * alloc.c: Harmless pdump changes.
15994         - Use countof().
15995         - spell alignment correctly.
15996         * sysdep.c: Use countof()
15997
15998 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15999
16000         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16001         initially_selected_for_input() console method, default to 0.
16002         (semi_canonicalize_console_connection): Try to delegate to
16003         canonicalize_console_connection if no such console method.
16004         (canonicalize_console_connection): Vice versa.
16005         (print_console): Do not print nil connection.
16006
16007         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16008         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16009         (XDEVIMPF_FRAMELESS_OK): Added.
16010         (CONSOLE_INHERITS_METHOD): Added.
16011
16012         * console-msw.c (mswindows_canonicalize_console_connection):
16013         Added.
16014         (mswindows_canonicalize_device_connection): Added.
16015
16016         * console-msw.h (struct msprinter_device): Added this struct and
16017         accessor macros.
16018         (mswindows_device): Made fontlist a lisp object.
16019
16020         * device.c (semi_canonicalize_device_connection):  Try to delegate
16021         to canonicalize_device_connection if no such console method.
16022         (canonicalize_device_connection): Vice versa.
16023         (print_device): Do not print nil connection.
16024
16025         * device-msw.c (mswindows_init_device): Call InitCommonControls
16026         when have widgets.
16027         (mswindows_delete_device): Removed fontlist deallocation.
16028         (mswindows_mark_device): Added.
16029
16030         * events.c (event_equal): Added abort() at unreached code.
16031         (event_hash): Ditto.
16032
16033         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16034         fallback tags of Windows devices.
16035
16036         * general.c (syms_of_general): Initialized Qmsprinter.
16037
16038         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16039         of fallback tags of Windows devices.
16040
16041         * lisp.h: Declared Qmsprinter.
16042
16043         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16044         of strings.
16045         (mswindows_list_fonts): Ditto.
16046         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16047         that it can be used by both mswindows and msprinter devices.
16048         (initialize_font_instance): Added.
16049         (mswindows_initialize_font_instance): Use it.
16050         (msprinter_initialize_font_instance): Added.
16051
16052         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16053         and implementation flags check.
16054         (redisplay_without_hooks): Changed the call to the above.
16055         (Fredraw_device): Ditto.
16056         (Fredisplay_device): Ditto.
16057
16058         * redisplay-msw.c (get_frame_dc): Implemented.
16059         (get_frame_compdc): Implemented.
16060         (many functions): Use the two functions above to get device
16061         contexts, ether for a window or a printer.
16062
16063 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16064
16065         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16066         initialization here.
16067         (init_symbols_once_early): Call it.
16068         * emacs.c (main_1): Call it.
16069         * symsinit.h: Declare it.
16070
16071 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16072
16073         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16074         Lisp_Object.
16075         (pdump_backtrace): Ditto.
16076         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16077         (pdump_get_entry): Abort if trying to register a null pointer.
16078         (pdump_dump_data): Cleanup types when relocating.
16079         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16080         (pdump_dump_rtables): Remove bad casts.
16081         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16082         Lisp_Object instead of a EMACS_INT for the hashtable
16083         reorganization.
16084
16085 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16086
16087         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16088
16089         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16090
16091         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16092
16093         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16094
16095 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16096
16097         * faces.h (FACE_STRIKETHRU_P): Added.
16098
16099         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16100         of font variants.
16101
16102         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16103         (mswindows_set_dc_font): New function, aware of font variants,
16104         separated from mswindows_update_dc.
16105
16106         * objects-msw.h (struct mswindows_font_instance_data): Added
16107         definition.
16108
16109         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16110         cached fonts and the data structure.
16111         (mswindows_initialize_font_instance): Added creation of font data
16112         structure.
16113         (mswindows_print_font_instance): Print at least something.
16114         (mswindows_create_font_variant): Implemented.
16115         (mswindows_get_hfont): Implemented.
16116
16117 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16118
16119         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16120         prototyping problem with msvc.
16121
16122         * emacs.c (main_1): added syms_of_gui_mswindows() call
16123
16124         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16125         syms_of_gui_mswindows() function
16126
16127         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16128
16129 2000-01-18  Martin Buchholz <martin@xemacs.org>
16130
16131         * XEmacs 21.2.27 is released.
16132
16133 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16134
16135         * glyphs-eimage.c (struct tiff_error_struct):
16136         (tiff_error_func):
16137         (tiff_warning_func):
16138         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16139
16140         * unexmips.c:
16141         * unexhp9k3.c:
16142         * unexfreebsd.c:
16143         * unexec.c: Remove vestigial Lucid C code.
16144         * unexalpha.c:
16145         * unexaix.c:
16146         * termcap.c:
16147         * libsst.c: Ansify.
16148         Remove declarations of errno and strerror().
16149
16150         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16151
16152         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16153
16154 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16155
16156         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16157         Optimize.
16158
16159 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16160
16161         * md5.c:
16162         * file-coding.c:
16163         * file-coding.h:
16164         Change enum eol_type to eol_type_t.
16165
16166 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16167
16168         * gui.c (get_gui_callback): Check cons before accessing car.
16169
16170 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16171
16172         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16173         (XSETSPECIFIER_TYPE): Ditto.
16174
16175 2000-01-17  Didier Verna  <didier@xemacs.org>
16176
16177         * redisplay.c (generate_fstring_runes): compute string size in
16178         characters, not bytes.
16179
16180 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16181
16182         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16183
16184 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16185
16186         * print.c (print_error_message): Call print_prepare().
16187
16188 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16189
16190         * .dbxrc: Renamed from dbxrc.
16191
16192         * events.c (event_to_character):
16193         Use `assert (foo)' instead of `if (!foo) abort()'
16194
16195         * .gdbinit (xtype): Add documentation.
16196         * .gdbinit (check-temacs): New function.
16197         * .gdbinit (check-xemacs): New function.
16198         * dbxrc (check-xemacs): New function.
16199         * dbxrc (check-xemacs): New function.
16200
16201 2000-01-14  Andy Piper  <andy@xemacs.org>
16202
16203         * glyphs-widget.c (widget_query_geometry): Make sure that we
16204         calculate default dimensions correctly.
16205
16206 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16207
16208         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16209
16210         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16211         pdump_wire'd variable.
16212
16213         * emacs.c: (main_1): Conditionalized calls to
16214         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16215
16216 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16217
16218         * window.c (Fset_window_configuration):
16219         * sysdep.c (_start):
16220         * input-method-motif.c (res):
16221         * event-Xt.c (Xt_process_to_emacs_event):
16222         Simple compiler warning fixes.
16223
16224         * bytecode.c (funcall_compiled_function): Use the original
16225         function symbol on the backtrace list in preference to the
16226         compiled_function object in error messages.
16227
16228 2000-01-13  Andy Piper  <andy@xemacs.org>
16229
16230         * glyphs-x.c (update_widget_face): Make sure we update the widget
16231         background as well as foreground.
16232
16233 2000-01-13  Andy Piper  <andy@xemacs.org>
16234
16235         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16236         fields to subwindow.
16237         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16238         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16239         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16240         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16241
16242         * glyphs-widget.c (check_valid_tab_orientation): new function.
16243         (initialize_widget_image_instance): zero orientation and
16244         justification.
16245         (widget_instantiate): pick up orientation.
16246         (tab_control_query_geometry): return appropriate values for
16247         vertical tabs.
16248
16249         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16250         appropriate creation flags for left, right and bottom tabs.
16251
16252         * s/cygwin32.h: add tab definitions.
16253
16254 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16255
16256         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16257         frame upon hiding a subwindow.
16258         (mswindows_button_instantiate): Changed the push button style to
16259         BS_PUSHBUTTON.
16260         (mswindows_button_instantiate): Removed button BS_NOTIFY
16261         style.
16262         (mswindows_button_instantiate): Removed redundant check for
16263         a disabled gui item.
16264         (mswindows_button_instantiate): Made use of WS_TABSTOP
16265         consistent: "operable" controls (edit, button, tree, scroll) have
16266         this style, "display-only" ones (static, progress gauge) do
16267         not. This style is currently ignored by XEmacs though. Also,
16268         removed the WS_EX_CONTROLPARENT style - it is not for children,
16269         it is for their parents!
16270         (mswindows_edit_field_instantiate): Ditto.
16271         (mswindows_progress_gauge_instantiate): Ditto.
16272         (mswindows_tree_view_instantiate): Ditto.
16273         (mswindows_tab_control_instantiate): Ditto.
16274         (mswindows_scrollbar_instantiate): Ditto.
16275         (mswindows_combo_box_instantiate): Ditto.
16276         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16277         style to the "clip" window.
16278         (mswindows_button_instantiate): Removed compilation warning by
16279         equally typing terms of the ?: operator.
16280
16281 2000-01-12  Didier Verna  <didier@xemacs.org>
16282
16283         * redisplay.c (generate_fstring_runes): new parameter holding the
16284         last modeline-format extent.
16285         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16286         extent, fill the glyph block with it.
16287         (generate_fstring_runes): handle these parameters.
16288         (generate_formatted_string_db): ditto.
16289
16290         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16291         glyphs'extents in the modeline.
16292
16293 1999-01-11  Mike Woolley  <mike@bulsara.com>
16294
16295         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16296         256Mb, as a workaround for the non-starting problem many people
16297         have experienced.
16298
16299 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16300
16301         * console-tty.c (Fset_console_tty_output_coding_system):
16302         Force redrawing tty frame.
16303
16304 2000-01-10  Didier Verna  <didier@xemacs.org>
16305
16306         * redisplay.c (generate_fstring_runes): fix size computation bug.
16307
16308 2000-01-09  William M. Perry <wmperry@aventail.com>
16309
16310         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16311
16312 2000-01-09  Andy Piper  <andy@xemacs.org>
16313
16314         * glyphs-msw.c: index -> i to avoid shadows.
16315         (xbm_create_bitmap_from_data): make static.
16316         (check_valid_string_or_int): deleted.
16317         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16318
16319         * glyphs-x.c (x_update_subwindow): remove unused args.
16320
16321         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16322         back pointer - this is done in allocate_image_instance.
16323         (query_string_font): return Qnil to make the compiler happy.
16324         (unmap_subwindow): set to ~0 to make the compiler happy.
16325         (glyph_query_geometry): comment out until used.
16326         (glyph_layout): ditto.
16327
16328 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16329
16330         * insdel.c (signal_after_change): Remove extraneous unbind_to().