b38f42090dab6a2cbb36763c7ef79444e03de99f
[chise/xemacs-chise.git-] / src / ChangeLog
1 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (decode_add_er_char): Must to quote prefix string
4         as regexp.
5
6 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * mule-charset.c (put_char_ccs_code_point): Store characters of
9         =ucs whose code_points >= 0xF0000.
10
11 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
12
13         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
14         CHISE.
15         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
16         CHISE.
17         (complex_vars_of_mule_charset): Add new coded-charset
18         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
19         builtin characters over 0xEFFFF.
20
21         * chartab.c (syms_of_chartab): Don't define symbol
22         `system-char-id' in every case.
23
24         * char-ucs.h (Qsystem_char_id): New extern variable.
25         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
26
27 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
28
29         * text-coding.c (char_encode_utf8): Try to use entity-references
30         for U-000F0000 ...  U-0010FFFF.
31
32 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * text-coding.c (ER_BUF_SIZE): New macro.
35         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
36         `er_buf'.
37         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
38         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
39
40 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
41
42         * chartab.c (find_char_feature_in_family): New function.
43         (Fchar_feature): Use `find_char_feature_in_family' with
44         `->identical', `<-subsumptive' and `<-denotational'.
45
46 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * text-coding.c (char_encode_as_entity_reference): Allow prefix
49         within 8 characters; fix infinite loop.
50
51 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * chartab.c (Q_same): New variable.
54         (Q_same_of): New variable.
55         (Fput_char_attribute): Convert char-refs in value of `{->|<-}same'
56         to characters and put reverse links.
57         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
58         for `{->|<-}same'.
59         (syms_of_chartab): Add new symbols `{->|<-}same'.
60
61 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
62
63         * chartab.c (Q_component): New variable.
64         (Q_component_of): Likewise.
65         (Fput_char_attribute): Convert char-refs in value of
66         `{->|<-}ideographic-component-forms' to characters and put reverse
67         links.
68         (syms_of_chartab): Add new symbols
69         `{->|<-}ideographic-component-forms'.
70
71 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
72
73         * chartab.c (Q_identical): New variable.
74         (Q_identical_from): New variable.
75         (Fchar_feature): Regard `->identical' as a feature to find
76         ancestors.
77         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
78         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
79         for `{->|<-}identical'.
80         (syms_of_chartab): Add new symbols `{->|<-}identical'.
81
82 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * char-ucs.h (encode_char_2): New inline function.
85         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
86
87 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
88
89         * chartab.c (Fput_char_attribute): Convert char-specs to
90         characters in value of `ideographic-structure'.
91         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
92         for `{<-|->}simplified(@...)'.
93         (Fdefine_char): bTry to use predefined character's id.
94
95 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
96
97         * fns.c (simplify_char_spec): Try to convert builtin chars to
98         defined chars.
99
100 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * chartab.c (Fput_char_attribute): Convert char-refs in value of
103         `<-simplified[^*]*' to characters and put reverse links.
104
105 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * chartab.c (Q_subsumptive): Renamed from Q_unified.
108         (Q_subsumptive_from): Renamed from Q_unified_from.
109         (Fchar_feature): Use `Q_subsumptive_from' instead of
110         `Q_unified_from'.
111         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
112         `Q_unified'.
113         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
114         `<-unified' to `<-subsumptive'.
115
116 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
119         inheritance itself; fix typo; stop recursive search if cyclic
120         inheritance is found.
121
122 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
123
124         * chartab.c (Q_denotational): New variable.
125         (Q_denotational_from): New variable.
126         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
127         (put_char_attribute): New function.
128         (Fput_char_attribute): Use `put_char_attribute'; regard
129         `->denotational' and `<-denotational' as same as `->unified' and
130         `<-unified'.
131         (syms_of_chartab): Add new symbols `->denotational' and
132         `<-denotational'.
133
134 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
137         `Fget_char_attribute'.
138         (Fchar_variants): Likewise.
139         (get_char_table): Likewise.
140         (Fchar_feature): New function.
141         (put_char_composition): Use `Fchar_feature' instead of
142         `Fget_char_attribute'.
143         (Fput_char_attribute): Likewise; don't put the target character
144         into its `->unified' value.
145         (syms_of_chartab): Add new builtin function `char-feature'.
146
147 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
150         `Fget_char_attribute'.
151         (char_encode_utf8): Likewise.
152
153         * chartab.h: Add an EXFUN for `Fchar_feature'.
154
155 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * chartab.c (Vnext_defined_char_id): New variable.
158         (Fput_char_attribute): Accept characters in `->unified'.
159         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
160         new characters which are not related with builtin char-id ranges.
161         (vars_of_chartab): Add new variable `next-defined-char-id'.
162
163 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * chartab.c (Q_unified): New variable.
166         (Q_unified_from): New variable.
167         (Fput_char_attribute): Add code for `->unified'.
168         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
169         XEmacs CHISE.
170
171 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
172
173         * mule-charset.c (decode_ccs_conversion): New function.
174         (decode_defined_char): Use `decode_ccs_conversion'.
175         (decode_builtin_char): Likewise.
176
177 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
178
179         * char-ucs.h: Change some charset-ids of private coded-charsets.
180
181 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
184         (char_encode_as_entity_reference): Likewise.
185         (decode_coding_big5): Modify for `decode_defined_char' and
186         `DECODE_CHAR'.
187         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
188         avoid compiler warning.
189         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
190
191         * mule-charset.c (decode_defined_char): Add new argument
192         `without_inheritance'.
193         (Fdecode_char): Add new optional argument `without_inheritance'.
194         (Fdecode_builtin_char): Modify for `Fdecode_char'.
195
196         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
197         (simplify_char_spec): Likewise.
198
199         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
200         setting.
201
202         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
203         (map_char_table): Likewise.
204         (Fdefine_char): Use `Fdecode_char' without inheritance.
205         (Ffind_char): Modify for `Fdecode_char'.
206
207         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
208
209         * char-ucs.h (decode_defined_char): Add new argument
210         `without_inheritance'.
211         (DECODE_CHAR): Likewise.
212         (MAKE_CHAR): Modify for `DECODE_CHAR'.
213
214 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
215
216         * chartab.c (Vchise_system_db_directory): New variable.
217         (vars_of_chartab): Add new variable `chise-system-db-directory'.
218
219 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * chartab.c: EXFUN `Fmount_char_attribute_table'.
222         (print_chartab_range): Don't define when `UTF2000' is defined.
223         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
224         `CHISE_DS_open'.
225
226 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
229         and optional argument `rehash' is specified, call
230         `open_chise_data_source_maybe' before
231         `chise_ds_foreach_char_feature_name' is called.
232
233 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * chartab.c (char_attribute_list_reset_map_func): New function
236         when HAVE_LIBCHISE is defined.
237         (Fchar_attribute_list): Add new optional argument `rehash' when
238         HAVE_LIBCHISE is defined.
239         (open_chise_data_source_maybe): Use "chise-db" instead of
240         "char-db".
241         (char_attribute_system_db_file): Likewise.
242         (Fload_char_attribute_table): Use
243         `chise_feature_foreach_char_with_value' instead of
244         `chise_char_feature_value_iterate'.
245
246 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
247
248         * chartab.c (Vchise_db_directory): New variable.
249         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
250
251 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
254         instead of HAVE_CHISE to specify using with libchise.
255
256         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
257
258         * chartab.h: Don't use HAVE_CHISE_CLIENT.
259
260         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
261         defined or HAVE_LIBCHISE_LIBCHISE is defined.
262         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
263         is defined.
264         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
265         HAVE_CHISE to specify using with libchise.
266         (syms_of_chartab): Don't define symbol `system-char-id' when
267         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
268
269 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
272         specify CHISE DB support.
273         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
274         of `char_attribute_system_db_file' to check feature DB file.
275
276         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
277         HAVE_CHISE_CLIENT to specify CHISE DB support.
278
279         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
280         specify CHISE DB support.
281         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
282         not defined.
283         (Freset_char_attribute_table): Use `chise_feature_setup_db'
284         instead of `char_attribute_system_db_file' to check feature DB
285         file.
286
287 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
290         `HAVE_CHISE_CLIENT'.
291
292 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
295         (Fsave_charset_mapping_table): Don't use
296         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
297
298         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
299         (HAVE_LIBCHISE): New macro.
300
301         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
302
303         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
304         (Fsave_char_attribute_table): Don't use
305         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
306
307 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
308
309         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
310         defined.
311         (save_uint16_byte_table): Likewise.
312         (save_byte_table): Likewise.
313         (char_table_get_db): Use `chise_ds_load_char_feature_value'
314         instead of `chise_char_load_feature_value'.
315         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
316
317 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
318
319         * chartab.h (struct Lisp_Char_Table): Delete member
320         `feature_table' if CHISE is defined.
321
322         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
323         (Fcopy_char_table): Likewise.
324         (char_table_open_db_maybe): Likewise.
325         (char_table_close_db_maybe): Likewise.
326         (char_table_get_db): Likewise.
327         (Fmount_char_attribute_table): Likewise.
328         (Fload_char_attribute_table): Likewise.
329
330 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
331
332         * mule-charset.c (load_char_decoding_entry_maybe): Use
333         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
334         `chise_ccs_decode'.
335
336 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
337
338         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
339         instead of `chise_open_data_source'.
340         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
341         `chise_ds_close'.
342
343 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
344
345         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
346         instead of `chise_ds_open_feature_table'.
347         (char_table_close_db_maybe): Don't use `chise_ft_close'.
348
349 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
350
351         * mule-charset.c (Fsave_charset_mapping_table): Use
352         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
353         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
354         `chise_ccs_sync' instead of `chise_ccst_close'.
355         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
356
357         * chartab.c (open_chise_data_source_maybe): Modify for
358         `chise_open_data_source'.
359         (char_table_open_db_maybe): Modify for
360         `chise_ds_open_feature_table'.
361
362 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
363
364         * mule-charset.c (load_char_decoding_entry_maybe): Use
365         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
366         `chise_ccst_close'.
367
368 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
369
370         * mule-charset.c (Fsave_charset_mapping_table): Use
371         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
372         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
373         `chise_dt_put_char' and `chise_dt_close'.
374         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
375         `chise_ccs_decode' and `chise_ccst_close' instead of
376         `chise_ds_open_decoding_table', `chise_dt_get_char' and
377         `chise_dt_close'.
378
379         * chartab.c (char_table_get_db): Use
380         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
381         (load_char_attribute_table_map_func): Modify for
382         `chise_char_feature_value_iterate'.
383         (Fload_char_attribute_table): Use
384         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
385
386 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
387
388         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
389
390 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
391
392         * chartab.c (put_char_table): Modify for inherited coded-charsets
393         in XEmacs CHISE.
394
395 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * chartab.c (Fput_char_table_map_function): Fixed.
398         (word_boundary_p): Don't check charset in XEmacs CHISE.
399
400 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
401
402         * mule-charset.c (Fsave_charset_mapping_table): Use
403         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
404         instead of `chise_open_decoding_table'; refer
405         `default_chise_data_source'; use `chise_dt_close' instead of
406         `chise_close_decoding_table'.
407         (load_char_decoding_entry_maybe): Likewise.
408
409         * chartab.c (default_chise_data_source): New variable when `CHISE'
410         is defined.
411         (Fcopy_char_table): `ct->ds' is deleted.
412         (open_chise_data_source_maybe): New function.
413         (Fclose_char_data_source): New function.
414         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
415         use `chise_ds_open_feature_table' instead of
416         `chise_open_feature_table'.
417         (char_table_close_db_maybe): Use `chise_ft_close' instead of
418         `chise_close_feature_table'; `cit->ds' is deleted.
419         (syms_of_chartab): Add new builtin function
420         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
421
422         * chartab.h (default_chise_data_source): New extern variable.
423         (open_chise_data_source_maybe): New prototype.
424         (struct Lisp_Char_Table): Delete `ds'.
425
426 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
427
428         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
429         `CHISE' is defined.
430
431 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
432
433         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
434         not defined; add code for non-libchise setting.
435         (char_table_close_db_maybe): Likewise.
436         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
437         defined.
438         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
439         even if `CHISE' is not defined.
440         (Freset_char_attribute_table): Likewise.
441         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
442         `char_table_close_db_maybe' even if `CHISE' is not defined; use
443         `char_table_get_db'.
444         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
445         `char_table_close_db_maybe' even if `CHISE' is not defined.
446
447 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
448
449         * chartab.c (char_table_open_db_maybe): New function.
450         (char_table_close_db_maybe): New function.
451         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
452         (Freset_char_attribute_table): Likewise.
453         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
454         `char_table_close_db_maybe'.
455         (Fload_char_attribute_table): Likewise.
456
457 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
458
459         * chartab.c: Don't include <chise.h> because it is included in
460         chartab.h.
461         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
462         defined.
463         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
464         `CHISE' is defined.
465         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
466         `CHISE' is defined.
467         (Fclose_char_attribute_table): Close `ct->feature_table' and
468         `ct->ds' when `CHISE' is defined.
469         (Freset_char_attribute_table): Likewise.
470         (load_char_attribute_maybe): Use `cit->ds' and
471         `cit->feature_table' when `CHISE' is defined.
472         (Fload_char_attribute_table): Likewise.
473
474         * chartab.h: Include <chise.h> when `CHISE' is defined.
475         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
476         when `CHISE' is defined.
477
478 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
479
480         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
481         is defined.
482         (char_table_description): Likewise.
483         (Fmake_char_table): Likewise.
484         (Fcopy_char_table): Likewise.
485         (Fmount_char_attribute_table): Likewise.
486         (Fclose_char_attribute_table): Likewise.
487         (Freset_char_attribute_table): Likewise.
488         (load_char_attribute_maybe): Likewise.
489         (Fload_char_attribute_table): Likewise.
490
491         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
492         defined.
493
494 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
495
496         * chartab.c (load_char_attribute_table_map_func): New function
497         when CHISE is defined.
498         (Qload_char_attribute_table_map_function): Don't define when CHISE
499         is defined.
500         (Fload_char_attribute_table_map_function): Likewise.
501         (Fload_char_attribute_table): Use libchise when `CHISE' is
502         defined.
503         (syms_of_chartab): Don't define
504         `load-char-attribute-table-map-function' when CHISE is defined.
505
506 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
507
508         * chartab.c: Include <chise.h> when `CHISE' is defined.
509         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
510
511 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
512
513         * mule-charset.c (charset_code_point): Fix problem when searching
514         in mother CCS fails with `defined_only' mode.
515
516 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
517
518         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
519         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
520         (put_char_composition): Likewise.
521         (Fput_char_attribute): Likewise.
522         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
523
524 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
525
526         * chartab.c (Q_ucs): Deleted.
527         (Fput_char_attribute): Don't refer `->ucs'.
528         (Fdefine_char): Likewise.
529         (Ffind_char): Likewise.
530         (syms_of_chartab): Delete `->ucs'.
531
532 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
533
534         * mule-charset.c (Qmap_cns11643_2): Renamed from
535         `Qchinese_cns11643_2'.
536         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
537         `chinese-cns11643-2'.
538         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
539         `=cns11643-2'.
540
541 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
542
543         * mule-charset.c (Qmap_cns11643_1): Renamed from
544         `Qchinese_cns11643_1'.
545         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
546         `chinese-cns11643-1'.
547         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
548         `=cns11643-1'.
549
550 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
551
552         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
553         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
554         `chinese-gb12345'.
555         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
556         `=gb12345'.
557
558 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
559
560         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
561         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
562         `chinese-gb2312'.
563         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
564         `=gb2312'.
565
566 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
567
568         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
569         (syms_of_mule_charset): Add new symbol `=big5' instead of
570         `chinese-big5'.
571         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
572
573 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
576         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
577         `korean-ksc5601'.
578         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
579         `=ks-x1001'.
580
581 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
582
583         * mule-charset.c (Qmap_jis_x0212): Renamed from
584         `Qjapanese_jisx0212'.
585         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
586         `japanese-jisx0212'.
587         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
588         `=jis-x0212'.
589
590 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
591
592         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
593         `Qjapanese_jisx0208'.
594         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
595         of `japanese-jisx0208'.
596         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
597         `=jis-x0208-1983'.
598
599 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
600
601         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
602         `Qjapanese_jisx0208_1978'.
603         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
604         of `japanese-jisx0208-1978'.
605         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
606         `=jis-x0208-1978'.
607
608 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
609
610         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
611         only for XEmacs CHISE.
612
613 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
614
615         * char-ucs.h: Compact non-ISO-IR charset-ids.
616         (LEADING_BYTE_UCS): Changed to -177.
617         (LEADING_BYTE_CONTROL_1): Changed to -77.
618         (LEADING_BYTE_UCS_BMP): Changed to -176.
619         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
620
621 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * mule-charset.c (Qiso_ir): New variable.
624         (Fmake_charset): Recognise new property `iso-ir'.
625         (syms_of_mule_charset): Add new symbol `iso-ir'.
626
627 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
628
629         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
630         n to -n; charset-id of non ISO-IR sets are changed to positive
631         numbers.
632
633 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
634
635         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
636         for &MCS-XXXXXXXX; values.
637
638 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
639
640         * mule.c (Vxemacs_chise_version): Renamed from
641         `Vutf_2000_version'.
642         (vars_of_mule): Add new variable `xemacs-chise-version'; define
643         `utf-2000-version' as an alias for `xemacs-chise-version'.
644
645 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
646
647         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
648         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
649         defined.
650
651         * config.h.in (CHISE): New macro.
652
653 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
654
655         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
656         of `ucs'.
657         (Qmap_ucs): New variable.
658         (syms_of_mule_charset): Add new symbol `=ucs'.
659         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
660
661         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
662         (simplify_char_spec): Likewise.
663
664         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
665
666         * char-ucs.h (Qmap_ucs): New extern variable.
667
668 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
669
670         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
671         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
672         don't define it when UTF2000 is not defined.
673         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
674         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
675         when UTF2000 is not defined.
676         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
677         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
678
679 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
680
681         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
682
683         * mule-charset.c (Vcharset_ucs_gb): Deleted.
684         (Qucs_gb): Deleted.
685         (syms_of_mule_charset): Delete `ucs-gb'.
686         (complex_vars_of_mule_charset): Likewise.
687
688 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
689
690         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
691
692         * mule-charset.c (Vcharset_ucs_cns): Deleted.
693         (Qucs_cns): Deleted.
694         (syms_of_mule_charset): Delete `ucs-cns'.
695         (complex_vars_of_mule_charset): Likewise.
696
697 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
698
699         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
700
701         * mule-charset.c (Vcharset_ucs_jis): Deleted.
702         (Qucs_jis): Deleted.
703         (syms_of_mule_charset): Delete `ucs-jis'.
704         (complex_vars_of_mule_charset): Likewise.
705
706 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
707
708         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
709
710         * mule-charset.c (Vcharset_ucs_ks): Deleted.
711         (Qucs_ks): Deleted.
712         (syms_of_mule_charset): Delete `ucs-ks'.
713         (complex_vars_of_mule_charset): Likewise.
714
715 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
716
717         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
718         (Qideograph_daikanwa_2): Deleted.
719         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
720         (complex_vars_of_mule_charset): Likewise.
721
722         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
723         (LEADING_BYTE_DAIKANWA_1): Deleted.
724         (LEADING_BYTE_DAIKANWA_2): Deleted.
725         (MIN_CHAR_DAIKANWA): Deleted.
726         (MAX_CHAR_DAIKANWA): Deleted.
727
728 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
729
730         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
731         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
732         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
733
734         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
735         (Vcharset_ideograph_daikanwa): Deleted.
736         (Qideograph_hanziku_{1..12}): Deleted.
737         (Qideograph_daikanwa): Deleted.
738         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
739         Vcharset_ideograph_daikanwa.
740         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
741         `ideograph-hanziku-{1..12}'.
742         (complex_vars_of_mule_charset): Likewise.
743
744 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
745
746         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
747
748         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
749         (Qideograph_gt_pj_{1..11}): Deleted.
750         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
751         (complex_vars_of_mule_charset): Likewise.
752
753 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
754
755         * mule-charset.c (Vcharset_ucs_big5): Deleted.
756         (Vcharset_ideograph_gt): Deleted.
757         (Qucs_big5): Deleted.
758         (Qideograph_gt): Deleted.
759         (syms_of_mule_charset): Delete symbol `ucs-big5' and
760         `ideograph-gt'.
761         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
762         and `ideograph-gt'.
763
764         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
765         (LEADING_BYTE_GT): Deleted.
766         (MIN_CHAR_GT): Deleted.
767         (MAX_CHAR_GT): Deleted.
768
769 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
770
771         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
772
773 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
774
775         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
776         (save_uint16_byte_table): Likewise.
777         (save_byte_table): Likewise; convert values by it.
778         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
779         for `ideographic-structure'.
780         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
781         as the filter for `ideographic-structure'.
782
783 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
784
785         * chartab.c (put_char_composition): New function.
786         (Fput_char_attribute): Use `put_char_composition'; use
787         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
788
789         * fns.c (simplify_char_spec): New function.
790         (char_ref_simplify_spec): New function.
791         (Fchar_refs_simplify_char_specs): New function.
792         (syms_of_fns): Add new builtin function
793         `char-refs-simplify-char-specs'.
794
795 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
796
797         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
798         (Qideograph_cbeta): Deleted.
799         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
800         (complex_vars_of_mule_charset): Likewise.
801
802         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
803         (MIN_CHAR_CBETA): Comment out.
804         (MAX_CHAR_CBETA): Likewise.
805
806 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
807
808         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
809         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
810         CHISE client feature.
811
812 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
813
814         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
815
816 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
817
818         * mule-charset.c (charset_lookup_description_1): Use
819         `NUM_LEADING_BYTES' in UTF-2000.
820
821 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
822
823         * char-ucs.h (GC_CHARSETP): Deleted.
824
825 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
826
827         * char-ucs.h (MAX_CHAR_GT): Updated.
828
829 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
830
831         * text-coding.c: Sync with XEmacs 21.4.10.
832
833 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
834
835         * mule-charset.c (Vcharset_china3_jef): Deleted.
836         (Qchina3_jef): Deleted.
837         (syms_of_mule_charset): Don't define `china3-jef'.
838         (complex_vars_of_mule_charset): Likewise.
839
840         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
841         (MIN_CHAR_CHINA3_JEF): Comment out.
842         (MAX_CHAR_CHINA3_JEF): Comment out.
843
844 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
845
846         * mule-charset.c (Vcharset_ucs_gb): New variable.
847         (Qucs_gb): New variable.
848         (syms_of_mule_charset): Add new symbol `ucs-gb'.
849         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
850
851         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
852
853 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
854
855         * mule-charset.c (charset_code_point): if a coded-charset has a
856         final-byte, don't inherit the builtin range of the mother CCS.
857
858 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
859
860         * mule-charset.c (charset_code_point): Fix problem about
861         inheritance.
862
863 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
864
865         * mule-charset.c (decode_builtin_char): Reorganized.
866
867 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
868
869         * text-coding.c (char_encode_as_entity_reference): Modify for
870         `charset_code_point'.
871         (char_encode_shift_jis): Likewise.
872         (char_encode_big5): Likewise.
873         (char_encode_utf8): Likewise.
874         (char_encode_iso2022): Likewise.
875
876         * mule-charset.c (charset_code_point): Add new argument
877         `defined_only'.
878         (Fencode_char): Add new optional argument `defined_only'.
879
880         * chartab.c (put_char_table): Modify for `charset_code_point'.
881
882         * char-ucs.h (charset_code_point): Add new argument
883         `defined_only'.
884         (encode_char_1): Modify for `charset_code_point'.
885
886 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
887
888         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
889         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
890
891 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
892
893         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
894         (Qjis_x0208): Likewise.
895         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
896         XCHARSET_FINAL(charset).
897         (charset_code_point): Modify condition for final-byte based
898         builtin-chars.
899         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
900         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
901         in UTF-2000; specify `=jis-x0208' as the mother of
902         `japanese-jisx0208-1978', `japanese-jisx0208' and
903         `japanese-jisx0208-1990' in UTF-2000.
904
905 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
906
907         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
908
909 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * text-coding.c (decode_coding_utf16): Support UTF-16.
912         (char_encode_utf16): Fixed.
913
914 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
915
916         * text-coding.c (Qutf16): New variable in MULE.
917         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
918         (Fcoding_system_type): Add `utf-16' in MULE.
919         (struct detection_state): Add a structure for utf16 in MULE.
920         (detect_coding_type): Setup st->utf16.mask in MULE.
921         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
922         MULE.
923         (reset_encoding_stream): Use `char_encode_utf16' and
924         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
925         (detect_coding_utf16): New function [incomplete].
926         (decode_coding_utf16): New function [support only UCS-2].
927         (char_encode_utf16): New function.
928         (char_finish_utf16): New function.
929         (syms_of_file_coding): Add new symbol `utf-16'; setup
930         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
931
932         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
933         UTF-2000.
934         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
935         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
936
937 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
938
939         * chartab.c (put_char_table): When a charset is specified as a
940         range in UTF-2000, don't support builtin characters.
941
942 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
943
944         * mule-charset.c (decode_defined_char): Don't refer external
945         database if Qunbound or Qnil are found.
946         (Fsave_charset_mapping_table): Don't define it if
947         HAVE_CHISE_CLIENT is not defined.
948         (Freset_charset_mapping_table): New function.
949         (load_char_decoding_entry_maybe): Store Qnil if a character is not
950         found in external database.
951         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
952         if HAVE_CHISE_CLIENT is not defined; add new builtin function
953         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
954
955 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
956
957         * text-coding.c (decode_coding_utf8): Check CCS is specified or
958         not.
959
960 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
961
962         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
963         Q_lowercase, Q_uppercase in UTF-2000.
964
965         * chartab.c (get_char_table): Add special code for the standard
966         case table to use character attribute `->downcase' and
967         `->uppercase' for case operations in UTF-2000.
968
969         * casetab.c (Qflippedcase): New variable in UTF-2000.
970         (Q_lowercase): Likewise.
971         (Q_uppercase): Likewise.
972         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
973         and `->uppercase' in UTF-2000.
974         (complex_vars_of_casetab): Assign attribute name `downcase' to
975         downcase and CANON table of Vstandard_case_table in UTF-2000;
976         assign attribute name `flippedcase' to upcase and EQV table of
977         Vstandard_case_table in UTF-2000.
978
979 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
980
981         * text-coding.c (decode_add_er_char): Support isolated-chars.
982         (char_encode_as_entity_reference): Likewise.
983
984 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
985
986         * emacs.c (Vutf_2000_lisp_directory): New variable.
987         (Vconfigure_utf_2000_lisp_directory): Likewise.
988         (complex_vars_of_emacs): Add new variable
989         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
990
991 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
992
993         * char-ucs.h (DECODE_CHAR): Delete special code for
994         `chinese-big5-1' and `chinese-big5-2'.
995
996         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
997         (Qbig5_2): Likewise.
998         (decode_defined_char): Support CONVERSION_BIG5_1 and
999         CONVERSION_BIG5_2.
1000         (decode_builtin_char): Likewise.
1001         (charset_code_point): Likewise.
1002         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1003         'conversion in UTF-2000.
1004         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1005         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1006         `chinese-big5-2' as children of `chinese-big5'.
1007
1008         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1009         (CONVERSION_BIG5_2): New macro.
1010
1011 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1012
1013         * text-coding.c (char_encode_big5): Support entity-reference.
1014
1015 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1016
1017         * text-coding.c (char_encode_as_entity_reference): New function.
1018         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1019
1020 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1021
1022         * text-coding.c (decode_coding_big5): Support entity-reference
1023         decoding feature.
1024
1025 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1026
1027         * text-coding.c (allocate_coding_system): Initialize initial
1028         charsets for CODESYS_UTF8.
1029         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1030         charset-g2 for CODESYS_UTF8.
1031         (decode_coding_utf8): Use charset-g0.
1032         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1033         to force variants to map to UCS.
1034
1035 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1036
1037         * text-coding.c (Qutf_8_mcs): New variable.
1038         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1039         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1040         instead of `utf-8' in UTF-2000.
1041
1042 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1043
1044         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1045         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1046         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1047         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1048         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1049         CONVERSION_96x96x96x96 are introduced.
1050         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1051         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1052         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1053
1054         * char-ucs.h (CONVERSION_94): New macro.
1055         (CONVERSION_96): New macro.
1056         (CONVERSION_94x94): New macro.
1057         (CONVERSION_96x96): New macro.
1058         (CONVERSION_94x94x94): New macro.
1059         (CONVERSION_96x96x96): New macro.
1060         (CONVERSION_94x94x94x60): New macro.
1061         (CONVERSION_94x94x94x94): New macro.
1062         (CONVERSION_96x96x96x96): New macro.
1063
1064 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1065
1066         * chartab.c (Vcharacter_variant_table): Deleted.
1067         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1068         of `Vcharacter_variant_table'.
1069         (Fput_char_attribute): Likewise.
1070         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1071         (complex_vars_of_chartab): Likewise.
1072
1073 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1074
1075         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1076
1077         * fns.c (Qideographic_structure): New variable.
1078         (Qkeyword_char): New variable.
1079         (ids_format_unit): New function.
1080         (Fideographic_structure_to_ids): New function.
1081         (syms_of_fns): Add new symbols `ideographic-structure' and
1082         `:char'; add new builtin function `ideographic-structure-to-ids'.
1083
1084         * data.c (Fchar_ref_p): New function.
1085         (syms_of_data): Add new builtin function `char-ref-p'.
1086
1087         * chartab.h: Add an EXFUN for `Ffind_char'.
1088
1089 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1090
1091         * text-coding.c (Vcharacter_composition_table): Deleted.
1092         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1093         in every UTF-2000.
1094
1095         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1096         UTF-2000.
1097         (Vcharacter_composition_table): Deleted.
1098         (Fget_composite_char): Use the implementation for external-DB
1099         support in every UTF-2000.
1100         (Fput_char_attribute): Likewise.
1101         (char_attribute_system_db_file): Don't define if external-DB
1102         feature is not available.
1103         (Fsave_char_attribute_table): Likewise.
1104         (Fmount_char_attribute_table): Likewise.
1105         (Fclose_char_attribute_table): Likewise.
1106         (Freset_char_attribute_table): Likewise.
1107         (Fload_char_attribute_table): Likewise.
1108         (syms_of_chartab): Don't define `save-char-attribute-table',
1109         `mount-char-attribute-table', `reset-char-attribute-table',
1110         `close-char-attribute-table' and `load-char-attribute-table' if
1111         external-DB feature is not available.
1112         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1113
1114 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1115
1116         * text-coding.c (Qcomposition): Add extern if external-DB feature
1117         is supported.
1118         (Vcharacter_composition_table): Don't add extern if external-DB
1119         feature is supported.
1120         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1121         character composition rule if external-DB feature is supported.
1122
1123         * chartab.c (Vcharacter_composition_table): Don't define if
1124         external-DB feature is supported.
1125         (Qcomposition): New variable.
1126         (Fget_composite_char): New implementation for external-DB support.
1127         (Fput_char_attribute): Use `composition' property of each
1128         character instead of `Vcharacter_composition_table' to store
1129         character-composition rules if external-DB feature is supported.
1130         (syms_of_chartab): Add new symbol `composition'.
1131         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1132         external-DB feature is supported.
1133
1134 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1135
1136         * chartab.c (Vchar_db_stingy_mode): New variable.
1137         (load_char_attribute_maybe): Close database if
1138         Vchar_db_stingy_mode is not NIL.
1139         (Fload_char_attribute_table_map_function): Use
1140         `get_char_id_table_0' instead of `get_char_id_table'.
1141         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1142
1143         * chartab.h (get_char_id_table_0): New inline function.
1144         (get_char_id_table): Use `get_char_id_table_0'.
1145
1146 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1147
1148         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1149         and `COMPOSE_ADD_CHAR'.
1150         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1151
1152 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1153
1154         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1155         instead of `DECODE_ADD_UCS_CHAR'.
1156         (COMPOSE_ADD_CHAR): Likewise.
1157
1158 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1159
1160         * text-coding.c (decode_flush_er_chars): New inline function.
1161         (decode_add_er_char): New function.
1162         (decode_coding_utf8): Use `decode_flush_er_chars' and
1163         `decode_add_er_char'.
1164
1165 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1166
1167         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1168         done before `decode_output_utf8_partial_char'.
1169
1170         * mule-charset.c (complex_vars_of_mule_charset): Specify
1171         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1172         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1173
1174 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1175
1176         * mule-charset.c (decode_defined_char): New function; search
1177         mother.
1178         (decode_builtin_char): Don't search mother if
1179         XCHARSET_MAX_CODE(charset) == 0.
1180         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1181         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1182         (Fdecode_char): Use `decode_defined_char' instead of
1183         `DECODE_DEFINED_CHAR'.
1184         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1185         mother of `Vcharset_ucs_jis'.
1186
1187         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1188         instead of `DECODE_DEFINED_CHAR'.
1189
1190         * char-ucs.h (decode_defined_char): Renamed from
1191         `DECODE_DEFINED_CHAR'; changed to normal function.
1192         (DECODE_CHAR): Use `decode_defined_char' instead of
1193         `DECODE_DEFINED_CHAR'.
1194
1195         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1196
1197 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1198
1199         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1200
1201         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1202         variable.
1203         (Quse_entity_reference): New variable.
1204         (Qd): New variable.
1205         (Qx): New variable.
1206         (QX): New variable.
1207         (coding_system_description): Add description for
1208         `ccs_priority_list'.
1209         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1210         (allocate_coding_system): Initialize `ccs_priority_list' in
1211         UTF-2000.
1212         (Fmake_coding_system): Add description about
1213         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1214         (codesys).
1215         (Fcoding_system_property): Accept `disable-composition' and
1216         `use-entity-reference' in UTF-2000.
1217         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1218         in UTF-2000.
1219         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1220         (decode_coding_utf8): Decode entity-reference if
1221         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1222         (char_encode_utf8): Encode non-Unicode characters as
1223         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1224         (str->codesys).
1225         (syms_of_file_coding): Add new symbols `use-entity-reference',
1226         `d', `x', `X'.
1227         (vars_of_file_coding): Add new variable
1228         `coded-charset-entity-reference-alist'.
1229         (complex_vars_of_file_coding): Declare `disable-composition' and
1230         `use-entity-reference' to be coding-system-properties in UTF-2000.
1231
1232         * file-coding.h (struct Lisp_Coding_System): Add new member
1233         `use_entity_reference' and `ccs_priority_list'.
1234         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1235         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1236         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1237
1238 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1239
1240         * chartab.c (save_uint8_byte_table): Don't clear the table.
1241         (save_uint16_byte_table): Likewise.
1242         (save_byte_table): Likewise.
1243         (Fmount_char_attribute_table): New function.
1244         (syms_of_chartab): Add new builtin function
1245         `mount-char-attribute-table'.
1246
1247 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1248
1249         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1250         "w+" mode.
1251         (load_char_decoding_entry_maybe): Open database as read-only mode.
1252
1253         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1254         open database as "w+" mode.
1255         (load_char_attribute_maybe): Open database as read-only mode.
1256         (Fload_char_attribute_table): Likewise.
1257
1258 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1259
1260         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1261         (char_table_description): Delete member `db_file'.
1262         (Fmake_char_table): Don't refer `ct->db_file'.
1263         (Fcopy_char_table): Likewise.
1264         (Fsave_char_attribute_table): Likewise.
1265         (Fclose_char_attribute_table): Likewise.
1266         (Freset_char_attribute_table): Likewise.
1267         (load_char_attribute_maybe): Likewise.
1268         (Fload_char_attribute_table): Likewise.
1269
1270         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1271
1272 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1273
1274         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1275         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1276         `ct->db' is living.
1277         (load_char_attribute_maybe): Likewise.
1278         (Fload_char_attribute_table): Likewise.
1279
1280 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1281
1282         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1283         `ct->db_file' unconditionally.
1284
1285 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1286
1287         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1288         UTF-2000.
1289         (char_table_description): Add description for `db_file' and `db'
1290         in UTF-2000.
1291         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1292         UTF-2000.
1293         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1294         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1295         (Fclose_char_attribute_table): New function.
1296         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1297         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1298         and `cit->db'.
1299         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1300         (syms_of_chartab): Add new builtin function
1301         `Fclose_char_attribute_table'.
1302
1303 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1304
1305         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1306         `db' in UTF-2000.
1307         (load_char_attribute_maybe): Change interface.
1308         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1309
1310 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1311
1312         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1313
1314 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1315
1316         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1317         instead of `DECODE_CHAR' for mother; don't use special code for
1318         chinese-big5 to use code space of chinese-big5-1 and
1319         chinese-big5-2.
1320         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1321         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1322
1323         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1324         (MAX_CHAR_BIG5_CDP): Revival.
1325
1326 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1327
1328         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1329         the XLFD registry-encoding name of `chinese-big5'.
1330
1331 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1332
1333         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1334         (Qchinese_big5_cdp): Deleted.
1335         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1336         (complex_vars_of_mule_charset): Delete coded-charset
1337         `chinese-big5-cdp'.
1338
1339         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1340         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1341         `CHARSET_ID_OFFSET - n' for private CCS.
1342         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1343         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1344         of `MIN_LEADING_BYTE'.
1345         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1346         `(CHARSET_ID_OFFSET - 97)'.
1347         (MIN_CHAR_BIG5_CDP): Deleted.
1348         (MAX_CHAR_BIG5_CDP): Deleted.
1349
1350 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1353
1354 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1355
1356         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1357         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1358         chartab.c].
1359
1360         * chartab.c (Vutf_2000_version): Moved to mule.c.
1361         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1362
1363 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1364
1365         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1366         when HAVE_CHISE_CLIENT is not defined.
1367
1368         * mule.c (vars_of_mule): Provide feature `chise' when
1369         HAVE_CHISE_CLIENT is defined.
1370
1371 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1372
1373         * config.h.in (UTF2000): Add comment.
1374         (HAVE_CHISE_CLIENT): New macro.
1375
1376 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1377
1378         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1379         CONSP.
1380         (Fput_char_attribute): Likewise.
1381         (char_attribute_system_db_file): Encode file-name of attribute.
1382         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1383         the initial value.
1384
1385 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1386
1387         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1388         (Fsave_charset_mapping_table): Use
1389         `char_attribute_system_db_file'.
1390         (load_char_decoding_entry_maybe): Likewise.
1391
1392         * chartab.h (Qsystem_char_id): New external variable.
1393         (char_attribute_system_db_file): New prototype.
1394
1395         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1396         (char_attribute_system_db_file): New function.
1397         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1398         (Freset_char_attribute_table): Likewise.
1399         (load_char_attribute_maybe): Likewise.
1400         (Fload_char_attribute_table): Likewise.
1401         (syms_of_chartab): Add new symbol `system-char-id'.
1402
1403 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1404
1405         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1406         `XCHARSET_GRAPHIC(ccs)'.
1407
1408 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1409
1410         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1411
1412 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * chartab.c (Q_ucs_variants): New variable.
1415         (syms_of_chartab): Add new symbol `->ucs-variants'.
1416         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1417         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1418         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1419
1420         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1421
1422         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1423         `HAVE_DATABASE' is defined.
1424         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1425         `HAVE_DATABASE' is defined.
1426
1427 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1428
1429         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1430         attribute-table.
1431         (Freset_char_attribute_table): New function.
1432         (syms_of_chartab): Add new builtin function
1433         `reset-char-attribute-table'.
1434
1435 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1436
1437         * chartab.c (load_char_attribute_maybe): Don't make directories.
1438
1439 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1440
1441         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1442
1443         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1444         for decoding-table.
1445
1446 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1447
1448         * mule-charset.c (Fsave_charset_mapping_table): Use
1449         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1450
1451         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1452         instead of `XCHARSET_CHARS'.
1453
1454 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1455
1456         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1457         (XCHARSET_BYTE_SIZE): Likewise.
1458
1459         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1460         mule-charset.c].
1461         (XCHARSET_BYTE_SIZE): Likewise.
1462
1463 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1464
1465         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1466         data-directory to store database.
1467         (Fsave_char_attribute_table): Likewise.
1468         (load_char_attribute_maybe): Likewise.
1469         (Fload_char_attribute_table): Likewise.
1470
1471 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1472
1473         * mule-charset.c (Fsave_charset_mapping_table): New function.
1474         (syms_of_mule_charset): Add new builtin function
1475         `save-charset-mapping-table'.
1476
1477 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1478
1479         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1480         (get_ccs_octet_table): New inline function.
1481         (put_ccs_octet_table): Likewise.
1482         (decoding_table_put_char): Use `get_ccs_octet_table' and
1483         `put_ccs_octet_table'.
1484         (decoding_table_remove_char): Use `decoding_table_put_char'.
1485         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1486
1487         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1488         into encoding_table.
1489         (make_charset): Use Qunbound instead Qnil as initial value of
1490         decoding_table.
1491
1492 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1493
1494         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1495         element is Qunloaded.
1496         (map_over_uint16_byte_table): Likewise.
1497         (map_over_byte_table): Likewise.
1498         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1499         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1500         database support, load encoding-table of the specified
1501         coded-charset if it is not loaded yet.
1502         (save_uint8_byte_table): New function of UTF-2000 with external
1503         database support.
1504         (save_uint16_byte_table): Likewise.
1505         (save_byte_table): Likewise.
1506         (Fput_char_attribute): Don't store value into external database
1507         even if the external database feature is supported in UTF-2000;
1508         set `attribute' as name of char-table if the external database
1509         feature is supported.
1510         (Fsave_char_attribute_table): New function in UTF-2000.
1511         (syms_of_chartab): Add new builtin function
1512         `save-char-attribute-table' in UTF-2000.
1513
1514 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1515
1516         * chartab.c (char_attribute_table_to_put): New variable in
1517         UTF-2000.
1518         (Qput_char_table_map_function): Likewise.
1519         (value_to_put): Likewise.
1520         (Fput_char_table_map_function): New function in UTF-2000.
1521         (put_char_table): Use `Fmap_char_attribute' for
1522         CHARTAB_RANGE_CHARSET in UTF-2000.
1523         (Fput_char_attribute): Store symbol instead of string in
1524         `XCHAR_TABLE_NAME (table)'.
1525         (load_char_attribute_maybe): Likewise.
1526         (syms_of_chartab): Add new symbol/function
1527         `put-char-table-map-function'.
1528
1529 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1530
1531         * database.h: Add new EXFUN for `Fmap_database'.
1532
1533         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1534         (syms_of_database): Likewise.
1535
1536         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1537         UTF-2000.
1538         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1539         (XCHAR_TABLE_UNLOADED): Likewise.
1540
1541         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1542         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1543         HAVE_DATABASE is defined.
1544         (char_attribute_table_to_load): New variable of UTF-2000 with
1545         external database support.
1546         (Qload_char_attribute_table_map_function): Likewise.
1547         (Fload_char_attribute_table_map_function): New function of
1548         UTF-2000 with external database support.
1549         (Fload_char_attribute_table): New function of UTF-2000.
1550         (Fmap_char_attribute): Call Fload_char_attribute_table if
1551         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1552         (syms_of_chartab): Add new symbol and function
1553         `load-char-attribute-table-map-function' in UTF-2000 with external
1554         database support; add new function `load-char-attribute-table' in
1555         UTF-2000.
1556
1557 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1558
1559         * chartab.h (load_char_attribute_maybe): New prototype for
1560         UTF-2000 with DATABASE support.
1561         (get_char_id_table): Use `load_char_attribute_maybe' if
1562         HAVE_DATABASE is defined.
1563
1564         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1565         with DATABASE support.
1566
1567 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1568
1569         * chartab.c (Fput_char_attribute): Use S-expression as key of
1570         external database.
1571
1572         * chartab.h (get_char_id_table): Use S-expression as key of
1573         external database.
1574
1575 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1576
1577         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1578         if an element is not loaded, load the corresponding attributes
1579         from an external database.
1580         (map_over_uint16_byte_table): Likewise.
1581         (map_over_byte_table): Likewise.
1582         (map_char_table): Modify for `map_over_uint8_byte_table',
1583         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1584         element is not loaded, load the corresponding attributes from an
1585         external database.
1586         (Fput_char_attribute): Change initial values to Qunloaded.
1587
1588         * chartab.h (get_char_id_table): If a character attribute is not
1589         loaded and the attribute value is not found in an external
1590         database, store Qunbound as the attribute value.
1591
1592 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1593
1594         * chartab.c (BT_UINT8_unloaded): New macro.
1595         (UINT8_VALUE_P): Accept Qunloaded.
1596         (UINT8_ENCODE): Likewise.
1597         (UINT8_DECODE): Likewise.
1598         (BT_UINT16_unloaded): New macro.
1599         (UINT16_VALUE_P): Accept Qunloaded.
1600         (UINT16_ENCODE): Likewise.
1601         (UINT16_DECODE): Likewise.
1602         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1603         BT_UINT16_unloaded.
1604         (mark_char_table): Mark `ct->name' in UTF-2000.
1605         (char_table_description): Add `name' in UTF-2000.
1606         (Fmake_char_table): Initialize `ct->name'.
1607         (Fcopy_char_table): Copy `ct->name'.
1608         (Fput_char_attribute): Store value into an external database if
1609         HAVE_DATABASE is defined.
1610
1611         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1612         UTF-2000.
1613         (CHAR_TABLE_NAME): New macro in UTF-2000.
1614         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1615         (get_char_id_table): Try to read an external database if Qunloaded
1616         is stored in a table.
1617
1618         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1619         Qunloaded.
1620
1621 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1622
1623         * database.h: Add EXFUN definitions for Fopen_database,
1624         Fput_database, Fget_database and Fclose_database.
1625
1626         * data.c (Qunloaded): New variable in UTF-2000.
1627
1628         * lisp.h (Qunloaded): New variable in UTF-2000.
1629
1630 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * mule-charset.c (put_char_ccs_code_point): Modify for
1633         `decoding_table_remove_char' and `decoding_table_put_char'.
1634         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1635
1636         * char-ucs.h (decoding_table_remove_char): Change arguments to
1637         hide decoding_table vector.
1638         (decoding_table_put_char): Likewise.
1639
1640 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * mule-charset.c (decoding_table_remove_char): Moved to
1643         char-ucs.h.
1644         (decoding_table_put_char): Likewise.
1645
1646         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1647         from mule-charset.c].
1648         (decoding_table_remove_char): New inline function [moved from
1649         mule-charset.c].
1650         (decoding_table_put_char): Likewise.
1651
1652 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1653
1654         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1655         extension.
1656
1657 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1658
1659         * mule-charset.c (decode_builtin_char): Support mother charsets.
1660
1661 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1662
1663         * mule-charset.c (Q94x94x60): New variable.
1664         (charset_code_point): Support conversion `94x94x60'.
1665         (Fmake_charset): Likewise.
1666         (syms_of_mule_charset): Add new symbol `94x94x60'.
1667
1668         * char-ucs.h (CONVERSION_94x94x60): New macro.
1669
1670 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1671
1672         * mule-charset.c (charset_code_point): Unify code about
1673         `code-offset'.
1674
1675 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1676
1677         * mule-charset.c (charset_code_point): Merge code about builtin
1678         characters into code about mother charsets; don't use
1679         `range_charset_code_point'.
1680         (range_charset_code_point): Deleted.
1681
1682 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1683
1684         * mule-charset.c (Qcode_offset): New variable.
1685         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1686         `max-code'; accept new property `code-offset'.
1687         (syms_of_mule_charset): Add new symbol `code-offset'.
1688
1689 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1690
1691         * mule-charset.c (range_charset_code_point): Fixed.
1692
1693 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1694
1695         * mule-charset.c (decode_builtin_char): Change semantics of
1696         code-offset of coded-charset.
1697         (charset_code_point): Likewise.
1698         (range_charset_code_point): Likewise.
1699         (complex_vars_of_mule_charset): Modify for the change.
1700
1701 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1702
1703         * mule-charset.c (Fencode_char): Reverse arguments.
1704
1705         * mule-charset.c (charset_code_point): Fixed.
1706
1707 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1708
1709         * mule-charset.c (Vcharset_mojikyo): Deleted.
1710         (Vcharset_mojikyo_2022_1): Deleted.
1711         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1712         (Qmin_code): New variable in UTF-2000.
1713         (Qmax_code): Likewise.
1714         (Qmother): Likewise.
1715         (Qconversion): Likewise.
1716         (Q94x60): Likewise.
1717         (Qmojikyo): Deleted.
1718         (Qmojikyo_2022_1): Deleted.
1719         (Qmojikyo_pj_{1..22}): Deleted.
1720         (mark_charset): Mark `cs->mother'.
1721         (charset_description): Add description for `mother'.
1722         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1723         new arguments `mother' and `conversion'; use
1724         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1725         (charset_code_point): Moved from char-ucs.h; support `mother'
1726         charset feature.
1727         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1728         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1729         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1730         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1731         allow 2 as the value of `graphic' in UTF-2000; add new properties
1732         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1733         require `final' in UTF-2000; modify for `make_charset'.
1734         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1735         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1736         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1737         (Fencode_char): New function.
1738         (syms_of_mule_charset): Add new builtin function `encode-char' in
1739         UTF-2000; add new symbols `min-code', `max-code', `mother',
1740         `conversion' and `94x60'; delete symbols `mojikyo',
1741         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1742         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1743         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1744         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1745
1746         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1747         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1748
1749         * char-ucs.h (Vcharset_mojikyo): Deleted.
1750         (Vcharset_mojikyo_2022_1): Deleted.
1751         (LEADING_BYTE_MOJIKYO): Deleted.
1752         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1753         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1754         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1755         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1756         add new member `mother'; add new member `conversion'.
1757         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1758         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1759         (CHARSET_MOTHER): New macro.
1760         (CHARSET_CONVERSION): New macro.
1761         (CONVERSION_IDENTICAL): New macro.
1762         (CONVERSION_94x60): New macro.
1763         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1764         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1765         (XCHARSET_MOTHER): New macro.
1766         (XCHARSET_CONVERSION): New macro.
1767         (MIN_CHAR_MOJIKYO): Deleted.
1768         (MAX_CHAR_MOJIKYO): Deleted.
1769         (DECODE_MOJIKYO_2022): Deleted.
1770         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1771         (charset_code_point): Changed to non-inline function.
1772         (encode_char_1): Use `charset_code_point'.
1773         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1774
1775 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1776
1777         * lread.c (read_compiled_function): Fix prototype.
1778         (read_vector): Likewise.
1779
1780 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1781
1782         * lrecord.h (struct lrecord_header): Delete `older'.
1783         (set_lheader_implementation): Delete code for `older'.
1784         (set_lheader_older_implementation): Deleted.
1785         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1786         (OLDER_RECORD_P): Deleted.
1787         (OLDER_RECORD_HEADER_P): Deleted.
1788         (alloc_older_lcrecord): Deleted.
1789         (alloc_older_lcrecord_type): Deleted.
1790
1791         * alloc.c (all_older_lcrecords): Deleted.
1792         (alloc_older_lcrecord): Deleted.
1793         (disksave_object_finalization_1): Delete code for older objects.
1794         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1795         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1796
1797 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1798
1799         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1800         instead of `make_older_vector'.
1801         (put_char_ccs_code_point): Likewise.
1802         (mark_charset): Mark `cs->decoding_table'.
1803         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1804
1805         * lisp.h (make_older_vector): Deleted.
1806         (make_vector_newer): Deleted.
1807
1808         * config.h.in (HAVE_GGC): Deleted.
1809
1810         * alloc.c (make_older_vector): Deleted.
1811         (make_vector_newer_1): Deleted.
1812         (make_vector_newer): Deleted.
1813
1814 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1815
1816         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1817         (Qideograph_daikanwa_2): New variable.
1818         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1819         (complex_vars_of_mule_charset): Add new coded-charset
1820         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1821         `LEADING_BYTE_DAIKANWA'.
1822
1823         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1824         (LEADING_BYTE_DAIKANWA_1): New macro.
1825         (LEADING_BYTE_DAIKANWA_2): New macro.
1826         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1827
1828 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1829
1830         * mule-charset.c (complex_vars_of_mule_charset): Change
1831         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1832         the second revised version.
1833
1834 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1835
1836         * mule-charset.c (Vcharset_ucs_smp): New variable.
1837         (Vcharset_ucs_sip): New variable.
1838         (Qucs_smp): New variable.
1839         (Qucs_sip): New variable.
1840         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1841         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1842         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1843         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1844         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1845         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1846
1847         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1848         (LEADING_BYTE_UCS_SIP): New macro.
1849         (MIN_CHAR_SMP): New macro.
1850         (MAX_CHAR_SMP): New macro.
1851         (MIN_CHAR_SIP): New macro.
1852         (MAX_CHAR_SIP): New macro.
1853
1854 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1855
1856         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1857         utf-2000.
1858
1859 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1860
1861         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1862         value; don't store value into `encoding_table' of `Lisp_Charset'.
1863         (mark_charset): `encoding_table' was deleted.
1864         (charset_description): Likewise.
1865         (make_charset): Likewise.
1866         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1867         `put_char_ccs_code_point'.
1868
1869         * chartab.h (Fput_char_attribute): New EXFUN.
1870
1871         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1872         is unified with normal symbol space.
1873         (Fget_char_attribute): Likewise.
1874         (Fput_char_attribute): Likewise; behavior of
1875         `put_char_ccs_code_point' is changed.
1876
1877         * char-ucs.h: Include "elhash.h".
1878         (Vchar_attribute_hash_table): New external variable.
1879         (struct Lisp_Charset): Delete `encoding_table'.
1880         (CHARSET_ENCODING_TABLE): New implementation; refer
1881         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1882         `Lisp_Charset'.
1883
1884 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1885
1886         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1887         (cs) == 0.
1888
1889 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1890
1891         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1892         `chinese-big5'.
1893
1894 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1895
1896         * chartab.c (uint8_byte_table_description): New constant.
1897         (uint8-byte-table): Use `uint8_byte_table_description'.
1898         (uint16_byte_table_description): New constant.
1899         (uint16-byte-table): Use `uint16_byte_table_description'.
1900
1901 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1902
1903         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1904         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1905
1906 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1907
1908         * mule-charset.c (Vcharset_ucs_ks): New variable.
1909         (Qucs_ks): New variable.
1910         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1911         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1912
1913         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1914
1915 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1916
1917         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1918         (Fdecode_char): Likewise.
1919
1920         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1921         chartab.h.
1922         (Fdefine_char): Modify for Fdecode_char.
1923         (Ffind_char): Likewise.
1924
1925         * mule-charset.c (Fdecode_char): Add new optional argument
1926         `defined-only'.
1927         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1928
1929 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1930
1931         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1932         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1933         (allocate_coding_system): Initialize initial-charsets of
1934         CODESYS_BIG5 in XEmacs UTF-2000.
1935         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1936         CODESYS_BIG5 in XEmacs UTF-2000.
1937         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1938         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1939
1940         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1941         variables.
1942         (Qideograph_hanziku_{1 .. 12}): Likewise.
1943         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1944         .. 12}'.
1945         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1946         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1947         `ideograph-hanziku-{1 .. 12}'.
1948
1949         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1950         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1951         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1952         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1953         (DECODE_DEFINED_CHAR): New inline function.
1954         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1955
1956 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1957
1958         * mule-charset.c (Vcharset_china3_jef): Renamed from
1959         `Vcharset_japanese_jef_china3'.
1960         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1961         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1962         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1963         (syms_of_mule_charset): Rename `china3-jef' from
1964         `japanese-jef-china3'.
1965         (complex_vars_of_mule_charset): Likewise; rename
1966         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1967
1968         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1969         `LEADING_BYTE_JEF_CHINA3'.
1970         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1971         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1972
1973 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1974
1975         * mule-charset.c (encode_builtin_char_1): Comment out special code
1976         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1977
1978         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1979         (MAX_CHAR_MOJIKYO_0): Comment out.
1980         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1981         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1982         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1983         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1984
1985 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1986
1987         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1988         (Qideograph_cbeta): New variable.
1989         (encode_builtin_char_1): Comment out special code for
1990         coded-charset `mojikyo' and `japanese-jef-china3'.
1991         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1992         (complex_vars_of_mule_charset): Add new coded-charset
1993         `ideograph-cbeta'.
1994
1995         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1996         (MIN_CHAR_CBETA): New macro.
1997         (MAX_CHAR_CBETA): New macro.
1998
1999 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2000
2001         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2002         (LEADING_BYTE_JEF_CHINA3): New macro.
2003         (MIN_CHAR_JEF_CHINA3): New macro.
2004         (MAX_CHAR_JEF_CHINA3): Likewise.
2005         (DECODE_CHAR): Fixed.
2006
2007 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2008
2009         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2010         (Qjapanese_jef_china3): New variable.
2011         (encode_builtin_char_1): Support `japanese-jef-china3'.
2012         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2013         (complex_vars_of_mule_charset): Add new coded-charset
2014         `japanese-jef-china3'.
2015
2016 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2017
2018         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2019         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2020         94^4, 96^3, 96^4, 128^n and 256^n set.
2021         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2022         (map_char_table): Likewise.
2023
2024 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2025
2026         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2027         UTF-2000.
2028
2029 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2030
2031         * chartab.h (get_char_id_table): New inline function.
2032
2033         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2034         function.
2035
2036 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2037
2038         * chartab.h (decode_char_table_range): New prototype in XEmacs
2039         UTF-2000.
2040         (put_char_id_table): New inline function in XEmacs UTF-2000.
2041
2042         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2043         function.
2044         (decode_char_table_range): Delete static declaration in XEmacs
2045         UTF-2000.
2046
2047 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2048
2049         * chartab.c (put_char_id_table): Use `put_char_table'.
2050
2051 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2052
2053         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2054         (map_over_uint16_byte_table): Likewise.
2055         (map_over_byte_table): Likewise.
2056         (map_char_table): Modify for `map_over_uint8_byte_table',
2057         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2058         UTF-2000.
2059
2060 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2061
2062         * chartab.c (struct map_char_table_for_charset_arg): New
2063         structure.
2064         (map_char_table_for_charset_fun): New function.
2065         (map_char_table): Use `map_char_table' for encoding_table of
2066         `range->charset'.
2067
2068 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2069
2070         * chartab.c (map_char_table): Check a character is found in
2071         range->charset instead of non default value is defined in
2072         char-table when range is CHARTAB_RANGE_ROW.
2073
2074 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2075
2076         * chartab.c (map_char_id_table): Deleted.
2077         (Fmap_char_attribute): Use `map_char_table' instead of
2078         `map_char_id_table'.
2079
2080 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2081
2082         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2083         UTF-2000.
2084         (update_syntax_table): Deleted in XEmacs UTF-2000.
2085
2086         * syntax.c (find_defun_start): Use `syntax_table' instead of
2087         `mirror_syntax_table' in XEmacs UTF-2000.
2088         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2089         UTF-2000.
2090         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2091         XEmacs UTF-2000.
2092         (Fmatching_paren): Likewise.
2093         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2094         in XEmacs UTF-2000.
2095         (find_start_of_comment): Likewise.
2096         (find_end_of_comment): Likewise.
2097         (Fforward_comment): Likewise.
2098         (scan_lists): Likewise.
2099         (char_quoted): Likewise.
2100         (Fbackward_prefix_chars): Likewise.
2101         (scan_sexps_forward): Likewise.
2102         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2103         (update_syntax_table): Likewise.
2104
2105         * search.c (skip_chars): Use `syntax_table' instead of
2106         `mirror_syntax_table' in XEmacs UTF-2000.
2107         (wordify): Likewise.
2108         (Freplace_match): Likewise.
2109
2110         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2111         `mirror_syntax_table' in XEmacs UTF-2000.
2112         (WORDCHAR_P_UNSAFE): Likewise.
2113         (re_match_2_internal): Likewise.
2114
2115         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2116         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2117
2118         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2119         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2120
2121         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2122         XEmacs UTF-2000.
2123
2124         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2125         UTF-2000.
2126         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2127         (char_table_description): Delete `mirror_table' in XEmacs
2128         UTF-2000.
2129         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2130         UTF-2000.
2131         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2132         (Fcopy_char_table): Likewise.
2133         (put_char_table): Don't call `update_syntax_table' in XEmacs
2134         UTF-2000.
2135
2136         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2137         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2138         (casify_region_internal): Likewise.
2139
2140         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2141
2142         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2143         `mirror_syntax_table' in XEmacs UTF-2000.
2144
2145         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2146         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2147         (Fexpand_abbrev): Likewise.
2148
2149 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2150
2151         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2152
2153 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2154
2155         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2156         (map_over_uint16_byte_table): Likewise.
2157         (map_over_byte_table): Likewise.
2158         (get_char_id_table): Refer `cit->default_value'.
2159         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2160         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2161         of character-id ranges.
2162         (mark_char_table): Mark `ct->default_value'.
2163         (char_table_description): Add `default_value'.
2164         (fill_char_table): Use `default_value'.
2165         (decode_char_table_range): Decode `nil' as
2166         `CHARTAB_RANGE_DEFAULT'.
2167         (get_char_id_table): Refer `cit->default_value'.
2168         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2169         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2170         temporary hack; check value of char-table is bound or not.
2171         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2172
2173         * chartab.h (struct Lisp_Char_Table): Add new member
2174         `default_value' in XEmacs UTF-2000.
2175         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2176         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2177         UTF-2000.
2178
2179 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2180
2181         * chartab.h (Lisp_Char_ID_Table): Deleted.
2182
2183         * chartab.c (char_table_description): Fix typo.
2184         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2185         `Lisp_Char_ID_Table'.
2186
2187 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2188
2189         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2190         `CHAR_ID_TABLE_P'.
2191
2192         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2193         `CHAR_ID_TABLE_P'.
2194
2195         * chartab.h (XCHAR_ID_TABLE): Deleted.
2196         (XSETCHAR_ID_TABLE): Deleted.
2197         (CHAR_ID_TABLE_P): Deleted.
2198
2199         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2200         `CHAR_ID_TABLE_P'.
2201         (Fget_composite_char): Likewise.
2202         (put_char_table): Likewise.
2203         (add_char_attribute_alist_mapper): Fixed.
2204         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2205         `CHAR_ID_TABLE_P'.
2206         (Fget_char_attribute): Likewise.
2207         (Fget_char_attribute): Likewise.
2208         (Fmap_char_attribute): Likewise.
2209
2210         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2211         `CHAR_ID_TABLE_P'.
2212         (encode_char_1): Likewise.
2213
2214 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2215
2216         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2217         `XCHAR_ID_TABLE'.
2218
2219         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2220         instead of `XCHAR_ID_TABLE'.
2221         (remove_char_ccs): Likewise.
2222
2223         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2224         `XCHAR_ID_TABLE'.
2225         (Fget_composite_char): Likewise.
2226         (Fchar_variants): Likewise.
2227         (put_char_table): Likewise.
2228         (add_char_attribute_alist_mapper): Likewise.
2229         (Fchar_attribute_alist): Likewise.
2230         (Fget_char_attribute): Likewise.
2231         (Fput_char_attribute): Likewise.
2232         (Fmap_char_attribute): Likewise.
2233         (Fmap_char_attribute): Likewise.
2234
2235         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2236         `XCHAR_ID_TABLE'.
2237         (encode_char_1): Likewise.
2238
2239 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2240
2241         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2242         `Lisp_Char_ID_Table'.
2243         (mark_char_id_table): Deleted.
2244         (print_char_id_table): Likewise.
2245         (char_id_table_equal): Likewise.
2246         (char_id_table_hash): Likewise.
2247         (char_id_table_description): Likewise.
2248         (char_id_table): Likewise.
2249         (make_char_id_table): Use `Fmake_char_table' and
2250         `fill_char_table'.
2251         (get_char_id_table): Use `Lisp_Char_Table' instead of
2252         `Lisp_Char_ID_Table'.
2253         (put_char_id_table): Likewise.
2254         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2255         `XCHAR_ID_TABLE'.
2256         (Fremove_char_attribute): Likewise.
2257         (syms_of_chartab): Don't define type `char-id-table'.
2258
2259         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2260         (char_id_table): Likewise.
2261         (GC_CHAR_ID_TABLE_P): Likewise.
2262         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2263         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2264         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2265         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2266         (get_char_id_table): Use `Lisp_Char_Table' instead of
2267         `Lisp_Char_ID_Table'.
2268         (put_char_id_table_0): Likewise.
2269         (put_char_id_table): Likewise.
2270
2271 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2272
2273         * chartab.h: Lisp_Byte_Table related codes are moved from
2274         chartab.h.
2275
2276         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2277
2278 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2279
2280         * chartab.h: Don't include "chartab.h".
2281         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2282         (Lisp_Char_ID_Table): Likewise.
2283         (char_id_table): Likewise.
2284         (XCHAR_ID_TABLE): Likewise.
2285         (XSETCHAR_ID_TABLE): Likewise.
2286         (CHAR_ID_TABLE_P): Likewise.
2287         (GC_CHAR_ID_TABLE_P): Likewise.
2288         (get_char_id_table): Likewise.
2289
2290         * char-ucs.h: Include "chartab.h".
2291         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2292         (Lisp_Char_ID_Table): Likewise.
2293         (char_id_table): Likewise.
2294         (XCHAR_ID_TABLE): Likewise.
2295         (XSETCHAR_ID_TABLE): Likewise.
2296         (CHAR_ID_TABLE_P): Likewise.
2297         (GC_CHAR_ID_TABLE_P): Likewise.
2298         (get_char_id_table): Likewise.
2299
2300 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2301
2302         * chartab.c (copy_uint8_byte_table): New function.
2303         (copy_uint16_byte_table): New function.
2304         (copy_byte_table): New function.
2305         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2306         characters to call.
2307         (map_over_uint16_byte_table): Likewise.
2308         (map_over_byte_table): Likewise.
2309         (get_byte_table): Move prototype to chartab.h.
2310         (put_byte_table): Likewise.
2311         (put_char_id_table_0): Moved to chartab.h.
2312         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2313         (char_table_entry_equal): Likewise.
2314         (char_table_entry_hash): Likewise.
2315         (char_table_entry_description): Likewise.
2316         (char_table_entry): Likewise.
2317         (make_char_table_entry): Likewise.
2318         (copy_char_table_entry): Likewise.
2319         (get_non_ascii_char_table_value): Likewise.
2320         (map_over_charset_ascii): Likewise.
2321         (map_over_charset_control_1): Likewise.
2322         (map_over_charset_row): Likewise.
2323         (map_over_other_charset): Likewise.
2324         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2325         (print_char_table): Likewise.
2326         (char_table_equal): Likewise.
2327         (char_table_hash): Likewise.
2328         (char_table_description): Likewise.
2329         (fill_char_table): Likewise.
2330         (Fcopy_char_table): Likewise.
2331         (get_char_table): Likewise.
2332         (Fget_range_char_table): Likewise.
2333         (put_char_table): Likewise.
2334         (map_char_table): Likewise.
2335         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2336         UTF-2000.
2337
2338 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2339
2340         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2341         `Vauto_fill_chars' in XEmacs UTF-2000.
2342
2343         * chartab.h (get_byte_table): New prototype [moved from
2344         chartab.c].
2345         (put_byte_table): Likewise [moved from chartab.c].
2346         (put_char_id_table_0): New inline function [moved from chartab.c].
2347         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2348         (Lisp_Char_Table_Entry): Likewise.
2349         (char_table_entry): Likewise.
2350         (XCHAR_TABLE_ENTRY): Likewise.
2351         (XSETCHAR_TABLE_ENTRY): Likewise.
2352         (CHAR_TABLE_ENTRYP): Likewise.
2353         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2354         (NUM_ASCII_CHARS): Likewise.
2355         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2356         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2357
2358 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2359
2360         * chartab.c (get_char_id_table): Change interface.
2361         (put_char_id_table_0): New function.
2362         (put_char_id_table): Change interface; new implementation.
2363         (Fget_composite_char): Modify for interface change of
2364         `get_char_id_table'.
2365         (Fchar_variants): Likewise.
2366         (add_char_attribute_alist_mapper): Likewise.
2367         (Fchar_attribute_alist): Likewise.
2368         (Fget_char_attribute): Likewise.
2369         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2370         as same as character as the first argument like `put-char-table';
2371         modify for interface change of `put_char_id_table'.
2372         (Fremove_char_attribute): Modify for interface change of
2373         `put_char_id_table'.
2374
2375 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2376
2377         * text-coding.c: Sync up with XEmacs 21.2.41.
2378         (COMPOSE_ADD_CHAR): Modify for interface change of
2379         `get_char_id_table'.
2380
2381         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2382         change of `put_char_id_table'.
2383         (remove_char_ccs): Likewise.
2384
2385         * chartab.h (put_char_id_table): Change interface.
2386
2387         * char-ucs.h (get_char_id_table): Change interface.
2388         (charset_code_point): Modify for interface change of
2389         `get_char_id_table'.
2390         (encode_char_1): Likewise.
2391
2392 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2393
2394         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2395         argument `ccs'.
2396         (map_over_uint16_byte_table): Likewise.
2397         (map_over_byte_table): Likewise.
2398         (map_char_id_table): Add new argument `range' like
2399         `map_char_table'.
2400         (Fmap_char_attribute): Add new argument `range' like
2401         `Fmap_char_table'.
2402
2403 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2404
2405         * chartab.c (map_over_uint8_byte_table): Change interface of
2406         mapping function to use struct chartab_range instead of Emchar.
2407         (map_over_uint16_byte_table): Likewise.
2408         (map_over_byte_table): Likewise.
2409         (map_char_id_table): Likewise.
2410         (struct slow_map_char_id_table_arg): Deleted.
2411         (slow_map_char_id_table_fun): Deleted.
2412         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2413         function `slow_map_char_table_fun' instead of struct
2414         `slow_map_char_id_table_arg' and function
2415         `slow_map_char_id_table_fun'.
2416
2417 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2418
2419         * mule-charset.c: Move char-it-table related codes to chartab.c.
2420         (Vutf_2000_version): Moved to chartab.c.
2421         (Fdefine_char): Likewise.
2422         (Ffind_char): Likewise.
2423         (syms_of_mule_charset): Move types `uint8-byte-table',
2424         `uint16-byte-table', `byte-table' and `char-id-table' to
2425         chartab.c; move functions `char_attribute_list,
2426         `find_char_attribute_table, `char_attribute_alist,
2427         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2428         `map_char_attribute, `define_char, `find_char, `char_variants and
2429         `get_composite_char to chartab.c; move symbols `=>ucs',
2430         `->decomposition', `compat', `isolated', `initial', `medial',
2431         `final', `vertical', `noBreak', `fraction', `super', `sub',
2432         `circle', `square', `wide', `narrow', `small' and `font' to
2433         chartab.c.
2434         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2435         setting codes for `Vcharacter_composition_table' and
2436         `Vcharacter_variant_table' to chartab.c.
2437         (complex_vars_of_mule_charset): Move setting code for
2438         `Vchar_attribute_hash_table' to chartab.c.
2439
2440         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2441         (make_char_id_table): New prototype.
2442         (put_char_id_table): Likewise.
2443         (Fget_char_attribute): Likewise.
2444
2445         * chartab.c: Move char-id-table related code from mule-charset.c.
2446         (Vutf_2000_version): Moved from mule-charset.c.
2447
2448         * char-ucs.h (Qucs): New external variable.
2449         (put_char_ccs_code_point): New prototype.
2450         (remove_char_ccs): Likewise.
2451
2452 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2453
2454         * mule-charset.c (Vcharset_ucs_jis): New variable.
2455         (Qucs_jis): Likewise.
2456         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2457         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2458
2459         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2460
2461 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2462
2463         * mule-charset.c (map_over_uint8_byte_table): New function.
2464         (map_over_uint16_byte_table): Likewise.
2465         (map_over_byte_table): Likewise.
2466         (map_char_id_table): Likewise.
2467         (slow_map_char_id_table_fun): Likewise.
2468         (Fmap_char_attribute): Likewise.
2469         (syms_of_mule_charset): Add new function `map-char-attribute'.
2470
2471 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2472
2473         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2474         (syms_of_mule_charset): Add new function `find-char'.
2475
2476 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2477
2478         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2479         XEmacs UTF-2000.
2480         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2481         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2482         XEmacs UTF-2000.
2483         (complex_vars_of_mule_charset): Add new coded-charset
2484         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2485         `ideograph-gt-pj-*'.
2486
2487         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2488
2489 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2490
2491         * mule-charset.c (encode_builtin_char_1): Purge codes about
2492         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2493         {MIN|MAX}_CHAR_HEBREW.
2494         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2495         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2496
2497         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2498         (MAX_CHAR_GREEK): Purged.
2499         (MIN_CHAR_CYRILLIC): Purged.
2500         (MAX_CHAR_CYRILLIC): Purged.
2501         (MIN_CHAR_HEBREW): Commented out.
2502         (MAX_CHAR_HEBREW): Likewise.
2503
2504 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2505
2506         * mule-charset.c (Qto_ucs): New variable.
2507         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2508         (Fdefine_char): Likewise.
2509         (syms_of_mule_charset): Add new symbol `=>ucs'.
2510
2511 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2512
2513         * mule-charset.c (Fdecode_char): Fixed.
2514
2515 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2516
2517         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2518         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2519         "tcvn5712-1".
2520
2521 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (Vcharset_ucs_big5): New variable.
2524         (Qucs_big5): Likewise.
2525         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2526         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2527
2528         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2529
2530 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2531
2532         * mule-charset.c (decode_builtin_char): Check Big5 code range
2533         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2534
2535 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2536
2537         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2538         (Qchinese_gb12345): Likewise.
2539         (Fdecode_builtin_char): Fixed.
2540         (syms_of_mule_charset): Add `chinese-gb12345'.
2541         (complex_vars_of_mule_charset): Add coded-charset
2542         `chinese-gb12345'.
2543
2544         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2545         (LEADING_BYTE_CHINESE_GB12345): New macro.
2546
2547 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2548
2549         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2550         and `latin-viscii-upper' for `latin-viscii'.
2551
2552 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * mule-charset.c (Fdecode_builtin_char): Comment out
2555         regularization code for ISO-IR GR representation.
2556
2557 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2558
2559         * mule-charset.c (decode_builtin_char): New function; renamed from
2560         `make_builtin_char'; return -1 instead of signal.
2561         (Fdecode_builtin_char): Use `decode_builtin_char'.
2562
2563         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2564         `make_builtin_char'.
2565         (DECODE_CHAR): Use `decode_builtin_char' instead of
2566         `make_builtin_char'; use mapping table of `chinese-big5' for
2567         `chinese-big5-{1,2}'.
2568
2569 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2570
2571         * text-coding.c (char_encode_big5): New function.
2572         (char_finish_big5): Likewise.
2573         (reset_encoding_stream): Use `char_encode_big5' and
2574         `char_finish_big5' for CODESYS_BIG5.
2575         (mule_encode): Don't use `encode_coding_big5'.
2576         (encode_coding_big5): Deleted.
2577
2578 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2579
2580         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2581         0x81- in XEmacs UTF-2000.
2582         (detect_coding_big5): Likewise.
2583
2584 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2585
2586         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2587         generate character-id if the CCS property does not have
2588         corresponding predefined character.
2589         (make_builtin_char): Return -1 if corresponding predefined
2590         character is not found.
2591         (Fdecode_char): Return nil if corresponding character is not
2592         found.
2593         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2594         don't map to builtin ucs space.
2595
2596 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2597
2598         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2599         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2600
2601 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2602
2603         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2604         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2605         (Qideograph_gt): Likewise.
2606         (Qideograph_gt_pj_{1..11}): Likewise.
2607         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2608         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2609         `ideograph-gt-pj-11'.
2610         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2611         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2612         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2613
2614         * char-ucs.h (LEADING_BYTE_GT): New macro.
2615         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2616         (MIN_CHAR_GT): Likewise.
2617         (MAX_CHAR_GT): Likewise.
2618
2619 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2620
2621         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2622         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2623
2624         * doprnt.c (unsigned_int_converters): Add `c'.
2625         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2626
2627         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2628         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2629         `MIN_CHAR_MOJIKYO'.
2630         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2631         (MAX_CHAR_MOJIKYO_0): New macro.
2632         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2633
2634 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2635
2636         * mule-charset.c (Fdefine_char): Delete cemented out code.
2637         (encode_builtin_char_1): Modify for new allocation of builtin
2638         Mojikyo characters.
2639
2640         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2641
2642 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2643
2644         * mule-charset.c (Vcharset_ucs_cns): New variable.
2645         (Qucs_cns): New variable.
2646         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2647         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2648
2649 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2650
2651         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2652
2653 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2654
2655         * search.c (search_buffer): Make `charset_base_code' as
2656         character-id >> 6 to eliminate the corresponding last byte in
2657         UTF-8 representation [I'm not sure it is right thing].
2658         (boyer_moore): Likewise.
2659
2660 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2661
2662         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2663         representation in MULE.
2664
2665 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2666
2667         * text-coding.c (Fmake_coding_system): Use
2668         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2669         `EXTERNAL_PROPERTY_LIST_LOOP'.
2670
2671 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2672
2673         * text-coding.c (decode_output_utf8_partial_char): New function.
2674         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2675
2676 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2677
2678         * text-coding.c (decode_coding_utf8): Output original byte
2679         sequence if it is broken; change order of conditions.
2680
2681         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2682         of conditions.
2683
2684         * mb-multibyte.h (BYTE_ASCII_P):
2685         Use bit ops for char-signedness safety.
2686         (BYTE_C0_P): Use bit ops for char-signedness safety.
2687         (BYTE_C1_P): Use bit ops for char-signedness safety.
2688
2689         * character.h: (XCHAR_OR_CHAR_INT):
2690         Always use inline function.
2691         Remove redundant type checking assert() - XINT will abort quite
2692         nicely.
2693
2694 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2695
2696         * text-coding.c: (Fencode_shift_jis_char):
2697         (Fencode_big5_char):
2698         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2699         Replace 0 with '\0' when working with bytes.
2700         Replace initial "(" with "\(" in docstrings.
2701
2702         (Fmake_coding_system):
2703         When type is ccl and value is vector, register it with a proper
2704         symbol.  And checks whether the given ccl program is valid.
2705         (mule_decode): When calling ccl_driver, if src indicates
2706         NULL pointer, set an empty string instead.
2707         (mule_encode): Likewise.
2708
2709         (detect_eol_type):
2710         (detect_coding_sjis):
2711         (decode_coding_sjis):
2712         (detect_coding_big5):
2713         (decode_coding_big5):
2714         (detect_coding_ucs4):
2715         (decode_coding_ucs4):
2716         (detect_coding_utf8):
2717         (decode_coding_utf8):
2718         (detect_coding_iso2022):
2719         (decode_coding_iso2022):
2720         (decode_coding_no_conversion):
2721         (mule_decode):
2722         Make all detecting and decoding functions take an Extbyte * arg.
2723         (text_encode_generic):
2724         (encode_coding_big5):
2725         (encode_coding_no_conversion):
2726         (mule_encode):
2727         Make all encoding functions take a Bufbyte * arg.
2728         Use size_t instead of unsigned int for memory sizes.
2729         Only cast to unsigned char whenever dereferencing Extbyte *.
2730
2731         (struct lrecord_description fcd_description_1): Use countof.
2732         (complex_vars_of_file_coding):
2733         Use countof instead of sizeof.
2734         Use CHECK_NATNUM instead of CHECK_INT.
2735
2736 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2737
2738         * mule-charset.c (Fget_char_attribute): Add new optional argument
2739         `default-value'.
2740         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2741         (remove_char_ccs): Likewise.
2742
2743 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2744
2745         * text-coding.c (char_encode_shift_jis): New implementation in
2746         UTF-2000.
2747         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2748         ...)'.
2749
2750         * mule-charset.c (Vcharset_chinese_big5): New variable in
2751         UTF-2000.
2752         (Qchinese_big5): New variable in UTF-2000.
2753         (BIG5_SAME_ROW): New macro in UTF-2000.
2754         (make_builtin_char): Use builtin characters of
2755         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2756         characters of `Vcharset_chinese_big5'.
2757         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2758         (complex_vars_of_mule_charset): Add new coded-charset
2759         `chinese-big5' in UTF-2000.
2760
2761         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2762         (Vcharset_chinese_big5): New external variable declaration.
2763         (Vcharset_japanese_jisx0208_1990): Likewise.
2764
2765 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2766
2767         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2768         function.
2769         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2770
2771 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2772
2773         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2774         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2775         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2776         `mojikyo-pj-*'.
2777
2778 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2779
2780         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2781
2782 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2783
2784         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2785         to 0.17.
2786
2787 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2788
2789         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2790         for `CHARSET_BY_ATTRIBUTES'.
2791         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2792         `CHARSET_BY_ATTRIBUTES'.
2793
2794         * text-coding.c (struct decoding_stream): Rename member `CH' to
2795         `CPOS'.
2796         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2797         (decode_coding_sjis): Likewise.
2798         (decode_coding_big5): Likewise.
2799         (decode_coding_ucs4): Likewise.
2800         (decode_coding_utf8): Likewise.
2801         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2802         `CHARSET_BY_ATTRIBUTES'.
2803         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2804         `str->counter'; decode 3, 4 bytes sets.
2805         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2806         sets.
2807         (decode_coding_no_conversion): Use `str->cpos' instead of
2808         `str->ch'.
2809
2810         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2811         (Qmojikyo_2022_1): New variable.
2812         (make_charset): Don't use `CHARSET_TYPE_*'.
2813         (range_charset_code_point): Support coded-charset
2814         `mojikyo-2022-1'.
2815         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2816         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2817         `CHARSET_BY_ATTRIBUTES'.
2818         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2819         `CHARSET_BY_ATTRIBUTES'.
2820         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2821         (complex_vars_of_mule_charset): Add new coded-charset
2822         `mojikyo-2022-1'.
2823
2824         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2825         interface; changed to inline function.
2826
2827         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2828         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2829         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2830         (CHARSET_TYPE_94): Deleted.
2831         (CHARSET_TYPE_94X94): Deleted.
2832         (CHARSET_TYPE_96): Deleted.
2833         (CHARSET_TYPE_96X96): Deleted.
2834         (CHARSET_TYPE_128): Deleted.
2835         (CHARSET_TYPE_128X128): Deleted.
2836         (CHARSET_TYPE_256): Deleted.
2837         (CHARSET_TYPE_256X256): Deleted.
2838         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2839         to inline function.
2840         (DECODE_MOJIKYO_2022): New inline function.
2841         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2842         `Vcharset_mojikyo_2022_1'.
2843
2844 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2845
2846         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2847         instead of `EQ'.
2848         (put_byte_table): Likewise.
2849         (char_id_table_equal): Use `get_byte_table' [new implementation].
2850
2851 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2852
2853         * mule-charset.c: Include <limits.h> in UTF-2000.
2854         (BT_UINT8_MIN): New macro in UTF-2000.
2855         (BT_UINT8_MAX): New macro in UTF-2000.
2856         (BT_UINT8_t): New macro in UTF-2000.
2857         (BT_UINT8_nil): New macro in UTF-2000.
2858         (BT_UINT8_unbound): New macro in UTF-2000.
2859         (INT_UINT8_P): New inline function in UTF-2000.
2860         (UINT8_VALUE_P): New inline function in UTF-2000.
2861         (UINT8_ENCODE): New inline function in UTF-2000.
2862         (UINT8_DECODE): New inline function in UTF-2000.
2863         (mark_uint8_byte_table): New function in UTF-2000.
2864         (print_uint8_byte_table): New function in UTF-2000.
2865         (uint8_byte_table_equal): New function in UTF-2000.
2866         (uint8_byte_table_hash): New function in UTF-2000.
2867         (make_uint8_byte_table): New function in UTF-2000.
2868         (uint8_byte_table_same_value_p): New function in UTF-2000.
2869         (BT_UINT16_MIN): New macro in UTF-2000.
2870         (BT_UINT16_MAX): New macro in UTF-2000.
2871         (BT_UINT16_t): New macro in UTF-2000.
2872         (BT_UINT16_nil): New macro in UTF-2000.
2873         (BT_UINT16_unbound): New macro in UTF-2000.
2874         (INT_UINT16_P): New inline function in UTF-2000.
2875         (UINT16_VALUE_P): New inline function in UTF-2000.
2876         (UINT16_ENCODE): New inline function in UTF-2000.
2877         (UINT16_DECODE): New inline function in UTF-2000.
2878         (UINT8_TO_UINT16): New inline function in UTF-2000.
2879         (mark_uint16_byte_table): New function in UTF-2000.
2880         (print_uint16_byte_table): New function in UTF-2000.
2881         (uint16_byte_table_equal): New function in UTF-2000.
2882         (uint16_byte_table_hash): New function in UTF-2000.
2883         (make_uint16_byte_table): New function in UTF-2000.
2884         (uint16_byte_table_same_value_p): New function in UTF-2000.
2885         (print_byte_table): New function in UTF-2000.
2886         (byte-table): Use `print_byte_table' as printer.
2887         (make_byte_table): Delete second argument `older'.
2888         (byte_table_same_value_p): New function in UTF-2000.
2889         (copy_byte_table): Deleted.
2890         (get_byte_table): New function in UTF-2000.
2891         (put_byte_table): New function in UTF-2000.
2892         (print_char_id_table): New function in UTF-2000.
2893         (char-id-table): Use `print_char_id_table' as printer.
2894         (make_char_id_table): Delete second argument `older'.
2895         (get_char_id_table): Use `get_byte_table [new implementation].
2896         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2897         implementation].
2898         (Ffind_char_attribute_table): New function in UTF-2000.
2899         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2900         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2901         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2902         (syms_of_mule_charset): Add new function
2903         `find-char-attribute-table' in UTF-2000.
2904
2905         * lrecord.h (enum lrecord_type): Add
2906         `lrecord_type_uint16_byte_table' and
2907         `lrecord_type_uint8_byte_table'.
2908
2909         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2910         (Lisp_Uint8_Byte_Table): New type.
2911         (XUINT8_BYTE_TABLE): New macro.
2912         (XSETUINT8_BYTE_TABLE): New macro.
2913         (UINT8_BYTE_TABLE_P): New macro.
2914         (GC_UINT8_BYTE_TABLE_P): New macro.
2915         (struct Lisp_Uint16_Byte_Table): New structure.
2916         (Lisp_Uint16_Byte_Table): New type.
2917         (XUINT16_BYTE_TABLE): New macro.
2918         (XSETUINT16_BYTE_TABLE): New macro.
2919         (UINT16_BYTE_TABLE_P): New macro.
2920         (GC_UINT16_BYTE_TABLE_P): New macro.
2921
2922 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2923
2924         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2925         (Vcharacter_ideographic_strokes_table): Deleted.
2926         (Vcharacter_total_strokes_table): Deleted.
2927         (Vcharacter_morohashi_daikanwa_table): Deleted.
2928         (Vcharacter_decomposition_table): Deleted.
2929         (Qname): Deleted because it is duplicated.
2930         (Qideographic_radical): Deleted.
2931         (Qideographic_strokes): Deleted.
2932         (Qtotal_strokes): Deleted.
2933         (Qmorohashi_daikanwa): Deleted.
2934         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2935         `ideographic-radical', `ideographic-strokes', `total-strokes',
2936         `morohashi-daikanwa' and `->decomposition'.
2937         (Fget_char_attribute): Likewise.
2938         (Fput_char_attribute): Likewise; use `make-vector' instead of
2939         `make_older_vector' for `->decomposition' value.
2940         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2941         `ideograph-daikanwa'.
2942         (syms_of_mule_charset): Delete builtin symbols `name',
2943         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2944         `morohashi-daikanwa'.
2945         (vars_of_mule_charset): Don't setup
2946         `Vcharacter_ideographic_radical_table',
2947         `Vcharacter_ideographic_strokes_table',
2948         `Vcharacter_total_strokes_table',
2949         `Vcharacter_morohashi_daikanwa_table' and
2950         `Vcharacter_decomposition_table'.
2951
2952 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2953
2954         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2955         `make_older_vector', `make_vector_newer_1' and
2956         `make_vector_newer'.
2957
2958         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2959         `make_older_vector' and `make_vector_newer'.
2960
2961         * config.h.in (HAVE_GGC): New macro.
2962
2963 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2964
2965         * mule-charset.c (struct char_attribute_list_closure): New
2966         structure in UTF-2000.
2967         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2968         (Fchar_attribute_list): Likewise.
2969         (Fset_charset_mapping_table): Use `make_vector_newer'.
2970         (Fdecode_builtin_char): New function in UTF-2000.
2971         (syms_of_mule_charset): Add new function `char-attribute-list' and
2972         `decode-builtin-char' in UTF-2000.
2973
2974         * lisp.h (make_vector_newer): New prototype.
2975
2976         * alloc.c (make_vector_newer_1): New function.
2977         (make_vector_newer): New function.
2978
2979 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2980
2981         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2982         50100)'.
2983
2984 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2985
2986         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2987         (Vcharacter_attribute_table): Deleted.
2988         (Vcharacter_name_table): Deleted.
2989         (put_char_attribute): Deleted.
2990         (remove_char_attribute): Deleted.
2991         (struct char_attribute_alist_closure): New structure.
2992         (add_char_attribute_alist_mapper): New function.
2993         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2994         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2995         (Fget_char_attribute): Likewise.
2996         (Fput_char_attribute): Likewise.
2997         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2998         of `remove_char_attribute'.
2999         (Fdefine_char): Return character.
3000         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3001         and `Vcharacter_name_table'.
3002         (complex_vars_of_mule_charset): Likewise
3003         `Vchar_attribute_hash_table'.
3004
3005 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3006
3007         * character.h (CHARC_CHARSET): New macro.
3008         (CHARC_CHARSET_ID): New macro.
3009         (CHARC_CODE_POINT): New macro.
3010         (CHARC_COLUMNS): New macro.
3011         (CHARC_TO_CHAR): New inline function.
3012         (CHARC_EQ): New inline function.
3013         (CHARC_ASCII_EQ): New inline function.
3014         (CHARC_IS_SPACE): New inline function.
3015         (ASCII_TO_CHARC): New inline function.
3016
3017         * char-ucs.h (encode_char_2): Deleted.
3018         (ENCODE_CHAR): Use `encode_char_1' again.
3019         (breakup_char_1): Likewise.
3020         (CHAR_TO_CHARC): New inline function.
3021
3022         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3023
3024 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3025
3026         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3027         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3028         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3029         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3030         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3031         `CHARC_IS_SPACE'.
3032         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3033
3034         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3035         `CHARC_CODE_POINT'.
3036         (x_output_display_block): Use `CHARC_CHARSET' and
3037         `CHARC_ASCII_EQ'.
3038
3039         * redisplay-tty.c (tty_output_display_block): Use
3040         `CHARC_ASCII_EQ'.
3041         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3042
3043         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3044
3045         * insdel.c (find_charsets_in_charc_string): Use
3046         `CHARC_CHARSET_ID'.
3047         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3048         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3049         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3050         (convert_charc_string_into_malloced_string): Likewise.
3051
3052 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3053
3054         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3055         instead of <Emchar_dynarr *> for buf; use
3056         `convert_bufbyte_string_into_charc_dynarr' instead of
3057         `convert_bufbyte_string_into_emchar_dynarr'; use
3058         `find_charsets_in_charc_string' instead of
3059         `find_charsets_in_emchar_string'.
3060
3061         * redisplay.h:
3062         - Include "character.h".
3063         (struct rune): New member `cglyph'; delete member `chr'.
3064
3065         * redisplay.c (redisplay_text_width_charc_string): New function;
3066         delete `redisplay_text_width_emchar_string'.
3067         (rtw_charc_dynarr): New variable; renamed from
3068         `rtw_emchar_dynarr'.
3069         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3070         `rtw_emchar_dynarr'; use
3071         `convert_bufbyte_string_into_charc_dynarr' instead of
3072         `convert_bufbyte_string_into_emchar_dynarr'; use
3073         `redisplay_text_width_charc_string' instead of
3074         `redisplay_text_width_emchar_string'.
3075         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3076         instead of `rtw_emchar_dynarr'; use
3077         `convert_bufbyte_string_into_charc_dynarr' instead of
3078         `convert_bufbyte_string_into_emchar_dynarr'.
3079         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3080         `redisplay_text_width_charc_string' instead of
3081         `redisplay_text_width_emchar_string'.
3082         (create_text_block): Modify for <struct rune> change.
3083         (generate_formatted_string_db): Likewise.
3084         (create_string_text_block): Likewise.
3085         (pixel_to_glyph_translation): Likewise.
3086
3087         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3088         instead of <const Emchar *>.
3089         (x_text_width): Likewise.
3090         (x_output_display_block): Use <Charc_dynarr *> instead
3091         <Emchar_dynarr *>; modify for <structure rune> change.
3092         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3093         *>.
3094
3095         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3096         <const Emchar *>; use `charc_string_displayed_columns' instead of
3097         `emchar_string_displayed_columns'.
3098         (tty_output_display_block): Use <Charc_dynarr *> instead of
3099         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3100         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3101         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3102         `tty_output_emchar_dynarr_dynarr'.
3103         (tty_output_charc_dynarr): New function; delete
3104         `tty_output_charc_dynarr'.
3105
3106         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3107         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3108         <Emchar_dynarr *> for buf; use
3109         `convert_bufbyte_string_into_charc_dynarr' instead of
3110         `convert_bufbyte_string_into_emchar_dynarr'.
3111
3112         * frame.c (title_string_charc_dynarr): New variable; renamed from
3113         `title_string_emchar_dynarr'.
3114         (generate_title_string): Use `title_string_charc_dynarr' instead
3115         of `title_string_emchar_dynarr'; use
3116         `convert_charc_string_into_malloced_string' instead of
3117         `convert_emchar_string_into_malloced_string'.
3118         (init_frame): Use `title_string_charc_dynarr' instead of
3119         `title_string_emchar_dynarr'.
3120
3121         * console.h:
3122         - Include "character.h".
3123         (struct console_methods): Use <const Charc *> instead of <const
3124         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3125         <Emchar_dynarr *> in output_string_method.
3126
3127         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3128         <Emchar_dynarr *>.
3129
3130         * console-stream.c (stream_text_width): Use <const Charc *>
3131         instead of <const Emchar *>.
3132
3133         * character.h (Charc_dynarr): New type.
3134
3135         * char-ucs.h (structure Charc): New structure; define new type
3136         `Charc'.
3137
3138         * char-lb.h (DECODE_CHAR): New inline function.
3139         (encode_char_1): New inline function.
3140         (ENCODE_CHAR): New macro.
3141         (structure Charc): New structure; define new type `Charc'.
3142
3143         * char-1byte.h (Vcharset_control_1): New macro.
3144         (Vcharset_latin_iso8859_1): New macro.
3145         (DECODE_CHAR): New inline function.
3146         (encode_char_1): New inline function.
3147         (ENCODE_CHAR): New macro.
3148         (structure Charc): New structure; define new type `Charc'.
3149
3150         * insdel.c (find_charsets_in_charc_string): New function; delete
3151         `find_charsets_in_emchar_string'.
3152         (charc_string_displayed_columns): New function; delete
3153         `emchar_string_displayed_columns'.
3154         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3155         `convert_bufbyte_string_into_emchar_dynarr'.
3156         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3157         `convert_charc_string_into_bufbyte_dynarr'.
3158         (convert_charc_string_into_malloced_string): New function; delete
3159         `convert_charc_string_into_malloced_string'.
3160
3161         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3162         `find_charsets_in_emchar_string'.
3163         (charc_string_displayed_columns): New prototype; delete
3164         `emchar_string_displayed_columns'.
3165         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3166         `convert_charc_string_into_bufbyte_dynarr'.
3167         (convert_charc_string_into_malloced_string): New prototype; delete
3168         `convert_charc_string_into_malloced_string'.
3169
3170 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3171
3172         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3173
3174 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3175
3176         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3177
3178         * char-ucs.h: Use <short> for <Charset_ID>.
3179
3180         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3181         <Charset_ID>.
3182
3183 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3184
3185         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3186         to 0.16.
3187
3188 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3189
3190         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3191         variable.
3192         (Qmorohashi_daikanwa): New variable.
3193         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3194         for `morohashi-daikanwa' attribute.
3195         (Fget_char_attribute): Likewise.
3196         (Fput_char_attribute): Likewise.
3197         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3198         has the same value of `ideograph-daikanwa'.
3199         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3200         (vars_of_mule_charset): Setup
3201         `Vcharacter_morohashi_daikanwa_table'.
3202
3203 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3204
3205         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3206         attributes.
3207         (add_charset_to_list_mapper): Add `key' instead of
3208         `XCHARSET_NAME (value)' to return aliases.
3209
3210 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3211
3212         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3213         variable.
3214         (Vcharacter_ideographic_strokes_table): New variable.
3215         (Qideographic_radical): New variable.
3216         (Qideographic_strokes): New variable.
3217         (Fchar_attribute_alist): Use
3218         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3219         attribute; use `Vcharacter_ideographic_strokes_table' for
3220         `ideographic-strokes' attribute.
3221         (Fget_char_attribute): Likewise.
3222         (Fput_char_attribute): Likewise.
3223         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3224         `ideographic-strokes'.
3225         (vars_of_mule_charset): Setup
3226         `Vcharacter_ideographic_radical_table' and
3227         `Vcharacter_ideographic_strokes_table'.
3228
3229 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3230
3231         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3232         (Qtotal_strokes): New variable.
3233         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3234         `total-strokes' attribute.
3235         (Fget_char_attribute): Likewise.
3236         (Fput_char_attribute): Likewise.
3237         (syms_of_mule_charset): Add new symbol `total-strokes'.
3238         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3239
3240 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3241
3242         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3243         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3244         are found.
3245         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3246         `->decomposition' attribute.
3247         (Fput_char_attribute): Likewise.
3248         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3249
3250 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3251
3252         * mule-charset.c (decoding_table_check_elements): New function.
3253         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3254
3255 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3256
3257         * mule-charset.c (Fset_charset_mapping_table): Use
3258         `put_char_ccs_code_point'.
3259
3260 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3261
3262         * mule-charset.c (decoding_table_put_char): New inline function.
3263         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3264
3265 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3266
3267         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3268         (XCHARSET_BYTE_SIZE): New macro.
3269         (decoding_table_remove_char): New inline function.
3270         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3271         `decoding_table_remove_char'.
3272         (remove_char_ccs): Use `decoding_table_remove_char'.
3273         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3274
3275 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3276
3277         * mule-charset.c (Vcharacter_name_table): New variable.
3278         (Qname): New variable.
3279         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3280         attribute.
3281         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3282         `Vcharacter_name_table' for `name' attribute.
3283         (Fremove_char_attribute): Use function `remove_char_ccs'.
3284         (put_char_ccs_code_point): New function.
3285         (remove_char_ccs): New function.
3286         (syms_of_mule_charset): Add new symbol `name'.
3287         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3288
3289 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3290
3291         * mule-charset.c (make_byte_table): Add new argument `older'.
3292         (make_char_id_table): Likewise.
3293         (copy_char_id_table): Comment out because it is not used.
3294         (put_char_id_table): Modify for `make_byte_table'.
3295         (Fput_char_attribute): Make encoding_table as older object;
3296         inherit older bit of `Vcharacter_composition_table'.
3297         (mark_charset): Don't mark `cs->encoding_table'.
3298         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3299         normal object; make `Vcharacter_composition_table' as an older
3300         object; delete staticpro for `Vcharacter_composition_table'; make
3301         `Vcharacter_variant_table' as a normal object.
3302
3303         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3304         (mark_object): Don't check older object in UTF-2000.
3305
3306         * lrecord.h (struct lrecord_header): Add new member `older' in
3307         UTF-2000.
3308         (set_lheader_implementation): Setup `SLI_header->older' in
3309         UTF-2000.
3310         (set_lheader_older_implementation): New macro in UTF-2000.
3311         (OLDER_RECORD_P): New macro in UTF-2000.
3312         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3313         (alloc_older_lcrecord): New prototype in UTF-2000.
3314         (alloc_older_lcrecord_type): New macro in UTF-2000.
3315
3316 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3317
3318         * mule-charset.c (byte_table_description): Use
3319         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3320         (char_id_table_description): Delete bogus `, 1'.
3321         (Fget_char_attribute): Refer encoding_table of each coded-charset
3322         to get value of coded-charset attribute of a character.
3323         (Fput_char_attribute): Use `make_older_vector' instead of
3324         `make_vector'; use encoding_table of each coded-charset to store
3325         value of coded-charset attribute of a character.
3326         (Fremove_char_attribute): Use encoding_table of each coded-charset
3327         to store value of coded-charset attribute of a character.
3328         (mark_charset): Mark `cs->encoding_table'; don't mark
3329         `cs->decoding_table'.
3330         (charset_description): Add description of new member
3331         `encoding_table'.
3332         (make_charset): Initialize `encoding_table'.
3333
3334         * char-ucs.h (struct Lisp_Charset): Add new member
3335         `encoding_table'.
3336         (CHARSET_ENCODING_TABLE): New macro.
3337         (XCHARSET_ENCODING_TABLE): New macro.
3338         (charset_code_point): New implementation.
3339         (encode_char_1): Likewise.
3340
3341         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3342         (disksave_object_finalization_1): Call finalizers of
3343         `all_older_lcrecords' in UTF-2000.
3344         (make_older_vector): New function in UTF-2000.
3345         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3346         UTF-2000.
3347
3348         * lisp.h (make_older_vector): New prototype in UTF-2000.
3349
3350 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3351
3352         * lrecord.h (enum lrecord_type): Rename
3353         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3354
3355         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3356         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3357         `get_char_code_table'.
3358
3359         * mule-charset.c (mark_char_id_table): Renamed from
3360         `mark_char_code_table'.
3361         (char_id_table_equal): Renamed from `char_code_table_equal'.
3362         (char_id_table_hash): Renamed from `char_code_table_hash'.
3363         (make_char_id_table): Renamed from `make_char_code_table'.
3364         (copy_char_id_table): Renamed from `copy_char_code_table'.
3365         (get_char_id_table): Renamed from `get_char_code_table'.
3366         (put_char_id_table): Renamed from `put_char_code_table'.
3367         (to_char_id): Renamed from `to_char_code'.
3368
3369         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3370         `Lisp_Char_Code_Table'.
3371         (char_id_table): Renamed from `char_code_table'.
3372         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3373         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3374         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3375         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3376         (get_char_id_table): Renamed from `get_char_code_table'.
3377
3378 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3379
3380         * lrecord.h (enum lrecord_type): Rename
3381         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3382
3383         * mule-charset.c (mark_byte_table): Renamed from
3384         `mark_char_byte_table'.
3385         (byte_table_equal): Renamed from `char_byte_table_equal'.
3386         (byte_table_hash): Renamed from `byte_table_hash'.
3387         (make_byte_table): Renamed from `make_byte_table'.
3388         (copy_byte_table): Renamed from `copy_char_byte_table'.
3389
3390         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3391         `Lisp_Char_Byte_Table'.
3392         (byte_table): Renamed from `char_byte_table'.
3393         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3394         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3395         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3396         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3397
3398 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3399
3400         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3401         (dfc_convert_to_internal_format): Likewise.
3402         
3403         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3404         * text-coding.c (Fcoding_system_alias_p): New function.
3405         * text-coding.c (Fcoding_system_aliasee): New function.
3406         * text-coding.c (append_suffix_to_symbol): New function.
3407         * text-coding.c (dangling_coding_system_alias_p): New function.
3408         * text-coding.c (Ffind_coding_system):
3409         * text-coding.c (Fcopy_coding_system):
3410         * text-coding.c (encode_coding_no_conversion):
3411         * text-coding.c (syms_of_file_coding):
3412         * text-coding.c (vars_of_file_coding):
3413         Rewrite coding system alias code.
3414         Allow nested aliases, like symbolic links.
3415         Allow redefinition of coding system aliases.
3416         Prevent existence of dangling coding system aliases.
3417         Eliminate convert_to_external_format.
3418         Eliminate convert_to_internal_format.
3419         
3420         * text-coding.c: Change enum eol_type to eol_type_t.
3421
3422 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3423
3424         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3425         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3426
3427         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3428         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3429
3430 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3431
3432         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3433         `ideograph-daikanwa'.
3434
3435         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3436         (Vcharset_ucs_bmp): Likewise.
3437         (Vcharset_mojikyo): Add new extern variable definition.
3438         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3439         (Vcharset_latin_iso8859_3): Likewise.
3440         (Vcharset_latin_iso8859_4): Likewise.
3441         (Vcharset_latin_iso8859_9): Likewise.
3442         (Vcharset_latin_viscii_lower): Likewise.
3443         (Vcharset_latin_viscii_upper): Likewise.
3444         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3445         `mojikyo' code-point is used to decode.
3446         (encode_char_2): New function [to convert `mojikyo' code-point to
3447         Mojikyo font encoding].
3448         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3449         (breakup_char_1): Likewise.
3450         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3451
3452 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3453
3454         * text-coding.c (Fmake_coding_system): Add document about
3455         `disable-composition' property.
3456
3457 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3458
3459         * text-coding.c (Qdisable_composition): New variable; delete
3460         `Qcomposite'.
3461         (Fmake_coding_system): Add new property `disable-composite';
3462         delete property `composite'.
3463         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3464         instead of `!CODING_SYSTEM_COMPOSITE'.
3465         (syms_of_file_coding): Add new symbol `disable-composition';
3466         delete symbol `composite'.
3467
3468         * file-coding.h (struct Lisp_Coding_System): Add
3469         `disable_composition'; delete `enable_composition'.
3470         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3471         `CODING_SYSTEM_COMPOSITE'.
3472         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3473         `XCODING_SYSTEM_COMPOSITE'.
3474
3475 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3476
3477         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3478         to 0.15.
3479
3480 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3481
3482         * text-coding.c (Qcomposite): New variable.
3483         (Fmake_coding_system): Add new property `composite'.
3484         (struct decoding_stream): Add `combined_char_count',
3485         `combined_chars' and `combining_table' in UTF-2000.
3486         (COMPOSE_FLUSH_CHARS): New macro.
3487         (COMPOSE_ADD_CHAR): New macro.
3488         (reset_decoding_stream): Reset `str->combined_char_count' and
3489         `str->combining_table' in UTF-2000.
3490         (decode_coding_iso2022): Modify for character-decomposition.
3491         (syms_of_file_coding): Add new symbol `composite'.
3492
3493 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3494
3495         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3496         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3497         of `Vcharacter_composition_table' if `->decomposition' property
3498         has only 1 element.
3499         (Qlatin_tcvn5712): New variable.
3500         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3501         (complex_vars_of_mule_charset): Add new coded-charset
3502         `latin-tcvn5712'.
3503
3504         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3505
3506 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3507
3508         * file-coding.h (struct Lisp_Coding_System): Add
3509         `enable_composition'.
3510         (CODING_SYSTEM_COMPOSITE): New macro.
3511         (XCODING_SYSTEM_COMPOSITE): New macro.
3512
3513 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3514
3515         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3516
3517 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3518
3519         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3520         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3521
3522 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3523
3524         * mule-charset.c (Vcharset_mojikyo): New variable.
3525         (Fdefine_char): Don't use coded-charset which does not have
3526         non-builtin character range to allocate character-id.
3527         (Qmojikyo): New variable.
3528         (syms_of_mule_charset): Add new symbol `mojikyo'.
3529         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3530
3531         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3532         (LEADING_BYTE_MOJIKYO): New macro.
3533         (MIN_CHAR_MOJIKYO): New macro.
3534         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3535         (MAX_CHAR_MOJIKYO): New macro.
3536
3537 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3538
3539         * mule-charset.c (remove_char_attribute): Fixed.
3540
3541 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3542
3543         * mule-charset.c (remove_char_attribute): New function.
3544         (Fremove_char_attribute): New function.
3545         (encode_builtin_char_1): Comment out builtin-support for
3546         greek-iso8859-7 and cyrillic-iso8859-5.
3547         (Fdecode_char): Check `code' is an integer.
3548         (syms_of_mule_charset): Add `remove-char-attribute'.
3549         (MIN_CHAR_GREEK): Deleted.
3550         (MAX_CHAR_GREEK): Likewise.
3551         (MIN_CHAR_CYRILLIC): Likewise.
3552         (MAX_CHAR_CYRILLIC): Likewise.
3553         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3554         MAX_CHAR_GREEK for `greek-iso8859-7'.
3555
3556         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3557         (MAX_CHAR_GREEK): Likewise.
3558         (MIN_CHAR_CYRILLIC): Likewise.
3559         (MAX_CHAR_CYRILLIC): Likewise.
3560
3561 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3562
3563         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3564         format is used without `ucs' property.
3565         (Fdecode_char): Fix problem with GR representation.
3566         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3567         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3568
3569 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3570
3571         * mule-charset.c (make_builtin_char): New function.
3572         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3573         (Fset_charset_mapping_table): Modify for new representation of
3574         code-point.
3575         (Fdecode_char): New function.
3576         (syms_of_mule_charset): Add new builtin function `decode-char' in
3577         UTF-2000.
3578
3579         * char-ucs.h (make_builtin_char): New prototype.
3580         (DECODE_CHAR): New inline function.
3581         (MAKE_CHAR): Use `DECODE_CHAR'.
3582
3583 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3584
3585         * text-coding.c (parse_charset_conversion_specs): Use
3586         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3587         `XCHARSET_TYPE'.
3588         (iso2022_designate): Likewise.
3589
3590         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3591         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3592
3593         * mule-charset.c (Vcharset_ucs): New variable.
3594         (print_charset): Change design; use `CHARSET_CHARS' and
3595         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3596         (make_charset): Change signature to specify `chars' and
3597         `dimension' instead of `type'.
3598         (range_charset_code_point): Modify for 256^n-set.
3599         (encode_builtin_char_1): Encode as `ucs' in default.
3600         (Fmake_charset): Modify for `make_charset'.
3601         (Fmake_reverse_direction_charset): Likewise.
3602         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3603         UTF-2000.
3604         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3605         for `make_charset'.
3606
3607         * char-ucs.h (Vcharset_ucs): New variable.
3608         (LEADING_BYTE_UCS): New macro.
3609         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3610         and `chars' to `unsigned short' from `unsigned int'.
3611         (CHARSET_TYPE): Deleted.
3612         (XCHARSET_TYPE): Deleted.
3613
3614 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3615
3616         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3617
3618         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3619         (ENCODE_CHAR): New macro.
3620
3621 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3622
3623         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3624         to 0.14 (Kawachi-Katakami).
3625
3626 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3627
3628         * text-coding.c (char_encode_shift_jis): Modify for
3629         `charset_code_point'.
3630         (char_encode_iso2022): Likewise.
3631
3632         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3633         (integer) instead of list of <Lisp_Object>s (integers) as the
3634         format of code-point of a coded-charset.
3635         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3636         (encode_builtin_char_1): New function; delete
3637         `split_builtin_char'.
3638         (charset_code_point): Return <int> instead of <Lisp_Object>.
3639         (Fsplit_char): Don't use `SPLIT_CHAR'.
3640
3641         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3642         prototype for `split_builtin_char'.
3643         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3644         (charset_code_point): Likewise.
3645         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3646         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3647
3648 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3649
3650         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3651         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3652
3653 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3654
3655         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3656
3657         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3658         (MAX_CHAR_OBS_94x94): Deleted.
3659
3660 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3661
3662         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3663
3664         * char-ucs.h (MAX_CHAR_BMP): New macro.
3665
3666 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3667
3668         * text-coding.c: Sync with r21-2-24.
3669
3670 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3671
3672         * file-coding.c: Modify for UTF-2000.
3673
3674 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3675
3676         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3677         to 0.13 (Takaida).
3678
3679 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3680
3681         * mule-charset.c (split_builtin_char): Delete builtin support for
3682         `katakana-jisx0201'.
3683         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3684         BMP area in builtin representation.
3685
3686         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3687         `Vcharset_katakana_jisx0201'.
3688
3689 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3690
3691         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3692         (Qisolated): New variable.
3693         (Qinitial): New variable.
3694         (Qmedial): New variable.
3695         (Qfinal): New variable.
3696         (Qvertical): New variable.
3697         (Qsmall): New variable.
3698         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3699         `Qvertical' and `Qsmall'.
3700         (Qmojikyo_pj_[1 .. 21]): New variable.
3701         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3702         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3703         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3704         .. 21]'.
3705
3706 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3707
3708         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3709         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3710         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3711
3712 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3713
3714         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3715         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3716         BMP.
3717         (Qjapanese_jisx0208_1990): New variable.
3718         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3719         (complex_vars_of_mule_charset): Add new coded-charset
3720         `japanese-jisx0208-1990'.
3721
3722         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3723         (MIN_CHAR_JIS_X0208_1990): New macro.
3724         (MAX_CHAR_JIS_X0208_1990): New macro.
3725
3726 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3727
3728         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3729         coded-charset is not found.
3730
3731 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3732
3733         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3734         (Fdefine_char): Use `Fmake_char'.
3735
3736 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3737
3738         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3739         (Vcharset_hiragana_jisx0208): Deleted.
3740         (Vcharset_katakana_jisx0208): Deleted.
3741         (Qideograph_daikanwa): New variable.
3742         (Qhiragana_jisx0208): Deleted.
3743         (Qkatakana_jisx0208): Deleted.
3744         (split_builtin_char): Split `ideograph-daikanwa'.
3745         (Fsplit_char): New implementation for UTF-2000.
3746         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3747         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3748         (complex_vars_of_mule_charset): Add new coded-charset
3749         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3750         `katakana-jisx0208'.
3751
3752         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3753         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3754         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3755         (MIN_CHAR_DAIKANWA): New macro.
3756         (MAX_CHAR_DAIKANWA): New macro.
3757
3758 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3759
3760         * data.c (Fstring_to_number): Don't recognize floating point if
3761         base is not 10.
3762
3763 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3764
3765         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3766
3767 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3768
3769         * mule-charset.c (Qsquare): New variable.
3770         (to_char_code): Add `Qsquare'.
3771         (syms_of_mule_charset): Add new symbol `square'.
3772
3773 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3774
3775         * mule-charset.c (Qcircle): New variable.
3776         (to_char_code): Add `Qcircle'.
3777         (syms_of_mule_charset): Add new symbol `circle'.
3778
3779 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3780
3781         * mule-charset.c (Qfont): New variable.
3782         (to_char_code): Add `Qfont'.
3783         (syms_of_mule_charset): Add new symbol `font'.
3784
3785 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3786
3787         * mule-charset.c (Qsub): New variable.
3788         (to_char_code): Add `Qsub'.
3789         (syms_of_mule_charset): Add new symbol `sub'.
3790
3791 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3792
3793         * mule-charset.c (Fput_char_attribute): Convert each element of
3794         VALUE to GL position if ATTRIBUTE is a GR-set,
3795
3796 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3797
3798         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3799         coded-charset is a GR-set.
3800
3801 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3802
3803         * mule-charset.c (Fput_char_attribute): Check each element of
3804         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3805
3806 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3807
3808         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3809         UTF-2000.
3810         (Qethiopic_ucs): New variable in UTF-2000.
3811         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3812         (complex_vars_of_mule_charset): Add new coded-charset
3813         `ethiopic-ucs' in UTF-2000.
3814
3815         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3816         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3817         9)'.
3818         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3819         10)'.
3820         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3821
3822 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3823
3824         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3825         `ascii'.
3826
3827 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3828
3829         * mule-charset.c (Vcharacter_variant_table): New variable.
3830         (Q_ucs): New variable.
3831         (Fchar_variants): New function.
3832         (Fput_char_attribute): Register `->ucs' value to
3833         `Vcharacter_variant_table'.
3834         (syms_of_mule_charset): Add new function `char-variants' and new
3835         symbol `->ucs'.
3836         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3837
3838 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3839
3840         * mule-charset.c (get_char_code_table): Allow negative character
3841         code.
3842         (put_char_code_table): Likewise.
3843         (Vcharacter_composition_table): New variable.
3844         (Q_decomposition): New variable.
3845         (Qwide): New variable.
3846         (Qnarrow): New variable.
3847         (Qcompat): New variable.
3848         (QnoBreak): New variable.
3849         (Qsuper): New variable.
3850         (Qfraction): New variable.
3851         (to_char_code): New function.
3852         (Fget_composite_char): New function.
3853         (Fput_char_attribute): Register `->decomposition' value to
3854         `Vcharacter_composition_table'.
3855         (syms_of_mule_charset): Add new function `get-composite-char', new
3856         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3857         `super' and `fraction'.
3858         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3859
3860 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3861
3862         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3863         character; copy the return value.
3864
3865 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3866
3867         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3868
3869         * mule-charset.c (range_charset_code_point): Must use make_int.
3870         (split_builtin_char): New function.
3871
3872 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3873
3874         * mule-charset.c (char_byte_table): Change name from
3875         "char-code-table" to "char-byte-table".
3876         (mark_char_code_table): New function.
3877         (char_code_table_equal): New function.
3878         (char_code_table_hash): New function.
3879         (char_code_table_description): New constant.
3880         (char_code_table): New type.
3881         (make_char_code_table): New function.
3882         (copy_char_code_table): New function.
3883         (get_char_code_table): Modify for `char_code_table' type.
3884         (put_char_code_table): Likewise.
3885         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3886         (Kashiwara).
3887
3888         * char-ucs.h (char_code_table): New type.
3889         (XCHAR_CODE_TABLE): New macro.
3890         (XSETCHAR_CODE_TABLE): New macro.
3891         (CHAR_CODE_TABLE_P): New macro.
3892         (GC_CHAR_CODE_TABLE_P): New macro.
3893         (struct Lisp_Char_Code_Table): New structure.
3894
3895 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3896
3897         * mule-charset.c (Fmake_charset): Setup byte_offset for
3898         {94|96}^n-set.
3899
3900 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3901
3902         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3903         character.
3904
3905 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3906
3907         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3908         is found.
3909
3910 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3911
3912         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3913         charset, it is regarded as a charset.
3914         (put_char_attribute): New function in UTF-2000.
3915         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3916         charset, mapping-table of the charset is modified.
3917         (Fdefine_char): New function in UTF-2000.
3918         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3919         `Fput_char_attribute'.
3920         (syms_of_mule_charset): Add new function `define-char' and new
3921         symbol `ucs' in UTF-2000.
3922         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3923
3924 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3925
3926         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3927         non-UTF-2000 configuration.
3928
3929 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3930
3931         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3932         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3933
3934         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3935         deleted.
3936         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3937         (Fset_charset_mapping_table): Likewise.
3938
3939         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3940         (CHARSET_ENCODING_TABLE): Delete.
3941         (XCHARSET_ENCODING_TABLE): Delete.
3942         (charset_code_point): New interface.
3943
3944 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3945
3946         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3947         instead of `charset_get_byte1' and `charset_get_byte2'.
3948
3949         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3950         (charset_get_byte2): Deleted.
3951
3952 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3953
3954         * char-ucs.h (SPLIT_CHAR): New inline function.
3955         (breakup_char_1): Use `SPLIT_CHAR'.
3956
3957         * mule-charset.c (range_charset_code_point): New function.
3958         (charset_code_point): New function.
3959
3960         * char-ucs.h (range_charset_code_point): New interface.
3961         (breakup_char_1): Use `range_charset_code_point'.
3962
3963 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3964
3965         * mule-charset.c (Fmake_charset): Delete unused local variable
3966         `code_offset'.
3967
3968         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3969         (breakup_char_1): Find a charset and code-point in
3970         `Vcharacter_attribute_table'.
3971
3972 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3973
3974         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3975         to 0.10 (Yao).
3976
3977 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3978
3979         * mule-charset.c (Vcharacter_attribute_table): New variable.
3980         (Fchar_attribute_alist): New function.
3981         (Fget_char_attribute): New function.
3982         (Fput_char_attribute): New function.
3983         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3984         too.
3985         (syms_of_mule_charset): Add new function `char-attribute-alist',
3986         `get-char-attribute' and `put-char-attribute'.
3987         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3988
3989 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3990
3991         * mule-charset.c (Fmake_charset): Just use
3992         `get_unallocated_leading_byte'.
3993
3994         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3995         sets; don't use final-byte based number for private sets.
3996
3997 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3998
3999         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4000         integer.
4001
4002 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4003
4004         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4005         to 0.9.
4006
4007 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4008
4009         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4010         of `CHAR_LEADING_BYTE' in UTF-2000.
4011
4012         * insdel.c (find_charsets_in_bufbyte_string): Use
4013         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4014         (find_charsets_in_emchar_string): Likewise.
4015
4016         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4017         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4018
4019         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4020         (CHAR_CHARSET_ID): New macro.
4021
4022 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4023
4024         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4025         charset-id - MIN_LEADING_BYTE.
4026         (put_char_table): Likewise.
4027
4028 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4029
4030         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4031         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4032         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4033         (CHARSET_ID_OFFSET): New macro.
4034         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4035         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4036         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4037         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4038         4).
4039         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4040         5).
4041         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4042         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4043         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4044         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4045         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4046
4047 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4048
4049         * mule-charset.c (next_allocated_leading_byte): New variable in
4050         UTF-2000.
4051         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4052         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4053         (get_unallocated_leading_byte): Simply use
4054         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4055         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4056         UTF-2000.
4057
4058         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4059         (MAX_LEADING_BYTE_PRIVATE): New macro.
4060         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4061         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4062
4063 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4064
4065         * mule-charset.c (Fmake_charset): Allocate final-byte based
4066         charset-id for 94-set, 96-set and 94x94-set.
4067
4068 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4069
4070         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4071         ambiguous `else'.
4072         (Fmake_charset): Likewise.
4073         (complex_vars_of_mule_charset): Modify the font registry of
4074         `ucs-bmp' not to match `Ethiopic-Unicode'.
4075
4076 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4077
4078         * mule-charset.c (complex_vars_of_mule_charset): Add font
4079         registory of `ucs-bmp'.
4080
4081 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4082
4083         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4084         coded-charsets in `default-coded-charset-priority-list' when
4085         breaking up a character.
4086
4087         * mule-charset.c (Vcharset_latin_viscii): New variable.
4088         (Qlatin_viscii): New variable.
4089         (make_charset): Don't use `decoding_table'.
4090         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4091         byte_offset.
4092         (Fset_charset_mapping_table): New implementation.
4093         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4094         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4095         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4096         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4097         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4098         charset `latin_viscii'.
4099
4100         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4101         (CHARSET_TYPE_94X94): Change to 1 from 2.
4102         (CHARSET_TYPE_96): Change to 2 from 1.
4103         (CHARSET_TYPE_128): New macro.
4104         (CHARSET_TYPE_128X128): Change to 5 from 4.
4105         (CHARSET_TYPE_256): New macro.
4106         (CHARSET_TYPE_256X256): Change to 7 from 5.
4107         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4108
4109 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4110
4111         * text-coding.c (char_encode_shift_jis): Refer
4112         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4113         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4114
4115         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4116         (char_byte_table_equal): New function in UTF-2000.
4117         (char_byte_table_hash): New function in UTF-2000.
4118         (char_byte_table_description): New constant in UTF-2000.
4119         (char_byte_table): New type in UTF-2000.
4120         (make_char_byte_table): New function in UTF-2000.
4121         (copy_char_byte_table): New function in UTF-2000.
4122         (make_char_code_table): New macro in UTF-2000.
4123         (get_char_code_table): New function in UTF-2000.
4124         (put_char_code_table): New function in UTF-2000.
4125         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4126         (charset_description): Add setting in UTF-2000.
4127         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4128         `CHARSET_TO_BYTE1_TABLE(cs)'.
4129         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4130         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4131         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4132         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4133         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4134         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4135         `CHARSET_TO_BYTE2_TABLE(cs)'.
4136
4137         * char-ucs.h (char_byte_table): New type.
4138         (XCHAR_BYTE_TABLE): New macro.
4139         (XSETCHAR_BYTE_TABLE): New macro.
4140         (CHAR_BYTE_TABLE_P): New macro.
4141         (GC_CHAR_BYTE_TABLE_P): New macro.
4142         (struct Lisp_Char_Byte_Table): New structure.
4143         (get_char_code_table): New interface.
4144         (Emchar_to_byte_table): Deleted.
4145         (get_byte_from_character_table): Deleted.
4146         (struct Lisp_Charset): Add `encoding_table'; delete
4147         `to_byte1_table' and `to_byte2_table'.
4148         (CHARSET_ENCODING_TABLE): New macro.
4149         (CHARSET_TO_BYTE1_TABLE): Deleted.
4150         (CHARSET_TO_BYTE2_TABLE): Deleted.
4151         (XCHARSET_ENCODING_TABLE): New macro.
4152         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4153         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4154
4155 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4156
4157         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4158         `vietnamese-viscii-*'.
4159
4160 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4161
4162         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4163         (Qvietnamese_viscii_upper): New variable.
4164         (Fdefine_charset_alias): New function.
4165         (syms_of_mule_charset): Add new function `define-charset-alias'.
4166         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4167         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4168         `latin-viscii-*'.
4169
4170 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4171
4172         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4173         (MAX_CHAR_OBS_94x94): New macro.
4174         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4175         for 94x94 sets.
4176
4177         * mule-charset.c (put_byte_from_character_table): Change unit size
4178         from 128 to 256.
4179         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4180         not defined.
4181         (Fmake_reverse_direction_charset): Modify dummy argument of
4182         `make_charset' for non-UTF-2000 environment.
4183
4184 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4185
4186         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4187
4188         * mule-charset.c (destroy_byte_from_character_table): New macro.
4189         (latin_jisx0201_to_ucs): Deleted.
4190         (latin_iso8859_2_to_ucs): Deleted.
4191         (latin_iso8859_3_to_ucs): Deleted.
4192         (latin_iso8859_4_to_ucs): Deleted.
4193         (latin_iso8859_9_to_ucs): Deleted.
4194         (latin_viscii_lower_to_ucs): Deleted.
4195         (latin_viscii_upper_to_ucs): Deleted.
4196         (mark_charset): Mark `cs->decoding_table'.
4197         (Fcharset_mapping_table): Fix DOC-string.
4198         (Fset_charset_mapping_table): New function.
4199         (syms_of_mule_charset): Add nwe function
4200         `set-charset-mapping-table'.
4201         (complex_vars_of_mule_charset): Don't setup and use
4202         `latin_*_to_ucs'.
4203
4204 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4205
4206         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4207         charset.
4208
4209 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4210
4211         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4212         (Vcharset_katakana_jisx0208): New variable.
4213         (Qhiragana_jisx0208): New variable.
4214         (Qkatakana_jisx0208): New variable.
4215         (make_charset): Add new argument `byte_offset'.
4216         (charset_get_byte1): Modify for new coded-charset definition; use
4217         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4218         `XCHARSET_BYTE_OFFSET'.
4219         (Fmake_charset): Modify for `make_charset'.
4220         (Fmake_reverse_direction_charset): Likewise.
4221         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4222         `katakana-jisx0208'.
4223         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4224         `.'  in font registry of charset `katakana-jisx0201',
4225         `latin-jisx0201', `vietnamese-viscii-lower' and
4226         `vietnamese-viscii-upper'; modify DOC-string of charset
4227         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4228         registry of charset `japanese-jisx0208' not to use font for JIS
4229         X0208:1990; add new charset `hiragana-jisx0208' and
4230         `katakana-jisx0208'.
4231
4232         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4233         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4234         (struct Lisp_Charset): Add `byte_offset'.
4235         (CHARSET_BYTE_OFFSET): New macro.
4236         (XCHARSET_UCS_MIN): New macro.
4237         (XCHARSET_UCS_MAX): New macro.
4238         (XCHARSET_CODE_OFFSET): New macro.
4239         (XCHARSET_BYTE_OFFSET): New macro.
4240         (MIN_CHAR_HIRAGANA): New macro.
4241         (MAX_CHAR_HIRAGANA): New macro.
4242         (MIN_CHAR_KATAKANA): New macro.
4243         (MAX_CHAR_KATAKANA): New macro.
4244         (MAKE_CHAR): Modify for new coded-charset definition; use
4245         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4246         `XCHARSET_BYTE_OFFSET'.
4247
4248 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4249
4250         * mule-charset.c (CHAR96): Deleted.
4251         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4252         <Lisp_Object>.
4253         (latin_iso8859_2_to_ucs): Likewise.
4254         (latin_iso8859_3_to_ucs): Likewise.
4255         (latin_iso8859_4_to_ucs): Likewise.
4256         (latin_iso8859_9_to_ucs): Likewise.
4257         (latin_viscii_lower_to_ucs): Likewise.
4258         (latin_viscii_upper_to_ucs): Likewise.
4259         (latin_tcvn5712_to_ucs): Commented out.
4260         (make_charset): Change type of argument `decoding_table' from
4261         <Emchar*> to <Lisp_Object> [vector of characters].
4262         (Fmake_charset): Modify for `make_charset'.
4263         (Fmake_reverse_direction_charset): Likewise.
4264         (Fcharset_mapping_table): New function in UTF-2000.
4265         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4266         UTF-2000.
4267         (complex_vars_of_mule_charset): Modify for type change of
4268         `*_to_ucs'; modify for `make_charset'.
4269
4270         * char-ucs.h (struct Lisp_Charset): Change type of
4271         `decoding_table' from <Emchar*> to <Lisp_Object>.
4272         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4273
4274 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4275
4276         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4277         error with non-UTF-2000-Mule.
4278
4279 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4280
4281         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4282         in lisp again].
4283         (Vcharset_chinese_cns11643_4): Likewise.
4284         (Vcharset_chinese_cns11643_5): Likewise.
4285         (Vcharset_chinese_cns11643_6): Likewise.
4286         (Vcharset_chinese_cns11643_7): Likewise.
4287         (Qchinese_cns11643_3): Likewise.
4288         (Qchinese_cns11643_4): Likewise.
4289         (Qchinese_cns11643_5): Likewise.
4290         (Qchinese_cns11643_6): Likewise.
4291         (Qchinese_cns11643_7): Likewise.
4292         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4293         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4294         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4295         (complex_vars_of_mule_charset): Likewise.
4296
4297 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4298
4299         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4300         96-set.
4301         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4302         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4303
4304 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4305
4306         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4307         0xFF60.
4308         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4309         (breakup_char_1): Likewise.
4310
4311         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4312         one of them includes the specified character.
4313
4314 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4315
4316         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4317
4318 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4319
4320         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4321
4322 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4323
4324         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4325         definition for non-UTF-2000 Mule.
4326         (latin_iso8859_3_to_ucs): Likewise.
4327         (latin_iso8859_4_to_ucs): Likewise.
4328         (latin_iso8859_9_to_ucs): Likewise.
4329         (latin_jisx0201_to_ucs): Likewise.
4330         (MIN_CHAR_THAI): Likewise.
4331         (MAX_CHAR_THAI): Likewise.
4332         (MIN_CHAR_GREEK): Likewise.
4333         (MAX_CHAR_GREEK): Likewise.
4334         (MIN_CHAR_HEBREW): Likewise.
4335         (MAX_CHAR_HEBREW): Likewise.
4336         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4337         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4338         (MIN_CHAR_CYRILLIC): Likewise.
4339         (MAX_CHAR_CYRILLIC): Likewise.
4340
4341 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4342
4343         * char-ucs.h (breakup_char_1): Use
4344         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4345         thai-tis620 and katakana-jisx0201 area.
4346
4347 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4348
4349         * char-ucs.h (breakup_char_1): Use
4350         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4351         area.
4352
4353         * text-coding.c (reset_encoding_stream): Fixed.
4354         (char_encode_ucs4): Delete `& 255'.
4355
4356         * char-ucs.h (breakup_char_1): Use
4357         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4358
4359 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4360
4361         * file-coding.c (Fmake_coding_system): Don't set up
4362         `codesys->fixed.size'.
4363         (encode_coding_no_conversion): Don't refer
4364         `str->codesys->fixed.size'.
4365
4366 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4367
4368         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4369         (latin_a_char_to_byte1): Deleted.
4370         (latin_a_char_to_byte2): Deleted.
4371
4372 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4373
4374         * mule-charset.c (make_charset): Add new argument `ucs_min',
4375         `ucs_max' and `code_offset'.
4376         (charset_get_byte1): New implementation [delete specific charset
4377         depended implementations].
4378         (Fmake_charset): Modify for `make_charset'.
4379         (Fmake_reverse_direction_charset): Likewise.
4380         (complex_vars_of_mule_charset): Likewise.
4381
4382         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4383         `code_offset'.
4384         (CHARSET_UCS_MIN): New macro.
4385         (CHARSET_UCS_MAX): New macro.
4386         (CHARSET_CODE_OFFSET): New macro.
4387         (MAKE_CHAR): Delete charset depended definitions [except
4388         katakana-jisx0201].
4389
4390 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4391
4392         * char-ucs.h (breakup_char_1): Use
4393         `Vdefault_coded_charset_priority_list' for C0-Controls,
4394         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4395
4396 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4397
4398         * char-ucs.h (charset_get_byte1): New function.
4399         (XCHARSET_GET_BYTE1): Deleted.
4400         (charset_get_byte2): New function.
4401         (XCHARSET_GET_BYTE2): Deleted.
4402         (Vdefault_coded_charset_priority_list): New external variable.
4403         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4404         `Vdefault_preferred_coded_charset_list'.
4405
4406         * mule-charset.c (charset_get_byte1): New function.
4407         (charset_get_byte2): New function.
4408         (Vdefault_coded_charset_priority_list): New variable.
4409         (vars_of_mule_charset): Add new variable
4410         `default-coded-charset-priority-list'.
4411
4412 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4413
4414         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4415         (XCHARSET_GET_BYTE2): New inline function.
4416         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4417         `XCHARSET_GET_BYTE2'.
4418
4419 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4420
4421         * mule-charset.c (make_charset): Initialize
4422         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4423         NULL if table is not defined.
4424
4425 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4426
4427         * text-coding.c (char_encode_shift_jis): Use
4428         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4429         `ucs_to_latin_jisx0201'.
4430
4431         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4432         (ucs_to_latin_iso8859_2): Deleted.
4433         (ucs_to_latin_iso8859_3): Deleted.
4434         (ucs_to_latin_iso8859_4): Deleted.
4435         (ucs_to_latin_iso8859_9): Deleted.
4436         (ucs_to_latin_viscii_lower): Deleted.
4437         (ucs_to_latin_viscii_upper): Deleted.
4438         (ucs_to_latin_tcvn5712): Deleted.
4439         (make_charset): Add new argument `decoding_table'; set up
4440         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4441         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4442         `decoding_table' is defined in UTF-2000.
4443         (Fmake_charset): Modify for `make_charset'.
4444         (Fmake_reverse_direction_charset): Likewise.
4445         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4446         and `GENERATE_96_SET'.
4447
4448         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4449         (ucs_to_latin_jisx0201): Deleted.
4450         (latin_iso8859_2_to_ucs): Deleted.
4451         (ucs_to_latin_iso8859_2): Deleted.
4452         (latin_iso8859_3_to_ucs): Deleted.
4453         (ucs_to_latin_iso8859_3): Deleted.
4454         (latin_iso8859_4_to_ucs): Deleted.
4455         (ucs_to_latin_iso8859_4): Deleted.
4456         (latin_iso8859_9_to_ucs): Deleted.
4457         (ucs_to_latin_iso8859_9): Deleted.
4458         (latin_viscii_lower_to_ucs): Deleted.
4459         (ucs_to_latin_viscii_lower): Deleted.
4460         (latin_viscii_upper_to_ucs): Deleted.
4461         (ucs_to_latin_viscii_upper): Deleted.
4462         (struct Lisp_Charset): Renamed `encoding_table' to
4463         `to_byte1_table'; add `to_byte2_table'.
4464         (CHARSET_DECODING_TABLE): New macro.
4465         (CHARSET_TO_BYTE1_TABLE): New macro.
4466         (CHARSET_TO_BYTE2_TABLE): New macro.
4467         (XCHARSET_DECODING_TABLE): New macro.
4468         (XCHARSET_TO_BYTE1_TABLE): New macro.
4469         (XCHARSET_TO_BYTE2_TABLE): New macro.
4470         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4471         tables.
4472         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4473         don't use `ucs_to_*' tables.
4474
4475 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4476
4477         * text-coding.c (Fmake_coding_system): Don't set up
4478         `codesys->fixed.size'.
4479         (encode_coding_no_conversion): Use `if' instead of `switch'.
4480
4481         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4482
4483 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4484
4485         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4486         (Fmake_charset): Modify for `make_charset'.
4487         (Fmake_reverse_direction_charset): Likewise.
4488         (complex_vars_of_mule_charset): Likewise.
4489
4490 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4491
4492         * text-coding.c (char_encode_shift_jis): Use table
4493         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4494
4495 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4496
4497         * text-coding.c (text_encode_generic): Use `if' instead of
4498         `switch'.
4499         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4500         decode JIS-Latin.
4501
4502 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4503
4504         * text-coding.c (encode_coding_sjis): Deleted.
4505         (char_encode_shift_jis): New function.
4506         (char_finish_shift_jis): New function.
4507         (reset_encoding_stream): Set up `encode_char' and `finish' for
4508         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4509         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4510         (char_encode_utf8): Treat `eol_type'.
4511
4512 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4513
4514         * file-coding.c (decode_coding_iso2022): Use
4515         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4516
4517 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4518
4519         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4520         to 0.7 (Hirano).
4521
4522 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4523
4524         * char-lb.h (CHAR_COLUMNS): New macro.
4525
4526 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4527
4528         * text-coding.c (char_encode_ucs4): New function.
4529         (char_finish_ucs4): New function.
4530         (encode_coding_ucs4): Deleted.
4531         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4532         (text_encode_generic): Delete local variable `charset' and `half'.
4533         (ucs_to_mule_table): Deleted.
4534         (mule_to_ucs_table): Deleted.
4535         (Fset_ucs_char): Deleted.
4536         (ucs_to_char): Deleted.
4537         (Fucs_char): Deleted.
4538         (Fset_char_ucs): Deleted.
4539         (Fchar_ucs): Deleted.
4540         (decode_ucs4): Deleted.
4541         (mule_char_to_ucs4): Deleted.
4542         (encode_ucs4): Deleted.
4543         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4544         (decode_coding_utf8): Likewise.
4545         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4546         (char_encode_iso2022): Fixed.
4547         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4548         `Fset_char_ucs' and `Fchar_ucs'.
4549         (complex_vars_of_file_coding): Don't initialize
4550         `ucs_to_mule_table'.
4551
4552         * objects-tty.c (tty_initialize_font_instance): Don't use
4553         `XCHARSET_COLUMNS'.
4554
4555         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4556         UTF-2000.
4557
4558         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4559         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4560
4561         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4562         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4563         (emchar_string_displayed_columns): Likewise.
4564
4565         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4566         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4567         (string_column_at_point): Likewise.
4568         (Fmove_to_column): Likewise.
4569
4570         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4571         `encoding_table' and `decoding_table'.
4572         (CHARSET_REP_BYTES): Deleted.
4573         (XCHARSET_REP_BYTES): Deleted.
4574         (XCHARSET_COLUMNS): Deleted.
4575         (CHAR_COLUMNS): New macro.
4576         (lookup_composite_char): Deleted unconditionally.
4577         (composite_char_string): Likewise.
4578
4579 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4580
4581         * char-ucs.h (Emchar_to_byte_table): New type.
4582         (get_byte_from_character_table): New function interface.
4583         (Vcharset_latin_jisx0201): New variable.
4584         (latin_jisx0201_to_ucs): New variable.
4585         (ucs_to_latin_jisx0201): New variable.
4586         (Vcharset_latin_iso8859_2): New variable.
4587         (latin_iso8859_2_to_ucs): New variable.
4588         (ucs_to_latin_iso8859_2): New variable.
4589         (Vcharset_latin_iso8859_3): New variable.
4590         (latin_iso8859_3_to_ucs): New variable.
4591         (ucs_to_latin_iso8859_3): New variable.
4592         (Vcharset_latin_iso8859_4): New variable.
4593         (latin_iso8859_4_to_ucs): New variable.
4594         (ucs_to_latin_iso8859_4): New variable.
4595         (Vcharset_latin_iso8859_9): New variable.
4596         (latin_iso8859_9_to_ucs): New variable.
4597         (ucs_to_latin_iso8859_9): New variable.
4598         (Vcharset_latin_viscii_lower): New variable.
4599         (latin_viscii_lower_to_ucs): New variable.
4600         (ucs_to_latin_viscii_lower): New variable.
4601         (Vcharset_latin_viscii_upper): New variable.
4602         (latin_viscii_upper_to_ucs): New variable.
4603         (ucs_to_latin_viscii_upper): New variable.
4604         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4605         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4606         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4607         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4608         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4609         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4610         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4611         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4612         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4613         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4614
4615         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4616         (Vcharset_latin_viscii_upper): New variable.
4617         (make_byte_from_character_table): New function.
4618         (put_byte_from_character_table): New function.
4619         (get_byte_from_character_table): New function.
4620         (CHAR96): New macro.
4621         (ucs_to_latin_jisx0201): New variable.
4622         (latin_jisx0201_to_ucs): New variable.
4623         (ucs_to_latin_iso8859_2): New variable.
4624         (latin_iso8859_2_to_ucs): New variable.
4625         (ucs_to_latin_iso8859_3): New variable.
4626         (latin_iso8859_3_to_ucs): New variable.
4627         (ucs_to_latin_iso8859_4): New variable.
4628         (latin_iso8859_4_to_ucs): New variable.
4629         (ucs_to_latin_iso8859_9): New variable.
4630         (latin_iso8859_9_to_ucs): New variable.
4631         (ucs_to_latin_viscii_lower): New variable.
4632         (latin_viscii_lower_to_ucs): New variable.
4633         (ucs_to_latin_viscii_upper): New variable.
4634         (latin_viscii_upper_to_ucs): New variable.
4635         (ucs_to_latin_tcvn5712): New variable.
4636         (latin_tcvn5712_to_ucs): New variable.
4637         (Qlatin_viscii_lower): New variable.
4638         (Qlatin_viscii_upper): New variable.
4639         (syms_of_mule_charset): Set up new symbol
4640         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4641         (complex_vars_of_mule_charset): Set up new charset
4642         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4643         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4644         `ucs_to_<CHARSET>' tables.
4645
4646 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4647
4648         * text-coding.c: New file.
4649
4650 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4651
4652         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4653
4654         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4655         (MAKE_CHAR): Modify for `ucs-bmp'.
4656         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4657         non-MULE characters of BMP.
4658
4659 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4660
4661         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4662         to 0.6.
4663
4664 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4665
4666         * lstream.h:
4667         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4668         - Include character.h for `CHAR_ASCII_P'.
4669
4670         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4671
4672         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4673         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4674
4675         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4676         (BYTE_C0_P): Likewise.
4677         (BYTE_C1_P): Likewise.
4678         (Lstream_get_emchar_1): Likewise.
4679         (Lstream_fput_emchar): Likewise.
4680         (Lstream_funget_emchar): Likewise.
4681         (copy_internal_to_external): Likewise.
4682         (copy_external_to_internal): Likewise.
4683
4684         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4685         (BYTE_C0_P): Likewise.
4686         (BYTE_C1_P): Likewise.
4687         (Lstream_get_emchar_1): Likewise.
4688         (Lstream_fput_emchar): Likewise.
4689         (Lstream_funget_emchar): Likewise.
4690         (copy_internal_to_external): Likewise.
4691         (copy_external_to_internal): Likewise.
4692
4693         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4694         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4695
4696         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4697         (BYTE_ASCII_P): Moved to mb-1byte.h.
4698
4699 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4700
4701         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4702
4703         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4704         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4705         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4706         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4707         (VALIDATE_CHARPTR_FORWARD): Likewise.
4708         (simple_charptr_emchar): Moved to mb-multibyte.h.
4709         (simple_set_charptr_emchar): Likewise.
4710         (simple_charptr_copy_char): Likewise.
4711         (non_ascii_charptr_emchar): Likewise.
4712         (non_ascii_set_charptr_emchar): Likewise.
4713         (non_ascii_charptr_copy_char): Likewise.
4714         (charptr_emchar): Moved to mb-*byte.h.
4715         (set_charptr_emchar): Likewise.
4716         (charptr_copy_char): Likewise.
4717
4718         * mb-1byte.h, mb-multibyte.h: New files.
4719
4720 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4721
4722         * mb-utf-8.h (MULTIBYTE): New macro.
4723         (MAX_EMCHAR_LEN): Moved from buffer.h.
4724         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4725
4726         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4727
4728         * mb-lb.h, multibyte.h: New files.
4729
4730         * char-1byte.h (Charset_ID): Moved from buffer.h.
4731         (MIN_LEADING_BYTE): Likewise.
4732         (LEADING_BYTE_ASCII): Likewise.
4733         (NUM_LEADING_BYTES): Likewise.
4734         (CHARSETP): Likewise.
4735         (CHARSET_BY_LEADING_BYTE): Likewise.
4736         (XCHARSET_LEADING_BYTE): Likewise.
4737         (XCHARSET_GRAPHIC): Likewise.
4738         (XCHARSET_COLUMNS): Likewise.
4739         (XCHARSET_DIMENSION): Likewise.
4740         (CHAR_CHARSET): Likewise.
4741         (CHAR_LEADING_BYTE): Likewise.
4742         (BREAKUP_CHAR): Likewise.
4743         (Vcharset_ascii): Likewise.
4744
4745         * buffer.h: Include multibyte.h unconditionally.
4746         (VALID_CHARPTR_P): Moved to multibyte.h.
4747         (ASSERT_VALID_CHARPTR): Likewise.
4748         (REAL_INC_CHARPTR): Likewise.
4749         (REAL_INC_CHARBYTIND): Likewise.
4750         (REAL_DEC_CHARPTR): Likewise.
4751         (INC_CHARPTR): Likewise.
4752         (INC_CHARBYTIND): Likewise.
4753         (DEC_CHARPTR): Likewise.
4754         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4755         (VALIDATE_CHARPTR_FORWARD): Likewise.
4756         (charptr_n_addr): Likewise.
4757         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4758         (simple_charptr_emchar): Moved to multibyte.h.
4759         (simple_set_charptr_emchar): Likewise.
4760         (simple_charptr_copy_char): Likewise.
4761         (non_ascii_charptr_emchar): Likewise.
4762         (non_ascii_set_charptr_emchar): Likewise.
4763         (non_ascii_charptr_copy_char): Likewise.
4764         (charptr_emchar): Likewise.
4765         (set_charptr_emchar): Likewise.
4766         (charptr_copy_char): Likewise.
4767         (charptr_emchar_n): Likewise.
4768         (Charset_ID): Moved to char-1byte.h.
4769         (Vcharset_ascii): Likewise.
4770         (CHAR_CHARSET): Likewise.
4771         (CHAR_LEADING_BYTE): Likewise.
4772         (LEADING_BYTE_ASCII): Likewise.
4773         (NUM_LEADING_BYTES): Likewise.
4774         (MIN_LEADING_BYTE): Likewise.
4775         (CHARSETP): Likewise.
4776         (CHARSET_BY_LEADING_BYTE): Likewise.
4777         (XCHARSET_LEADING_BYTE): Likewise.
4778         (XCHARSET_GRAPHIC): Likewise.
4779         (XCHARSET_COLUMNS): Likewise.
4780         (XCHARSET_DIMENSION): Likewise.
4781         (BREAKUP_CHAR): Likewise.
4782
4783 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4784
4785         * character.h: Add document about interface for characters.
4786
4787         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4788         (MAKE_CHAR): Delete comment about
4789         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4790         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4791         (BREAKUP_CHAR): Modify name of arguments.
4792         (CHAR_CHARSET): Modify name of argument.
4793
4794         * buffer.h: Delete document about Emchar accessors.
4795
4796 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4797
4798         * character.h (CHAR_INTP): Moved from buffer.h
4799         (CHAR_OR_CHAR_INTP): Likewise.
4800         (XCHAR_OR_CHAR_INT): Likewise.
4801         (CHECK_CHAR_COERCE_INT): Likewise.
4802
4803         * buffer.h (CHAR_INTP): Moved to character.h
4804         (CHAR_OR_CHAR_INTP): Likewise.
4805         (XCHAR_OR_CHAR_INT): Likewise.
4806         (CHECK_CHAR_COERCE_INT): Likewise.
4807
4808 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4809
4810         * character.h:
4811         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4812         - Include char-1byte.h, char-lb.h or char-ucs.h.
4813
4814         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4815
4816         * buffer.h: Include character unconditionally.
4817         (valid_char_p): Moved to char-*.h.
4818         (non_ascii_valid_char_p): Moved to char-lb.h.
4819
4820         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4821
4822 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4823
4824         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4825         in UTF-2000 because it is not ported yet and not to use
4826         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4827         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4828         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4829
4830         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4831         (CHAR_ASCII_P): Moved from character.h.
4832
4833         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4834         (CHAR_ASCII_P): Likewise.
4835         (CHAR_FIELD1_MASK): Deleted.
4836         (CHAR_FIELD2_MASK): Deleted.
4837         (CHAR_FIELD3_MASK): Deleted.
4838         (MAX_CHAR_BASIC_LATIN): New macro.
4839         (CHAR_FIELD1): Deleted.
4840         (CHAR_FIELD2_INTERNAL): Deleted.
4841         (CHAR_FIELD3_INTERNAL): Deleted.
4842         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4843         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4844         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4845         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4846         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4847         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4848         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4849         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4850         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4851         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4852         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4853         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4854         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4855         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4856         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4857         (MIN_CHAR_COMPOSITION): Deleted.
4858         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4859         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4860
4861 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4862
4863         * buffer.h: Include mb-utf-8.h in UTF-2000.
4864
4865         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4866
4867         * mb-utf-8.h: New file.
4868
4869 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4870
4871         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4872         instead of `int'.
4873
4874         * mule-charset.h, buffer.h (Charset_ID): New type.
4875
4876 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4877
4878         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4879         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4880         instead of `MULE_CHAR_PRIVATE_OFFSET',
4881         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4882         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4883         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4884
4885         * character.h (Vcharset_japanese_jisx0212): New variable
4886         definition.
4887
4888 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4889
4890         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4891         (charset_by_attributes): Delete array about direction.
4892         (latin_a_char_to_charset): New variable in UTF-2000.
4893         (latin_a_char_to_byte1): New variable in UTF-2000.
4894         (latin_a_char_to_byte2): New variable in UTF-2000.
4895         (Qucs_bmp): New variable.
4896         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4897         `Bufbyte'.
4898         (next_allocated_2_byte_leading_byte): Likewise.
4899         (non_ascii_set_charptr_emchar): Likewise.
4900         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4901         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4902         `charset_by_attributes'.
4903         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4904         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4905         and `CHARSET_BY_LEADING_BYTE'.
4906         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4907         `utf-2000-version' to `vars_of_mule_charset'.
4908         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4909         define `leading-code-private-11' in UTF-2000; move setting of
4910         `utf-2000-version' from `syms_of_mule_charset'.
4911         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4912         UTF-2000.
4913
4914         * character.h (Charset_ID): New type.
4915         (LEADING_BYTE_UCS_BMP): New macro.
4916         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4917         (CHARSET_ID_OFFSET_94): New macro.
4918         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4919         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4920         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4921         final-byte.
4922         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4923         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4924         (CHARSET_ID_OFFSET_96): New macro.
4925         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4926         CHARSET_ID_OFFSET_96 and final-byte.
4927         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4928         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4929         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4930         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4931         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4932         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4933         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4934         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4935         (LEADING_BYTE_THAI_TIS620): Likewise.
4936         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4937         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4938         (CHARSET_ID_OFFSET_94x94): New macro.
4939         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4940         CHARSET_ID_OFFSET_94x94 and final-byte.
4941         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4942         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4943         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4944         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4945         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4946         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4947         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4948         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4949         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4950         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4951         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4952         (CHARSET_TYPE_128X128): New macro.
4953         (CHARSET_TYPE_256X256): New macro.
4954         (XCHARSET_PRIVATE_P): Delete unconditionally.
4955         (charset_by_attributes): Delete array about direction.
4956         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4957         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4958         (MIN_CHAR_94): New macro.
4959         (MAX_CHAR_94): New macro.
4960         (MIN_CHAR_96): New macro.
4961         (MAX_CHAR_96): New macro.
4962         (MIN_CHAR_94x94): New macro.
4963         (MAX_CHAR_94x94): New macro.
4964         (MIN_CHAR_96x96): New macro.
4965         (MAX_CHAR_96x96): New macro.
4966         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4967         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4968         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4969         - 32)'.
4970         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4971         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4972         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4973         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4974         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4975         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4976         `XCHARSET_LEADING_BYTE' to make code-point.
4977         (latin_a_char_to_charset): New variable.
4978         (latin_a_char_to_byte1): New variable.
4979         (latin_a_char_to_byte2): New variable.
4980         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4981         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4982         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4983
4984         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4985         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4986         (find_charsets_in_emchar_string): Likewise.
4987         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4988
4989         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4990         `int'.
4991         (decode_coding_iso2022): Likewise.
4992
4993         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4994         of `unsigned char'.
4995
4996         * redisplay.c (redisplay_text_width_emchar_string): Use
4997         `Charset_ID' instead of `unsigned char'.
4998         (redisplay_frame_text_width_string): Likewise.
4999
5000         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5001         `unsigned char'.
5002
5003         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5004         instead of `unsigned char'.
5005         (face_cachel_charset_font_metric_info): Likewise.
5006
5007         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5008         (get_non_ascii_char_table_value): Likewise.
5009         (get_char_table): Likewise.
5010         (put_char_table): Likewise.
5011         (map_over_other_charset): Likewise.
5012         (map_char_table): Likewise.
5013
5014         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5015         instead of `unsigned char'.
5016
5017 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5018
5019         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5020         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5021
5022         * mule-charset.c (leading_code_private_11): Don't define in
5023         UTF-2000.
5024
5025         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5026         in UTF-2000 because it is not ported yet and not to use
5027         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5028
5029 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5030
5031         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5032
5033 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5034
5035         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5036         in UTF-2000.
5037
5038         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5039         of unsigned char to store leading-byte.
5040
5041         * chartab.c (get_non_ascii_char_table_value): Don't use
5042         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5043
5044         * file-coding.c (encode_coding_big5): Delete bogus implementation
5045         in UTF2000.
5046
5047         * character.h (LEADING_BYTE_*): Delete definition for
5048         non-UTF-2000.
5049         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5050         (LEADING_BYTE_PREFIX_P): Deleted.
5051         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5052         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5053         (BUFBYTE_LEADING_BYTE_P): Deleted.
5054         (CHARSET_PRIVATE_P): Deleted unconditionally.
5055         (rep_bytes_by_first_byte): Deleted unconditionally.
5056         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5057         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5058         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5059         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5060         (CHAR_FIELD2): Deleted.
5061         (CHAR_FIELD3): Deleted.
5062         (MAKE_CHAR): Delete definition for non-UTF-2000.
5063         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5064         (breakup_char_1): New implementation.
5065         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5066         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5067
5068 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5069
5070         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5071         condition.
5072
5073 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5074
5075         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5076         (CHARSET_PRIVATE_P): Likewise.
5077         (XCHARSET_PRIVATE_P): Likewise.
5078         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5079
5080         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5081         UTF2000.
5082         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5083
5084 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5085
5086         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5087         (NUM_LEADING_BYTES): Changed from 128 to 256.
5088         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5089         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5090         UTF2000.
5091         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5092
5093         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5094         UTF2000.
5095         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5096         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5097         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5098         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5099         (Qchinese_cns11643_3): New variable in UTF2000.
5100         (Qchinese_cns11643_4): New variable in UTF2000.
5101         (Qchinese_cns11643_5): New variable in UTF2000.
5102         (Qchinese_cns11643_6): New variable in UTF2000.
5103         (Qchinese_cns11643_7): New variable in UTF2000.
5104         (syms_of_mule_charset): Define `chinese-cns11643-3',
5105         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5106         and `chinese-cns11643-7' in UTF2000.
5107         (vars_of_mule_charset): Initialize
5108         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5109         + 1 in UTF2000.
5110         (complex_vars_of_mule_charset): Setup charset
5111         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5112         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5113
5114 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5115
5116         * mule-charset.c: Move setting for `leading-code-private-11' from
5117         `syms_of_mule_charset' to `vars_of_mule_charset'.
5118
5119 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5120
5121         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5122         and `NUM_LEADING_BYTES' in assert.
5123
5124 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5125
5126         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5127         instead of 128.
5128         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5129         `NUM_LEADING_BYTES' instead of 128.
5130
5131 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5132
5133         * mule-charset.h (charset_by_leading_byte): Use
5134         `NUM_LEADING_BYTES' instead of 128.
5135         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5136
5137         * mule-charset.c (charset_by_leading_byte): Use
5138         `NUM_LEADING_BYTES' instead of 128.
5139         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5140
5141         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5142         128.
5143
5144 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5145
5146         * mule-charset.c (syms_of_mule_charset): Update to
5147         0.4 (Shin-Imamiya).
5148
5149 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5150
5151         * file-coding.c (encode_coding_sjis): New implementation for
5152         UTF2000.  (decode_coding_sjis): Ditto.
5153
5154 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5155
5156         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5157         Don't define in UTF2000.
5158
5159         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5160         defined.
5161
5162         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5163         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5164         MULE.
5165
5166 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5167
5168         * config.h.in (CHAR_IS_UCS4): New macro.
5169
5170         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5171         conventional MULE representation.
5172         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5173
5174         * mule-charset.h: Reverted to original.
5175
5176         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5177         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5178         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5179
5180         * character.h: New file.
5181
5182         * file-coding.c (Fmake_coding_system): Set 1 to
5183         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5184         defined.
5185         (encode_coding_no_conversion): New implementation for UTF2000.
5186
5187         * file-coding.h (struct Lisp_Coding_System): Add new member
5188         `fixed.size'.
5189
5190 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5191
5192         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5193         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5194         (encode_coding_iso2022): New implementation for UTF2000.
5195
5196 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5197
5198         * mule-canna.c (c2mu): New implementation for UTF2000.
5199         (m2c): Likewise.
5200
5201 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5202
5203         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5204
5205 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5206
5207         * file-coding.c (reset_encoding_stream): Set 0 to
5208         `str->iso2022.current_char_boundary' in UTF2000.
5209         (encode_utf8): Don't define in UTF2000.
5210         (encode_coding_utf8): New implementation for UTF-8 representation
5211         of UTF2000.
5212         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5213
5214 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5215
5216         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5217
5218         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5219         UTF2000.
5220         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5221
5222         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5223
5224         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5225         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5226         as UTF-8 in UTF2000.
5227         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5228         (non_ascii_valid_char_p): Don't define in UTF2000.
5229         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5230         (Lstream_get_emchar_1): Likewise.
5231         (utf-2000-version): New variable in UTF2000.
5232
5233         * lread.c (read_escape): Add new reader `u'.
5234
5235         * insdel.c (three_to_one_table): Don't define in UTF2000.
5236         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5237         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5238         UTF2000.
5239         (bytind_to_bufpos_func): Likewise.
5240         (buffer_mule_signal_inserted_region): Likewise.
5241         (vars_of_insdel): Don't initialize `three_to_one_table'.
5242         (init_buffer_text): Use `buf->text->mule_size' instead of
5243         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5244         UTF2000.
5245
5246         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5247         UTF-8 representation in UTF2000.
5248         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5249         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5250         (decode_coding_iso2022): Don't define local variable `lb' in
5251         UTF2000; don't use LEADING_BYTE in UTF2000; use
5252         `DECODE_ADD_UCS_CHAR' in UTF2000.
5253         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5254
5255         * config.h.in (UTF2000): New macro.
5256
5257         * buffer.h (struct buffer_text): Add new member `mule_size' and
5258         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5259         (valid_char_p): Return always 1 in UTF2000.
5260         (MAX_EMCHAR_LEN): 6 in UTF2000.
5261         (three_to_one_table): Don't define in UTF2000.
5262         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5263         UTF2000.
5264         (real_bytind_to_bufpos): Likewise.
5265
5266         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5267
5268 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5269
5270         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5271         representation change.
5272         (Vutf_2000_version): New variable.
5273         (leading_code_private_11): New variable.
5274         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5275         `leading-code-private-11'.
5276
5277         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5278         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5279         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5280         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5281         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5282         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5283         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5284         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5285         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5286         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5287         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5288         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5289         (MIN_CHAR_GREEK): New macro.
5290         (MAX_CHAR_GREEK): New macro.
5291         (MIN_CHAR_CYRILLIC): New macro.
5292         (MAX_CHAR_CYRILLIC): New macro.
5293         (MIN_CHAR_HEBREW): New macro.
5294         (MAX_CHAR_HEBREW): New macro.
5295         (MIN_CHAR_THAI): New macro.
5296         (MAX_CHAR_THAI): New macro.
5297         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5298         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5299         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5300         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5301         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5302         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5303         (CHAR_FIELD2): New inline function.
5304         (CHAR_FIELD3): New inline function.
5305         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5306         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5307         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5308         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5309         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5310         (MIN_CHAR_COMPOSITION): Likewise.
5311         (CHAR_LEADING_BYTE): Modified for character representation change.
5312         (MAKE_CHAR): Likewise.
5313
5314         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5315         (Vcharset_greek_iso8859_7): Likewise.
5316         (Vcharset_cyrillic_iso8859_5): Likewise.
5317         (Vcharset_hebrew_iso8859_8): Likewise.
5318         (Vcharset_thai_tis620): Likewise.
5319         (Vcharset_katakana_jisx0201): Likewise.
5320
5321 2003-09-03  Vin Shelton <acs@xemacs.org>
5322
5323         * XEmacs 21.4.14 is released
5324
5325 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5326
5327         * config.h.in (REGEX_MALLOC): Make it configure'able.
5328
5329 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5330
5331         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5332         linking.
5333         * sysdll.c (dll_init):
5334         * sysdll.c (dll_open):
5335         * sysdll.c (dll_close):
5336         * sysdll.c (dll_function):
5337         * sysdll.c (dll_variable):
5338         * sysdll.c (dll_error):
5339         Add support for loading bundles using Darwin/MacOSX
5340         native API.
5341
5342 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5343
5344         * process.c (start-process-internal): Document coding systems.
5345
5346 2003-07-30  Jerry James  <james@xemacs.org>
5347
5348         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5349
5350 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5351
5352         * event-msw.c (mswindows_enqueue_mouse_button_event):
5353         * event-msw.c (mswindows_wnd_proc):
5354           enqueue button event when scrollwheel event isn't handled by 
5355           mswindows_handle_mousewheel_event, such as when the scrollbars
5356           are not showing.
5357
5358 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5359
5360         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5361
5362 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5363
5364         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5365
5366 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5367
5368         * regex.c (re_match_2_internal): Fix matching degenerate word
5369         boundaries.
5370
5371 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5372
5373         * XEmacs 21.4.13 is released
5374
5375 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5376
5377         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5378         * lisp.h (<inttypes.h>):
5379         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5380         the definition.
5381
5382 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5383
5384         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5385         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5386         Result: "temacs can only be run in -batch mode."
5387         Fix: Check xemacs executable candidate for directory-ness.
5388
5389 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5390
5391         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5392           they conflict with <sys/types.h>.
5393
5394 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5395
5396         * database.c: Berkeley DB wants __STDC__ to be defined.
5397
5398 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5399
5400         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5401
5402 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5403
5404         * process-unix.c (unix_send_process): Fix C++ compile error.
5405
5406 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5407
5408         * Added .dylib as an acceptable shared library file extension
5409         * to support MacOSX.
5410
5411 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5412
5413         * EmacsFrameP.h (EmacsFramePart):
5414         Kludge to allow compiling with Motif1, but linking with Motif2.
5415
5416 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5417
5418         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5419
5420
5421 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5422
5423         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5424
5425 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5426
5427         * sysdll.c: Included lisp.h to define needed alloca_array.
5428
5429 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5430
5431         Make XEmacs redisplay 10 times faster.
5432         If, that is, you're using a slow X connection and MoveOpaque.
5433         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5434         Use compress_motion = TRUE.
5435         * EmacsFrame.c (emacsFrameClassRec): 
5436         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5437         * EmacsManager.c (emacsManagerClassRec):
5438         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5439
5440 2003-01-30  Vin Shelton  <acs@xemacs.org>
5441
5442         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5443
5444 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5445
5446         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5447         Patch by Martin Buchholz.
5448
5449 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5450
5451         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5452         Thanks to icc for warning and Martin Buchholz for reporting.
5453
5454 2003-01-29  Vin Shelton <acs@xemacs.org>
5455
5456         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5457
5458         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5459         remember to multiply by the element size.
5460
5461 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5462
5463         * XEmacs 21.4.12 "Portable Code" is released.
5464
5465 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5466
5467         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5468         * s/cygwin.sc: new linker file.
5469
5470 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5471
5472         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5473
5474         * redisplay-x.c (x_output_string): Use X11-specified types.
5475         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5476         * emacs.c (__free_hook): Use typeof with Intel compiler.
5477         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5478
5479 2003-01-08  Andy Piper  <andy@xemacs.org>
5480
5481         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5482         reserve size during unexec().
5483
5484 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5485
5486         * process-unix.c (unix_create_process): Don't let outchannel block.
5487
5488 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5489
5490         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5491         Needed for IsBadReadPtr().
5492
5493 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5494
5495         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5496
5497 2002-12-14  Ben Wing  <ben@xemacs.org>
5498
5499         * callint.c: Declaration error.
5500         * dumper.c (pdump):
5501         * dumper.c (pdump_load): Warning fix.
5502         * process.c: GCPRO error.
5503         * glyphs.c (unmap_subwindow):
5504         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5505         * event-stream.c (maybe_kbd_translate): Wrong argument to
5506         character_to_event().
5507
5508         * alloc.c (garbage_collect_1):
5509         * emacs.c:
5510         * emacs.c (debug_can_access_memory):
5511         * emacs.c (fatal_error_signal):
5512         * emacs.c (mswindows_handle_hardware_exceptions):
5513         * emacs.c (main_1):
5514         * emacs.c (main):
5515         * emacs.c (assert_failed):
5516         * emacs.c (syms_of_emacs):
5517         * lisp.h:
5518         * print.c:
5519         * print.c (std_handle_out_va):
5520         * print.c (write_string_to_stdio_stream):
5521         * print.c (write_fmt_string):
5522         * print.c (printing_badness):
5523         * print.c (printing_major_badness):
5524         * print.c (print_internal):
5525         * print.c (debug_print_no_newline):
5526         * print.c (debug_backtrace):
5527         Be more defensive in handling bad values when printing.  Add code
5528         from trunk involving inhibit_non_essential_printing_operations.
5529         When going down or in debug_print(), don't do external conversion
5530         and such and try really, really hard when printing to avoid core
5531         dumping.  Add force-debugging-signal, debug_break().
5532
5533 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5534
5535         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5536         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5537
5538 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5539
5540         * database.c: Fix open_database. Berkeley DB API has changed in
5541         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5542
5543 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5544
5545         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5546
5547 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5548
5549         * event-Xt.c (Xt_timeout):
5550         (Xt_timeout_callback):
5551         (emacs_Xt_add_timeout):
5552         (emacs_Xt_remove_timeout):
5553         (Xt_timeout_to_emacs_event):
5554         Turn completed_timeouts from a stack into a queue.  Fixes
5555         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5556
5557 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5558
5559         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5560         * emacs.c (main): Assert that mmap'd allocation is disabled.
5561
5562 2002-10-14  Andy Piper  <andy@xemacs.org>
5563
5564         * glyphs-widget.c (layout_query_geometry): add in fiddle
5565         factor. Include border text in width layout calculation.
5566         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5567
5568 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5569
5570         * XEmacs 21.4.10 "Military Intelligence" is released.
5571
5572 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5573
5574         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5575         using the NAS private array SoundFileInfo that no longer exists in
5576         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5577         and earlier.  This is broken for some versions between 1.5a and
5578         1.5f.
5579
5580 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5581
5582         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5583
5584         * emacs.c (shut_down_emacs): Improve crash message.
5585
5586 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5587
5588         * file-coding.c (determine_real_coding_system): Check for coding
5589         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5590         shebangs and Python PEP 263.
5591
5592 2002-10-08  Andy Piper  <andy@xemacs.org>
5593
5594         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5595         if static sizes haven't been set.
5596
5597 2002-08-30  Mike Alexander  <mta@arbortext.com>
5598
5599         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5600         to close a socket.
5601
5602 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5603
5604         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5605
5606 2002-09-20  Mike Sperber <mike@xemacs.org>
5607
5608         (This partially gets back my patch from 2002-07-20 without the
5609         bug.)
5610         * callproc.c (child_setup): Remove Ben's comment noting confusion
5611         over the file descriptors >= 3: close_process_descs() doesn't
5612         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5613         * process-unix.c (unix_create_process): Call
5614         begin_dont_check_for_quit to inhibit unwanted interaction (and
5615         thus breaking of X event synchronicity) in the child.
5616
5617 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5618
5619         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5620         widget.
5621
5622 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5623
5624         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5625         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5626         the xemacs process did not exit, but looped infinitely here.  This
5627         fixes that problem.
5628
5629 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5630
5631         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5632         (find_context): Improve comments.
5633
5634         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5635         (re_match_2): An XCHAR_TABLE operation was missing.
5636
5637         Many of the following changes were inspired by Andy Piper's (now
5638         obsolete) patch to make syntax-table text property lookup optional.
5639
5640         [Documentation]
5641
5642         * syntax.h (top level): Document semantics of syntax flags.
5643         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5644         * syntax.c, syntax.h (top level): Document syntax cache better in
5645         comments.
5646
5647         [Instrument syntax caching (temporary change)]
5648
5649         * syntax.h (enum syntax_cache_statistics_functions, struct
5650         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5651         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5652         * syntax.c (scan_words, Fforward_comment, scan_lists,
5653         Fbackward_prefix_characters):
5654         * font-lock.c (find_context):
5655         Use them to instrument syntax caching. 
5656         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5657         syntax_cache_statistics_function_names): New type and variables.
5658         * syntax.c (update_syntax_cache): Update and report statistics.
5659
5660         [Major syntax cache optimizations]
5661
5662         syntax.c (lookup_syntax_properties): Default off.
5663
5664         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5665         * syntax.c (update_syntax_cache):
5666         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5667
5668         [Minor syntax cache optimizations and code clarifications]
5669
5670         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5671         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5672         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5673         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5674         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5675         (Code clarification.)
5676
5677         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5678         scan_lists): Compute code from syncode, use Boolean macros instead
5679         of redundant masking operations.  (Code clarification; any decent
5680         compiler can do this optimization.)
5681
5682         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5683         for clarity.
5684
5685         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5686         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5687         use F*_single_property_change instead of F*_extent_change.
5688         Currently F*_single_property_change is _much_ less efficient.
5689
5690         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5691         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5692         syntax_cache.object properly, don't leave Qt or Qnil.
5693         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5694         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5695         tests for Qt or Qnil.
5696
5697 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5698
5699         * redisplay.c (point_in_line_start_cache): 
5700         * extents.c (print_extent_1):
5701         Fix warnings.
5702
5703         * extents.c (Fset_extent_property): Document `syntax-table' property.
5704
5705         * extents.h (Fnext_single_property_change): EXFUN it.
5706
5707 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5708
5709         * search.c (clear_unused_search_regs): New static function.
5710         (search_buffer): 
5711         (simple_search): 
5712         (boyer_moore):
5713         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5714         Minor clarifications in comments.
5715
5716         * regex.c (re_match_2_internal): Ensure no stale submatches.
5717
5718 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5719
5720         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5721
5722 2002-08-29  Jerry James  <james@xemacs.org>
5723
5724         * lisp.h: structrures -> structures.
5725
5726 2002-06-03  Andy Piper  <andy@xemacs.org>
5727
5728         * frame.c (frame_conversion_internal): add conversion appropriate
5729         for setting frame dimensions in pixels.
5730
5731         * console.h (struct console_methods): add device-specific widget
5732         layout functions.
5733
5734         * emacs.c (main_1): initialize glyph vars.
5735
5736         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5737         (handle_focus_event_2): new function. Allow focus to
5738         be set to a particular window and widget.
5739         (enqueue_focus_event): new function. Create a
5740         synthetic focus event.
5741         (emacs_Xt_handle_magic_event): call
5742         handle_focus_event_2.
5743
5744         * frame.c (Fset_frame_pixel_height): new function. Allow
5745         pixel-based sizing. Does the right thing on character-oriented
5746         displays.
5747         (Fset_frame_pixel_width): ditto.
5748         (Fset_frame_pixel_size): ditto.
5749         (syms_of_frame): declare.
5750
5751         * general-slots.h: add :vertically-justify and
5752         :horizontally-justify.
5753
5754         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5755         (mswindows_widget_border_width): new function.
5756         (mswindows_combo_box_instantiate): set border widths.
5757         (console_type_create_glyphs_mswindows): declare.
5758
5759         * glyphs-widget.c:
5760         (check_valid_justification): allow vertical and horizontal
5761         justification.
5762         (widget_border_width): new function. Call device methods.
5763         (widget_instance_border_width): ditto.
5764         (logical_unit_height): new function. Determine the height of a
5765         logical-unit. Logical units are intended to provide grid-like
5766         layout for subcontrols in a layout. If the layout is
5767         :vertically-justify top then subcontrols will be positioned on
5768         logical-unit boundaries, thus allowing adjacent subcontrols to
5769         line up.
5770         (widget_logical_unit_height): ditto for widgets.
5771         (redisplay_widget): misc cleanup.
5772         (widget_spacing): new function. Call device specific
5773         methods. Intended to be the default gap between adjacent widgets.
5774         (widget_query_geometry): use new spacing functions to determine
5775         appropriate geometry.
5776         (initialize_widget_image_instance): initialize horizontal and
5777         vertical justification.
5778         (widget_instantiate): use logica-units where appropriate for
5779         sizing large widgets.
5780         (button_query_geometry): use widget_instance_border_width.
5781         (tree_view_query_geometry): ditto.
5782         (tab_control_query_geometry): ditto.
5783         (edit_field_query_geometry): new function.
5784         (layout_update): pick up :justify, :horizontally-justify and
5785         :vertically-justify none of which worked previously. :justify is
5786         used as a fallback for both horizontal and vertical justification.
5787         (layout_query_geometry): use logical units to size appropriately.
5788         (layout_layout): ditto.
5789         (Fwidget_logical_to_character_width): new function. Allow users to
5790         convert from logical units to characters so that frame sizes can
5791         be set appropriately.
5792         (Fwidget_logical_to_character_height): ditto.
5793         (syms_of_glyphs_widget): declare.
5794         (image_instantiator_edit_fields): add edit_field_query_geometry.
5795         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5796         :horizontally-justify.
5797         (specifier_vars_of_glyphs_widget): new function. Declare
5798         Vwidget_border_width which is not yet used.
5799
5800         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5801         (x_widget_border_width): new function.
5802         (x_widget_instantiate): create a sensible name for widgets.
5803         (console_type_create_glyphs_x): declare x_widget_border_width.
5804
5805         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5806         (struct Lisp_Image_Instance): add :vertically-justify and
5807         :horizontally-justify.
5808         (LAYOUT_JUSTIFY_TOP): new.
5809         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5810         (ROUND_UP): new macro. Round argument up to next integral
5811         interval.
5812
5813         * redisplay-output.c (redisplay_output_layout): misc formatting.
5814
5815         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5816
5817 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5818
5819         * XEmacs 21.4.9 "Informed Management" is released.
5820
5821 2002-08-19  Andy Piper  <andy@xemacs.org>
5822
5823         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5824         win32 format.
5825
5826         * realpath.c (xrealpath): normalize drive spec also so that dir
5827         sep chars are not mixed on cygwin.
5828
5829 2002-08-06  Jerry James  <james@xemacs.org>
5830
5831         * window.c (Fsplit_window): Count only half of the divider width
5832         against the left window when splitting horizontally. 
5833
5834 2002-06-24  Andy Piper  <andy@xemacs.org>
5835
5836         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5837         toolbar was cleared.
5838
5839         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5840         function. Split out from mswindows_output_frame_toolbars.
5841         (mswindows_output_frame_toolbars): move clear pieces to
5842         mswindows_output_frame_toolbars.
5843
5844         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5845         out from gtk_output_frame_toolbars.
5846         (gtk_output_frame_toolbars): move clear pieces to
5847         gtk_clear_frame_toolbars.
5848
5849         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5850         the frame is cleared. How this ever worked before is a mystery.
5851         (x_output_frame_toolbars): Only output toolbars.
5852         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5853
5854         * gutter.c (update_gutter_geometry):
5855         Mark frame layout changed.
5856         (update_frame_gutter_geometry, update_frame_gutters):
5857         Respect frame_layout_changed.
5858
5859         * console.h (struct console_methods): add
5860         clear_frame_toolbars_method.
5861
5862         * redisplay.c (redisplay_frame): call
5863         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5864
5865         * toolbar.h: declare update_frame_toolbars_geometry.
5866
5867         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5868         out from update_frame_toolbars.  Call clear_frame_toolbars.
5869         (update_frame_toolbars): only output, do not change geometry.
5870
5871         * redisplay.c: add frame_layout_changed.
5872
5873         * redisplay.h: add frame_layout_changed.
5874         (CLASS_RESET_CHANGED_FLAGS): set it.
5875         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5876         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5877         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5878
5879         * device.h (struct device): add frame_layout_changed.
5880         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5881
5882         * frame.h (struct frame): add frame_layout_changed.
5883         (MARK_FRAME_LAYOUT_CHANGED): new.
5884
5885 2002-06-30  Mike Alexander  <mta@arbortext.com>
5886
5887         * event-msw.c (mswindows_need_event): Don't wait for a new message
5888         if the queue is not empty.  Suggested by Paul Moore.
5889
5890 2002-06-12  Andy Piper  <andy@xemacs.org>
5891
5892         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5893         for printing on accurately.
5894
5895 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5896
5897         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5898         WM_ACTIVATE message. Make sure that the frame is visible if the
5899         window is visible. This seemss to fix the problem where XEmacs
5900         appears to freeze after switching desktops with certain virtual
5901         window managers.
5902         (debug_output_mswin_message): Added code to output message
5903         parameters for WM_WINDOWPOSCHANGED, 
5904         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5905
5906 2002-05-25  Andy Piper  <andy@xemacs.org>
5907
5908         * select-x.c (vars_of_select_x): Fix docstring of
5909         x-selection-strict-motif-ownership
5910
5911 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5912
5913         * keymap.c (get_keymap):
5914         Add comment about do_autoload GCPROs own args.
5915
5916 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5917
5918         * bytecode.c (execute_optimized_program): check_opcode ifdef
5919         ERROR_CHECK_BYTE_CODE.
5920
5921 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5922
5923         Thanks to Ben Wing and Michael Sperber.
5924
5925         * eval.c (Fcommand_execute):
5926         (Feval):
5927         (Ffuncall):
5928         (Fmacroexpand_internal):
5929         (function_argcount):
5930         callint.c (Fcall_interactively):
5931         Add comment about do_autoload GCPROs own args.
5932
5933         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5934
5935         * eval.c (Ffuncall): Extra braces to placate GCC.
5936
5937 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5938
5939         * backtrace.h (grow_specpdl):
5940         (SPECPDL_RESERVE):
5941         * EmacsFrame.c (EmacsFrameSetValues):
5942         * eval.c (grow_specpdl):
5943         * ExternalShell.c (hack_event_masks_1):
5944         * glyphs-x.c (convert_EImage_to_XImage): 
5945         (x_finalize_image_instance):
5946         * ralloc.c (page_size):
5947         (r_alloc_sbrk):
5948         * xgccache.c (gc_cache_hash):
5949         Fix unsigned comparison warnings.
5950
5951 2002-07-29  Jerry James  <james@xemacs.org>
5952
5953         * lread.c (locate_file): Any nonnegative return value indicates
5954         success if MODE is nonnegative.
5955
5956 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5957
5958         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5959         argument. 
5960
5961 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5962
5963         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5964
5965         * dumper.c (pdump_get_indirect_count):
5966         (pdump_scan_by_alignment):
5967         (pdump_dump_root_struct_ptrs):
5968         (pdump_dump_rtables):
5969         (pdump_dump_root_objects):
5970         (pdump):
5971         * nas.c (WaveOpenDataForReading):
5972         * fns.c (print_bit_vector):
5973         * font-lock.c (SINGLE_SYNTAX_STYLE):
5974         * glyphs.c (check_for_ignored_expose):
5975         (find_matching_subwindow):
5976         * glyphs-eimage.c:
5977         * imgproc.c (get_histogram):
5978         * redisplay.c (point_in_line_start_cache):
5979         * redisplay-output.c (redisplay_unmap_subwindows):
5980         * symbols.c (defsymbol_massage_name_1):
5981         (defkeyword_massage_name):
5982         (deferror_massage_name_and_message):
5983         * redisplay-x.c (x_output_string): 
5984         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5985         * frame.h (struct frame):
5986         * filelock.c (current_lock_owner):
5987         * doprnt.c (emacs_doprnt_1):
5988         * lisp.h (struct Lisp_Bit_Vector):
5989         (DO_REALLOC):
5990         Fix warnings.
5991
5992 2002-02-13  Ben Wing  <ben@xemacs.org>
5993
5994         * event-stream.c (reset_key_echo):
5995         * event-stream.c (reset_this_command_keys):
5996         * event-stream.c (execute_command_event):
5997         If console is dead as a result of C-x 5 0, then post-command stuff
5998         needs to be careful and do only non-console-specific stuff.
5999
6000 2002-07-01  Mike Sperber <mike@xemacs.org>
6001
6002         * process-unix.c (unix_send_process): Mark coding_outstream as
6003         non-open upon SIGPIPE.
6004
6005         * event-stream.c (Fnext_event): Reorder switch cases to something
6006         that makes sense.
6007
6008 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6009
6010         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6011         Don't bogusly reinitialize ascii_character property.
6012
6013 2002-07-08  Mike Sperber <mike@xemacs.org>
6014
6015         * process.c (Fstart_process_internal): Do error checking before we
6016         fork off the child, so the child can't muck with the state of the
6017         parent.
6018
6019 2002-07-08  Mike Sperber <mike@xemacs.org>
6020
6021         * ralloc.c (init_ralloc): Allocate properly for pdump.
6022
6023 2002-06-12  Andy Piper  <andy@xemacs.org>
6024
6025         * glyphs.c (query_string_geometry): check the string.
6026
6027         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6028         widget names.
6029
6030 2002-06-17  Jerry James  <james@xemacs.org>
6031
6032         * sysdll.c: Remove RTLD_GLOBAL initialization.
6033         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6034
6035 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6036
6037         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6038
6039 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6040
6041         * sysdep.c (sys_rename): Make sys_rename work for the case where
6042         Windows rename sets errno to EACCES if target file exists.
6043
6044 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6045
6046         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6047         Fix detection of metric units to work on Win95
6048
6049 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6050
6051         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6052
6053 2002-04-25  Andy Piper  <andy@xemacs.org>
6054
6055         * redisplay.c (create_text_block): Remove extra comment trailer.
6056
6057 2002-04-24  Andy Piper  <andy@xemacs.org>
6058
6059         * redisplay.c (create_text_block): Don't actually add propagation
6060         data if the line ends after we have added a glyph.
6061
6062 2002-04-22  Andy Piper  <andy@xemacs.org>
6063
6064         * extents.c (extent_fragment_update): check for glyphs we have
6065         previously displayed.
6066         * extents.c (print_extent_1): warning removal.
6067         * extents.h: change prototype.
6068         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6069         widths correctly for wide glyphs.
6070         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6071         * redisplay.c (prop_type): add PROP_GLYPH.
6072         * redisplay.c (struct prop_block): add glyph type
6073         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6074         to the propagation data.
6075         * redisplay.c (create_text_block): if there is a glyph in the
6076         propagation data use it to salt extent_fragment_update.
6077         * redisplay.c (create_string_text_block): ditto.
6078
6079 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6080
6081         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6082         * redisplay-output.c (compare_runes): Compare them.
6083         * redisplay.c: Update copyright date.
6084         * redisplay.c (pos_data): Add need_baseline_computation field.
6085         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6086         need_baseline_computation; zero yoffset. Set max_pixmap_height
6087         for all pixmaps, not just automatically positioned ones.
6088         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6089         * redisplay.c (calculate_baseline): New, compute textual baseline.
6090         * redisplay.c (add_glyph_rune): Call them.
6091         * redisplay.c (create_text_block): Likewise.
6092         * redisplay.c (create_overlay_glyph_block): Likewise.
6093         * redisplay.c (add_margin_runes): Likewise.
6094         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6095
6096         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6097         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6098         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6099         * redisplay-msw.c (mswindows_output_string): Likewise.
6100         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6101         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6102         * redisplay-x.c (x_output_display_block): Likewise.
6103
6104 2002-03-28  Ben Wing  <ben@xemacs.org>
6105
6106         * redisplay.c: Fixed bug in redisplay
6107         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6108         and down of the lines, since they're bigger than the line
6109         size. (It was seen most obviously when there's a horizontal scroll
6110         bar, e.g. do C-h a glyph or something like that.) The problem was
6111         that the glyph-contrib-p setting on glyphs was ignored even if it
6112         was set properly, which it wasn't until now.
6113
6114 2002-04-24  Andy Piper  <andy@xemacs.org>
6115
6116         * lisp.h (Dynarr_end): Fix definition.
6117
6118 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6119
6120         * redisplay.c (mark_redisplay): Remove call to
6121         update_frame_window_mirror.
6122
6123 2001-11-15  Andy Piper  <andy@xemacs.org>
6124
6125         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6126         cygwin (again).
6127
6128 2002-02-13  Andy Piper  <andy@xemacs.org>
6129
6130         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6131         we did in fact enqueue the XM_MAPFRAME event.
6132
6133 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6134
6135         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6136         to fix problem switching between virtual desktops under virtuawin
6137         virtual window manager.
6138
6139 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6140
6141         * event-msw.c: Typo fix.
6142         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6143         magic XM_MAPFRAME event has been sent.
6144
6145 2001-11-23  Andy Piper  <andy@xemacs.org>
6146
6147         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6148
6149 2001-11-21  Andy Piper  <andy@xemacs.org>
6150
6151         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6152         mouse events outside the frame.
6153
6154 2002-03-20  Andy Piper  <andy@xemacs.org>
6155
6156         * menubar-msw.c (mswindows_popup_menu): warning removal.
6157         * dialog-msw.c (dialog_popped_down): ditto.
6158
6159 2001-12-11  Andy Piper  <andy@xemacs.org>
6160
6161         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6162         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6163         popup_up_p.
6164         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6165         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6166         * menubar-msw.c (mswindows_popup_menu): ditto.
6167
6168 2001-10-29  Andy Piper  <andy@xemacs.org>
6169
6170         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6171         cancels.
6172
6173 2002-01-03  Andy Piper  <andy@xemacs.org>
6174
6175         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6176         letters.
6177         (xrealpath): ditto.
6178
6179 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6180
6181         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6182         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6183         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6184         Detect and handle case where machine is set up for metric units
6185
6186 2002-04-02  Andy Piper  <andy@xemacs.org>
6187
6188         * dired-msw.c (mswindows_get_files): 
6189         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6190         completely handled by XEmacs. Suggested by Thomas Vogler
6191         <mail@thomas-vogler.de>.
6192
6193 2001-11-14  Andy Piper  <andy@xemacs.org>
6194
6195         * nt.c (REG_ROOT): change registry key to XEmacs.
6196
6197 2002-04-27  Andy Piper  <andy@xemacs.org>
6198
6199         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6200
6201 2002-04-26  Andy Piper  <andy@xemacs.org>
6202
6203         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6204         behavior.
6205
6206 2002-03-14  Mike Alexander  <mta@arbortext.com>
6207
6208         * event-msw.c (mswindows_unwait_process): New, remove process from
6209         wait list
6210         * process-nt.c (nt_finalize_process_data): Call
6211         mswindows_unwait_process
6212         * console-msw.h: Declare mswindows_unwait_process
6213
6214 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6215
6216         * editfns.c (Fdecode_time):
6217         (Fformat_time_string):
6218         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6219         (make_time): Warning elimination (change arg name).
6220
6221 2001-11-24  Andy Piper  <andy@xemacs.org>
6222
6223         * window.c (Fsplit_window): Doc return type.
6224
6225 2002-04-01  Andy Piper  <andy@xemacs.org>
6226
6227         * emacs.c (Fkill_emacs): Only output message box in interactive
6228         mode.
6229
6230 2002-04-26  Andy Piper  <andy@xemacs.org>
6231  
6232         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6233         cygwin.
6234
6235 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6236
6237         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6238         bit platform.
6239
6240 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6241
6242         * XEmacs 21.4.8 "Honest Recruiter" is released.
6243
6244 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6245
6246         Supersedes 2002-04-17 patch.
6247
6248         * process.h (PROCESS_LIVE_P): Use the process status as
6249         evidence of health, not the state of the input stream.
6250         (PROCESS_READABLE_P): Say if the process is readable
6251         from. (It may be dead nonetheless.)
6252         (CHECK_READABLE_PROCESS): Test for that condition.
6253
6254         * process.c (create_process): Use PROCESS_READABLE_P.
6255         (read_process_output, set_process_filter): Likewise.
6256
6257         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6258         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6259
6260         This code is #if 0'd, this is not the time to add new functions:
6261
6262         * process.c (Fprocess_readable_p): Report readability status.
6263         * process.c (Qprocess_readable_p): New, associated symbol...
6264         * process.c (syms_of_process): ... initialize it.
6265
6266 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6267
6268         * XEmacs 21.4.7 "Economic Science" is released.
6269
6270 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6271
6272         * process.h (PROCESS_LIVE_P): Use the process status as
6273         evidence of health, not the state of the input stream.
6274
6275 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6276
6277         * sysdep.c (sys_siglist): change "signum" to "signal"
6278
6279 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6280
6281         * s/darwin.h: New file.
6282         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6283         
6284 2002-04-23  Andreas Jaeger  <aj@suse.de>
6285
6286         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6287         which use lib64 for 64-bit libs.
6288         (START_FILES): Likewise.
6289
6290 2002-02-11  Mike Sperber  <mike@xemacs.org>
6291
6292         * device-x.c: 
6293         (x_IO_error_handler):
6294         (x_init_device): Temporarily keep device in static variable
6295         `device_being_initialized' so we can recover gracefully from
6296         internal XOpenDevice failure.  (XOpenDevice is documented to
6297         return NULL on failure, but sometimes calls the IO error handler
6298         instead.)
6299
6300 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6301
6302         * dired.c (Ffile_name_all_completions): Change documentation --
6303         remove reference to completion-ignored-extensions.
6304         * dired.c (vars_of_dired): Change documentation for
6305         completion-ignored-extensions -- remove reference to
6306         file-name-all-completions.
6307
6308 2002-03-06  Jerry James  <james@xemacs.org>
6309
6310         * emodules.c (emodules_load): Fix multiple loading of same module.
6311
6312 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6313         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6314         RTLD_LAZY to avoid incorrect symbol binding when using nested
6315         shared libraries on Solaris.
6316
6317 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6318
6319         * fileio.c (Ffind_file_name_handler): Improve docstring.
6320
6321 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6322
6323         * fns.c (Fmapconcat): Improve docstring.
6324
6325 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6326
6327         * device-gtk.c: Add prototype for
6328         emacs_gtk_selection_clear_event_handle.
6329         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6330         selection.  Setup signal handler for "selection_clear_event"
6331         (emacs_gtk_selection_clear_event_handle).
6332
6333         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6334         other applications owning the clipboard (based on
6335         x_handle_selection_clear).
6336
6337 2001-12-23  William M. Perry  <wmperry@gnu.org>
6338
6339         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6340         
6341 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6342
6343         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6344
6345 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6346
6347         * XEmacs 21.4.6 "Common Lisp" is released.
6348
6349 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6350
6351         * search.c (Freplace_match): Add missing sub-expression functionality.
6352
6353         * buffer.c (decode_buffer): Add a check for pointer type to
6354         decode_buffer, before gcc's CSE optimization reorders a
6355         dereference in front of the allow_string test.
6356
6357 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6358
6359         * window.c (window_loop): Fix bug that sometimes prevented
6360         window_loop() from iterating across multiple devices.  Also, at
6361         Ben's request, changed infloop-detecting code to abort() instead
6362         of silently terminating window_loop().
6363
6364 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6365
6366         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6367         * editfns.c (make_time): New function.
6368         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6369         * lisp.h (make_time): Prototype and comment it.
6370         * dired.c (wasteful_word_to_lisp): Deprecate.
6371         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6372
6373 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6374
6375         * fileio.c (auto_save_1): Use current coding system, not
6376         escape-quoted.
6377
6378 2001-11-13  Ben Wing  <ben@xemacs.org>
6379
6380         * window.c:
6381         * window.c (window_truncation_on):
6382         * window.c (syms_of_window):
6383         truncate-partial-width-windows should respect the buffer being
6384         displayed, like other redisplay vars.
6385
6386 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6387
6388         * event-stream.c (Fread_key_sequence): save current buffer.
6389
6390 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6391
6392         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6393
6394 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6395
6396         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6397
6398 2001-10-26  Mike Alexander  <mta@arbortext.com>
6399
6400         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6401
6402 2001-10-25  Andy Piper  <andy@xemacs.org>
6403
6404         * ChangeLog:
6405         * dialog-msw.c (handle_directory_proc): new function.
6406          (handle_directory_dialog_box): new fucntion.
6407          (handle_file_dialog_box): use new directory dialog support.
6408          (mswindows_make_dialog_box_internal): ditto.
6409         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6410         handling.
6411         (mswindows_find_frame): make global.
6412         * fileio.c (Fexpand_file_name): build fix.
6413         * general-slots.h: add Qdirectory.
6414         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6415         handling.
6416         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6417         cygwin not leaving win32 paths unchanged.
6418         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6419         cygwin runtime to do path conversion.
6420         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6421         (syms_of_win32): add new function.
6422         * window.c (window_loop): build fix.
6423
6424 2001-10-15  Andy Piper  <andy@xemacs.org>
6425
6426         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6427
6428 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6429
6430         * XEmacs 21.4.5 "Civil Service" is released.
6431
6432 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6433
6434         * glyphs-x.c: Force buffer-tab highlight update when moving the
6435         buffer, avoiding an ugly black border, used for keyboard focus
6436         indication, on a widget that can never have keyboard focus, the
6437         buffer tab.
6438
6439 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6440
6441         * process-unix.c (unix_open_multicast_group): Remove too much
6442         conversion between host and network byte order.
6443
6444 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6445
6446         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6447         before replacing them.
6448
6449         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6450         operation.
6451
6452         * src/window.c (undedicate_windows): Use it.
6453         * src/window.h: Add prototype.
6454
6455 2001-09-17  Ben Wing  <ben@xemacs.org>
6456
6457         * fileio.c (normalize_filename):
6458         * fileio.c (Fexpand_file_name):
6459         Fix various C++ compile errors in Andy's recent code.
6460         
6461         * callint.c (Fcall_interactively):
6462         * editfns.c (Ftemp_directory):
6463         * editfns.c (Fuser_full_name):
6464         * emacs.c (argmatch):
6465         * lread.c (locate_file_map_suffixes):
6466         * redisplay-x.c (x_ring_bell):
6467         Fix sign-compare warnings.
6468         
6469 2001-09-08  Andy Piper  <andy@xemacs.org>
6470
6471         * fileio.c (normalize_filename): copied from nt.c
6472         * (Ffile_name_directory): enable win32 paths under cygwin.
6473         * (Ffile_name_nondirectory): ditto.
6474         * (directory_file_name): ditto.
6475         * (Fexpand_file_name): ditto.
6476         * (Ffile_truename): ditto.
6477         * (Fsubstitute_in_file_name): ditto.
6478         * (Ffile_name_absolute_p): ditto.
6479         * (Ffile_readable_p): ditto.
6480
6481 2001-09-08  Andy Piper  <andy@xemacs.org>
6482
6483         * device-msw.c (mswindows_finish_init_device): remove dde
6484         initialization.
6485         * device-msw.c (mswindows_init_dde): factor out from
6486         mswindows_finish_init_device()
6487         * device-msw.c (init_mswindows_very_early): new function
6488         initialize but don't enable dde.
6489         * emacs.c (main_1): call init_mswindows_very_early.
6490         * event-msw.c:
6491         * event-msw.c (mswindows_dde_callback): only execute when we are
6492         ready.
6493         * symsinit.h: declare init_mswindows_very_early.
6494
6495 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6496
6497         [sjt: This has been in 21.5 for months with no complaints.]
6498
6499         * console.h (struct console_methods): Added flags member.
6500         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6501         (CONMETH_IMPL_FLAG):
6502         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6503         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6504
6505         * device.c (window_system_pixelated_geometry): Use the above macros.
6506
6507         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6508         implememntation flag.
6509         * device.h (DEVICE_DISPLAY_P): Use it.
6510
6511         * frame.c (delete_frame_internal): Use the above macro.
6512
6513         * redisplay.c (redisplay_device): Use it.
6514         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6515         (redisplay_frame): Ditto.
6516
6517         * device-msw.c (mswindows_device_implementation_flags): Removed.
6518         (msprinter_device_implementation_flags): Removed.
6519         (console_type_create_device_mswindows): Removed references to
6520         implementation_flags methods, set implementation flags here.
6521         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6522
6523         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6524         (console_type_create_device_gtk): Removed method declaration.
6525         Added commented out statement which semantically matches the
6526         commented out statement in the above removed method.
6527
6528 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6529
6530         The attached patch fixes a few warnings. 
6531
6532         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6533         * src/frame-gtk.c: guard against GNOME calls in GTK only
6534         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6535         * src/select-gtk.c: prototype lisp_to_time
6536
6537 2001-06-08  Ben Wing  <ben@xemacs.org>
6538
6539         ------ gc-in-window-procedure fixes ------
6540         
6541         * alloc.c:
6542         * alloc.c (struct post_gc_action):
6543         * alloc.c (register_post_gc_action):
6544         * alloc.c (run_post_gc_actions):
6545         * alloc.c (garbage_collect_1):
6546         Create "post-gc actions", to avoid those dreaded "GC during window
6547         procedure" problems.
6548
6549         * event-msw.c:
6550         Abort, clean and simple, when GC in window procedure.  We want
6551         to flush these puppies out.
6552
6553         * glyphs-msw.c:
6554         * glyphs-msw.c (finalize_destroy_window):
6555         * glyphs-msw.c (mswindows_finalize_image_instance):
6556         Use a post-gc action when destroying subwindows.
6557
6558         * lisp.h:
6559         Declare register_post_gc_action().
6560
6561         * scrollbar-msw.c:
6562         * scrollbar-msw.c (unshow_that_mofo):
6563         Use a post-gc action when unshowing scrollbar windows, if in gc.
6564
6565         * redisplay.c (mark_redisplay):
6566         Add comment about the utter evilness of what's going down here.
6567
6568         ------ cygwin setitimer fixes ------
6569         
6570         * Makefile.in.in (sheap_objs):
6571         * Makefile.in.in (profile_objs):
6572         * Makefile.in.in (objs):
6573         Compile profile.c only when HAVE_SETITIMER.
6574         
6575         * nt.c (mswindows_sigset):
6576         * nt.c (mswindows_sighold):
6577         * nt.c (mswindows_sigrelse):
6578         * nt.c (mswindows_sigpause):
6579         * nt.c (mswindows_raise):
6580         * nt.c (close_file_data):
6581         Style fixes.
6582         
6583         * nt.c:
6584         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6585         
6586         * profile.c:
6587         * profile.c (Fstart_profiling):
6588         * profile.c (Fstop_profiling):
6589         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6590         instead of just plain setitimer().
6591         
6592         * signal.c:
6593         * signal.c (set_one_shot_timer):
6594         * signal.c (alarm):
6595         Define qxe_setitimer() as an encapsulation around setitimer() --
6596         call setitimer() directly unless Cygwin or MS Win, in which case
6597         we use our simulated version in win32.c.
6598         
6599         * systime.h:
6600         * systime.h (struct itimerval):
6601         * systime.h (ITIMER_REAL):
6602         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6603         comment about "qxe" and the policy regarding encapsulation.
6604
6605         * win32.c:
6606         * win32.c (setitimer_helper_proc):
6607         * win32.c (setitimer_helper_period):
6608         * win32.c (setitimer_helper):
6609         * win32.c (mswindows_setitimer):
6610         Move setitimer() emulation here, so Cygwin can use it.
6611         Rename a couple of functions and variables to be longer and more
6612         descriptive.  In setitimer_helper_proc(), send the signal
6613         using either mswindows_raise() or (on Cygwin) kill().  If for
6614         some reason we are still getting lockups, we'll change the kill()
6615         to directly invoke the signal handlers.
6616
6617         ------ windows shell fixes ------
6618         
6619         * callproc.c:
6620         * ntproc.c:
6621         Comments about how these two files must die.
6622
6623         * callproc.c (init_callproc):
6624         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6625         not just COMSPEC. (more correct and closer to FSF.) Don't
6626         force a value for SHELL into the environment. (Comments added
6627         to explain why not.)
6628         
6629         * nt.c (init_user_info):
6630         Don't shove a fabricated SHELL into the environment.  See above.
6631
6632 2001-06-01  Ben Wing  <ben@xemacs.org>
6633
6634         * Makefile.in.in (ldflags):
6635         eliminate that pesky "defaulting to 00401000" warning.
6636         * nt.h:
6637         eliminate warnings.
6638
6639 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6640
6641         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6642         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6643
6644 2001-04-24  Jerry James <james@xemacs.org>
6645
6646         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6647         correct order.
6648
6649 2001-06-01  Ben Wing  <ben@xemacs.org>
6650
6651         * event-msw.c (debug_mswin_messages):
6652         conditionalize the messages that were causing compile errors.
6653         (if only macros could generate #ifdef statements ...)
6654
6655 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6656
6657         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6658
6659 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6660
6661         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6662
6663 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6664
6665         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6666         * process-unix.c (unix_canonicalize_host_name):
6667         sysdep.c (init_system_name):
6668         Use it to conditionally support IPv6 canonicalization.
6669
6670 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6671
6672         * event-msw.c:
6673         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6674
6675 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6676
6677         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6678         attempt is made to scroll when no scroll bar is available.
6679
6680 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6681
6682         * input-method-motif.c (XIM_delete_frame): New callback.
6683         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6684         got deleted from 21.4.3.)
6685
6686 2001-06-01  Ben Wing  <ben@xemacs.org>
6687
6688         * nt.c (mswindows_utime):
6689         * nt.c (close_file_data):
6690         fix off-by-one-indirection error.
6691
6692 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6693
6694         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6695         because set_file_times() now takes Lisp_Object path, instead of
6696         char*.
6697         * nt.c: Include buffer.h.
6698         * nt.c (convert_from_time_t): New.
6699         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6700         not set mtime correctly.
6701         * nt.h: Declare mswindows_utime().
6702         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6703         path, instead of char*.
6704         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6705
6706 2001-05-30  Ben Wing  <ben@xemacs.org>
6707
6708         For 21.4:
6709
6710         (Stephen, just take all event-msw.c patches.  This includes
6711         the "iconify" fix below.)
6712
6713         * event-msw.c:
6714         * event-msw.c (mswindows_dequeue_dispatch_event):
6715         * event-msw.c (assert):
6716         * event-msw.c (emacs_mswindows_quit_p):
6717         * event-msw.c (debug_mswin_messages):
6718         * event-msw.c (debug_output_mswin_message):
6719         * event-msw.c (vars_of_event_mswindows):
6720         Fix yet more problems with C-g handling.
6721         Implement debug-mswindows-events.
6722         
6723 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6724
6725         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6726         
6727 2001-05-23  Ben Wing  <ben@xemacs.org>
6728
6729         * event-msw.c (winsock_writer):
6730         * event-msw.c (winsock_closer):
6731         prior kludgy code was clobbering the buffer, thinking it was
6732         "unused" space to store an unneeded return value; instead, use
6733         the variable we've already got staring us in the face.
6734
6735 2001-05-17  Andy Piper  <andy@xemacs.org>
6736
6737         * sysfile.h: don't assume that file attributes are boolean
6738
6739 2001-05-23  Ben Wing  <ben@xemacs.org>
6740
6741         * device-msw.c (msprinter_init_device):
6742         signal an error rather than crash with an unavailable network
6743         printer (from Mike Alexander).
6744         
6745         * event-msw.c:
6746         * event-msw.c (struct winsock_stream):
6747         * event-msw.c (winsock_writer):
6748         * event-msw.c (winsock_closer):
6749         * event-msw.c (make_winsock_stream_1):
6750         cleanup headers.  fix (hopefully) an error with data corruption
6751         when sending to a network connection.
6752
6753         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6754         to handle the ~user prefix by (a) always assuming we're referencing
6755         ourselves and not even verifying the user -- hence any file with
6756         a tilde as its first char is invalid! (b) if there wasn't a slash
6757         following the filename, the pointer was set *past* the end of
6758         file and we started reading from uninitialized memory.  Now we
6759         simply treat these as files, always.
6760
6761         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6762         
6763 2001-05-19  Ben Wing  <ben@xemacs.org>
6764
6765         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6766
6767         * process-nt.c:
6768         * process-nt.c (vars_of_process_nt):
6769         remove unused mswindows-quote-process-args.  rec for 21.4.
6770         
6771 2001-05-12  Ben Wing  <ben@xemacs.org>
6772
6773         * event-msw.c (mswindows_dde_callback):
6774         * event-msw.c (mswindows_wnd_proc):
6775         eliminate cygwin warnings.
6776
6777 2001-05-06  Ben Wing  <ben@xemacs.org>
6778
6779         * console-msw.h:
6780         * device-msw.c:
6781         * device-msw.c (print_dialog_worker):
6782         * device-msw.c (mswindows_handle_print_dialog_box):
6783         * device-msw.c (syms_of_device_mswindows):
6784         * dialog-msw.c (mswindows_make_dialog_box_internal):
6785         * general-slots.h:
6786         implement printing the selection when it's selected.
6787
6788 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6789
6790         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6791
6792 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6793
6794         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6795         EMACS_INT is signed.
6796
6797 2001-04-15  Michael Lausch  <mla@1012surf.net>
6798
6799         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6800         gtk_widget_request_size() to give scrollbar >0 width for
6801         GTK >1.2.8.
6802
6803 2001-05-30  William M. Perry  <wmperry@gnu.org>
6804
6805         * event-gtk.c: Check for buttons as modifier keys.
6806
6807 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6808
6809         * s\mingw32.h:
6810         Properly find MinGW's <process.h> inside Cygwin's restructured
6811         include directories.  Don't try to include <cygwin/version.h>
6812         since we are dropping support for MinGW in versions of Cygwin
6813         earlier than b21.
6814         * nt.c:
6815         Drop support for MinGW in versions of Cygwin before b21.
6816         * sysdep.c:
6817         Properly find MinGW's <process.h> inside Cygwin's restructured
6818         include directories.
6819         * syswindows.h:
6820         Drop support for MinGW in versions of Cygwin before b21.
6821         * unexcw.c:
6822         Even though a.out.h is no longer detected by configure, allow
6823         MinGW to use it until we figure out how to do the job with Win32.
6824
6825 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6826
6827         * syntax.c (find_start_of_comment):
6828         Fix `unbalanced parentheses' bug when dealing with mixed comment
6829         styles in c++/java/etc. mode
6830
6831 2001-05-29  Mike Alexander  <mta@arbortext.com>
6832
6833         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6834         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6835
6836 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6837
6838         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6839
6840 2001-03-31  Mike Sperber <mike@xemacs.org>
6841
6842         * search.c (Freplace_match): Support FSF-style specification of
6843         match subexpression when applied to a buffer.
6844
6845 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6846
6847         * event-stream.c (is_scrollbar_event): add missing semicolon
6848
6849 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6850
6851         * Makefile.in.in: Use TAR macro instead of hardcoding
6852           tar.  Allows use of GNU tar instead of system tar
6853
6854 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6855
6856         * event-stream.c (is_scrollbar_event): add missing semicolon
6857
6858 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6859
6860         * XEmacs 21.4.3 "Academic Rigor" is released.
6861
6862 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6863
6864         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6865
6866 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6867
6868         * buffer.c (Vcase_fold_search): Remove obsolete
6869           comment about non ASCII case-fold-search.  This
6870           bug has been fixed by case-table changes.
6871
6872 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6873
6874         * event-msw.c: Restore include of events-mod.h.
6875
6876 2001-04-22   zhaoway  <zw@debian.org>
6877
6878         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6879         !HAVE_SCROLLBARS.
6880
6881 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6882
6883         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6884
6885 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6886
6887         * mule-charset.c (Fmake_charset): Add missing else.
6888
6889 2001-04-23  Ben Wing  <ben@xemacs.org>
6890
6891         * event-msw.c (FAKE_MOD_QUIT):
6892         * event-msw.c (mswindows_dequeue_dispatch_event):
6893         * event-msw.c (mswindows_wnd_proc):
6894         * event-msw.c (emacs_mswindows_quit_p):
6895         Get critical quit working.
6896
6897 2001-05-05  Ben Wing  <ben@xemacs.org>
6898
6899         * console-msw.h:
6900         * device-msw.c:
6901         * device-msw.c (mswindows_get_default_margin):
6902         * frame-msw.c (mswindows_size_frame_internal):
6903         * frame-msw.c (msprinter_init_frame_1):
6904         * frame-msw.c (vars_of_frame_mswindows):
6905         Change top/bottom margin defaults to 0.5 inches.
6906
6907 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6908
6909         Fix link error with gcc 3.0 on Linux.
6910         * terminfo.c (UP): Remove.
6911         * terminfo.c (BC): Remove.
6912         * terminfo.c (PC): Remove.
6913         They weren't used, and in any case, these symbols should be
6914         defined in the *library*.
6915
6916 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6917
6918         * s/aix4.h: Fix crash with xlc -O3.
6919         Improve comment explaining how -O3 works.
6920
6921 2001-04-15  Ben Wing  <ben@xemacs.org>
6922
6923         * event-stream.c:
6924         * event-stream.c (Fnext_event):
6925         * event-stream.c (is_scrollbar_event):
6926         * event-stream.c (execute_command_event):
6927         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6928         crash' problem.  His fix introduces other problems.  We filter
6929         out scrollbar events specifically, making them somewhat invisible
6930         to command-building, and not appearing in `this-command-keys'.
6931         More work is still needed (see comments in event-stream.c), but
6932         this fixes all the major problems.
6933
6934 2001-04-20  Ben Wing  <ben@xemacs.org>
6935
6936         * .cvsignore: Added stuff for Windows.
6937
6938 2001-04-28  Ben Wing  <ben@xemacs.org>
6939
6940         * buffer.c (Ferase_buffer):
6941         * editfns.c (buffer_insert1):
6942         * editfns.c (Finsert_before_markers):
6943         * editfns.c (Finsert_string):
6944         * editfns.c (Finsert_char):
6945         * editfns.c (Fdelete_region):
6946         * editfns.c (Fwiden):
6947         * editfns.c (Fnarrow_to_region):
6948         remove bogus lines setting zmacs_region_stays to 0.
6949         
6950 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6951
6952         * process-unix.c (unix_open_network_stream): If connect() fails
6953         invalidate file descriptor after closing it.
6954
6955 2001-03-08  Mike Alexander  <mta@arbortext.com>
6956
6957         * event-msw.c (mswindows_need_event_in_modal_loop):
6958         Don't dispatch a message if we didn't get one.
6959         (mswindows_need_event):
6960         Terminate the correct process when one exits instead of the first
6961         one on Vprocess_list and look for process termination when in
6962         mswindows_protect_modal_loop.
6963
6964 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6965
6966         * XEmacs 21.4.1 "Copyleft" is released.
6967
6968 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6969
6970         * input-method-motif.c (XIM_delete_frame): New callback.
6971         (XIM_init_frame): Register it.
6972
6973 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6974
6975         * XEmacs 21.4.0 "Solid Vapor" is released.
6976
6977 2001-04-15  Ben Wing  <ben@xemacs.org>
6978
6979         * cmdloop.c (call_command_loop):
6980         Fix braino in bit-rotting code.
6981         
6982 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6983
6984         * extents.c (Fset_extent_endpoints): Force creation of extent info
6985         in buffer_or_string.
6986
6987         * extents.c (process_extents_for_insertion_mapper): Correctly
6988         check for open-open zero-length extents.
6989
6990 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6991
6992         * lisp.h: New typedefs Memory_count, Element_count.
6993         * regex.c:
6994         * regex.h:
6995         Sign-compare warning elimination: several unsigned -> signed.
6996         Based on work by Ben Wing <ben@xemacs.org>.
6997
6998 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6999
7000         * XEmacs 21.2.47 "Zephir" is released.
7001
7002 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7003
7004         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7005
7006 2001-04-03  Mike Sperber <mike@xemacs.org>
7007
7008         * search.c: Revert previous patch due because of release.
7009
7010 2001-03-30  Ben Wing  <ben@xemacs.org>
7011
7012         * s\cygwin32.h:
7013         Add missing killpg prototype.
7014
7015         * elhash.c:
7016         Add a comment about fixing problems when a new entry is added
7017         while mapping.
7018
7019         * frame-msw.c (mswindows_init_frame_1):
7020         Fix compile warnings.
7021
7022         * menubar.c (vars_of_menubar):
7023         Provide `menu-accelerator-support' to indicate that we properly
7024         support %_ in menu specifications, so that package code can
7025         conditionalize on this (and remove %_ from menu specifications
7026         on older versions).
7027
7028         * event-msw.c:
7029         * scrollbar-msw.c:
7030         * scrollbar-msw.c (can_scroll):
7031         * scrollbar-msw.h:
7032         Fix handling of mouse wheel under Windows to follow standards --
7033         now scrolls window under pointer, not selected window.
7034
7035 2001-03-31  Mike Sperber <mike@xemacs.org>
7036
7037         * search.c (Freplace_match): Support FSF-style specification of
7038         match subexpression when applied to a buffer.
7039
7040 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7041
7042         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7043         function to modify KEYMAP, so map over a copy of the hash table.
7044
7045 2001-03-21  Martin Buchholz <martin@xemacs.org>
7046
7047         * XEmacs 21.2.46 "Urania" is released.
7048
7049 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7050
7051         * realpath.c (xrealpath): Make file-truename work with symlinks to
7052         /cygdrive paths on cygwin. Always lowercase drive-letters on
7053         native windows.
7054         (cygwin_readlink): Don't try to find canonical filename unless
7055         file exists.
7056
7057 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7058
7059         * ChangeLog: Log GTK merge.
7060
7061         * dumper.c:
7062         * select-x.c:
7063         * specifier.c:
7064         * symeval.h:
7065         Revert gratuitous whitespace changes from GTK merge.
7066
7067         * emacs.c: Document end of complex #ifdef @ l. 1495.
7068
7069
7070 2001-03-12  Andy Piper  <andy@xemacs.org>
7071
7072         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7073         have to do likewise.
7074
7075 2001-03-12  Andy Piper  <andy@xemacs.org>
7076
7077         * sysdep.c: we only support mingw now.
7078
7079 2001-03-09  Andy Piper  <andy@xemacs.org>
7080
7081         * unexcw.c (copy_executable_and_dump_data_section): making approx
7082         overrun a warning only.
7083
7084 2001-03-10  William M. Perry  <wmperry@aventail.com>
7085
7086         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7087         satisfy Stephen's identical-after-cpp plea.
7088
7089 2001-03-02  Ben Wing  <ben@xemacs.org>
7090
7091         * cmds.c:
7092         * cmds.c (Fforward_char):
7093         * syntax.c:
7094         * window.c:
7095
7096         Augment documentation of the most common motion commands to make
7097         note of the shifted-motion support.
7098         
7099 2001-03-02  Ben Wing  <ben@xemacs.org>
7100
7101         * nt.c (mswindows_fstat):
7102         * nt.c (mswindows_stat):
7103         * search.c (boyer_moore):
7104         Fix compile warnings under Windows.
7105         
7106         * sysdep.c (sys_readdir):
7107         Fix buggy filename-conversion code under Mule.
7108
7109 2001-03-09  William M. Perry  <wmperry@aventail.com>
7110
7111         * Makefile.in.in:
7112         * config.h.in:
7113         * console.c:
7114         * console.h:
7115         * device.c:
7116         * device.h:
7117         * dragdrop.c:
7118         * emacs.c:
7119         * event-stream.c:
7120         * events.c:
7121         * events.h:
7122         * faces.c:
7123         * frame.h:
7124         * general-slots.h:
7125         * glyphs.c:
7126         * gutter.c:
7127         * inline.c:
7128         * lisp.h:
7129         * lrecord.h:
7130         * make-src-depend:
7131         * redisplay-output.c:
7132         * redisplay.c:
7133         * symsinit.h:
7134         * sysfile.h:
7135         * toolbar.c:
7136         * window.c:
7137         The Great GTK Merge.
7138
7139         * ChangeLog.GTK:
7140         * console-gtk.c:
7141         * console-gtk.h:
7142         * device-gtk.c:
7143         * emacs-marshals.c:
7144         * emacs-widget-accessors.c:
7145         * event-gtk.c:
7146         * frame-gtk.c:
7147         * gccache-gtk.c:
7148         * gccache-gtk.h:
7149         * glade.c:
7150         * glyphs-gtk.c:
7151         * glyphs-gtk.h:
7152         * gtk-glue.c:
7153         * gtk-xemacs.c:
7154         * gtk-xemacs.h:
7155         * gui-gtk.c:
7156         * gui-gtk.h:
7157         * menubar-gtk.c:
7158         * native-gtk-toolbar.c:
7159         * objects-gtk.c:
7160         * objects-gtk.h:
7161         * redisplay-gtk.c:
7162         * scrollbar-gtk.c:
7163         * scrollbar-gtk.h:
7164         * select-gtk.c:
7165         * toolbar-gtk.c:
7166         * ui-byhand.c:
7167         * ui-gtk.c:
7168         * ui-gtk.h:
7169         The Great GTK Merge: new files.
7170
7171 2001-02-26  Ben Wing  <ben@xemacs.org>
7172
7173         Reapplied Lstream change.
7174
7175 2001-02-26  Ben Wing  <ben@xemacs.org>
7176
7177         Undid the last change, since it is more controversial than I
7178         thought.  It should be back in at some point soon.
7179         
7180 2001-02-25  Ben Wing  <ben@xemacs.org>
7181
7182         * buffer.c:
7183         * callproc.c (Fold_call_process_internal):
7184         * event-msw.c (ntpipe_slurp_reader):
7185         * event-msw.c (ntpipe_shove_writer):
7186         * event-msw.c (winsock_reader):
7187         * event-msw.c (winsock_writer):
7188         * file-coding.c:
7189         * file-coding.c (detect_eol_type):
7190         * file-coding.c (detect_coding_type):
7191         * file-coding.c (determine_real_coding_system):
7192         * file-coding.c (Fdetect_coding_region):
7193         * file-coding.c (decoding_reader):
7194         * file-coding.c (decoding_writer):
7195         * file-coding.c (mule_decode):
7196         * file-coding.c (Fdecode_coding_region):
7197         * file-coding.c (encoding_reader):
7198         * file-coding.c (encoding_writer):
7199         * file-coding.c (mule_encode):
7200         * file-coding.c (Fencode_coding_region):
7201         * file-coding.c (detect_coding_sjis):
7202         * file-coding.c (decode_coding_sjis):
7203         * file-coding.c (encode_coding_sjis):
7204         * file-coding.c (detect_coding_big5):
7205         * file-coding.c (decode_coding_big5):
7206         * file-coding.c (encode_coding_big5):
7207         * file-coding.c (detect_coding_ucs4):
7208         * file-coding.c (decode_coding_ucs4):
7209         * file-coding.c (encode_coding_ucs4):
7210         * file-coding.c (detect_coding_utf8):
7211         * file-coding.c (decode_coding_utf8):
7212         * file-coding.c (encode_coding_utf8):
7213         * file-coding.c (detect_coding_iso2022):
7214         * file-coding.c (decode_coding_iso2022):
7215         * file-coding.c (encode_coding_iso2022):
7216         * file-coding.c (decode_coding_no_conversion):
7217         * file-coding.c (encode_coding_no_conversion):
7218         * glyphs-x.c (write_lisp_string_to_temp_file):
7219         * gpmevent.c (tty_get_foreign_selection):
7220         * lisp.h:
7221         * lstream.c:
7222         * lstream.c (Lstream_flush_out):
7223         * lstream.c (Lstream_adding):
7224         * lstream.c (Lstream_write_1):
7225         * lstream.c (Lstream_write):
7226         * lstream.c (Lstream_raw_read):
7227         * lstream.c (Lstream_read_more):
7228         * lstream.c (Lstream_read):
7229         * lstream.c (Lstream_unread):
7230         * lstream.c (Lstream_fputc):
7231         * lstream.c (stdio_reader):
7232         * lstream.c (stdio_writer):
7233         * lstream.c (filedesc_reader):
7234         * lstream.c (filedesc_writer):
7235         * lstream.c (lisp_string_reader):
7236         * lstream.c (struct fixed_buffer_stream):
7237         * lstream.c (make_fixed_buffer_input_stream):
7238         * lstream.c (make_fixed_buffer_output_stream):
7239         * lstream.c (fixed_buffer_reader):
7240         * lstream.c (fixed_buffer_writer):
7241         * lstream.c (struct resizing_buffer_stream):
7242         * lstream.c (resizing_buffer_writer):
7243         * lstream.c (dynarr_writer):
7244         * lstream.c (lisp_buffer_reader):
7245         * lstream.c (lisp_buffer_writer):
7246         * lstream.h:
7247         * lstream.h (lstream_implementation):
7248         * lstream.h (struct lstream):
7249         * md5.c (Fmd5):
7250         * process-nt.c (nt_send_process):
7251         * process-unix.c (unix_send_process):
7252         
7253         Correct Lstream lossage due to mixing of signed and unsigned
7254         quantities.  All Lstream uses of size_t and ssize_t are now a
7255         single signed data type Lstream_data_count.  This fixes problems
7256         under Windows with sending large quantities of data to a process,
7257         and may well fix other subtle bugs.
7258
7259 2001-02-23  Martin Buchholz <martin@xemacs.org>
7260
7261         * XEmacs 21.2.45 "Thelxepeia" is released.
7262
7263 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7264
7265         * lisp-union.h (XSETINT): 
7266         (XSETCHAR):
7267         (XSETOBJ): 
7268         Reverse previous change of 2001-02-06.
7269
7270 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7271
7272         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7273         buffers.
7274         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7275         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7276         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7277         * regex.c (POS_AS_IN_BUFFER): removed
7278         * regex.c (re_search_2):
7279         * regex.c (re_match_2):
7280         Don't use an offset of 1 when calculating buffer positions, since
7281         `BI_BUF_BEGV' does it already.
7282
7283 2001-02-18  Wim Dumon  <wim@easics.be>
7284
7285         * insdel.c (prepare_to_modify_buffer): Also check for
7286         supersession when clash-detection is enabled. 
7287
7288 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7289
7290         * regex.c (re_match_2_internal):
7291         Convert temp characters from 'const unsigned char' to 're_char'.
7292         Fix crashing bug with extended characters under mule.
7293         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7294         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7295         font-lock, pdump, and new syntax-table code.
7296         * syntax.c (find_start_of_comment):
7297         (find_end_of_comment):
7298         (forward-comment):
7299         Fix crashing bugs involving moving beyond end of buffer.
7300         * syntax.c (find_start_of_comment):
7301         Fixed logic to allow proper detection of cases where the same
7302         character is used to end both a two-char comment start and a
7303         two-char comment end sequence. Fixes `(forward-comment -1)'.
7304         * syntax.c (find_start_of_comment):
7305         Return position just past last comment-end character for all cases
7306         (previously was only done for two-char comment-end sequences).
7307         * syntax.c (forward-comment):
7308         Take value returned from `find_end_of_comment', rather than
7309         incrementing it.
7310         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7311         Properly deal with BUFFERP (syntax_cache.object)
7312
7313 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7314
7315         * alloc.c (Fgarbage_collect): 
7316         * alloc.c (make_bit_vector_from_byte_vector):
7317         -Wsign-compare-correctness.
7318
7319 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7320
7321         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7322         (XSETCHAR): Likewise.
7323         (XSETOBJ): Likewise.
7324
7325 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7326
7327         * mule-canna.c (canna-func-delete_previous): 
7328         Rename to canna-func-delete-previous.
7329
7330 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7331
7332         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7333
7334 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7335
7336         * font-lock.c (find_context): Fix C++ compile errors introduced by
7337         recent patch
7338
7339 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7340
7341         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7342         pragma, but earlier ones barf on the same pragma.
7343
7344 2001-02-06  Mike Sperber <mike@xemacs.org>
7345
7346         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7347         `configure-mule-lisp-directory'.
7348
7349 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7350
7351         Make sure dump-id.c is compiled in the same way as other .c's.
7352         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7353         * dump-id.h: Remove.
7354         * emacs.c: Move dump-id.h into dumper.h.
7355         * dumper.h: Move dump-id.h into dumper.h.
7356         * Makefile.in.in:
7357         Use standard .c.o rule for building dump-id.o.
7358         Remove preprocessor flags from link command.
7359         Add dump-id.o to ${otherobjs} if PDUMP.
7360
7361 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7362
7363         Port FSF 20.7 syntax table improvements.
7364         * syntax.c.
7365         * syntax.h.
7366
7367         Fixups for new syntax table stuff.
7368         * dired.c: Include syntax.c.
7369         (Fdirectory_files): Initialize regex_match_object and
7370         regex_emacs_buffer.
7371         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7372         and Fget_char_property.
7373
7374         Use ported FSF 20.7 syntax table improvements.
7375         * font-lock.c.
7376         * regex.c.
7377         * search.c.
7378         
7379 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7380
7381         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7382         Unixware's enum boolean from sys/types.h.
7383
7384 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7385
7386         Fix support for building with latest Purify.
7387         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7388         (PURIFY_FLAGS): Likewise.
7389
7390 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7391
7392         * fileio.c (lisp_string_set_file_times): New.
7393         * fileio.c (Fcopy_file): Use it.
7394         Fixes bug:
7395         (copy-file filename non-ascii-filename t t)
7396         ==> No such file or directory, non-ascii-filename
7397
7398 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7399
7400         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7401         USHRT_MAX seems clearer than ~0 anyways.
7402
7403 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7404
7405         dumper improvements.  Inspired by Olivier.
7406         * dumper.c (pdump_max_align): New.
7407         * dumper.c (pdump_add_entry): Use pdump_max_align.
7408         * dumper.c (pdump_get_entry_list): Likewise.
7409         * dumper.c (pdump_scan_by_alignment): Likewise.
7410         Don't iterate through unnecessary alignments.
7411         * dumper.c (pdump_file_get): No need to align result of malloc().
7412         * dumper.c (pdump_mallocadr): Remove.  
7413         The result of malloc() is guaranteed to be maximally aligned.
7414         * dumper.c: s/elmt/elt/g;
7415         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7416         * dumper.c (pdump_alert_undump_object): Likewise.
7417         * dumper.c (pdump_align_table): 
7418         Don't support alignments > 64.
7419         Store ALIGNOF's, not shift counts, in table.
7420
7421 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7422
7423         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7424         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7425         * systime.h: Use HAVE_UTIME.
7426         * sysdep.c (struct utimbuf): Remove.
7427         * sysdep.c (set_file_times): Prefer utime() to utimes().
7428         * config.h.in (HAVE_UTIME): New.
7429         * config.h.in (HAVE_UTIME_H): Remove.
7430         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7431
7432 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7433
7434         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7435
7436 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7437
7438         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7439
7440 2001-02-08  Martin Buchholz <martin@xemacs.org>
7441
7442         * XEmacs 21.2.44 "Thalia" is released.
7443
7444 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7445
7446         Fixes crashes in kill-emacs on some systems.
7447         * process-unix.c (unix_kill_child_process):
7448         It's OK for kill() to fail with ESRCH.
7449
7450 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7451
7452         Contortions to make .gdbinit tricks work on most systems.
7453         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7454         * alloc.c (dbg_valmask): Make non-const.
7455         * alloc.c (dbg_typemask): Make non-const.
7456         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7457         * alloc.c (dbg_valbits): Make non-const.
7458         * alloc.c (dbg_gctypebits): Make non-const.
7459         * .gdbinit (decode_object): Make it work with AIX cc.
7460
7461 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7462
7463         * elhash.c (make_general_lisp_hash_table):
7464         Use simpler and more efficient calloc to clear entries.
7465
7466 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7467
7468         * window.c (window_scroll): Work around an AIX C compiler bug.
7469         Fixes 'scroll-up' does nothing problem with xlC.
7470
7471 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7472
7473         * .gdbinit: Remove obsolete comment.
7474
7475 2001-01-31  Mike Alexander  <mta@arbortext.com>
7476
7477         * select.c (Fown_selection_internal): Set owned_p for device
7478         method correctly.
7479
7480 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7481
7482         Port to g++ 2.97.
7483         "not" cannot be used as a macro name as it is an operator in C++
7484         * config.h.in: Stop #defining `not'.
7485         * chartab.c (check_category_char): not ==> not_p
7486         * chartab.h: Likewise.
7487         * regex.c (re_match_2_internal): Likewise.
7488
7489 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7490
7491         * lisp-disunion.h: Fix up comments.
7492
7493 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7494
7495         * keymap.c (define_key_check_and_coerce_keysym):
7496         (syms_of_keymap):
7497         Support mouse-6 and mouse-7 bindings in the obvious way.
7498
7499 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7500
7501         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7502
7503 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7504
7505         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7506         Previous patch missed DEFVAR_INT_MAGIC.
7507         Make sure future DEFVAR_foo use correct types.
7508         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7509         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7510         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7511         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7512         * (DEFVAR_INT): Likewise.
7513         * redisplay.c (vertical_clip): Should be of type Fixnum.
7514         * redisplay.c (horizontal_clip): Likewise.
7515         * lisp.h (dump_add_opaque_int): New.
7516         (dump_add_opaque_fixnum): New.
7517
7518 2001-01-29  Andy Piper  <andy@xemacs.org>
7519
7520         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7521         since they can be eval'ed
7522
7523 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7524
7525         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7526         Oops, XEmacs redefines `class'.  Use `typename' instead.
7527
7528 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7529
7530         * dumper.c: Fix C++ compile errors.
7531
7532 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7533
7534         * tparam.c: Use correct prototypes.
7535
7536 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7537
7538         * sysproc.h: #include util.h for NetBSD's openpty.
7539
7540 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7541
7542         More 64-bit correctness.
7543         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7544         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7545         Fix up comments.
7546         This finally finishes the 64-bit SGI port.
7547         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7548         * symbols.c: Fix up comments and type casts.
7549         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7550         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7551         * symeval.h (Fixnum): New type.
7552         * symeval.h (symbol_value_type): Fix up comment.
7553
7554         * commands.h:
7555         * nt.c:
7556         * emacs.c:
7557         * data.c:
7558         * redisplay.c:
7559         * abbrev.c:
7560         * dired-msw.c:
7561         * event-Xt.c:
7562         * eldap.c:
7563         * window.c:
7564         * sound.c:
7565         * event-stream.c:
7566         * eval.c:
7567         * buffer.c:
7568         * mule-canna.c: A million DEFVAR_INTs here...
7569         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7570         * extents.c:
7571         * cmdloop.c:
7572         * lisp.h:
7573         * select-x.c:
7574         * console-x.h:
7575         * event-msw.c:
7576         * mule-wnnfns.c:
7577         * hpplay.c:
7578         * ralloc.c:
7579         * alloc.c:
7580         * keymap.c:
7581         * profile.c:
7582         s/int/Fixnum/g in DEFVAR_INT declarations.
7583
7584 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7585
7586         Port pdump to SGI alignment-sensitive environment.
7587         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7588         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7589         properly aligned.
7590         Define and use aligned reading and writing macros.
7591         Use buffered stdio instead of posix i/o for faster dumping.
7592         Eliminate kludgy 256 byte space for header.
7593         Read and write from dump file using structs for alignment safety.
7594         * dumper.c (pdump_align_stream): New.
7595         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7596         * dumper.c (PDUMP_READ_ALIGNED): New.
7597         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7598         * dumper.c (pdump_static_Lisp_Object): New struct.
7599         * dumper.c (pdump_static_pointer): New struct.
7600         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7601         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7602         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7603         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7604
7605         * dumper.c (pdump_backtrace):
7606         * dumper.c (pdump_get_indirect_count):
7607         * dumper.c (pdump_register_object):
7608         * dumper.c (pdump_register_struct):
7609         * dumper.c (pdump_reloc_one):
7610         * dumper.c (pdump_scan_by_alignment):
7611         * dumper.c (pdump_dump_from_root_struct_ptrs):
7612         * dumper.c (pdump_dump_opaques):
7613         * dumper.c (pdump_dump_rtables):
7614         * dumper.c (pdump_dump_from_root_objects):
7615         * dumper.c (pdump):
7616         * dumper.c (pdump_load_finish):
7617         Use aligned reading and writing.
7618
7619         * dumper.c (pdump_free): Make static.
7620         * dumper.c (pdump_hFile): Likewise.
7621         * dumper.c (pdump_hMap): Likewise.
7622
7623 2001-01-26  Martin Buchholz <martin@xemacs.org>
7624
7625         * XEmacs 21.2.43 "Terspichore" is released.
7626
7627 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7628
7629         Type fiddling for window_config.saved_windows_count
7630         * window.c (struct window_config): 
7631         Make saved_windows_count member unsigned.
7632         * window.c (sizeof_window_config_for_n_windows): 
7633         Make parameter unsigned.
7634         * window.c (mark_window_config):
7635         * window.c (window_config_equal):
7636         * window.c (free_window_configuration):
7637         * window.c (Fset_window_configuration):
7638         * window.c (count_windows):
7639         * window.c (Fcurrent_window_configuration):
7640         * window.c (reinit_vars_of_window):
7641         Update all callers and users.
7642
7643 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7644
7645         Alignment correctness for flexible arrays.
7646         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7647         Make alignment-correct. Add interesting comments.
7648         * alloc.c (size_vector):
7649         * alloc.c (make_vector_internal):
7650         * alloc.c (make_bit_vector_internal):
7651         * alloc.c (sweep_bit_vectors_1):
7652         * fns.c (size_bit_vector):
7653         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7654         * window.c (sizeof_window_config_for_n_windows): 
7655         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7656
7657 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7658
7659         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7660
7661 2001-01-23  Andy Piper  <andy@xemacs.org>
7662
7663         * select.c (Fown_selection_internal): pass owned_p
7664
7665         * select-msw.c (mswindows_own_selection): New Signature.
7666
7667         * console.h (struct console_methods): add owned_p to
7668         _own_selection.
7669
7670         * select-x.c (x_own_selection): pass owned_p
7671         (hack_motif_clipboard_selection): use owned_p
7672         (vars_of_select_x): new variable -
7673         x_selection_strict_motif_ownership.
7674
7675 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7676
7677         * specifier.h (specifier_data_offset): Remove pointless parens.
7678         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7679
7680 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7681
7682         Make Lisp_Object sizeof methods be alignment-correct.
7683         pdump must restore objects to the same alignment as the C compiler
7684         assumes.  It really matters on SGIs.
7685         * lstream.c (aligned_sizeof_lstream): New.
7686         (sizeof_lstream): Use aligned_sizeof_lstream.
7687         (Lstream_new): Likewise.
7688         * opaque.c (aligned_sizeof_opaque): New.
7689         (sizeof_opaque): Use aligned_sizeof_opaque.
7690         (make_opaque): Likewise.
7691         * specifier.c (aligned_sizeof_specifier): New.
7692         (sizeof_specifier): Use aligned_sizeof_specifier.
7693         (make_specifier_internal): Likewise.
7694
7695 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7696
7697         * lstream.h (struct lstream): Use max_align_t for trailing data.
7698         * specifier.h (struct Lisp_Specifier): Likewise.
7699
7700 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7701
7702         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7703         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7704         (CCL_SUSPEND): Likewise.
7705         (CCL_INVALID_CMD): Likewise.
7706         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7707         (ccl_driver): Likewise.
7708         (CCL_WRITE_CHAR): Macro hygiene.
7709         (CCL_WRITE_STRING): Macro hygiene.
7710
7711 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7712
7713         Port "portable" dumper to SunOS 4 and HP-UX.
7714         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7715         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7716         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7717
7718 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7719
7720         * lisp.h (ALIGNOF): A better definition for C++.
7721
7722 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7723
7724         Macro hygiene.
7725         Fix printf warnings: int format, long int arg.
7726         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7727         (PUSH_FAILURE_POINT): Use correct printf formats.
7728         (POP_FAILURE_POINT): Use correct printf formats.  
7729         Use do {...} while (0)
7730
7731 2001-01-20  Martin Buchholz <martin@xemacs.org>
7732
7733         * XEmacs 21.2.42 "Poseidon" is released.
7734
7735 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7736
7737         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7738
7739 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7740
7741         De-kludgify FIXED_TYPE free list frobbing.
7742         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7743         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7744         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7745         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7746         * alloc.c (LRECORD_FREE_P): New.
7747         * alloc.c (MARK_LRECORD_AS_FREE): New.
7748         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7749         * alloc.c (STRUCT_FREE_P): Deleted.
7750         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7751         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7752         * alloc.c (STRING_CHARS_FREE_P): New.
7753         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7754         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7755         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7756         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7757         * alloc.c (resize_string): Use new definitions.
7758         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7759         * alloc.c (verify_string_chars_integrity): Use new definitions.
7760         * alloc.c (compact_string_chars): Use new definitions.
7761         * alloc.c: Update monster comments.
7762         * lrecord.h (lrecord_type): Add some new lrecord types for
7763         alloc.c's use.
7764
7765 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7766
7767         Improve alignment hackery.
7768         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7769         (max_align_t): Moved from opaque.h - general purpose.
7770         (ALIGN_PTR): Use size_t, not long.
7771         * opaque.h (max_align_t): Move to lisp.h.
7772
7773 2001-01-18  Norbert Koch  <nk@LF.net>
7774
7775         * gui.h: Fix and add prototypes to fix build problems.
7776
7777 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7778
7779         temacs is going away, so `dump-temacs' is now a bad name.
7780         * .dbxrc (dump-temacs): Rename to `dmp'.
7781         * .gdbinit (dump-temacs): Rename to `dmp'.
7782
7783 2001-01-17  Andy Piper  <andy@xemacs.org>
7784
7785         * glyphs.c (print_image_instance): comment to make martin happy.
7786
7787         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7788         change.
7789
7790         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7791         activation.
7792         (mswindows_tab_control_redisplay): warning suppression.
7793
7794         * glyphs-widget.c (widget_update): re-write to cope with updated
7795         items.
7796         (widget_instantiate): use new gui_item functions.
7797         (tab_control_update): deleted.
7798         (progress_gauge_update): deleted.
7799         (image_instantiator_progress_guage): take out update reference.
7800         (image_instantiator_tree_view): ditto.
7801         (image_instantiator_tab_control): ditto.
7802
7803         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7804         Right the new way.
7805         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7806         return whether anything was changed.
7807         (update_gui_item_keywords): as it sounds.
7808
7809         * gui.h: declare widget_gui_parse_item_keywords.
7810
7811         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7812         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7813
7814 2001-01-17  Martin Buchholz <martin@xemacs.org>
7815
7816         * XEmacs 21.2.41 "Polyhymnia" is released.
7817
7818 2001-01-16  Didier Verna  <didier@xemacs.org>
7819
7820         * glyphs.c (image_instantiate): don't use fallbacks when
7821         instantiating a face's background pixmap by inheritance.
7822
7823 2001-01-14  Mike Sperber <mike@xemacs.org>
7824
7825         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7826         Conditionalize accordingly.
7827
7828 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7829
7830         * dumper.c (pdump_file_get): Fix a compiler warning.
7831
7832 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7833
7834         Make Purify happy when pdumping.
7835         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7836         iniitalizing all bits of new lisp object memory.
7837         * symbols.c (Fmake_local_variable): Likewise.
7838         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7839         * symbols.c (Fdefvaralias): Likewise.
7840         * mule-charset.c (vars_of_mule_charset): Likewise.
7841
7842 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7843         Add the `-nd' flag when running pre-dump operations under the debugger.
7844         * .dbxrc (run-temacs): Add `-nd'.
7845         * .dbxrc (update-elc): Likewise.
7846         * .dbxrc (dump-temacs): Likewise.
7847         * .gdbinit (run-temacs): Likewise.
7848         * .gdbinit (check-temacs): Likewise.
7849         * .gdbinit (update-elc): Likewise.
7850         * .gdbinit (dump-temacs): Likewise.
7851
7852 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7853
7854         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7855         export OBJECT_MODE=64
7856         configure --pdump --use-union-type=no
7857         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7858         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7859
7860         * miscplay.c (sndcnv8U_2mono):
7861         Avoid two uses of `++' in the same expression.
7862         Suppresses a GCC warning.
7863
7864 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7865
7866         Make sure future compilers don't miscompile alloc.c.
7867         * alloc.c:
7868         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7869         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7870
7871 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7872
7873         * dumper.c: A little post-pdump-rename comment fixup.
7874
7875 2001-01-09  Jerry James  <james@eecs.ku.edu>
7876
7877         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7878
7879 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7880
7881         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7882         script:
7883         #!/bin/sh
7884         replace_symbol () {
7885           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7886         }
7887
7888         replace_symbol pdump_wire_lists pdump_weak_object_chains
7889         replace_symbol pdump_wire_list dump_add_weak_object_chain
7890
7891         replace_symbol pdump_wires pdump_root_objects
7892         replace_symbol pdump_wire dump_add_root_object
7893
7894         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7895         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7896
7897         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7898         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7899         replace_symbol dumpstructinfo pdump_root_struct_ptr
7900         replace_symbol dumpstruct dump_add_root_struct_ptr
7901
7902         replace_symbol dumpopaque dump_add_opaque
7903         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7904         replace_symbol dumpopaqueinfos pdump_opaques
7905         replace_symbol dumpopaqueinfo pdump_opaque
7906
7907         replace_symbol nb_structdump nb_root_struct_ptrs
7908         replace_symbol nb_opaquedump nb_opaques
7909
7910         replace_symbol align_table pdump_align_table
7911         replace_symbol dump_header pdump_header
7912
7913         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7914         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7915
7916
7917 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7918
7919         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7920         optimizing bytecount_to_charcount().
7921
7922 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7923
7924         * config.h.in:
7925         (HAVE_DLFCN_H): Removed.
7926         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7927
7928 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7929
7930         Portable dumper maintainability improvements.
7931         * alloc.c (staticpro):
7932         * alloc.c (staticpro_nodump):
7933         * alloc.c (garbage_collect_1):
7934         * alloc.c (reinit_alloc_once_early):
7935         * alloc.c (init_alloc_once_early):
7936         * alloc.c: Move dumper functions to alloc.c.
7937         * dumper.c (pdump_backtrace):
7938         * dumper.c (pdump_dump_structs):
7939         * dumper.c (pdump_dump_opaques):
7940         * dumper.c (pdump_dump_rtables):
7941         * dumper.c (pdump_dump_wired):
7942         * dumper.c (pdump):
7943         * dumper.c (pdump_load_check):
7944         * dumper.c (pdump_load_finish):
7945         * dumper.c (pdump_file_unmap):
7946         * dumper.c (pdump_file_get):
7947         * dumper.c (pdump_resource_free):
7948         * dumper.c (pdump_resource_get):
7949         * dumper.c (pdump_file_free):
7950         * dumper.c (pdump_file_try):
7951         * dumper.c (pdump_load):
7952         Remove fixed size limits on staticpro(), staticpro_nodump(),
7953         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7954         Remove custom code for dumping lrecord_implementations_table - use
7955         dumpopaque instead.
7956         Remove (most of the) custom code for dumping staticpros - dump it
7957         like any other dynarr.
7958
7959         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7960         * dumper.c: Moved functions from alloc.c.
7961         * alloc.c (dumpstruct): Moved to dumper.c.
7962         * alloc.c (dumpopaque): Likewise.
7963         * alloc.c (pdump_wire): Likewise.
7964         * alloc.c (pdump_wire_list): Likewise.
7965
7966         * lisp.h (Dynarr_sizeof): New.
7967         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7968         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7969         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7970
7971         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7972         * lisp.h (dumpopaque): ditto.
7973         * lisp.h (pdump_wire): ditto.
7974         * lisp.h (pdump_wire_list): ditto.
7975
7976 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7977
7978         * make-src-depend (PrintPatternDeps):
7979         Use `sort' to make output independent of perl version.
7980
7981 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7982
7983         Port to Netbsd 1.5.
7984         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7985         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7986
7987 2001-01-03  Didier Verna  <didier@xemacs.org>
7988
7989         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7990         that `focus_frame' is alive before thinking of calling
7991         `redisplay_redraw_cursor' on it.
7992
7993 2001-01-08  Martin Buchholz <martin@xemacs.org>
7994
7995         * XEmacs 21.2.40 is released.
7996
7997 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7998
7999         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8000
8001 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8002
8003         * alloc.c (dbg_valmask): Make const.
8004         * alloc.c (dbg_typemask): Make const.
8005         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8006         * alloc.c (dbg_valbits): Make const.
8007         * alloc.c (dbg_gctypebits): Make const.
8008
8009 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8010
8011         * redisplay-x.c (x_bevel_area):
8012         redisplay.h (struct rune):
8013         Typo fixes in comments.
8014
8015 2001-01-05  Andy Piper  <andy@xemacs.org>
8016
8017         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8018         adjustment.
8019
8020         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8021
8022 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8023
8024         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8025
8026         * mule-ccl.c (stack_idx_of_map_multiple):
8027         Non const global data must not be initialized!
8028         Found by MIYASHITA Hisashi.
8029
8030 2001-01-02  Andy Piper  <andy@xemacs.org>
8031
8032         * frame.c (change_frame_size): make sure frame size is always
8033         marked as changed.
8034
8035         * glyphs.c (image_instance_layout): minor code reuse.
8036
8037         * window.c (Fcurrent_window_configuration): revert previous
8038         change.
8039
8040 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8041
8042         * glyphs.h:
8043         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8044
8045 2000-12-31  Andy Piper  <andy@xemacs.org>
8046
8047         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8048         when widget gets unmapped.
8049
8050         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8051         function. Make sure widgets losing focus don't just drop it.
8052         (handle_focus_event_1): record the widget with focus.
8053
8054 2000-12-31  Andy Piper  <andy@xemacs.org>
8055
8056         * window.c (allocate_window): use
8057         make_image_instance_cache_hash_table.
8058         (make_dummy_parent): ditto.
8059         (Fset_window_configuration): ditto.
8060
8061         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8062
8063         * glyphs.c (process_image_string_instantiator): use
8064         INSTANTIATOR_TYPE.
8065         (get_image_instantiator_governing_domain): ditto.
8066         (normalize_image_instantiator): ditto.
8067         (instantiate_image_instantiator): ditto.
8068         (make_image_instance_1): ditto.
8069         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8070         (instantiator_eq_equal): new function for use with instance hash
8071         tables.
8072         (instantiator_eq_hash): ditto.
8073         (make_image_instance_cache_hash_table): create a suitable hash
8074         table for storing image instances.
8075
8076         * elhash.h (hash_table_weakness): new internal weakness type
8077         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8078         declare new functions.
8079
8080         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8081         another weakness type for glyphs.
8082         (make_standard_lisp_hash_table): new function split out from
8083         make_general_lisp_hash_table.
8084         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8085         (hash_table_instantiate): ditto.
8086         (Fmake_hash_table): ditto.
8087
8088 2000-12-31  Martin Buchholz <martin@xemacs.org>
8089
8090         * XEmacs 21.2.39 is released.
8091
8092 2000-12-29  Andy Piper  <andy@xemacs.org>
8093
8094         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8095
8096         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8097         the frame has changed so that we pick up geometry changes such as
8098         menubar visibility.
8099
8100 2000-12-28  Andy Piper  <andy@xemacs.org>
8101
8102         * lastfile.c (my_ebss): make a char array so we can pad the
8103         bss. Fixes cygwin unexec.
8104
8105         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8106
8107 2000-12-26  Andy Piper  <andy@xemacs.org>
8108
8109         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8110         comments and try and be more precise about a non-/SIGIO world.
8111         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8112         SIGIO.
8113
8114         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8115         we don't normalize to zero width or height.
8116
8117 2000-12-24  Andy Piper  <andy@xemacs.org>
8118
8119         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8120
8121 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8122
8123         * s/sco5.h: SCO 5 has pty support.
8124
8125 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8126
8127         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8128         input-method-xlib.c contains whole contents of input-method-xfs.c,
8129         so we can use input-method-xlib.c's code for USE_XFONTSET
8130         using #ifdefs.
8131         * input-method-xfs.c: removed.
8132
8133 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8134
8135         * file-coding.h (enum coding_category_type): reorder enumerators to
8136         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8137         (now one greater than largest real coding_category_type enumerator).
8138         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8139         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8140         Fcoding_category_list, Fset_coding_priority_list,
8141         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8142         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8143
8144 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8145
8146         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8147         * redisplay-output.c (redisplay_output_window): Clear top of window
8148         when face is changed.
8149         * redisplay-x.c (x_redraw_exposed_window): Call
8150         redisplay_clear_top_of_window.
8151         * redisplay.h: Publish redisplay_clear_top_of_window.
8152
8153 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8154
8155         * buffer.c (Fkill_buffer): Map over all devices.
8156         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8157         (list_windows): New function.
8158         (list_all_windows): Ditto.
8159         (Freplace_buffer_in_windows): Use them.
8160
8161 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8162
8163         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8164         (Fopen_database): Use `db_create' instead of `db_open'.
8165         (syms_of_database): Initialize Qqueue.
8166
8167 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8168
8169         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8170         buffer_local_face_property.
8171         * buffer.h (struct buffer): New member buffer_local_face_property.
8172         * window.c (Fset_window_buffer):  Mark window's face as changed
8173         when buffer has buffer local face.
8174         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8175         * objects.c (color_after_change): Set buffer_local_face_property
8176         when locale of face specifier is buffer.
8177         * objects.c (font_after_change): Ditto.
8178         * objects.c (face_boolean_after_change): Ditto.
8179         * glyphs.c (image_after_change): Ditto.
8180
8181 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8182
8183         * nt.c (mswindows_fstat): Report file permissions, volume serial
8184         number, etc. Code adapted from FSF Emacs 20.7.
8185
8186 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8187
8188         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8189         of stat when we don't have symbolic links, to make sure
8190         mswindows_stat is called on mswindows.
8191
8192 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8193
8194         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8195
8196 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8197
8198         * doprnt.c (emacs_doprnt_1): More printing fixes.
8199         Make printing of numbers compatible with libc and FSF Emacs.
8200         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8201         Use the system printf to do most of the hard work of formatting,
8202         instead of doprnt_1().
8203         Calculate memory to allocate for format string.
8204         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8205         (doprnt_1): Cleaner code and documentation.
8206
8207 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8208
8209         * Makefile.in.in: Use the loop variable to install headers.
8210
8211 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8212
8213         * window.c (Fsplit_window): Don't invalidate face cache.
8214
8215 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8216
8217         * minibuf.c (Fall_completions): Undo the previous change
8218         which removed checking elements start with space.
8219
8220 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8221
8222         * mule-canna.c: Didier suppression.
8223
8224 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8225
8226         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8227         (warning suppression).  Add English comment translations.
8228
8229 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8230
8231         * unexelfsgi.c (unexec): Better test for mmap failure.
8232
8233 2000-12-05  Martin Buchholz <martin@xemacs.org>
8234
8235         * XEmacs 21.2.38 is released.
8236
8237 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8238
8239         * redisplay.c (bar-cursor): Make a user variable.
8240
8241         * symsinit.h: Add init_postgresql_from_environment.
8242
8243 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8244
8245         * regex.c: Convert to clean C.
8246
8247 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8248
8249         * realpath.c:
8250         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8251         initialization.
8252         (sys_readlink): renamed to system_readlink to avoid conflict with
8253         the other sys_readlink.
8254
8255 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8256
8257         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8258
8259 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8260
8261         * postgresql.c (init_postgresql_from_environment): new function.
8262         (vars_of_postgresql): Move code initializing Lisp variables out and
8263         into init_postgresql_from_environment.
8264         emacs.c (main_1): Call init_postgresql_from_environment if and only
8265         if running a dumped XEmacs.
8266
8267 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8268
8269         * buffer.c: Make find-file-compare-truenames default to true on
8270         windows.
8271
8272         * realpath.c (win32_abs_start):
8273         (cygwin_readlink):
8274         (win32_readlink): New functions.
8275         (xrealpath): Return really real filenames on windows.
8276
8277         * fileio.c (Ffile_truename): Make file-truename work on windows.
8278
8279 2000-11-29  Didier Verna  <didier@xemacs.org>
8280
8281         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8282         * faces.c (update_face_cachel_data): use it.
8283         * faces.c (add_face_cachel): use it. Complete background pixmap
8284         frobbing in face cache if `update_face_cachel_data' has not done so.
8285
8286 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8287
8288         * search.c (string_match_1): Don't set last_thing_searched
8289         when search failed.
8290
8291 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8292
8293         * buffer.c: Include casetab.h
8294         (common_init_complex_vars_of_buffer): Use new case-table object.
8295         * buffer.h: Include casetab.h
8296         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8297         (DOWNCASE_TABLE_OF): Ditto.
8298         * bufslots.h: Remove char-tables and add case-table.
8299         * casetab.c: Include casetab.h
8300         (CASE_TABLE_P): Removed.
8301         (mark_case_table): New function.
8302         (allocate_case_table): New function.
8303         (Fcase_table_p): Use new case-table.
8304         (case_table_char): New function.
8305         (Fget_case_table): Ditto.
8306         (Fput_case_table): Ditto.
8307         (Fput_case_table_pair): Ditto.
8308         (Fcopy_case_table): Ditto.
8309         (Fcurrent_case_table): Return case-table.
8310         (Fstandard_case_table): Return case-table.
8311         (Fset_case_table): Fix doc-string.
8312         (set_case_table): Use case-table
8313         (syms_of_casetab): DEFSUBR new functions.
8314         (complex_vars_of_casetab): Set up standard case-table.
8315         * casetab.h: New file.
8316         * editfns.c: Include casetab.h
8317         (Fcompare_buffer_substrings): Use case-table.
8318         * inline.c: Include casetab.h
8319         * lisp.h: Remove bogus extern.
8320         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8321         * search.c: Include casetab.h
8322         (TRANSLATE_ASCII): Removed.
8323         (TRANSLATE): Unconditionally translate character.
8324         (looking_at_1): Use case-table.
8325         (string_match_1): Ditto.
8326         (fast_string_match): Ditto.
8327         (search_command): Ditto.
8328         (search_buffer): Separate boyer_moore.  Check whether
8329         boyer_moore is possible.
8330         (simple_search): New function.
8331         (boyer_moore): Separated from search_buffer. Translate char.
8332
8333 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8334
8335         * regex.c (RE_TR_ASCII): Removed.
8336         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8337         (PATFETCH): Call PATFETCH_RAW.
8338         (PATFETCH_RAW): Fetch Emchar.
8339         (PATUNFETCH): Decrement charptr.
8340         (GET_BUFFER_SPACE): Rename b to buf_end.
8341         (BUF_PUSH): Ditto.
8342         (BUF_PUSH_2): Ditto.
8343         (BUF_PUSH_3): Ditto.
8344         (EXTEND_BUFFER): Ditto.
8345         (SET_LIST_BIT): Ditto.
8346         (regex_compile): Ditto.  Translate non ASCII char.
8347         (compile_range): Ditto.
8348         (re_search_2): Ditto.
8349         (re_match_2_internal): Compare Emchar.
8350         (bcmp_translate): Ditto.
8351
8352 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8353
8354         * lisp.h (basic char/int typedefs):  comment improvement.
8355
8356 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8357
8358         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8359         unstomp inhibit_site_lisp.  Improve comments.
8360
8361 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8362
8363         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8364
8365 2000-11-28  Andy Piper  <andy@xemacs.org>
8366
8367         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8368         clipped display for windows in the gutter also.
8369         (redisplay_display_boxes_in_window_p): change semantics of return
8370         codes to be more intuitive.
8371
8372         * gutter.h: declare display_boxes_in_gutter_p.
8373
8374         * gutter.c (display_boxes_in_gutter_p): new function for
8375         redisplay.
8376
8377 2000-11-22  Andy Piper  <andy@xemacs.org>
8378
8379         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8380         autodetect domain.
8381
8382 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8383
8384         * callproc.c (Fold_call_process_internal):
8385         * gpm.c (Freceive_gpm_event):
8386         (tty_get_foreign_selection): Might be just warning supression.
8387         * fileio.c (Fwrite_region_internal):
8388         (Fset_visited_file_modtime):
8389         * keymap.c (event_matches_key_specifier_p):
8390         Initialize GCPROed variable.
8391
8392         * menubar-x.c (command_builder_find_menu_accelerator):
8393         Initialize before use.
8394
8395 2000-11-23  Andy Piper  <andy@xemacs.org>
8396
8397         * unexcw.c (unexec): make the resulting executable executable.
8398
8399 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8400
8401         * doc.c (get_doc_string):
8402         Use size_t, not int, for result of XSTRING_LENGTH.
8403
8404         * cmds.c (Fdelete_char):
8405         * cmds.c (Fpoint_at_eol):
8406         * cmds.c (Fself_insert_command):
8407         Use EMACS_INT, not int, for result of XINT.
8408         Someday, someone will want to insert more than 2**31 identical characters.
8409
8410         * cmds.c (Fdelete_char):
8411         * cmds.c (Fdelete_backward_char):
8412         * syntax.c (Fforward_word):
8413         * syntax.c (Fforward_comment):
8414         Make COUNT argument optional, for consistency with forward-char et al.
8415
8416 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8417
8418         * lisp.h:
8419         * print.c (long_to_string):
8420         Return a useful value: the pointer at end of data written.
8421
8422         * doprnt.c:
8423         Use `static const char * const' for constant strings.
8424         (union printf_arg): Delete `i', `ui' members.
8425         (get_doprnt_args):
8426         (emacs_doprnt_1):
8427         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8428         Do all printf-ing via the `l' specifier.
8429         Use EMACS_INT instead of int.
8430         Optimize.
8431
8432 2000-11-20  Didier Verna  <didier@xemacs.org>
8433
8434         * faces.c (update_face_cachel_data): don't frob the background
8435         pixmap when the window is being created. The face is needed but
8436         does not exist yet.
8437
8438 2000-11-20  Andy Piper  <andy@xemacs.org>
8439
8440         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8441         messing with a debug environment.
8442
8443 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8444
8445         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8446
8447 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8448
8449         * casetab.c (Fcase_table_p): Fix compile error and crash.
8450
8451 2000-11-18  Philip Aston  <philipa@mail.com>
8452
8453         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8454
8455 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8456
8457         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8458         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8459
8460 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8461
8462         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8463         * unexelf.c: Use HAVE_ELF_H.
8464         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8465         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8466         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8467         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8468         for testing.
8469         So this is an unexelfsgi.c from a different line of development.
8470
8471 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8472
8473         * regex.c (RE_TR_ASCII): New function.
8474         (RE_TRANSLATE): Call it.
8475
8476 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8477
8478         * buffer.h (TRT_TABLE_OF): Remove assert.
8479         (IN_TRT_TABLE_DOMAIN): Removed.
8480
8481 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8482
8483         * free-hook.c (log_gcpro):
8484         (show_gcprohist): Add support for GCPRO5.
8485
8486 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8487
8488         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8489
8490 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8491
8492         * symeval.h: Declare flush_all_buffer_local_cache.
8493
8494         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8495         (flush_buffer_local_cache): Added.
8496         (flush_all_buffer_local_cache): Added.
8497
8498         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8499
8500         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8501         (pdump_dump_data): Ditto.
8502         (pdump_reloc_one): Ditto.
8503         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8504         before dumping.
8505
8506
8507 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8508
8509         * buffer.c: Remove if 0'ed entry.
8510         * buffer.h: Rewrite TRT to use char-table.
8511         * bufslots.h: Remove mirror tables.
8512         * casetab.c: Remove mirror tables.
8513         (CASE_TABLE_P): New macro.
8514         (Fcase_table_p): Element of a case table is string or char-table.
8515         (make_mirror_trt_table): Removed.
8516         (set_case_table): Setup char-table from strings for backward
8517         compatibility.
8518         * dired.c (Fdirectory_files):
8519         * dired-msw.c: (mswindows_get_files):
8520         * lisp.h: Change prototype of re_pattern_buffer.
8521         * regex.c: (RE_TRANSLATE): New macro.
8522         (TRANSLATE_P): Ditto.
8523         Change translate to type RE_TRANSLATE_TYPE.
8524         * regex.h: Define RE_TRANSLATE_TYPE
8525         * search.c (TRANSLATE): New macro.
8526         (TRANSLATE_ASCII): New macro.
8527         Translate table is changed to Lisp_Object.
8528         (signal_failure): Inhibit return.
8529
8530 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8531
8532         * device-msw.c:
8533         * eldap.c:
8534         * event-Xt.c:
8535         * event-stream.c:
8536         * print.c:
8537         Do UNGCPRO before return.
8538
8539 2000-11-14  Martin Buchholz <martin@xemacs.org>
8540
8541         * XEmacs 21.2.37 is released.
8542
8543 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8544
8545         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8546         Add comments about discarded return value.
8547
8548 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8549
8550         * callint.c:
8551         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8552
8553 2000-10-27  Andy Piper  <andy@xemacs.org>
8554
8555         * gutter.c (Fset_default_gutter_position): default left and right
8556         gutters to visible.
8557         (calculate_gutter_size): calculate resonable heuristic for left
8558         and right gutter sizes.
8559         (specifier_vars_of_gutter): change left and right gutter sizes to
8560         autodetect.
8561         (calculate_gutter_size_from_display_lines): new function.
8562         (output_gutter): check for resizing on left and right gutters.
8563         (clear_gutter): don't special case top and left gutters.
8564         (specifier_vars_of_gutter): use new signature for
8565         set_specifier_caching.
8566
8567         * glyphs-x.c (x_redisplay_widget): spelling fix.
8568         * glyphs.c (specifier_vars_of_glyphs):
8569         * menubar.c (specifier_vars_of_menubar):
8570         * redisplay.c (specifier_vars_of_redisplay):
8571         * toolbar.c (specifier_vars_of_toolbar):
8572         * window.c (specifier_vars_of_window):
8573         * scrollbar.c (specifier_vars_of_scrollbar):
8574         (complex_vars_of_scrollbar): use new signature for
8575         set_specifier_caching.
8576
8577         * specifier.c (set_specifier_caching): include recompute flag.
8578         (recompute_one_cached_specifier_in_window): always recompute if
8579         flag set.
8580         (recompute_one_cached_specifier_in_frame): ditto.
8581
8582         * specifier.h (struct specifier_caching): add recompute flag.
8583
8584 2000-10-24  Andy Piper  <andy@xemacs.org>
8585
8586         * unexcw.c (copy_executable_and_dump_data_section): add new
8587         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8588         5.0 happy.
8589
8590 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8591
8592         * console-x.h (x_device): New member modifier_release_time.
8593         * event-Xt.c (x_handle_sticky_modifiers):
8594         Bound interval modifier keys are sticky.
8595         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8596         * events.h: extern it.
8597
8598 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8599
8600         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8601
8602 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8603
8604         * event-stream.c (execute_command_event): Preserve current_events
8605         and the like when event is misc-user-event.
8606         Inhibit quit during the call to maybe_echo_keys.
8607
8608 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8609
8610         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8611         symlink when buffer is killed.
8612         (inhibit_clash_detection): New variable.
8613
8614 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8615
8616         * console.c (Fset_input_method): Trigger redisplay on tty.
8617
8618 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8619
8620         * process.c (Fprocess_status): Revert to previous behavior:
8621         (process-status "nosuchprocess") ==> nil
8622
8623 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8624
8625         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8626         Work around another GCC 2.95.2 optimizer bug.
8627
8628 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8629
8630         * process.c (Fget_process): Use LIST_LOOP_2.
8631         (kill_buffer_processes): Use LIST_LOOP_2.
8632
8633         * minibuf.c (Fall_completions):
8634         Delete old non-functional code for FSF fourth argument.
8635
8636         * frame.c (frame_matches_frame_spec):
8637         Renamed from `frame_matches_frametype'.  Update all callers.
8638         (device_matches_device_spec):
8639         Renamed from 'device_matches_console_spec'.  Update all callers.
8640
8641         * doc.c (Fsubstitute_command_keys):
8642         Remove buffer overflow crash.  Small code cleanups.
8643
8644         * casetab.c (check_case_table): Simpler code.
8645
8646         * window.c (Freplace_buffer_in_windows):
8647         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8648         (and similar implementation) as Fdelete_windows_on.
8649         Update all callers.
8650
8651         * alloc.c (Fmake_list):
8652         * alloc.c (make_vector):
8653         * alloc.c (Fmake_vector):
8654         * alloc.c (make_bit_vector):
8655         * alloc.c (Fmake_bit_vector):
8656         * alloc.c (Fbit_vector):
8657         * alloc.c (Fmake_string):
8658         * alloc.c (Fpurecopy):
8659         * alloc.c (Fmemory_limit):
8660         * buffer.c:
8661         * buffer.c (Fget_buffer):
8662         * buffer.c (Fkill_buffer):
8663         * buffer.c (complex_vars_of_buffer):
8664         * bytecode.c (Fcompiled_function_stack_depth):
8665         * callint.c (Fprefix_numeric_value):
8666         * event-stream.c:
8667         * event-stream.c (Fread_key_sequence):
8668         * casetab.c:
8669         * casetab.c (Fcase_table_p):
8670         * casetab.c (check_case_table):
8671         * casetab.c (Fset_case_table):
8672         * casetab.c (Fset_standard_case_table):
8673         * chartab.c:
8674         * chartab.c (Fchar_table_type):
8675         * chartab.c (Freset_char_table):
8676         * chartab.c (Fget_char_table):
8677         * chartab.c (Fget_range_char_table):
8678         * chartab.c (Fput_char_table):
8679         * chartab.c (Fmap_char_table):
8680         * chartab.c (Fcategory_table_p):
8681         * chartab.c (Fcheck_category_at):
8682         * chartab.c (Fchar_in_category_p):
8683         * chartab.c (Fcategory_table):
8684         * chartab.c (Fcopy_category_table):
8685         * chartab.c (Fset_category_table):
8686         * chartab.c (Fcategory_designator_p):
8687         * chartab.c (Fcategory_table_value_p):
8688         * cmds.c (Fdelete_char):
8689         * cmds.c (Fdelete_backward_char):
8690         * cmds.c (Fself_insert_command):
8691         * cmds.c (Fself_insert_internal):
8692         * console.c (Fvalid_console_type_p):
8693         * console.c (Fcdfw_console):
8694         * console.c (Fconsole_type):
8695         * console.c (Fconsole_name):
8696         * console.c (Fconsole_device_list):
8697         * console.c (Fconsole_on_window_system_p):
8698         * data.c:
8699         * data.c (Feq):
8700         * data.c (Fold_eq):
8701         * data.c (Fsubr_interactive):
8702         * data.c (Fchar_to_int):
8703         * data.c (Fint_to_char):
8704         * data.c (Fsetcar):
8705         * data.c (Fsetcdr):
8706         * data.c (Fnumber_to_string):
8707         * data.c (Fstring_to_number):
8708         * data.c (Frem):
8709         * database.c (mark_database):
8710         * database.c (finalize_database):
8711         * database.c (Fdatabase_live_p):
8712         * database.c (Fdatabasep):
8713         * device-x.c (Fx_get_resource):
8714         * device.c (Fdfw_device):
8715         * dired.c:
8716         * dired.c (Ffile_name_completion):
8717         * dired.c (Ffile_name_all_completions):
8718         * dired.c (Fuser_name_completion):
8719         * dired.c (Fuser_name_completion_1):
8720         * dired.c (Fuser_name_all_completions):
8721         * doc.c (Fdocumentation):
8722         * doc.c (Fdocumentation_property):
8723         * doc.c (Fsubstitute_command_keys):
8724         * editfns.c:
8725         * editfns.c (Fchar_to_string):
8726         * editfns.c (Fstring_to_char):
8727         * editfns.c (Ftemp_directory):
8728         * editfns.c (Finsert_char):
8729         * editfns.c (Fbuffer_substring_no_properties):
8730         * editfns.c (Fnarrow_to_region):
8731         * editfns.c (Fchar_equal):
8732         * editfns.c (Fchar_Equal):
8733         * editfns.c (Ftranspose_regions):
8734         * emacs.c (Fdump_emacs):
8735         * eval.c (Fthrow):
8736         * eval.c (Fcommand_execute):
8737         * eval.c (Fautoload):
8738         * eval.c (Fbacktrace):
8739         * eval.c (Fbacktrace_frame):
8740         * events.c:
8741         * events.c (Fcopy_event):
8742         * events.c (Fcharacter_to_event):
8743         * events.c (Fevent_button):
8744         * events.c (Fevent_process):
8745         * extents.c:
8746         * extents.c (Fnext_extent_change):
8747         * extents.c (Fextent_property):
8748         * faces.c (Ffacep):
8749         * faces.c (Fmake_face):
8750         * file-coding.c:
8751         * file-coding.c (Fencode_shift_jis_char):
8752         * file-coding.c (Fencode_big5_char):
8753         * fileio.c (Ffile_name_directory):
8754         * fileio.c (Ffile_name_nondirectory):
8755         * fileio.c (Ffile_name_as_directory):
8756         * fileio.c (Fdirectory_file_name):
8757         * fileio.c (Ffile_truename):
8758         * fileio.c (Fsubstitute_in_file_name):
8759         * fileio.c (Ffile_modes):
8760         * fileio.c (Fset_file_modes):
8761         * fileio.c (Fset_default_file_modes):
8762         * fileio.c (Fverify_visited_file_modtime):
8763         * floatfns.c (Facos):
8764         * floatfns.c (Fasin):
8765         * floatfns.c (Fatan):
8766         * floatfns.c (Fcos):
8767         * floatfns.c (Fsin):
8768         * floatfns.c (Ftan):
8769         * floatfns.c (Fbessel_j0):
8770         * floatfns.c (Fbessel_j1):
8771         * floatfns.c (Fbessel_jn):
8772         * floatfns.c (Fbessel_y0):
8773         * floatfns.c (Fbessel_y1):
8774         * floatfns.c (Fbessel_yn):
8775         * floatfns.c (Ferf):
8776         * floatfns.c (Ferfc):
8777         * floatfns.c (Flog_gamma):
8778         * floatfns.c (Fexp):
8779         * floatfns.c (Fexpt):
8780         * floatfns.c (Flog):
8781         * floatfns.c (Flog10):
8782         * floatfns.c (Fsqrt):
8783         * floatfns.c (Fcube_root):
8784         * floatfns.c (Facosh):
8785         * floatfns.c (Fasinh):
8786         * floatfns.c (Fatanh):
8787         * floatfns.c (Fcosh):
8788         * floatfns.c (Fsinh):
8789         * floatfns.c (Ftanh):
8790         * floatfns.c (Fabs):
8791         * floatfns.c (Ffloat):
8792         * floatfns.c (Flogb):
8793         * floatfns.c (Fceiling):
8794         * floatfns.c (Ffloor):
8795         * floatfns.c (Fround):
8796         * floatfns.c (Ftruncate):
8797         * floatfns.c (Ffceiling):
8798         * floatfns.c (Fffloor):
8799         * floatfns.c (Ffround):
8800         * floatfns.c (Fftruncate):
8801         * fns.c (Fstring_equal):
8802         * fns.c (Fstring_lessp):
8803         * fns.c (concat2):
8804         * fns.c (concat3):
8805         * fns.c (vconcat2):
8806         * fns.c (vconcat3):
8807         * fns.c (Fsubstring):
8808         * fns.c (Fassoc):
8809         * fns.c (Fold_assoc):
8810         * fns.c (assoc_no_quit):
8811         * fns.c (Fassq):
8812         * fns.c (Fold_assq):
8813         * fns.c (assq_no_quit):
8814         * fns.c (Frassoc):
8815         * fns.c (Fold_rassoc):
8816         * fns.c (Frassq):
8817         * fns.c (Fold_rassq):
8818         * fns.c (rassq_no_quit):
8819         * fns.c (Fremassoc):
8820         * fns.c (remassoc_no_quit):
8821         * fns.c (Fremassq):
8822         * fns.c (remassq_no_quit):
8823         * fns.c (Fremrassoc):
8824         * fns.c (Fremrassq):
8825         * fns.c (remrassq_no_quit):
8826         * fns.c (Fsort):
8827         * fns.c (Fplist_get):
8828         * fns.c (Fplist_put):
8829         * fns.c (Fplist_remprop):
8830         * fns.c (Fplist_member):
8831         * fns.c (Flax_plist_get):
8832         * fns.c (Flax_plist_put):
8833         * fns.c (Flax_plist_remprop):
8834         * fns.c (Flax_plist_member):
8835         * fns.c (Fequal):
8836         * fns.c (Fold_equal):
8837         * fns.c (Frequire):
8838         * fns.c (Fbase64_encode_region):
8839         * fns.c (Fbase64_encode_string):
8840         * fns.c (Fbase64_decode_region):
8841         * frame.c:
8842         * frame.c (frame_matches_frame_spec):
8843         * frame.c (device_matches_device_spec):
8844         * frame.c (next_frame):
8845         * frame.c (previous_frame):
8846         * frame.c (Fnext_frame):
8847         * frame.c (Fprevious_frame):
8848         * frame.c (Fframe_property):
8849         * frame.c (Fset_frame_height):
8850         * frame.c (Fset_frame_size):
8851         * frame.h:
8852         * glyphs.c:
8853         * glyphs.c (if):
8854         * glyphs.c (decode_error_behavior_flag):
8855         * glyphs.c (Fmake_image_instance):
8856         * indent.c (Findent_to):
8857         * intl.c (Fignore_defer_gettext):
8858         * keymap.c (Fkeymapp):
8859         * keymap.c (Flookup_key):
8860         * lread.c:
8861         * lread.c (Fload_internal):
8862         * lread.c (Feval_buffer):
8863         * lread.c (Feval_region):
8864         * macros.c (Fexecute_kbd_macro):
8865         * marker.c (set_marker_internal):
8866         * marker.c (Fset_marker):
8867         * marker.c (set_marker_restricted):
8868         * marker.c (Fcopy_marker):
8869         * marker.c (noseeum_copy_marker):
8870         * menubar.c:
8871         * menubar.c (Fpopup_menu):
8872         * minibuf.c:
8873         * mule-charset.c (Fcharset_name):
8874         * mule-charset.c (Fchar_charset):
8875         * mule-charset.c (Fchar_octet):
8876         * mule-charset.c (Fsplit_char):
8877         * mule-wnnfns.c (Fwnn_open):
8878         * mule-wnnfns.c (Fwnn_dict_comment):
8879         * mule-wnnfns.c (Fwnn_quit_henkan):
8880         * mule-wnnfns.c (Fwnn_word_toroku):
8881         * mule-wnnfns.c (Fwnn_word_sakujo):
8882         * mule-wnnfns.c (Fwnn_word_use):
8883         * mule-wnnfns.c (Fwnn_hindo_set):
8884         * objects.c:
8885         * objects.c (Fmake_color_instance):
8886         * objects.c (Fmake_font_instance):
8887         * print.c (Fwrite_char):
8888         * process.c:
8889         * process.c (mark_process):
8890         * process.c (print_process):
8891         * process.c (get_process_from_usid):
8892         * process.c (Fprocessp):
8893         * process.c (Fprocess_live_p):
8894         * process.c (Fget_process):
8895         * process.c (Fget_buffer_process):
8896         * process.c (get_process):
8897         * process.c (Fprocess_id):
8898         * process.c (Fprocess_name):
8899         * process.c (Fprocess_command):
8900         * process.c (init_process_io_handles):
8901         * process.c (start_process_unwind):
8902         * process.c (Fstart_process_internal):
8903         * process.c (Fopen_multicast_group_internal):
8904         * process.c (Fset_process_window_size):
8905         * process.c (read_process_output):
8906         * process.c (send_process):
8907         * process.c (Fprocess_tty_name):
8908         * process.c (Fset_process_buffer):
8909         * process.c (Fprocess_buffer):
8910         * process.c (Fprocess_mark):
8911         * process.c (set_process_filter):
8912         * process.c (Fset_process_filter):
8913         * process.c (Fprocess_filter):
8914         * process.c (Fprocess_send_region):
8915         * process.c (Fprocess_send_string):
8916         * process.c (exec_sentinel):
8917         * process.c (Fset_process_sentinel):
8918         * process.c (Fprocess_sentinel):
8919         * process.c (status_notify):
8920         * process.c (Fprocess_status):
8921         * process.c (Fprocess_exit_status):
8922         * process.c (process_send_signal):
8923         * process.c (Fprocess_send_eof):
8924         * process.c (deactivate_process):
8925         * process.c (remove_process):
8926         * process.c (Fdelete_process):
8927         * process.c (kill_buffer_processes):
8928         * process.c (Fprocess_kill_without_query):
8929         * process.c (Fprocess_kill_without_query_p):
8930         * rangetab.c:
8931         * rangetab.c (Fget_range_table):
8932         * rangetab.c (Fput_range_table):
8933         * rangetab.c (Fremove_range_table):
8934         * rangetab.c (Fclear_range_table):
8935         * search.c:
8936         * search.c (Fskip_chars_forward):
8937         * search.c (Fskip_chars_backward):
8938         * search.c (Fskip_syntax_forward):
8939         * search.c (Fskip_syntax_backward):
8940         * search.c (search_command):
8941         * search.c (Freplace_match):
8942         * search.c (Fregexp_quote):
8943         * select.c (Fown_selection_internal):
8944         * select.c (Fselection_owner_p):
8945         * select.c (Fselection_exists_p):
8946         * select.c (Fget_selection_internal):
8947         * specifier.c:
8948         * symbols.c:
8949         * symbols.c (Fintern):
8950         * symbols.c (Fintern_soft):
8951         * symbols.c (Funintern):
8952         * symbols.c (Fapropos_internal):
8953         * symbols.c (Fset_default):
8954         * syntax.c:
8955         * syntax.c (Fsyntax_table_p):
8956         * syntax.c (Fcopy_syntax_table):
8957         * syntax.c (Fset_syntax_table):
8958         * syntax.c (Fchar_syntax):
8959         * syntax.c (syntax_match):
8960         * syntax.c (Fmatching_paren):
8961         * syntax.c (Fforward_word):
8962         * syntax.c (scan_lists):
8963         * syntax.c (Fscan_lists):
8964         * syntax.c (Fscan_sexps):
8965         * syntax.c (Fparse_partial_sexp):
8966         * toolbar.c (Fcheck_toolbar_button_syntax):
8967         * tooltalk.doc:
8968         * window.c:
8969         * window.c (Fwindowp):
8970         * window.c (Fwindow_live_p):
8971         * window.c (Fwindow_point):
8972         * window.c (Fdelete_window):
8973         * window.c (Fnext_window):
8974         * window.c (Fprevious_window):
8975         * window.c (Fother_window):
8976         * window.c (window_loop):
8977         * window.c (Fget_lru_window):
8978         * window.c (Fsplit_window):
8979         * window.c (Fenlarge_window):
8980         * window.c (Fenlarge_window_pixels):
8981         * window.c (Fshrink_window):
8982         * window.c (Fshrink_window_pixels):
8983         * window.c (change_window_height):
8984         * window.c (Fwindow_configuration_p):
8985         * window.c (Fcurrent_window_configuration):
8986         * window.h:
8987         * casefiddle.c (casify_object):
8988         * casefiddle.c (Fupcase):
8989         * casefiddle.c (Fdowncase):
8990         * casefiddle.c (Fcapitalize):
8991         * casefiddle.c (Fupcase_initials):
8992         * casefiddle.c (casify_region_internal):
8993         * casefiddle.c (casify_region):
8994         * casefiddle.c (Fupcase_region):
8995         * casefiddle.c (Fdowncase_region):
8996         * casefiddle.c (Fcapitalize_region):
8997         * casefiddle.c (Fupcase_initials_region):
8998         * casefiddle.c (Fupcase_word):
8999         * casefiddle.c (Fdowncase_word):
9000         * casefiddle.c (Fcapitalize_word):
9001         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9002         Replace 0 with '\0' when working with bytes.
9003         Replace initial "(" with "\(" in docstrings.
9004
9005 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9006
9007         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9008
9009         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9010
9011 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9012
9013         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9014
9015 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9016
9017         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9018         correctly.
9019
9020 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9021
9022         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9023         (inhibit_auto_save_session): New variable.
9024         (vars_of_fileio): Declare and initialize them.
9025         * fileio.c (Fdo_auto_save): Don't create session file if
9026         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9027
9028 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9029
9030         * sgiplay.c (play_internal): C++ compilability.
9031         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9032         * callproc.c (Fold_call_process_internal):
9033         Remove unused vars `env', `first'.
9034         * scrollbar.c (update_scrollbar_instance):
9035         #### unused var `current_window'.
9036         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9037         etc. within #ifdef NOT_YET.
9038         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9039         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9040         * specifier.c (specifier_instance):
9041         #### unused var `tag'.
9042         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9043
9044 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9045
9046         * fns.c (Fbutlast):
9047         * fns.c (list_sort):
9048         * fns.c (Ffillarray):
9049         * fns.c (bytecode_nconc2):
9050         * fns.c (Fnconc):
9051         * fns.c (mapcar1):
9052         * fns.c (Fmapconcat):
9053         Be pedantically 64-bit correct.  For the time when someone will
9054         want to have a list with length > 2**32.
9055
9056         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9057         Work around MIPSpro compiler bug.
9058
9059         * process-unix.c (unix_kill_child_process): Add snarky comment.
9060         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9061
9062         * config.h.in: Oops, _getpt ==> _getpty
9063
9064 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9065
9066         * config.h.in:
9067         * regex.c:
9068         Use void*, not char*, as return type of alloca().
9069
9070         * alloc.c (free_marker): Side effect inside assert expression!
9071
9072 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9073
9074         * mule-charset.c (Fset_charset_ccl_program): To check
9075         if the given ccl program is valid, use setup_ccl_program()
9076         instead of CHECK_VECTOR().
9077         (Fmake_charset): Likewise.
9078
9079 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9080
9081         * faces.c (get_extent_fragment_face_cache_index):
9082         Fix cachel.merged_faces memory leak.
9083
9084 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9085
9086         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9087         Reset MSB of octets obtained by DECODE_SJIS
9088         because of the incompatibility with Emacs.
9089         (ccl_driver)<CCL_ENCODE_SJIS>:
9090         Set MSB of octets before passing them to
9091         ENCODE_SJIS because of the incompatibility
9092         with Emacs.
9093
9094 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9095
9096         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9097         (DECLARE_LRECORD): Undo the last change.
9098         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9099
9100 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9101
9102         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9103         the implementation to lrecord_implementations_table.
9104
9105 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9106
9107         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9108         initial value of `lrecord_type_##c_name' and
9109         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9110         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9111         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9112         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9113         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9114
9115 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9116
9117         * miscplay.c (sndcnv8S_2mono):
9118         (sndcnv2monounsigned):
9119         (sndcnvULaw_2linear):
9120         (sndcnv16swap):
9121         Remove implementation-defined behavior.
9122
9123 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9124
9125         * input-method-xlib.c: Warning suppression.
9126
9127 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9128
9129         * mule-ccl.c: Sync up with Emacs 21.0.90.
9130         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9131         Do nothing.
9132         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9133         Likewise.
9134         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9135         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9136         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9137         leading char belongs to official 2-dimensional charset.
9138         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9139         write the given character as is.  Otherwise,
9140         if it is a multibyte char, convert it by
9141         non_ascii_set_charptr_emchar, then write it.
9142         (CCL_WRITE_STRING): Likewise.
9143         (ccl_get_compiled_code): New function.
9144         (setup_ccl_program): When ccl_prog is invalid,
9145         return -1.
9146         (Fregister_code_conversion_map): New function.
9147         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9148
9149         * mule-ccl.h: Sync up with Emacs 21.0.90.
9150         (Fregister_ccl_program): export it.
9151
9152         * redisplay-msw.c (separate_textual_runs):
9153         If ccl program is not valid, don't do ccl conversion.
9154
9155         * redisplay-x.c (separate_textual_runs): Ditto.
9156
9157         * file-coding.c (Fmake_coding_system):
9158         When type is ccl and value is vector, register it
9159         with a proper symbol.  And checks whether the
9160         given ccl program is valid.
9161         (mule_decode): When calling ccl_driver, if src indicates
9162         NULL pointer, set an empty string instead.
9163         (mule_encode): Likewise.
9164
9165 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9166
9167         The following large batch of changes gets us back to a state of
9168         C++ compilability.  Extbyte is now a char, which means that
9169         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9170
9171         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9172
9173         * sound.c (Fplay_sound): Type correctness.
9174
9175         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9176         (x_get_window_property): Type correctness.
9177         (receive_incremental_selection): unsigned char ==> Extbyte
9178         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9179         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9180         (Fx_store_cutbuffer_internal): Type correctness.
9181
9182         * process-unix.c (try_to_initialize_subtty): Type correctness.
9183
9184         * objects-x.c (x_print_color_instance): Type correctness.
9185         (x_print_font_instance): Type correctness.
9186         (x_list_fonts): SExtbyte ==> Extbyte.
9187         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9188         (x_find_charset_font): SExtbyte ==> Extbyte.
9189         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9190         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9191         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9192         Use bufbyte_strcmp.
9193
9194         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9195         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9196         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9197         (BYTE_C0_P): Use bit ops for char-signedness safety.
9198         (BYTE_C1_P): Use bit ops for char-signedness safety.
9199         (CHARSET_BY_LEADING_BYTE):
9200         (CHARSET_BY_ATTRIBUTES):
9201         Always use inline function.
9202         Use type_checking_assert.
9203         Hide chlook.
9204
9205         * mule-charset.c (non_ascii_charptr_copy_char):
9206         Modify to work with both ASCII and non-ASCII characters.
9207         Improve docs and variable names.
9208         Replace over-clever fall-through switch with a simple loop.
9209         (Lstream_get_emchar_1):
9210         Replace over-clever fall-through switch with a simple loop.
9211
9212         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9213         Warning suppression.
9214
9215         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9216         the return value of Lstream_getc, which could be EOF as well.
9217
9218         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9219
9220         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9221         APIs can be used on Extbytes without casts.  Risky!
9222         (SExtbyte): Remove.
9223         (UExtbyte): Remove.
9224
9225         * input-method-xlib.c (XIM_init_device):
9226         Use Xlib.h instead of IntrinsicP.h.
9227         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9228         which will break in X11R7.
9229         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9230         to call XRegisterIMInstantiateCallback with correct types.
9231
9232         * gui-x.c (button_item_to_widget_value): Type correctness.
9233
9234         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9235
9236         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9237         (xbm_instantiate_1): Type correctness.
9238         (BUILD_GLYPH_INST):  Type correctness.
9239
9240         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9241
9242         * file-coding.c:
9243         (decode_coding_sjis):
9244         (decode_coding_big5):
9245         (decode_coding_ucs4):
9246         (decode_coding_utf8):
9247         (decode_coding_iso2022):
9248         (decode_coding_no_conversion):
9249         Make all decoding functions take an Extbyte * arg.
9250         (encode_coding_sjis):
9251         (encode_coding_big5):
9252         (encode_coding_ucs4):
9253         (encode_coding_utf8):
9254         (encode_coding_iso2022):
9255         (encode_coding_no_conversion):
9256         Make all encoding functions take a Bufbyte * arg.
9257         Use size_t instead of unsigned int for memory sizes.
9258         Only cast to unsigned char whenever dereferencing Extbyte *.
9259
9260         * doc.c (unparesseuxify_doc_string): Type correctness.
9261
9262         * console-x.c (split_up_display_spec):
9263         Rewrite without using details of internal string representation.
9264         (x_semi_canonicalize_device_connection): Type correctness.
9265
9266         * config.h.in:
9267         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9268         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9269         (HAVE_XFREE386): Removed.
9270
9271         * buffer.h (DEC_CHARPTR): `const' correctness.
9272         (bufbyte_strcmp): New.
9273         (bufbyte_memcmp): New.
9274
9275         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9276
9277         * buffer.h (XCHAR_OR_CHAR_INT):
9278         Always use inline function.
9279         Remove redundant type checking assert() - XINT will abort quite nicely.
9280
9281 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9282
9283         * search.c (Freplace_match): Set newtext to an empty string.
9284
9285 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9286
9287         * s/decosf1-3.h: Remove #include of stropts.h
9288         * s/ptx.h: Remove #include of stropts.h
9289         * s/usg5-4.h: Remove #include of stropts.h
9290         * sysproc.h:
9291         * config.h.in:
9292         Use stropts.h, not sys/stropts.h.
9293         Use strtio.h, not sys/strtio.h.
9294
9295 2000-10-04  Martin Buchholz <martin@xemacs.org>
9296
9297         * XEmacs 21.2.36 is released.
9298
9299 2000-09-21  Andy Piper  <andy@xemacs.org>
9300
9301         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9302         changes still involve copying the widget tree.
9303         (update_widget_face): make sure a change is register in the widget
9304         tree. Call update_tab_widget_face appropriately.
9305         (update_tab_widget_face): ditto.
9306         (x_tab_control_redisplay): make sure non-structural changes still
9307         involve copying the widget tree.
9308
9309 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9310
9311         * lread.c (locate_file): Check the path element is non-nil.
9312
9313 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9314
9315         * lisp.h: Warning suppression for SCO compilers.
9316
9317         * redisplay-tty.c (reset_tty_modes): Fix crash.
9318         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9319
9320 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9321
9322         Big signal/process handling overhaul.  Bugs fixed:
9323         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9324         M-x comint-kill-subjob should work for both values nil and t of
9325         process-connection-type. It was broken on most platforms.
9326         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9327         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9328         * process-unix.c: Signal/Process handling overhaul.
9329         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9330         (allocate_pty): Use all available modern methods of allocating
9331         ptys, falling back to old style BSD allocation as a last resort.
9332         Use allegedly more secure Unix98 pty allocation by default.
9333         (allocate_pty_the_old_fashioned_way): New. the last resort.
9334         (unix_create_process): Push ptem, ldterm, ttcompat where
9335         available.  Autoconfiscate.
9336         (try_to_initialize_subtty): New.
9337         (unix_kill_child_process): Proper signal handling for ptys on most
9338         platforms, using special knowledge of AIX, BSD, etc...
9339         (unix_create_process): Always disconnect_controlling_terminal() for
9340         subprocesses, whether using ptys or not.
9341         * process.h: Remove old getpt-dependent PTY code.
9342         * process.c (Fprocess_send_signal): New, obvious generic function.
9343         (decode_signal): New.
9344         (Finterrupt_process):
9345         (Fkill_process):
9346         (Fquit_process):
9347         (Fstop_process):
9348         (Fcontinue_process):
9349         (Fsignal_process): Use decode_signal.
9350         (process_send_signal):
9351         Many docstring corrections.
9352         Allow any signal to be sent to a process object.
9353         * config.h.in: Add symbols for big signal/process overhaul.
9354         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9355         * sysproc.h: Include process-related headers, where available:
9356         sys/stropts.h sys/strtio.h pty.h libutil.h
9357         * s/irix4-0.h:
9358         * s/irix5-0.h:
9359         * s/cygwin32.h:
9360         * s/gnu.h:
9361         * s/linux.h:
9362         * s/hpux.h:
9363         * s/aix3-1.h:
9364         Remove old S&M pty stuff.
9365         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9366         * systty.h: Simplify cpp hackery, improve comments.
9367         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9368
9369         * editfns.c (Fformat_time_string):
9370         Be a little more paranoid with the return value of ctime.
9371
9372         * fileio.c (check_executable):
9373         (check_writable):
9374         Use symbolic constants X_OK, W_OK.
9375
9376         * console-x.c (split_up_display_spec): Fix a warning.
9377
9378 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9379
9380         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9381         * ntproc.c (sys_spawnve): make_string ==> build_string
9382         Small clarity improvements.
9383
9384 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9385
9386         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9387
9388         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9389
9390         * config.h.in (HAVE_STRCASECMP): Remove.
9391
9392 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9393
9394         * redisplay-output.c (redisplay_output_pixmap):
9395         Cleaner and possibly more 64-bit correct code.
9396
9397 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9398
9399         * dumper.c (pdump_load_finish): move restoration of
9400         `noninteractive1' to emacs.c (main_1).
9401         * emacs.c (main_1): protect LISP-visible command-line flags
9402         from pdump_load().
9403
9404 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9405
9406         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9407         DUMP_TARGET instead of literal program names.
9408
9409 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9410
9411         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9412
9413 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9414
9415         * *: Spelling mega-patch
9416
9417 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9418
9419         * fns.c (bad_bad_turtle):
9420         Delete "Eek!" comment, since we fixed the bug to which it refers.
9421
9422 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9423
9424         * alloca.c: Replace REGISTER with register.
9425
9426 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9427
9428         * file-coding.c (ucs_to_char): Use countof.
9429
9430 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9431
9432         * file-coding.c: (ucs_to_char):
9433         (complex_vars_of_file_coding):
9434         Use countof instead of sizeof.
9435         Use CHECK_NATNUM instead of CHECK_INT.
9436
9437         * sysdep.c (strcasecmp): Remove.
9438         * device-x.c (ascii_strcasecmp): New.
9439         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9440         Avoid using non-standard non-portable strcasecmp.
9441
9442 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9443
9444         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9445         * font-lock.c: remove reference to emacsfns.h.
9446         * search.c: small doc improvement.
9447         * event-Xt.c: correct file names in comments.
9448         * console-x.h Correct file names in comments.
9449         * frame.c: Correct file names in comments.
9450         * event-stream.c: remove Energize from comments.
9451
9452 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9453
9454         * symeval.h (DEFERROR_STANDARD):
9455         (DEFERROR):
9456         (DEFSYMBOL):
9457         (DEFSYMBOL_NO_DUMP):
9458         (DEFSYMBOL_MULTIWORD_PREDICATE):
9459         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9460         (DEFKEYWORD):
9461         The construct &##name is not sensible C.
9462         Fixes compilation errors with Unixware native compiler.
9463
9464 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9465
9466         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9467         (next_frame_internal): Removed.  We now just have next_frame.
9468         (next_frame):
9469         Write a simpler and cleaner one-pass algorithm.
9470         Remove called_from_delete_device arg and #ifdefed-out code.
9471         (previous_frame):
9472         Renamed from prev_frame.  Update callers.
9473         Cleaned up to have an analogous implementation to next_frame.
9474         (other_visible_frames_internal): Remove the
9475         called_from_delete_device bogus arg, and hence, remove this
9476         function.  Just use other_visible_frames().
9477
9478         * window.c (Fnext_window):
9479         Prettify docstring.
9480         Since next_frame() is guaranteed to return a frame, remove check
9481         for nil inserted in previous patch.
9482         (Fprevious_window):
9483         Prettify docstring.
9484         Make code look more like Fnext_window.
9485         (window_loop):
9486         Respect the `console' arg when iterating through windows.
9487         Fixes bug: (get-buffer-window buffer t device) not respecting
9488         the `device' arg.
9489         This function needs more work, as others have pointed out.
9490
9491         * frame.h: Rename prev_frame to previous_frame.
9492         device_matches_console_spec no longer takes a `frame' arg.
9493
9494         * s/gnu.h:
9495         * s/linux.h:
9496         * s/hpux.h:
9497         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9498         From "Golubev I. N." <gin@mo.msk.ru>.
9499
9500         * make-src-depend: Fix typo.
9501
9502 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9503
9504         * window.c (Fnext_window):
9505         next_frame() might return nil, not a frame.
9506         Fixes this crash:
9507         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9508
9509         * frame.c (next_frame_internal):
9510         We've passed a frame if we've passed its device.
9511         Fixes this crash:
9512         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9513 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9514
9515 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9516
9517         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9518         Allow option to suppress accelerators in menu/dialog items.
9519         (populate_or_checksum_helper): Pass dialog title through above.
9520
9521 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9522
9523         * event-msw.c (mswindows_key_to_emacs_keysym):
9524         Add "pause" key, fix "menu" key.
9525
9526 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9527
9528         * eval.c (reinit_vars_of_eval):
9529         Increase max_lisp_eval_depth to 1000,
9530         required for thai-xtis.el to byte-compile under some circumstances.
9531
9532 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9533
9534         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9535         From Kenichi Handa.
9536
9537 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9538
9539         * make-src-depend: Make the generated Makefiles smaller.
9540
9541         * s/hpux.h (SETUP_SLAVE_PTY):
9542         Provide a %d in the format string for the errno argument.
9543
9544         * editfns.c (Ftemp_directory):
9545         Warning fix.
9546         Avoid buffer overrun on very long file name.
9547
9548         * input-method-xlib.c (XIM_init_device):
9549         6th parameter of XRegisterIMInstantiateCallback has different
9550         pointer types on different OSes, so simply cast to (void *).
9551
9552         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9553
9554         * sysdll.c (dll_open):
9555         shl_load will hang hard if passed a NULL filename.
9556         Simply return NULL for compatibility with dlopen.
9557         * sysdll.c: Conform to XEmacs coding standards.
9558
9559         * sysdep.c (get_pty_max_bytes):
9560         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9561
9562 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9563
9564         * tooltalk.c: Add #include <syssignal.h>
9565
9566 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9567
9568         * s/hpux.h: Don't use undefined function sigunblock().
9569
9570 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9571
9572         * config.h.in: Add HAVE_BALLOON_HELP.
9573         * emacs.c: Use HAVE_BALLOON_HELP.
9574         * Makefile.in.in (x_objs):
9575         Make Balloon Help conditional on finding shape.h.
9576
9577 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9578
9579         * syntax.c (regex_emacs_buffer_p): New variable.
9580         * syntax.h (regex_emacs_buffer_p): extern.
9581         * search.c (looking_at_1):
9582         (string_match_1):
9583         (fast_string_match):
9584         (search_buffer): Set regex_emacs_buffer_p.
9585         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9586         when before_dot, at_dot, after_dot.
9587
9588 2000-08-23  Andy Piper  <andy@xemacs.org>
9589
9590         * gui-x.c (popup_selection_callback): Only set action_occurred
9591         when we really have an image instance.
9592         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9593
9594 2000-08-23  Andy Piper  <andy@xemacs.org>
9595
9596         * gui-msw.c (mswindows_handle_gui_wm_command): set
9597         action_occurred.
9598         * gui-x.c (popup_selection_callback): ditto.
9599
9600         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9601         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9602         (struct Lisp_Image_Instance): add action_occurred flag.
9603
9604         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9605         (image_instance_changed): ditto.
9606         (reset_frame_subwindow_instance_cache): only unmap windows - do
9607         not remove them from the cache also.
9608
9609         * glyphs-widget.c (tab_control_update): better debug.
9610         (progress_gauge_update): ditto.
9611         (layout_update): ditto.
9612         (layout_instantiate): ditto.
9613         (tab_control_order_only_changed): cope with null pending items.
9614
9615         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9616         debug. Force selection of an item when an action occurred. Cope
9617         with null pending_items.
9618         (mswindows_progress_gauge_redisplay): better debug.
9619         * glyphs-x.c (x_tab_control_redisplay): ditto.
9620
9621         * redisplay.c (redisplay_frame): reset the frame cache if the
9622         frame is garbaged.
9623
9624         * window.c (Fset_window_configuration): potentially re-enable
9625         frame cache reset.
9626         (window_unmap_subwindows): need to finalize instances here since
9627         it is only used in mark_window_as_deleted.
9628
9629 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9630
9631         * nas.c (SndOpenDataForReading):
9632         nas.c (WaveOpenDataForReading):
9633         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9634         Somehow escaped from the 2000-08-14 patch.
9635
9636 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9637
9638         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9639         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9640
9641 2000-08-21  Andy Piper  <andy@xemacs.org>
9642
9643         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9644         window if it is not already displayed.
9645
9646         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9647         it is not already displayed.
9648
9649         * window.c (Fset_window_configuration): don't reset the frame
9650         cache.
9651
9652         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9653         instances from the frame cache if we are actually finalizing them.
9654         (reset_frame_subwindow_instance_cache): reset frame cache only
9655         after unmapping everything.
9656         (map_subwindow): set displayed flag after mapping.
9657
9658 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9659
9660         * data.c (indirect_function):
9661         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9662
9663         * eval.c (function_argcount):
9664         Use original function when signaling errors.
9665
9666 2000-08-18  Andy Piper  <andy@xemacs.org>
9667
9668         * frame.c (delete_frame_internal): use new
9669         free_frame_subwindow_instances name.
9670
9671         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9672         (add_tab_item): make return type correct.
9673         (mswindows_tab_control_instantiate): assert index of tab.
9674         (mswindows_tab_control_redisplay): Re-code to use
9675         gui_item_equal_sans_selected and gui_item_list_find_selected.
9676
9677         * glyphs-widget.c (tab_control_update): Correct comment.
9678
9679         * window.c (window_unmap_subwindows): use new
9680         unmap_subwindow_instance_cache_mapper.
9681         (window_unmap_subwindows_cache_mapper): deleted.
9682         (Fset_window_configuration): comparisons should now be with
9683         EQ. Preserve the subwindow instance cache across configuration
9684         changes.
9685         (allocate_window): ditto.
9686         (make_dummy_parent): ditto.
9687
9688         * glyphs.c (free_frame_subwindow_instances): rename from
9689         free_frame_subwindow_instance_cache. finalize all instances rather
9690         than just those in the display cache.
9691         (finalize_all_subwindow_instances): walk windows unmapping and
9692         finalizing subwindows.
9693         (unmap_subwindow_instance_cache_mapper): moved from
9694         window.c. Allow finalization as well as unmapping.
9695
9696         * gui.c (gui_item_list_find_selected): new function.
9697
9698         * gui.h (gui_item_list_find_selected): declare.
9699
9700         * glyphs-x.c (x_tab_control_redisplay): pick tab
9701         explicitly. Re-code to use gui_item_equal_sans_selected and
9702         gui_item_list_find_selected.
9703
9704         * glyphs-x.h: add lwlib-utils.h
9705
9706         * buffer.c (Frecord_buffer): undo previous change.
9707
9708 2000-08-09  Vin Shelton  <acs@xemacs.org>
9709
9710         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9711         possible.  Create temporary files more securely.  The patch was
9712         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9713         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9714         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9715         for details.
9716
9717 2000-08-07  Ben Wing  <ben@xemacs.org>
9718
9719         * getloadavg.c: remove duplicate (and windows-breaking)
9720         includes of fcntl.h and sys/file.h.
9721
9722         * nt.c: remove duplicate getloadavg() definition.
9723
9724         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9725         encodings.
9726
9727 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9728
9729         * eval.c (function_argcount): If function needs to be autoloaded
9730         actually use the loaded definition.
9731         GCPRO function.
9732
9733 2000-08-05  Ben Wing  <ben@xemacs.org>
9734
9735         * getloadavg.c: add prototype for getloadavg().  remove
9736         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9737         of the code).  remove duplicate header includes.
9738
9739         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9740
9741         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9742         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9743         useful load average.
9744
9745         * alloc.c (reinit_alloc_once_early): removed references to
9746         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9747         the lisp vars are the only things referencing the malloc_sbrk_*
9748         vars, and they were already if 0'd out.  these vars only exist
9749         in the older malloc.c, which is basically unused, and they're
9750         only for informational purposes.
9751
9752         * m\*.h: removed useless VIRT_ADDR_VARIES.
9753
9754         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9755
9756 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9757
9758         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9759         color if the image is a mono pixmap.
9760
9761 2000-07-30  Ben Wing  <ben@xemacs.org>
9762
9763         * Makefile.in.in (release):
9764         Remove stray @.
9765
9766         * buffer.c (directory_is_current_directory):
9767         * dired-msw.c (mswindows_get_files):
9768         * dired.c:
9769         * dired.c (Fdirectory_files):
9770         * dired.c (file_name_completion_stat):
9771         * dired.c (Ffile_attributes):
9772         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9773         preprocessor tricks, to avoid problems on some machines
9774         (e.g. SCO).
9775
9776         * callproc.c (egetenv): GC docs.
9777
9778         * console-msw.h:
9779         * console-msw.h (struct mswindows_dialog_id):
9780         * lrecord.h (lrecord_type):
9781         New object for use with MSW dialogs.
9782
9783         * console.h (struct console_methods):
9784         New enable/disable frame methods, for proper modal dialogs.
9785
9786         * device-msw.c (msprinter_default_printer): Fix to follow
9787         proper Mule conventions.
9788
9789         * device-msw.c:
9790         * device-msw.c (signal_open_printer_error):
9791         * device-msw.c (msprinter_init_device):
9792         * device-msw.c (ensure_not_printing):
9793         * device-msw.c (plist_get_margin):
9794         * device-msw.c (Fmsprinter_select_settings):
9795         * device-msw.c (finalize_devmode):
9796         * device-msw.c (Fmsprinter_settings_despecialize):
9797         * device-msw.c (signal_enum_priner_error):
9798         * extents.c (decode_extent):
9799         * extents.c (decode_map_extents_flags):
9800         * extents.c (decode_extent_at_flag):
9801         * extents.c (Fextent_at):
9802         * extents.c (Fextents_at):
9803         * extents.c (symbol_to_glyph_layout):
9804         [[[[2]]]] Use structured errors.
9805
9806         * dialog-msw.c:
9807         * dialog-msw.c (mswindows_is_dialog_msg):
9808         * dialog-msw.c (mark_mswindows_dialog_id):
9809         * dialog-msw.c (dialog_proc):
9810         * dialog-msw.c (handle_question_dialog_box):
9811         * dialog-msw.c (syms_of_dialog_mswindows):
9812         Define new object to clean up marking; use it as a dialog identifier.
9813         Call new delete-dialog-box-hook.
9814
9815         * dialog-x.c (dbox_selection_callback):
9816         * dialog-x.c (dbox_descriptor_to_widget_value):
9817         * dialog-x.c (x_make_dialog_box_internal):
9818         Call new delete-dialog-box-hook.
9819         Return an id.
9820
9821         * dialog.c:
9822         * dialog.c (syms_of_dialog):
9823         * dialog.c (vars_of_dialog):
9824         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9825
9826         * eval.c:
9827         * eval.c (signal_call_debugger):
9828         when noninteractive, output stack traces on the console instead
9829         of in a (never-seen) buffer.
9830
9831         * eval.c (signal_type_error):
9832         * eval.c (invalid_argument_2):
9833         * lisp.h:
9834         new funs for use w/structured errors.
9835
9836         * event-Xt.c:
9837         * event-Xt.c (x_to_emacs_keysym):
9838         * event-Xt.c (describe_event):
9839         * event-Xt.c (emacs_Xt_event_handler):
9840         * event-Xt.c (vars_of_event_Xt):
9841         * event-msw.c:
9842         * event-msw.c (mswindows_wnd_proc):
9843         * event-msw.c (vars_of_event_mswindows):
9844         rename {x,mswindows}-debug-events to debug-{}-events for
9845         consistency with other debug-foo variables.
9846
9847         * event-stream.c:
9848         document next-event more clearly.
9849
9850         * fileio.c (Ffile_name_directory):
9851         * fileio.c (Ffile_name_nondirectory):
9852         * fileio.c (Funhandled_file_name_directory):
9853         * fileio.c (file_name_as_directory):
9854         * fileio.c (Ffile_name_as_directory):
9855         * fileio.c (directory_file_name):
9856         * fileio.c (Fdirectory_file_name):
9857         * fileio.c (Fmake_temp_name):
9858         * fileio.c (Ffile_truename):
9859         * fileio.c (Fsubstitute_in_file_name):
9860         * fileio.c (expand_and_dir_to_file):
9861         * fileio.c (barf_or_query_if_file_exists):
9862         * fileio.c (check_executable):
9863         * fileio.c (Ffile_exists_p):
9864         * fileio.c (Ffile_writable_p):
9865         * fileio.c (Ffile_directory_p):
9866         * fileio.c (Ffile_regular_p):
9867         * fileio.c (Ffile_modes):
9868         * fileio.c (Ffile_newer_than_file_p):
9869         * fileio.c (Fverify_visited_file_modtime):
9870         * fileio.c (Fset_visited_file_modtime):
9871         * fileio.c (auto_save_1):
9872         (1). (2).
9873         fix up gcpro's.
9874
9875         * frame-msw.c:
9876         * frame-msw.c (mswindows_init_frame_1):
9877         * frame-msw.c (mswindows_enable_frame):
9878         * frame-msw.c (error_frame_unsizable):
9879         * frame-msw.c (msprinter_init_frame_1):
9880         * frame-msw.c (msprinter_init_frame_3):
9881         * frame-msw.c (console_type_create_frame_mswindows):
9882         (2).
9883         implement new enable/disable frame methods.
9884
9885         * frame-x.c:
9886         * frame-x.c (x_enable_frame):
9887         * frame-x.c (console_type_create_frame_x):
9888         implement new enable/disable frame methods.
9889
9890         * frame.c:
9891         * frame.c (Fdisable_frame):
9892         * frame.c (syms_of_frame):
9893         * frame.h (struct frame):
9894         implement new enable/disable frame methods/functions.
9895
9896         * general-slots.h:
9897         add initial-focus.
9898
9899         * glyphs-msw.c (mswindows_widget_instantiate):
9900         comment that initial-focus should be implemented.
9901
9902         * glyphs-widget.c:
9903         * glyphs-widget.c (check_valid_instantiator):
9904         * glyphs-widget.c (check_valid_orientation):
9905         * glyphs-widget.c (check_valid_tab_orientation):
9906         * glyphs-widget.c (check_valid_justification):
9907         * glyphs-widget.c (check_valid_border):
9908         * glyphs-widget.c (check_valid_callback):
9909         * glyphs-widget.c (check_valid_int_or_function):
9910         * glyphs-widget.c (check_valid_string_or_vector):
9911         * glyphs-widget.c (check_valid_item_list_1):
9912         * glyphs-widget.c (widget_validate):
9913         * glyphs-widget.c (combo_box_validate):
9914         * glyphs-widget.c (widget_instantiate):
9915         * glyphs-widget.c (syms_of_glyphs_widget):
9916         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9917         * glyphs-widget.c (image_instantiator_combo_box):
9918         * glyphs-widget.c (image_instantiator_scrollbar):
9919         * glyphs-widget.c (image_instantiator_tab_control):
9920         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9921         (2).
9922         support (unimplemented) keyword initial-focus.
9923         reindent long macros.
9924
9925         * glyphs-x.c (x_redisplay_widget):
9926         * glyphs-x.c (x_button_instantiate):
9927         * glyphs-x.c (x_button_redisplay):
9928         * glyphs-x.c (x_progress_gauge_instantiate):
9929         * glyphs-x.c (x_edit_field_instantiate):
9930         * glyphs-x.c (x_combo_box_instantiate):
9931         * glyphs-x.c (x_tab_control_instantiate):
9932         * glyphs-x.c (x_label_instantiate):
9933         * gui-x.c:
9934         * gui-x.c (button_item_to_widget_value):
9935         * gui-x.c (gui_items_to_widget_values_1):
9936         * gui-x.c (gui_item_children_to_widget_values):
9937         * gui-x.c (gui_items_to_widget_values):
9938         * gui-x.h:
9939         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9940         add new flag to gui-parsing routines to indicate whether
9941         accelerator specs should be supported.
9942
9943         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9944
9945         * glyphs.h (struct Lisp_Image_Instance):
9946         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9947         add initial-focus flag.
9948
9949         * gui.c:
9950         * gui.c (syms_of_gui):
9951         * gui.c (vars_of_gui):
9952         clean up menu-no-selection-hook.
9953
9954         * gui.h:
9955         support delete-dialog-box-hook.
9956
9957         * lread.c (Fload_internal):
9958         * lread.c (locate_file_in_directory_mapper):
9959         (1).
9960
9961         * lrecord.h:
9962         * lrecord.h (struct toolbar_button):
9963         * lrecord.h (syms_of_toolbar):
9964         document how to create a new object.
9965
9966         * menubar-msw.c (mswindows_char_is_accelerator):
9967         may be called on frames w/o menus.
9968
9969         * menubar.c (vars_of_menubar):
9970         clean up :filter docs.
9971
9972         * nt.c (readdir):
9973         * ntproc.c:
9974         (1).
9975
9976         * process-nt.c:
9977         * process-nt.c (validate_signal_number):
9978         * process-nt.c (signal_cannot_launch):
9979         * process-nt.c (nt_create_process):
9980         * process-nt.c (nt_send_process):
9981         * process-nt.c (nt_kill_child_process):
9982         * process-nt.c (nt_open_network_stream):
9983         * process-nt.c (syms_of_process_nt):
9984         (2).
9985         delete quote-handling.  call new lisp code that does it better.
9986
9987         * process-unix.c (connect_to_file_descriptor):
9988         * process-unix.c (allocate_pty):
9989         * process-unix.c (unix_send_process):
9990         * process-unix.c (unix_kill_child_process):
9991         * process-unix.c (unix_open_network_stream):
9992         * process-unix.c (unix_open_multicast_group):
9993         (1). (2).
9994
9995         * process.c:
9996         * process.c (Fstart_process_internal):
9997         (2).  need to canonicalize process path even if absolute.
9998
9999         * select-msw.c (symbol_to_ms_cf):
10000         * select-msw.c (ms_cf_to_symbol):
10001         * select-msw.c (cf_is_autofreed):
10002         * select-msw.c (mswindows_destroy_selection):
10003         * select.c:
10004         * select.c (syms_of_select):
10005         * select.h:
10006         support dibv5, fix bugs. (from Mike Alexander)
10007
10008         * select.c (Fget_selection_internal):
10009         * select.c (select_convert_out):
10010
10011         * sysdep.c:
10012         * sysdep.c (xemacs_stat):
10013         renamed.
10014
10015         * sysdep.c (mkdir):
10016         * sysdep.c (rmdir):
10017         but keep original stat() here because we provide encapsulation
10018         around these funs.
10019
10020         * sysfile.h:
10021         * sysfile.h (fstat):
10022         remove stat garbage.
10023
10024         * syswindows.h:
10025         fix X/MSW conflict.
10026         don't include tchar.h.  it's inappropriate because it makes
10027         compile-time distinctions when we want runtime distinctions.
10028         (we provide our own tchar replacements)
10029
10030         * toolbar.c:
10031         use default object printer for toolbar-button.
10032
10033         * unexcw.c:
10034         make sure we don't encapsulate.
10035
10036         * window.c (vars_of_window):
10037         emphasize that temp-buffer-show-hook is obsolete.
10038
10039 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10040
10041         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10042         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10043
10044         * events.c (Fevent_timestamp_lessp):
10045         Not 64-bit clean.  Use EMACS_INT, not int.
10046
10047 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10048
10049         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10050         unsigned int and changed the last enum to
10051         lrecord_type_last_built_in_type.
10052         (lrecord_implementations_table): changed prototype to know how
10053         long the array is supposed to be.
10054         (lrecord_type_count): new unsigned int to keep track of the
10055         current number of lisp lrecord types.
10056         (DEFINE_EXTERNAL_LRECORD):
10057         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10058         dynamic-modules to declare new lisp types. They are the same
10059         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10060         int for each new type, and increment lrecord_type_count by 1.
10061
10062         * alloc.c (lrecord_implementations_table): Changed to reference
10063         lrecord_type_last_built_in_type for the size of the array.
10064         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10065
10066 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10067
10068         * glyphs.h (check_valid_item_list): Renamed from
10069         check_valid_item_list_1.
10070
10071 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10072
10073         * select.c (Qselect_coerce): New.
10074         * select.c (Vselection_coercion_alist): New.
10075         * select.c (syms_of_select): Declare.
10076         * select.c (get-selection-internal): Use it.
10077         Use the new select-coerce functionality.
10078
10079         * select.c (select_coerce): New.
10080         * select.h (select_coerce): Declare.
10081         New function to coerce one type of data into another.
10082
10083 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10084
10085         * callproc.c (Fcall_process_internal):
10086         (Fcall_process_internal):
10087         * process-unix.c (unix_create_process):
10088         Save and restore the value of errno, so that error messages are accurate.
10089
10090 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10091
10092         * elhash.c (print_hash_table):
10093         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10094         Prettify docstrings and indentation.
10095
10096 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10097
10098         * window.c (Fwindow_pixel_edges): Subtract frame border and
10099         gutter size.
10100
10101 2000-07-31  Andy Piper  <andy@xemacs.org>
10102
10103         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10104         will acknowledge the change.
10105
10106         * glyphs.h: declare tab_control_order_only_changed.
10107
10108         * glyphs-x.c (x_tab_control_redisplay): use
10109         tab_control_order_only_changed.
10110
10111         * glyphs-widget.c (tab_control_order_only_changed): new function.
10112
10113         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10114         tab_control_order_only_changed.
10115
10116         * gui.c (gui_item_equal_sans_selected): new function.
10117         (gui_item_equal): use it.
10118
10119         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10120         :properties in favor of :items..
10121
10122         * glyphs-widget.c (check_valid_item_list): rename from
10123         check_valid_item_list_1.
10124         (check_valid_item_list_1): renamed.
10125         (combo_box_validate): deprecate :properties in favor of :items.
10126         (widget_instantiate): ditto.
10127         (tab_control_update): ditto.
10128         (image_instantiator_combo_box): ditto.
10129         (image_instantiator_tree_view): ditto.
10130         (image_instantiator_tab_control): ditto.
10131         (layout_post_instantiate): remove dead code.
10132
10133         * print.c (debug_print_no_newline): only write to debugger if in
10134         WIN32_NATIVE.
10135
10136         * elhash.c (Fmake_hash_table): update doc string.
10137
10138         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10139         messages whilst in GC. This at least stops XEmacs crashing but has
10140         the potential for wierd behaviour.
10141
10142 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10143
10144         * config.h.in:
10145         Make existence of s&m files optional.
10146
10147         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10148         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10149         * s/gnu.h: Remove HAVE_GETLOADAVG.
10150         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10151         * s/sol2.h: Remove HAVE_GETLOADAVG.
10152         * lisp.h: Remove getloadavg() declaration.
10153         * fns.c:
10154         Include <sys/loadavg.h> if available.
10155         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10156         * config.h.in:  Group together getloadavg()-related macros.
10157         Use only configure-time tests to detect getloadavg().
10158
10159 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10160
10161         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10162
10163 2000-07-25  Andy Piper  <andy@xemacs.org>
10164
10165         * syswindows.h: add tchar.h for native builds.
10166
10167         * frame.c (syms_of_frame): remove set-glyph-image.
10168
10169         * general-slots.h: add Qset_glyph_image.
10170
10171         * glyphs-widget.c (layout_update): add domain arg to
10172         set-glyph-image.
10173         (syms_of_glyphs_widget): remove set-glyph-image.
10174
10175 2000-07-23  Ben Wing  <ben@xemacs.org>
10176
10177         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10178         Vpopup_frame_list.
10179
10180 2000-07-22  Andy Piper  <andy@xemacs.org>
10181
10182         * symsinit.h: add syms_of_win32().
10183
10184         * gui-msw.c (syms_of_gui_mswindows): remove
10185         Fmswindows_shell_execute.
10186         (Fmswindows_shell_execute): moved to win32.c.
10187
10188         * emacs.c (main_1): add syms_of_win32 ().
10189
10190         * win32.c (init_potentially_nonexistent_functions): rewrite in
10191         compiler-friendly terms.
10192         (Fmswindows_shell_execute): move here from gui-msw.c.
10193         (syms_of_win32): new.
10194
10195         * device-msw.c (Fmswindows_printer_list): clean up args to
10196         EnumPrinters.
10197         Don't include tchar under cygwin or mingw.
10198         (msprinter_default_printer): make cygwin-friendly.
10199
10200 2000-07-21  Andy Piper  <andy@xemacs.org>
10201
10202         * glyphs-widget.c (image_instantiator_tree_view): use tab
10203         control's update function.
10204         (layout_property): new function. Retrieve items.
10205
10206         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10207         function. Re-populate the tree view from the pending items.
10208
10209         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10210         is designated the parent if the domain is an image instance. This
10211         is needed so that dirtiness can be cascade up the hierarchy and
10212         thus for layout children to be redisplayed correctly.
10213         (allocate_image_instance): rename glyph -> parent.
10214
10215         * redisplay.h: change redisplay_output_layout signature.
10216
10217         * redisplay-msw.c (mswindows_output_display_block): use domain
10218         arg.
10219
10220         * redisplay-x.c (x_output_display_block): use domain arg.
10221
10222 2000-07-10  Andy Piper  <andy@xemacs.org>
10223
10224         * window.c (Fset_window_configuration): add comment.
10225
10226         * redisplay-output.c (compare_runes):
10227         (redisplay_output_subwindow): redisplay rather than update subwindow.
10228         (redisplay_output_layout): ditto.
10229
10230         * redisplay-msw.c (mswindows_frame_output_end):
10231         (mswindows_frame_output_end): make defer window pos optional.
10232
10233         * lisp.h: add Flast.
10234
10235         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10236         normalize method. Change update method to be for changed
10237         instantiators. Add redisplay method. Change signature of layout
10238         method.
10239         (struct Lisp_Image_Instance): add instantiator.
10240         (IMAGE_INSTANCE_INSTANTIATOR): new.
10241         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10242         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10243         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10244
10245         * glyphs.c:
10246         (find_instantiator_differences): new function.
10247         (Fset_instantiator_property): new convenience function.
10248         (check_image_instance_structure): strictly check for vector
10249         instantiators.
10250         (normalize_image_instantiator): make non-static.
10251         (instantiate_image_instantiator): pass on dest_mask and use new
10252         signatures for image_instance_layout and friends.
10253         (mark_image_instance): mark the instantiator. Mark the subwindow
10254         face not the widget face.
10255         (image_instance_equal): add instantiator.
10256         (image_instance_hash): ditto.
10257         (allocate_image_instance): ditto.
10258         (Fset_image_instance_property): removed.
10259         (Fimage_instance_file_name): ditto.
10260         (Fcolorize_image_instance): ditto.
10261         (image_instance_layout): add offsets to be set.
10262         (update_image_instance): new function. update an image instance
10263         from its changed instantiator.
10264         (inherit_normalize): add dest_mask.
10265         (xbm_normalize): ditto.
10266         (xface_normalize): ditto.
10267         (xpm_normalize): ditto.
10268         (text_update): set_property -> update.
10269         (image_instantiate): use the glyph identity as a hash key, not the
10270         instantiator.
10271         (glyph_width): use new image_instance_layout signature.
10272         (glyph_ascent): ditto.
10273         (glyph_descent): ditto.
10274         (glyph_height): ditto.
10275         (glyph_query_geometry): ressurrect.
10276         (glyph_layout): ditto.
10277         (redisplay_subwindow): update -> redisplay.
10278         (syms_of_glyphs): add Fset_instantiator_property.
10279         (image_instantiator_format_create): set_property -> update.
10280
10281         * glyphs-x.c:
10282         (autodetect_normalize): add dest_maks to signature.
10283         (x_redisplay_subwindow): update -> redisplay.
10284         (x_redisplay_widget): ditto.
10285         (x_button_redisplay): ditto.
10286         (x_progress_gauge_redisplay): ditto.
10287         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10288         stacking order.
10289         (console_type_create_glyphs_x): update -> redisplay.
10290         (image_instantiator_format_create_glyphs_x): ditto.
10291
10292         * glyphs-widget.c:
10293         (check_valid_instantiator): disallow glyphs in the instantiator,
10294         they must now be vectors.
10295         (check_valid_instantiator_list): ditto.
10296         (glyph_instantiator_to_glyph): use internal symbol rather than
10297         intern.
10298         (widget_update): renamed from widget_set_property. Call cascaded
10299         update methods.
10300         (redisplay_widget): renamed from update_widget.
10301         (widget_layout): image_instance_layout now takes position as well
10302         as size.
10303         (widget_normalize): ditto.
10304         (widget_instantiate): ditto.
10305         (tab_control_query_geometry) ditto.:
10306         (tab_control_update): renamed from tab_control_set_property.
10307         (progress_gauge_update): set_property -> update.
10308         (layout_normalize): rewrite so that child instantiators are
10309         normalized also.
10310         (layout_update): new function. Create glyphs from the normalized
10311         children and cope with any other layout keywords. We do not
10312         instantiate children here that will be take care of by
10313         redisplay_output_layout.
10314         (layout_instantiate): call layout_update and not much else.
10315         (layout_post_instantiate): not sure whether this is needed
10316         anymore.
10317         (layout_query_geometry): query glyph geometry rather than
10318         image_instance geometry.
10319         (layout_layout): set offsets from pass in parameters. Use glyph
10320         geometry and layout functions rather than image instance ones.
10321         (native_layout_layout): ditto.
10322         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10323         (image_instantiator_widget): set_property -> update.
10324         (image_instantiator_buttons): ditto.
10325         (image_instantiator_progress_guage): ditto.
10326         (image_instantiator_tab_control): ditto.
10327         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10328         (image_instantiator_layout): add update method.
10329
10330         * glyphs-msw.c (bmp_normalize):
10331         (mswindows_resource_normalize): add dest_mask so that it can be
10332         proprogated by layout_normalize.
10333         (begin_defer_window_pos): make optional because it may not be the
10334         right thing to do and it introduces differences with X.
10335         (mswindows_unmap_subwindow): ditto.
10336         (mswindows_map_subwindow): ditto.
10337         (mswindows_redisplay_subwindow): renamed from
10338         mswindows_update_subwindow.
10339         (mswindows_redisplay_widget): ditto.
10340         (mswindows_button_redisplay): renamed from
10341         mswindows_button_update. Update is now what the instantiation
10342         function does for a changed instantiator.
10343         (mswindows_progress_gauge_instantiate): set the progress value
10344         here if appropriate.
10345         (mswindows_tab_control_redisplay): cope with re-ordering of the
10346         members of the tab widget by simply selecting the new top
10347         widget. This makes things appear ok if you click on a tab.
10348         (mswindows_combo_box_instantiate): image_instance_layout now takes
10349         position as well as size.
10350         (mswindows_progress_gauge_redisplay): renamed from
10351         mswindows_progress_gauge_update.
10352         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10353         (image_instantiator_format_create_glyphs_mswindows): ditto.
10354
10355         * glyphs-eimage.c (jpeg_normalize):
10356         (gif_normalize):
10357         (png_normalize):
10358         (tiff_normalize): add dest_mask so that it can be proprogated by
10359         layout_normalize.
10360
10361         * elhash.c:
10362         (print_hash_table):
10363         (hash_table_weakness_validate):
10364         (decode_hash_table_weakness):
10365         (Fhash_table_weakness):
10366         (Fhash_table_type):
10367         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10368
10369         * console.h (struct console_methods): move update_* to
10370         redisplay_*.
10371
10372 2000-07-20  Ben Wing  <ben@xemacs.org>
10373
10374         * *.[ch] (XSETOBJ): remove unused middle argument.
10375         lisp-disunion.h: correct wrap_object() to one argument.
10376
10377 2000-07-15  Ben Wing  <ben@xemacs.org>
10378
10379         * s/cygwin32.h:
10380         * s/cygwin32.h (CYGWIN_CONV_PATH):
10381         Add missing logb prototype for v1.1.
10382         Use post-b20 names and alias to pre-b20 names when pre-b20.
10383
10384         * s/windowsnt.h: [5].
10385
10386 2000-07-15  Ben Wing  <ben@xemacs.org>
10387
10388         * Makefile.in.in (x_objs):
10389         * Makefile.in.in (sheap_objs):
10390         * Makefile.in.in (objs):
10391         added win32.o, cosmetic cleanups.
10392
10393         * alloc.c (Fmake_byte_code):
10394         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10395         etc. macros which declare their own args now.
10396
10397         * alloc.c (syms_of_alloc):
10398         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10399
10400         * buffer.c:
10401         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10402
10403         * buffer.c (Fget_file_buffer):
10404         Fixed GCPRO problem.
10405
10406         * buffer.c (get_truename_buffer):
10407         Fixed comment about GC checking.
10408
10409         * buffer.c (syms_of_buffer):
10410         Undeclared those dedicated frame funs.
10411         [2].
10412
10413         * buffer.h:
10414         Define convenience macros for internal/external conversions.
10415         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10416         and Qenvironment_variable_encoding for cleaner code.
10417
10418         * bufslots.h:
10419         Remove dedicated-frame; in lisp.
10420
10421         * bytecode.c (funcall_compiled_function):
10422         [1].
10423
10424         * bytecode.c (syms_of_bytecode):
10425         [2].
10426
10427         * console-msw.c:
10428         * console-msw.c (mswindows_show_console): Rewrote.
10429
10430         * console-msw.c (Fmswindows_debugging_output): New.
10431         Sends to OutputDebugString (special MSWin debugger interface).
10432
10433         * console-msw.c (Fmswindows_message_box):
10434         Fixed stupid bugs so it works when called from kill-emacs.
10435
10436         * console-msw.c (syms_of_console_mswindows):
10437         Declare Fmswindows_debugging_output.
10438
10439         * console-msw.h:
10440         New MSWin prototypes.
10441
10442         * console-msw.h (struct mswindows_frame):
10443         New entry last-click-mods for improved button-modifier support.
10444
10445         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10446         New struct entry `popup' with corresponding accessor.
10447
10448         * console-x.c:
10449         * console-x.c (split_up_display_spec):
10450         * console-x.c (get_display_arg_connection):
10451         * console-x.c (x_semi_canonicalize_console_connection):
10452         * console-x.c (x_canonicalize_device_connection):
10453         [[[6]]]: Change char to more specific type.
10454         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10455
10456         * console-x.c (x_semi_canonicalize_console_connection):
10457         * console-x.c (x_canonicalize_device_connection):
10458         [[[9]]]: Fix up error signalling to use new structured error system.
10459
10460         * console-x.h:
10461         [[[4]]]: Define codesys aliases:
10462         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10463         Qx_color_name_encoding, Qx_display_name_encoding.
10464
10465         * console.h (struct console_methods):
10466         New method make_dialog_box_internal supersedes older
10467         popup_dialog_box method.
10468
10469         * data.c:
10470         Define many new errors, part of new structured errors.
10471
10472         * data.c (init_errors_once_early):
10473         * data.c (syms_of_data):
10474         [2].
10475
10476         * device-msw.c (mswindows_init_device):
10477         [[[5]]]: Cleanup to support NT 3.51.
10478
10479         * device-msw.c (decode_devmode): Cleanup.
10480
10481         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10482         * device-msw.c (mswindows_handle_print_dialog_box):
10483         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10484         * device-msw.c (syms_of_device_mswindows):
10485         Delete the dialog box primitives recently introduced by Kirill and
10486         instead interface to general dialog box interface.
10487
10488         * device-x.c:
10489         * device-x.c (compute_x_app_name):
10490         * device-x.c (x_init_device):
10491         * device-x.c (Fx_valid_keysym_name_p):
10492         * device-x.c (Fx_set_font_path):
10493         [6].
10494         [7].
10495
10496         * device.h (wrap_device): New.
10497         First of its kind; meant to replace XSETDEVICE.
10498
10499         * dialog-msw.c: Many file-dialog symbols.
10500
10501         * dialog-msw.c (mswindows_register_popup_frame): New.
10502         * dialog-msw.c (mswindows_is_dialog_msg): New.
10503         For supporting kbd traversal in dialog boxes.
10504
10505         * dialog-msw.c (dialog_proc):
10506         Support hitting ESC in dialogs.
10507
10508         * dialog-msw.c (struct):
10509         Common dialog box errors.
10510
10511         * dialog-msw.c (handle_file_dialog_box): New.
10512         Add file dialog code.
10513
10514         * dialog-msw.c (handle_question_dialog_box):
10515         Redo existing code to support new question dialog syntax.
10516
10517         * dialog-msw.c (console_type_create_dialog_mswindows):
10518         We support new dialog console method.
10519
10520         * dialog-msw.c (syms_of_dialog_mswindows):
10521         * dialog-msw.c (vars_of_dialog_mswindows):
10522         New file dialog symbols, vars.
10523
10524         * dialog-x.c:
10525         * dialog-x.c (maybe_run_dbox_text_callback):
10526         * dialog-x.c (dbox_descriptor_to_widget_value):
10527         * dialog-x.c (x_make_dialog_box_internal):
10528         * dialog-x.c (console_type_create_dialog_x):
10529         Mule-ize entire file.
10530         Redo to support question dialog syntax.
10531         [6].
10532
10533         * dialog.c:
10534         * dialog.c (Fmake_dialog_box_internal):
10535         * dialog.c (syms_of_dialog):
10536         Kill old popup-dialog-box, replace with new primitive.
10537         Just call device method or signal error.
10538
10539         * eldap.c (Fldap_open):
10540         * eldap.c (Fldap_search_basic):
10541         * eldap.c (Fldap_add):
10542         * eldap.c (Fldap_modify):
10543         [1].
10544         [7].
10545
10546         * emacs.c:
10547         * emacs.c (make_arg_list_1):
10548         * emacs.c (make_arg_list):
10549         Mule-ize call to dll_init().
10550         [6].
10551         [8].
10552
10553         * emacs.c (make_argc_argv):
10554         * emacs.c (free_argc_argv):
10555         * emacs.c (init_cmdargs):
10556         * emacs.c (main_1):
10557         * emacs.c (Fkill_emacs):
10558         * emacs.c (Fdump_emacs):
10559         Update comments about what can be used in syms_* etc.
10560         Call init_win32() when necessary.
10561         Fix up MS Win dialog box in kill-buffer to actually work right.
10562         [7].
10563
10564         * eval.c:
10565         * eval.c (For):
10566         * eval.c (Fand):
10567         * eval.c (Fprogn):
10568         * eval.c (Fprog1):
10569         * eval.c (Fprog2):
10570         * eval.c (FletX):
10571         * eval.c (Flet):
10572         * eval.c (condition_case_3):
10573         * eval.c (Feval):
10574         * eval.c (function_argcount):
10575         * eval.c (funcall_lambda):
10576         [1].
10577
10578         * eval.c (type_error): New.
10579         * eval.c (maybe_type_error): New.
10580         * eval.c (continuable_type_error): New.
10581         * eval.c (maybe_continuable_type_error): New.
10582         * eval.c (type_error_with_frob): New.
10583         * eval.c (maybe_type_error_with_frob): New.
10584         * eval.c (continuable_type_error_with_frob): New.
10585         * eval.c (maybe_continuable_type_error_with_frob): New.
10586         New functions for use with structured errors.
10587
10588         * event-Xt.c:
10589         * event-Xt.c (x_event_to_emacs_event):
10590         Buttons are now modifiers too.
10591
10592         * event-Xt.c (emacs_Xt_current_event_timestamp):
10593         Implement new event method.
10594         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10595
10596         * event-msw.c:
10597         * event-msw.c (ntpipe_shove_writer): [5].
10598         * event-msw.c (mswindows_enqueue_mouse_button_event):
10599         * event-msw.c (mswindows_drain_windows_queue):
10600         * event-msw.c (mswindows_wnd_proc): [7].
10601         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10602         * event-msw.c (mswindows_modifier_state):
10603         Throughout: support new button modifiers.
10604
10605         * event-msw.c (emacs_mswindows_current_event_timestamp):
10606         Implement new event method.
10607         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10608
10609         * event-stream.c:
10610         * event-stream.c (event_stream_current_event_timestamp): New.
10611         * event-stream.c (maybe_kbd_translate): New functionality.
10612         * event-stream.c (vars_of_event_stream):
10613         Document new kbd-translate-table functionality.
10614
10615         * event-stream.c (Fcurrent_event_timestamp): New.
10616         New primitive for use in fabricated events.
10617         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10618
10619         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10620
10621         * events.c:
10622         * events.c (Fmake_event):
10623         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10624         [1].
10625         [9].
10626
10627         * events.c (format_event_object): fix gcc warnings.
10628
10629         * events.c (Fevent_timestamp): Document new primitives.
10630
10631         * events.c (TIMESTAMP_HALFSPACE): New.
10632
10633         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10634         comparing timestamps correctly (half-space algorithm).
10635
10636         * events.c (Fevent_modifier_bits): Doc fix.
10637
10638         * events.c (Fevent_modifiers): Major doc addition.
10639         * events.c (event_x_y_pixel_internal): Typo fix.
10640         * events.c (syms_of_events): Declare new primitives.
10641
10642         * events.h:
10643         Update long comment for button modifiers, timestamps.
10644
10645         * events.h (struct event_stream):
10646         New current_event_timestamp method.
10647
10648         * extents.c:
10649         * extents.c (extent_in_region_p):
10650         * extents.c (decode_extent):
10651         * extents.c (Fset_extent_parent):
10652         * extents.c (decode_map_extents_flags):
10653         Fix gcc warnings.
10654         [9].
10655
10656         * extents.c (struct extent_at_arg):
10657         * extents.c (decode_extent_at_flag):
10658         * extents.c (extent_at_mapper):
10659         * extents.c (extent_at_bytind):
10660         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10661         * extents.c (Fextents_at): New primitive. [9].
10662         * extents.c (symbol_to_glyph_layout): [9].
10663         Support new primitive `extents-at'.
10664
10665
10666         * extents.c (get_text_property_bytind):
10667         extent_at_bytind has another arg.
10668         [9].
10669
10670         * extents.c (syms_of_extents): New primitive.
10671
10672         * file-coding.c (Fmake_coding_system): [1].
10673         * file-coding.c (subsidiary_coding_system): fix gcc warning
10674         * file-coding.c (syms_of_file_coding): [2].
10675
10676         * fileio.c (Fexpand_file_name):
10677         * fileio.c (Fsysnetunam):
10678         * fileio.c (Ffile_exists_p):
10679         * fileio.c (Ffile_executable_p):
10680         * fileio.c (Fverify_visited_file_modtime):
10681         Clean up GCPROing.
10682
10683         * fileio.c (syms_of_fileio): [2].
10684
10685         * filelock.c (lock_file_1):
10686         * filelock.c (current_lock_owner):
10687         * filelock.c (lock_if_free):
10688         * filelock.c (lock_file):
10689         * filelock.c (unlock_file):
10690         Clean up GCPROing.
10691
10692         * fns.c (concat): Fix gcc warning.
10693
10694         * fns.c (Fmember):
10695         * fns.c (Fold_member):
10696         * fns.c (Fmemq):
10697         * fns.c (Fold_memq):
10698         * fns.c (memq_no_quit):
10699         * fns.c (Fassoc):
10700         * fns.c (Fold_assoc):
10701         * fns.c (Fassq):
10702         * fns.c (Fold_assq):
10703         * fns.c (assq_no_quit):
10704         * fns.c (Frassoc):
10705         * fns.c (Fold_rassoc):
10706         * fns.c (Frassq):
10707         * fns.c (Fold_rassq):
10708         * fns.c (rassq_no_quit):
10709         * fns.c (Fdelete):
10710         * fns.c (Fold_delete):
10711         * fns.c (Fdelq):
10712         * fns.c (Fold_delq):
10713         * fns.c (delq_no_quit):
10714         * fns.c (Fremassoc):
10715         * fns.c (Fremassq):
10716         * fns.c (remassq_no_quit):
10717         * fns.c (Fremrassoc):
10718         * fns.c (Fremrassq):
10719         * fns.c (remrassq_no_quit):
10720         * fns.c (Freverse):
10721         * fns.c (mapcar1):
10722         [1].
10723
10724         * frame-msw.c (mswindows_init_frame_1):
10725         * frame-msw.c (mswindows_delete_frame):
10726         Register popups with dialog code so keyboard traversing works.
10727
10728         * frame-tty.c (tty_raise_frame_no_select): [1].
10729
10730         * frame-x.c:
10731         * frame-x.c (x_set_frame_text_value):
10732         * frame-x.c (x_set_frame_properties):
10733         * frame-x.c (x_create_widgets):
10734         [7].
10735
10736         * frame.c:
10737         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10738
10739         * frame.h (wrap_frame): New.
10740         Macro like wrap_device.
10741
10742         * general.c:
10743         * general.c (SYMBOL):
10744         * general.c (syms_of_general):
10745         Major reorg.  This is now just a wrapper and symbols themselves
10746         are listed in general-slots.h.
10747
10748         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10749         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10750
10751         * glyphs-msw.c (mswindows_native_layout_instantiate):
10752         Add DS_CONTROL so keyboard traversal will work.
10753
10754         * glyphs-widget.c:
10755         * glyphs-widget.c (syms_of_glyphs_widget):
10756         Move some symbols to general-slots.h.
10757
10758         * glyphs-x.c:
10759         * glyphs-x.c (xbm_instantiate_1):
10760         * glyphs-x.c (x_xbm_instantiate):
10761         * glyphs-x.c (x_xface_instantiate):
10762         * glyphs-x.c (autodetect_instantiate):
10763         * glyphs-x.c (cursor_font_instantiate):
10764         * glyphs-x.c (x_update_widget):
10765         * glyphs-x.c (x_widget_instantiate):
10766         * glyphs.c (bitmap_to_lisp_data):
10767         * glyphs.c (pixmap_to_lisp_data):
10768         [7].
10769
10770         * glyphs.c (syms_of_glyphs):
10771         [2].
10772
10773         * gui-x.c:
10774         * gui-x.c (print_widget_value):
10775         * gui-x.c (menu_separator_style_and_to_external):
10776         * gui-x.c (add_accel_and_to_external):
10777         * gui-x.c (button_item_to_widget_value):
10778         * gui-x.c (gui_items_to_widget_values_1):
10779         * gui-x.c (gui_items_to_widget_values):
10780         * gui-x.c (syms_of_gui_x):
10781         * gui-x.c (vars_of_gui_x):
10782         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10783         [9].
10784
10785         * gui-x.h:
10786         Muleize, prototype changes matching gui-x.c.
10787
10788         * gui.c:
10789         * gui.c (separator_string_p):
10790         * gui.c (gui_item_add_keyval_pair):
10791         * gui.c (make_gui_item_from_keywords_internal):
10792         * gui.c (signal_too_long_error):
10793         * gui.c (parse_gui_item_tree_item):
10794         * gui.c (syms_of_gui):
10795         * gui.c (vars_of_gui):
10796         * gui.h:
10797         menu-no-selection-hook moved here (used by MSWin).
10798         Move some symbols to general-slots.h.
10799         [6].
10800         [9].
10801
10802         * insdel.c (get_buffer_pos_char):
10803         * insdel.c (get_buffer_range_char):
10804         Add GC comments.
10805
10806         * keymap.c (keymap_lookup_directly):
10807         * keymap.c (keymap_store):
10808         * keymap.c (ensure_meta_prefix_char_keymapp):
10809         * keymap.c (describe_map):
10810         * keymap.h:
10811         Support new button modifiers.
10812
10813         * lisp-disunion.h (wrap_object):
10814         * lisp-disunion.h (XSETOBJ):
10815         Rename make_obj to wrap_object.
10816
10817         * lisp-union.h:
10818         * lisp-union.h (make_int):
10819         * lisp-union.h (make_char):
10820         Support wrap_object.
10821
10822         * lisp.h:
10823         * lisp.h (LIST_LOOP):
10824         * lisp.h (EXTERNAL_LIST_LOOP):
10825         * lisp.h (LIST_LOOP_2):
10826         * lisp.h (EXTERNAL_LIST_LOOP_1):
10827         * lisp.h (EXTERNAL_LIST_LOOP_2):
10828         * lisp.h (EXTERNAL_LIST_LOOP_3):
10829         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10830         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10831         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10832         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10833         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10834         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10835         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10836         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10837         * lisp.h (struct Lisp_Symbol):
10838         * lisp.h (maybe_continuable_error_with_frob):
10839         Fix up section comments.
10840         Add new types for char to indicate usage.
10841         Delete symbols auto-generated from general-slots.h.
10842         Add prototypes for structured error functions.
10843         Add long comments describing looping macros and change interface
10844         so that lvalues are automatically declared.
10845         Add NO_DECLARE macro in case callers want to declare lvalues
10846         themselves.
10847
10848         * lread.c (read_syntax_error):
10849         * lread.c (continuable_read_syntax_error):
10850         * lread.c (read_structure):
10851         * lread.c (sequence_reader):
10852         * lread.c (read_list_conser):
10853         * lread.c (read_compiled_function):
10854         Rename syntax_error and continuable_syntax_error to avoid clash
10855         with same-named structured error functions.
10856
10857         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10858         * menubar-msw.c (populate_menu_add_item):
10859         * menubar-msw.c (populate_or_checksum_helper):
10860         [5].
10861         [9].
10862
10863         * menubar-x.c:
10864         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10865         Mule-ize whole file.
10866
10867         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10868
10869         * mule-charset.c (Fmake_charset):
10870         * mule-wnnfns.c (Fwnn_set_param):
10871         [1].
10872
10873         * ntproc.c (create_child):
10874         * ntproc.c (Fwin32_set_current_locale):
10875         Add comments portending doom.
10876
10877         * objects-msw.c:
10878         * objects-msw.c (old_font_enum_callback_2):
10879         * objects-msw.c (font_enum_callback_1):
10880         * objects-msw.c (mswindows_enumerate_fonts):
10881         [5].
10882
10883         * objects-x.c:
10884         * objects-x.c (allocate_nearest_color):
10885         * objects-x.c (x_parse_nearest_color):
10886         * objects-x.c (x_initialize_color_instance):
10887         * objects-x.c (x_print_color_instance):
10888         * objects-x.c (x_finalize_color_instance):
10889         * objects-x.c (x_valid_color_name_p):
10890         * objects-x.c (x_initialize_font_instance):
10891         * objects-x.c (x_print_font_instance):
10892         * objects-x.c (valid_x_font_name_p):
10893         * objects-x.c (truename_via_FONT_prop):
10894         * objects-x.c (truename_via_random_props):
10895         * objects-x.c (truename_via_XListFonts):
10896         * objects-x.c (x_font_truename):
10897         * objects-x.c (x_font_instance_truename):
10898         * objects-x.c (x_font_instance_properties):
10899         * objects-x.c (x_list_fonts):
10900         * objects-x.c (x_find_charset_font):
10901         Mule-ize entire file.
10902         [7].
10903
10904         * objects-x.h:
10905         Mule-verify.
10906
10907         * print.c:
10908         * print.c (std_handle_out_external):
10909         * print.c (debug_print_no_newline):
10910         * print.c (syms_of_print):
10911         Output to all debugger kinds in debug-print.
10912         Fix console-output code under MSWin to actually work.
10913
10914         * process-nt.c (send_signal):
10915         * process-nt.c (nt_create_process):
10916         Use newer Unicode macros.
10917
10918         * process-unix.c (unix_create_process):
10919         * process-unix.c (unix_canonicalize_host_name):
10920         * process-unix.c (unix_open_network_stream):
10921         [7].
10922
10923         * scrollbar-x.c:
10924         Mule-verify.
10925
10926         * search.c (syms_of_search):
10927         [2].
10928
10929         * select-msw.c (mswindows_destroy_selection):
10930         Use LIST_LOOP_2.
10931
10932         * select-x.c (symbol_to_x_atom):
10933         [7].
10934
10935         * select.c (syms_of_select):
10936         [2].
10937
10938         * sound.c (Fplay_sound_file):
10939         [7].
10940
10941         * specifier.c:
10942         * specifier.c (decode_specifier_type):
10943         * specifier.c (Fvalid_specifier_locale_type_p):
10944         * specifier.c (check_valid_locale_or_locale_type):
10945         * specifier.c (decode_locale):
10946         * specifier.c (decode_locale_type):
10947         * specifier.c (decode_locale_list):
10948         * specifier.c (check_valid_domain):
10949         * specifier.c (decode_specifier_tag_set):
10950         * specifier.c (Fcanonicalize_tag_set):
10951         * specifier.c (Fdefine_specifier_tag):
10952         * specifier.c (Fspecifier_tag_predicate):
10953         * specifier.c (check_valid_inst_list):
10954         * specifier.c (check_valid_spec_list):
10955         * specifier.c (decode_how_to_add_specification):
10956         * specifier.c (check_modifiable_specifier):
10957         * specifier.c (specifier_add_spec):
10958         * specifier.c (boolean_validate):
10959         * specifier.c (display_table_validate):
10960         [9].
10961
10962         * specifier.c (syms_of_specifier):
10963         Move some symbols to general-slots.h.
10964         [2].
10965
10966         * symbols.c:
10967         * symbols.c (Fmapatoms):
10968         * symbols.c (Fapropos_internal):
10969         Add GCPROs.
10970
10971         * symbols.c (set_default_buffer_slot_variable):
10972         * symbols.c (set_default_console_slot_variable):
10973         [1].
10974
10975         * symbols.c (defsymbol_massage_name_1):
10976         * symbols.c (defkeyword_massage_name):
10977         * symbols.c (deferror_1):
10978         * symbols.c (deferror):
10979         * symbols.c (deferror_massage_name_and_message):
10980         * symeval.h:
10981         * symeval.h (DEFSYMBOL):
10982         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10983
10984         * symbols.c (syms_of_symbols):
10985         [2].
10986
10987         * symsinit.h:
10988         * symsinit.h (init_win32): New.
10989         Also new is syms_of_dialog_mswindows.
10990
10991         * syswindows.h:
10992         Add new Unicode macros, missing Cygwin wide-char functions,
10993         convenience conversion macros for Qmswindows_tstr, macros for
10994         encapsulating required MSWin <-> Cygwin filename conversions,
10995         prototype for dynamically-extracted (not in NT 3.51) functions.
10996
10997         * toolbar-x.c:
10998         Mule-verify.
10999
11000         * tooltalk.c (Fadd_tooltalk_message_arg):
11001         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11002         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11003         [7].
11004
11005         * tooltalk.c (syms_of_tooltalk):
11006         [2].
11007
11008         * unexnt.c:
11009         * unexnt.c (unexec):
11010         Fix up headers, declaration of unexec() to be more standard.
11011
11012 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11013
11014         * offix.h: Revert change to guard macros - they're used in offix.c!
11015
11016 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11017
11018         * lisp.h: Defsubred Fdelete.
11019
11020         * console-msw.h:  (msprinter_default_printer): Added.
11021
11022         * console-msw.c (msprinter_canonicalize_console_connection):
11023         (msprinter_canonicalize_device_connection): Added.
11024
11025         * device-msw.c (msprinter_default_printer):
11026         (Fmswingows_get_default_printer):
11027         (signal_enum_priner_error):
11028         (Fmswingows_printer_list): Added.
11029
11030 2000-07-19  Martin Buchholz <martin@xemacs.org>
11031
11032         * XEmacs 21.2.35 is released.
11033
11034 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11035
11036         * select-x.c (x_handle_selection_request):
11037         Text selected in xemacs and pasted into xterm failed to appear.
11038         Spelling fixes and cosmetic changes.
11039
11040 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11041
11042         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11043         XEmacs frame (fix for doubling chars in dialog boxes).
11044
11045 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11046
11047         * select.c (select_convert_in, select_convert_out):
11048         Don't call intern() every time.
11049
11050         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11051         * select.c (vars_of_select): Initialise them.
11052
11053 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11054
11055         * select.c (selection-coercible-types): New.
11056
11057         * select.c (own-selection-internal):
11058         * select.c (get-selection-internal):
11059         MULE bug fix - these should default to COMPOUND_TEXT and not
11060         STRING for MULE. I think.
11061
11062         * select.c (select_convert_out): Use selection-coercible-types
11063         to find types that we can attempt to perform coercions on.
11064
11065 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11066
11067         * mule-wnnfns.c:
11068         * mule-canna.c:
11069         Add coding: cookie to identify encoding.
11070
11071         * mule-canna.c (CANNA_mode_keys): make static.
11072         Use proper prototypes, even for functions of no arguments.
11073         Remove external prototype for Fding().
11074
11075         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11076
11077         * select.c (syms_of_select): Add missing DEFSUBR.
11078
11079 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11080
11081         * select.c (get_selection_internal, own_selection_internal):
11082         Make the type default to STRING, rather than placing a nil type
11083         into Vselection_alist.
11084
11085 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11086
11087         * gpmevent.c (tty_selection_exists_p):
11088         * gpmevent.c (tty_own_selection):
11089         Updated parameter lists.
11090
11091 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11092
11093         * select.h (selection-alist): Removed declaration.
11094
11095         * select.h (get_local_selection):
11096         * select.c (get_local_selection):
11097         Made static.
11098
11099         * select.h (convert_selection): Removed declaration.
11100         * select.c (convert_selection): Removed.
11101         This function belongs in Lisp.
11102
11103         * select.h (select_convert_in): Declare.
11104         * select.h (select_convert_out): Declare.
11105         * select.c (select_convert_in): New.
11106         * select.c (select_convert_out): New.
11107         New conversion functions for other files to call.
11108
11109         * select.h (select_notify_buffer_kill): Declare.
11110         * select.c (select_notify_buffer_kill): New.
11111         New functions that get called from kill-buffer.
11112
11113         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11114         X-specific lisp code.
11115
11116         * select.h: Declare some of the lisp-visible functions for
11117         external use.
11118
11119         * select.c (clean_local_selection_data): Removed. This was
11120         a disgusting function, and previously should have been in
11121         select-x.c in any case. The functionality is now provided
11122         in select-convert-from-integer (select.el).
11123
11124         * select.c (available-selection-types): Fixed stupidity where
11125         INTEGER and ATOM got added twice. Also add STRING when we see an
11126         extent.
11127
11128         * select.c (get-selection-internal): Removed symbol stripping. No
11129         longer causes conversion when data comes from the internal cache.
11130
11131         * select.c (syms_of_select): Added new functions.
11132
11133         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11134         error checking - previously this called abort!
11135
11136         * select-x.c (x_own_selection): Changed comment.
11137
11138         * select-x.c (x_handle_selection_request): Use select_convert_out.
11139         Don't mess with selection-alist; it's an internal variable of select.c.
11140
11141         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11142
11143         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11144         rather than messing with selection-alist.
11145
11146         * select-msw.c (mswindows_get_foreign_selection):
11147         Use TO_INTERNAL_FORMAT rather than hacking.
11148
11149 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11150
11151         * process-unix.c (unix_open_multicast_group):
11152         (unix_open_multicast_group): Remove useless casts.
11153
11154 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11155
11156         * sound.c (Fplay_sound): Fix `unused variable' warning.
11157
11158         * emacs.c (main): Use correct type for _environ on SCO5.
11159
11160 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11161
11162         * console.h (own_selection_method):
11163         * console.h (selection_exists_p_method):
11164         * console.h (available_selection_types_method): New.
11165         * console.h (register_selection_data_type_method): New.
11166         * console.h (selection_data_type_name): New.
11167
11168         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11169         function & alist to track GlobalAlloc()'d handles that need
11170         releasing when the clipboard data gets replaced or emptied.
11171
11172         * event-msw.c (mswindows_wnd_proc): Call it.
11173
11174         * lisp.h, general.c (Qappend): New symbol representing a
11175         `how-to-add' mode.
11176
11177         * select.c (own-selection-internal):
11178         * select.c (selection-exists-p):
11179         * select.c (available-selection-types): New.
11180         * select.c (register-selection-data-type): New.
11181         * select.c (selection-data-type-name): New.  New functions to deal
11182         with device-specific selection data formats.
11183         * select.c (selection-converter-out-alist): Renamed.
11184         * select.c (selection-converter-in-alist): New.
11185         * select.c (selection-appender-alist): New.  Added new alists.
11186         * select.c (syms_of_select, vars_of_select): Added new symbols &
11187         variables.
11188         * select.c (get_local_selection): Split.
11189         * select.c: Removed spurious type checking - selections may now be
11190         of any type, not just strings.
11191         * select.c (own-selection-internal):
11192
11193         * select.h, select.c (convert_selection): New. Created
11194         convert_selection() function based on get_local_selection().
11195         * select.h, select.c (QCF_*): New symbols representing mswindows
11196         clipboard formats.
11197         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11198         symbols representing `how-to-add' modes.
11199
11200         * select-msw.c (x_sym_p): New.
11201         * select-msw.c (symbol_to_ms_cf): New.
11202         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11203         symbols & clipboard formats. Can also handle string names.
11204         * select-msw.c (mswindows_own_selection):
11205         * select-msw.c (mswindows_selection_exists_p):
11206         Added `data-type' parameter. Use it.
11207         * select-msw.c (mswindows_available_selection_types): New.
11208         * select-msw.c (mswindows_register_selection_data_type): New.
11209         * select-msw.c (mswindows_selection_data_type_name): New.
11210         * select-msw.c (mswindows_own_selection):
11211         * select-msw.c (mswindows_get_foreign_selection):
11212         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11213         * select-msw.c (console_create_select_mswindows): Added new methods.
11214         * select-msw.c (mswindows_destroy_selection): New.
11215         * select-msw.c (Vhandle_alist): New list.
11216         * select-msw.c (mswindows_own_selection):
11217
11218         * select-x.c (x_own_selection):
11219         * select-x.c (x_selection_exists_p):
11220         * select-x.c: Added some comments about maybe using new
11221         functionality.
11222         * select-x.c (x_own_selection):
11223
11224         * specifier.c: Remove definition of Qappend (now in general.c)
11225         * specifier.c (syms_of_specifier): Remove Qappend.
11226
11227 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11228
11229         * config.h.in: Add socklen_t.
11230
11231         * s/decosf4-0.h: No special compiler flags needed or desired.
11232         In particular, undefine _BSD for DEC OSF 4.0.
11233
11234 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11235
11236         * redisplay-msw.c (msprinter_frame_output_end): Added.
11237         (console_type_create_redisplay_mswindows): Referred the above.
11238
11239         * frame.c (setup_frame_without_minibuffer): Do not create a
11240         default minibuffer frame on a printer device.
11241
11242         * frame-msw.c (apply_dc_geometry): Added.
11243         (msprinter_start_page):
11244         (msprinter_init_frame_3):
11245         (msprinter_eject_page): Use it.
11246
11247         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11248         and removed residual duplex and orientation properties.
11249
11250 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11251
11252         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11253
11254         * unexalpha.c: Remove system prototypes from C sources!
11255
11256 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11257
11258         * eval.c: Remove references to M-x edit-options in DEFUNs for
11259         `defvar' and `defconst'.
11260
11261 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11262
11263         * config.h.in: Remove SMART_INCLUDE hackery.
11264
11265         PostgreSQL hacking:
11266         * config.h.in: Don't use SMART_INCLUDE.
11267
11268         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11269         * inline.c: Simply #include "postgresql.h"
11270         * postgresql.c:
11271         - Don't use SMART_INCLUDE
11272         - Use simply "const".
11273         - Use standard doc string conventions.
11274         - Use correct type for result of PQstatus.
11275
11276 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11277
11278         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11279
11280         C++ compilation changes.
11281         * config.h.in (EXTERN_C): Define.
11282         * config.h.in (not): This is also a C++ keyword.
11283         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11284         * cm.c: Use EXTERN_C.
11285         * redisplay-tty.c: Use EXTERN_C.
11286         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11287
11288 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11289
11290         * general.c: Remove duplicate definition for Qfunction.
11291
11292 2000-07-08  Ben Wing  <ben@xemacs.org>
11293
11294         * device-msw.c (msprinter_init_device):
11295         * device-msw.c (sync_printer_with_devmode):
11296         * device-msw.c (handle_devmode_changes):
11297         * device-msw.c (print_dialog_worker):
11298         * device-msw.c (Fmsprinter_apply_settings):
11299         * device-msw.c (hash_devmode):
11300         * device-msw.c (Fmsprinter_settings_despecialize):
11301         use Qmswindows_tstr, not Qctext.
11302
11303         * vm-limit.c (check_memory_limits):
11304         avoid infinite loop printing warning messages.
11305
11306 2000-07-05  Craig Lanning  <lanning@scra.org>
11307
11308         * Makefile.in.in: Add support for including the Windows resources
11309         when building with the cygwin and mingw targets.
11310
11311         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11312         not set or not correct.
11313         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11314         (init_initial_directory): Don't try to use $PWD on the
11315         WIN32_NATIVE target.
11316
11317         * s\cygwin32.h:
11318         [[Add -mwindows to eliminate console window.]] not required --ben
11319         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11320         (MAIL_USE_POP): removed; now handled by configure.
11321
11322         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11323         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11324         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11325         (MAIL_USE_POP): removed; now handled by configure.
11326         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11327         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11328         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11329         constant string.
11330         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11331         up from <winsock.h> via systime.h.
11332         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11333         (getpagesize): from Dan Holmsand, added.
11334         Added #endif which was left dangling by Ben's mega patch; added
11335         comment to help prevent this in the future.
11336
11337         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11338
11339 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11340
11341         * console-msw.h (struct mswindows_device): Removed unnecessary
11342         cached device geometry values.
11343         Added update_tick and an accessor macro.
11344         (Lisp_Devmode): Added lrecord declaration.
11345         (struct msprinter_device): Contain devmode as a Lisp object.
11346         Added mswindows_get_selected_frame_hwnd();
11347
11348         * console.h (struct console_methods): Indentation nitpicking.
11349
11350         * device-msw.c (mswindows_init_device): Do not initialize geometry
11351         cache. Initialize update tick.
11352         (mswindows_device_system_metrics): Ask the device for its geometry.
11353         (global_free_2_maybe):
11354         (devmode_to_hglobal):
11355         (handle_printer_changes):
11356         (ensure_not_printing):
11357         (print_dialog_worker):
11358         (Fmsprinter_print_setup_dialog):
11359         (Fmsprinter_print_dialog):
11360         (plist_get_margin):
11361         (plist_set_margin):
11362         (Fmsprinter_page_setup_dialog): Added functions.
11363         (sync_printer_with_devmode):
11364         (handle_devmode_changes):
11365         (Fmsprinter_get_settings):
11366         (Fmsprinter_select_settings):
11367         (Fmsprinter_apply_settings):
11368         (allocate_devmode):
11369         (Fmsprinter_settings_copy):
11370         (Fmsprinter_settings_despecialize):
11371         (print_devmode):
11372         (finalize_devmode):
11373         (equal_devmode):
11374         (hash_devmode): Added functions
11375         (syms_of_device_mswindows): Init devmode lrecord class.
11376
11377         * device.h: Added an exfun for find-device.
11378
11379         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11380         geometry; although, recreate the device compatible DC.
11381
11382         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11383         (msprinter_init_frame_3):
11384         (msprinter_frame_property):
11385         (msprinter_internal_frame_property_p):
11386         (msprinter_frame_properties):
11387         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11388         print job properties (will move to device settings).
11389
11390         * lisp.h: Added symbols.
11391
11392         * general.c (syms_of_general): Declared them.
11393
11394         * hash.c (string_hash): Added.
11395
11396         * lrecord.h (lrecord_type): Added devmode lrecord type.
11397
11398 2000-07-02  Mike Sperber <mike@xemacs.org>
11399
11400         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11401         FreeBSD 4.0.
11402
11403 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11404
11405         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11406         integer.
11407
11408 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11409
11410         * data.c (Fstring_to_number): Don't recognize floating point if
11411         base is not 10.
11412
11413 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11414
11415         * glyphs-widget.c (tab_control_query_geometry):
11416         (widget_query_geometry):
11417         (button_query_geometry):
11418         * glyphs.c (text_query_geometry):
11419         Enforce type correctness.
11420
11421 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11422
11423         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11424         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11425
11426 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11427
11428         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11429         conflicts with gcc's fixincluded version of FOO.h.
11430
11431         * glyphs.h (image_instance_geometry): Remove trailing `,'
11432
11433 2000-06-08  Mike Alexander  <mta@arbortext.com>
11434
11435         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11436         (shove_thread): Don't write the same output twice
11437         (make_ntpipe_output_stream): Increase priority of shove thread
11438         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11439         chance to run
11440         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11441         it.
11442
11443 2000-06-12  Ben Wing  <ben@xemacs.org>
11444
11445         * s\mingw32.h (sigset):
11446         * s\windowsnt.h (sigset):
11447         rename msw_ to mswindows_ for consistency with general convention.
11448
11449 2000-06-12  Ben Wing  <ben@xemacs.org>
11450
11451         * console-msw.c:
11452         * console-msw.c (mswindows_get_console_hwnd):
11453         * console-msw.c (mswindows_ensure_console_allocated):
11454         * console-msw.c (mswindows_hide_console):
11455         * console-msw.c (mswindows_show_console):
11456         * console-msw.c (mswindows_ensure_console_buffered):
11457         * console-msw.c (mswindows_output_console_string):
11458         * console-msw.c (mswindows_windows9x_p):
11459         * console-msw.h:
11460         * device-msw.c (mswindows_get_workspace_coords):
11461         * device-msw.c (mswindows_device_system_metrics):
11462         * dialog-msw.c (mswindows_popup_dialog_box):
11463         * event-msw.c (mswindows_wnd_proc):
11464         * frame-msw.c (mswindows_size_frame_internal):
11465         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11466         * menubar-msw.c (displayable_menu_item):
11467         * menubar-msw.c (mswindows_char_is_accelerator):
11468         * nt.c:
11469         * nt.c (mswindows_sigset):
11470         * nt.c (mswindows_sigrelse):
11471         * nt.c (mswindows_sigpause):
11472         * nt.c (mswindows_raise):
11473         * nt.c (timer_proc):
11474         * ntproc.c:
11475         * ntproc.c (find_child_console):
11476         * ntproc.c (sys_kill):
11477         * print.c:
11478         * print.c (std_handle_out_external):
11479         * process-nt.c (find_child_console):
11480         * process-nt.c (send_signal_the_95_way):
11481         * process-nt.c (ensure_console_window_exists):
11482         * process-nt.c (nt_create_process):
11483         * syssignal.h:
11484         rename msw_ to mswindows_ for consistency with general convention.
11485
11486         * emacs.c:
11487         * dumper.c:
11488         include nt.h, not syswindows.h.
11489
11490         * nt.c (mswindows_fstat):
11491         * nt.c (mswindows_stat):
11492         prefix mswindows_ instead of attempting to directly override the
11493         library functions.  fix declarations.
11494
11495         * nt.h:
11496         include syswindows.h.  move some sysdep.h stuff here.
11497
11498         * ntheap.h:
11499         include syswindows.h, not <windows.h>.
11500
11501         * ntplay.c:
11502         clean up headers.
11503
11504         * sysdep.c:
11505         clean up headers.
11506
11507         * sysdep.c (sys_fstat):
11508         * sysdep.c (sys_stat):
11509         call mswindows versions when appropriate.
11510
11511         * sysdep.h:
11512         move mswin decls to nt.h.
11513
11514         * syswindows.h:
11515         add long comment describing appropriate use of the various windows
11516         headers.
11517
11518 2000-06-11  Ben Wing  <ben@xemacs.org>
11519
11520         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11521
11522 2000-06-10  Ben Wing  <ben@xemacs.org>
11523
11524         * Makefile.in.in (release):
11525         Correction to make sure xemacs.exe always dumped when correct.
11526
11527         * alloca.c:
11528         * balloon_help.c:
11529         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11530
11531         * buffer.c (set_buffer_internal):
11532         [[[[2]]]]: Remove HAVE_FEP code.
11533
11534         * buffer.c (init_initial_directory):
11535         [3].
11536
11537         * bytecode.c:
11538         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11539         individual files.
11540
11541         * callproc.c:
11542         * callproc.c (call_process_cleanup):
11543         * callproc.c (Fold_call_process_internal):
11544         * callproc.c (child_setup):
11545         * callproc.c (getenv_internal):
11546         * callproc.c (init_callproc):
11547         * callproc.c (vars_of_callproc):
11548         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11549         __CYGWIN32__ -> CYGWIN.
11550         DOS_NT -> WIN32_NATIVE.
11551         Remove MSDOS support/references, converting to WIN32_NATIVE
11552           where correct.
11553         __MINGW32__ -> MINGW.
11554         Fix windows.h includes.
11555         Remove bogus HAVE_NTGUI.
11556
11557         * config.h.in:
11558         [2].
11559
11560         * console-msw.c:
11561         mswindows_message_outputted added for use in allowing startup
11562         errors on the console to be seen.
11563
11564         * console-msw.c (msw_ensure_console_allocated):
11565         * console-msw.c (msw_output_console_string):
11566         * console-msw.c (DHEADER):
11567         * console-msw.c (DOPAQUE_DATA):
11568         * console-msw.c (DEVENT):
11569         * console-msw.c (DCONS):
11570         * console-msw.c (DCONSCDR):
11571         * console-msw.c (DSTRING):
11572         * console-msw.c (DVECTOR):
11573         * console-msw.c (DSYMBOL):
11574         * console-msw.c (DSYMNAME):
11575         Fix warnings.
11576
11577         * console-stream.c (stream_init_console):
11578         Fix text/binary problems.
11579
11580         * device-msw.c:
11581         * device-msw.c (mswindows_finish_init_device):
11582         * device-msw.c (mswindows_delete_device):
11583         [1].
11584
11585         * device.c (handle_asynch_device_change):
11586         [3].
11587
11588         * dgif_lib.c:
11589         * dgif_lib.c (DGifOpenFileName):
11590         * dgif_lib.c (DGifOpenFileHandle):
11591         * dgif_lib.c (DGifGetLine):
11592         * dgif_lib.c (DGifGetPixel):
11593         Added config.h/lisp.h, fix up includes.
11594         [1].
11595
11596         * dired-msw.c:
11597         [4].
11598
11599         * dired.c:
11600         * dired.c (file_name_completion):
11601         * dired.c (Ffile_attributes):
11602         * dired.c (syms_of_dired):
11603         [1].
11604
11605         * dumper.c:
11606         * dumper.c (pdump_file_unmap):
11607         * dumper.c (pdump_load):
11608         [1].
11609
11610         * editfns.c:
11611         * editfns.c (Ftemp_directory):
11612         * editfns.c (user_login_name):
11613         * editfns.c (Fuser_real_login_name):
11614         * editfns.c (get_home_directory):
11615         [1].
11616
11617         * elhash.c (finish_marking_weak_hash_tables):
11618         [[[[5]]]]: Fix GCC warnings.
11619
11620         * emacs.c:
11621         * emacs.c (mswindows_handle_hardware_exceptions):
11622         * emacs.c (make_arg_list_1):
11623         * emacs.c (main_1):
11624         * emacs.c (Fkill_emacs):
11625         * emacs.c (Fdump_emacs):
11626         [1].
11627         Fix problems with nested crashes, add long comment.
11628
11629         * event-Xt.c (init_event_Xt_late):
11630         [1].
11631
11632         * event-msw.c:
11633         * event-msw.c (mswindows_dde_callback):
11634         * event-msw.c (mswindows_handle_sticky_modifiers):
11635         * event-msw.c (mswindows_wnd_proc):
11636         [1].
11637         [5].
11638
11639         * events.c (character_to_event):
11640         [1].
11641
11642         * fileio.c:
11643         * fileio.c (Ffile_name_directory):
11644         * fileio.c (Ffile_name_nondirectory):
11645         * fileio.c (directory_file_name):
11646         * fileio.c (Fexpand_file_name):
11647         * fileio.c (Fsubstitute_in_file_name):
11648         * fileio.c (Ffile_name_absolute_p):
11649         * fileio.c (check_executable):
11650         * fileio.c (Ffile_readable_p):
11651         * fileio.c (Ffile_accessible_directory_p):
11652         * fileio.c (Ffile_modes):
11653         * fileio.c (Funix_sync):
11654         * fileio.c (vars_of_fileio):
11655         [1]. [4].
11656
11657         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11658
11659         Expand getdefdir defn.
11660         Fix bogus rename() comment.
11661
11662         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11663         to use standard XEmacs include files, e.g. sysfile.h, rather
11664         than system-specific includes.
11665
11666         * fns.c:
11667         * fns.c (Fsubseq):
11668         [5]. [6].
11669
11670         * frame.c (vars_of_frame):
11671         [1].
11672
11673         * getloadavg.c:
11674         * getloadavg.c (getloadavg):
11675         [1]. [6].
11676         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11677         (We don't use it elsewhere in the code; just add a comment.)
11678
11679         * gif_io.c:
11680         [6].
11681         Add config.h.
11682
11683         * glyphs-msw.c:
11684         * glyphs-msw.c (mswindows_resource_instantiate):
11685         [1].
11686
11687         * glyphs-x.c (x_native_layout_instantiate):
11688         [5].
11689
11690         * gui-msw.c (Fmswindows_shell_execute):
11691         [1].
11692
11693         * insdel.c:
11694         [4].
11695
11696         * lisp.h:
11697         [4]. [5].
11698
11699         * lread.c (locate_file_in_directory_mapper):
11700         [1].
11701
11702         * lstream.c:
11703         [4].
11704
11705         * mem-limits.h:
11706         * mem-limits.h (get_lim_data):
11707         [1].
11708
11709         * menubar-msw.c:
11710         [4].
11711
11712         * ndir.h:
11713         [1].
11714
11715         * nt.c:
11716         * nt.c (getwd):
11717         * nt.c (closedir):
11718         * nt.c (rva_to_section):
11719         * nt.c (mswindows_executable_type):
11720         [1]. [6].
11721         Fix closedir() defn.
11722
11723         * nt.h:
11724         [[[[8]]]]: *_OK defs moved to sysfile.h.
11725
11726         * ntproc.c:
11727         [6]. [7].
11728
11729         * objects-x.c:
11730         [4].
11731
11732         * print.c:
11733         * print.c (std_handle_out_external):
11734         [1]. [4].
11735
11736         * process-nt.c:
11737         * process-nt.c (nt_create_process):
11738         [6].
11739         try to fix process quoting somewhat.
11740
11741         * process-unix.c (unix_create_process):
11742         [1].
11743
11744         * process.c:
11745         * process.c (vars_of_process):
11746         Add Vnull_device.
11747
11748         * process.h:
11749         [1].
11750
11751         * realpath.c:
11752         * realpath.c (xrealpath):
11753         [1].
11754
11755         * redisplay-tty.c (init_tty_for_redisplay):
11756         [3].
11757
11758         * redisplay.c:
11759         [4]. [6].
11760
11761         * scrollbar-msw.c:
11762         [4].
11763
11764         * sheap.c:
11765         * sheap.c (more_static_core):
11766         * sheap.c (report_sheap_usage):
11767         [5]. [6].
11768
11769         * signal.c:
11770         * signal.c (alarm_signal):
11771         [1]. [6].
11772
11773         * sound.c:
11774         [6].
11775
11776         * strftime.c:
11777         * strftime.c (zone_name):
11778         [1]. [5].
11779
11780         * symsinit.h (init_sunpro):
11781         [1].
11782
11783         * syscommctrl.h:
11784         commctrl.h not in Cygwin b20.1.
11785
11786         * sysdep.c:
11787         * sysdep.c (endif):
11788         * sysdep.c (sys_subshell):
11789         * sysdep.c (init_baud_rate):
11790         * sysdep.c (emacs_get_tty):
11791         * sysdep.c (emacs_set_tty):
11792         * sysdep.c (tty_init_sys_modes_on_device):
11793         * sysdep.c (init_system_name):
11794         * sysdep.c (sys_open):
11795         * sysdep.c (interruptible_open):
11796         * sysdep.c (sys_fopen):
11797         * sysdep.c (sys_mkdir):
11798         * sysdep.c (sys_rename):
11799         * sysdep.c (get_process_times_1):
11800         [1]. [6].
11801
11802         * sysdep.h:
11803         [1].
11804
11805         * sysdir.h:
11806         * sysdir.h (DIRENTRY_NONEMPTY):
11807         [1]. [6].
11808
11809         * sysdll.c (dll_init):
11810         * sysdll.h:
11811         [1].
11812
11813         * sysfile.h:
11814         [1]. [6]. [8].
11815         added text/binary defs.
11816
11817         * sysfloat.h:
11818         [1].
11819
11820         * sysproc.h:
11821         * sysproc.h (EDESTADDRREQ):
11822         * sysproc.h (poll_fds_for_input):
11823         [1]. [6].
11824
11825         * syspwd.h:
11826         [6].
11827
11828         * syssignal.h:
11829         [1].
11830
11831         * systime.h:
11832         [1]. [6].
11833
11834         * systty.h:
11835         [1].
11836
11837         * syswindows.h:
11838         [1].
11839         Always define WIN32_LEAN_AND_MEAN.
11840
11841         * unexcw.c (unexec):
11842         [5].
11843
11844         * unexec.c:
11845         * unexec.c (copy_text_and_data):
11846         * unexec.c (adjust_lnnoptrs):
11847         [1].
11848
11849         * unexnt.c:
11850         * unexnt.c (_start):
11851         [1].
11852
11853 2000-06-07  Ben Wing  <ben@xemacs.org>
11854
11855         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11856         was used only as a model.  We've long since extracted any useful
11857         logic or code out of this. (I just did an exhaustive search.)
11858
11859         * s\msdos.h: Removed.
11860
11861         * s\windows95.h: Removed.
11862
11863 2000-06-10  Ben Wing  <ben@xemacs.org>
11864
11865         * s\cygwin32.h:
11866         [1]. [5].
11867         Don't use extern with fun defs.
11868
11869         * s\mingw32.h:
11870         [1]. [7].
11871         Remove nt\inc include.
11872         Remove getdisk, getdefdir. (The former is unused, the latter
11873         expanded in fileio.h.)
11874
11875         * s\windowsnt.h:
11876         * s\windowsnt.h (WIN32_NATIVE):
11877         * s\windowsnt.h (HAVE_STRCASECMP):
11878         [1]. [7].
11879         Add long comment about preprocessor changes.
11880         Remove getdisk, getdefdir. (The former is unused, the latter
11881         expanded in fileio.h.)
11882
11883 2000-06-10  Ben Wing  <ben@xemacs.org>
11884
11885         * m\arm.h:
11886         * m\delta.h:
11887         * m\intel386.h:
11888         * m\sequent.h:
11889         * m\template.h:
11890         * m\windowsnt.h:
11891         [1].
11892         Remove bogus/unused NO_SOCK_SIGIO.
11893
11894 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11895
11896         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11897         not an Emchar.
11898
11899 2000-06-04  Mike Sperber <mike@xemacs.org>
11900
11901         * casetab.c (set_case_table): For `set-standard-case-table',
11902         actually deposit the new case tables where the rest of XEmacs can
11903         see them.
11904
11905 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11906
11907         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11908
11909 2000-06-05  Ben Wing  <ben@xemacs.org>
11910
11911         * callproc.c (child_setup): Don't do close_load_descs() under
11912         MS Windows.  Put in a comment explaining why.
11913
11914 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11915
11916         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11917         Toolkit shell" which breaks `kill-compilation' on Windows NT
11918         native, retaining STDERR handling improvements.
11919
11920 2000-06-01  Andreas Jaeger  <aj@suse.de>
11921
11922         * s/s390.h: Support for S390, based on a patch by Martin
11923         Schwidefsky <schwidefsky@de.ibm.com>.
11924
11925 2000-05-30  Andy Piper  <andy@xemacs.org>
11926
11927         * window.c (allocate_window):
11928         (make_dummy_parent):
11929         (Fset_window_configuration): use new hashtable type.
11930
11931         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11932         (struct image_instantiator_methods):
11933         (struct Lisp_Image_Instance): make instance geometry signed.
11934
11935         * glyphs.c (instantiate_image_instantiator):
11936         (image_instance_query_geometry):
11937         (image_instance_layout):
11938         (image_instance_layout):
11939         (query_string_geometry):
11940         (text_query_geometry):
11941         (image_instantiate):
11942         (image_instantiate):
11943         (cache_subwindow_instance_in_frame_maybe):
11944         (subwindow_query_geometry): make instance geometry signed.
11945
11946         * glyphs-widget.c (widget_query_geometry):
11947         (widget_layout):
11948         (button_query_geometry):
11949         (tree_view_query_geometry):
11950         (tab_control_query_geometry):
11951         (layout_query_geometry):
11952         (layout_layout):
11953         (native_layout_layout): make instance geometry signed.
11954
11955 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11956
11957         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11958         constant.
11959
11960         * general.c (syms_of_general): Add Qfull_assoc symbol.
11961
11962         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11963         correctly.
11964         (decode_weak_list_type): Decode full-assoc type.
11965         (encode_weak_list_type): Encode full-assoc type.
11966         (Fmake_weak_list): Update doc string.
11967
11968 2000-05-30  Andy Piper  <andy@xemacs.org>
11969
11970         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11971
11972         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11973         (decode_hash_table_weakness): ditto.
11974         (Fhash_table_weakness): ditto.
11975         (Fhash_table_type): ditto.
11976         (finish_marking_weak_hash_tables): ditto.
11977         (hash_table_weakness_validate): ditto.
11978         (syms_of_elhash): ditto.
11979
11980 2000-05-28  Martin Buchholz <martin@xemacs.org>
11981
11982         * XEmacs 21.2.34 is released.
11983
11984 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11985
11986         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11987         start cache.
11988         (updating_line_start_cache): Gone.
11989         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11990         generic code to force a minimum of 1 line laid out in the
11991         CMOTION_DISP case.
11992
11993 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11994
11995         * glyphs.c (instantiate_image_instantiator): Check for initialized
11996         height & width no longer special cases IMAGE_NOTHING.
11997         (nothing_instantiate): Set height and width of instance.
11998
11999 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12000
12001         * unexelf.c (unexec): Search for ".data" section.
12002         Initialize new_data2_offset from old_data_index.
12003         Remove redundant check for ElfW.
12004
12005 2000-05-23  Andy Piper  <andy@xemacs.org>
12006
12007         * glyphs.c (get_image_instantiator_governing_domain): allow more
12008         specific domains as the governing domain rather than expecting an
12009         exact match. This fixes problems with layouts.
12010
12011 2000-05-22  Andy Piper  <andy@xemacs.org>
12012
12013         * redisplay-output.c (compare_runes): check for non-images
12014
12015         * glyphs.c (set_glyph_dirty_p): ditto.
12016         (update_glyph_cachel_data): ditto.
12017
12018         * glyphs-widget.c (layout_post_instantiate): ditto.
12019         (layout_post_instantiate): ditto.
12020
12021         * event-msw.c (mswindows_wnd_proc): warning removal.
12022
12023 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12024
12025         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12026
12027         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12028
12029         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12030
12031         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12032         (mswindows_executable_type): mingw32 now has enough headers for
12033         this to work.
12034
12035 2000-05-20  Andy Piper  <andy@xemacs.org>
12036
12037         * console-msw.c (mswindows_output_last_error): ; -> ,
12038
12039 2000-05-12  Andy Piper  <andy@xemacs.org>
12040
12041         * console-msw.c (FROB): compare ints with ints.
12042
12043 2000-05-11  Andy Piper  <andy@xemacs.org>
12044
12045         * glyphs-x.c (x_finalize_image_instance): make minimal build
12046         happy.
12047
12048 2000-05-20  Ben Wing  <ben@xemacs.org>
12049
12050         * event-Xt.c:
12051         * event-Xt.c (vars_of_event_Xt):
12052         move modifier-keys-are-sticky to event-stream.c.
12053
12054         * event-msw.c:
12055         * event-msw.c (mswindows_enqueue_mouse_button_event):
12056         * event-msw.c (key_needs_default_processing_p):
12057         * event-msw.c (XEMSW_LCONTROL):
12058         * event-msw.c (mswindows_handle_sticky_modifiers):
12059         * event-msw.c (FROB):
12060         * event-msw.c (clear_sticky_modifiers):
12061         * event-msw.c (output_modifier_keyboard_state):
12062         * event-msw.c (output_alt_keyboard_state):
12063         * event-msw.c (mswindows_wnd_proc):
12064         * event-msw.c (mswindows_modifier_state):
12065         * event-msw.c (emacs_mswindows_handle_magic_event):
12066         implement sticky modifiers.
12067
12068         * event-stream.c:
12069         * event-stream.c (vars_of_event_stream):
12070         move modifier-keys-are-sticky here.
12071
12072         * lisp.h:
12073         add CHECK_FUNCTION.
12074
12075         * rangetab.c:
12076         implement map-range-table.
12077
12078
12079 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12080
12081         * redisplay-tty.c (reset_tty_modes):
12082         (tty_redisplay_shutdown): Adjust argument type to
12083         tty_frame_output_end.
12084
12085 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12086
12087         * eval.c (Fbacktrace): Don't output a line with only right
12088         parenthesis.
12089
12090 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12091
12092         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12093         (Fpq_reset_poll): Ditto.
12094
12095 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12096
12097         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12098
12099 2000-05-16  Ben Wing  <ben@xemacs.org>
12100
12101         * buffer.c:
12102         * buffer.c (dfc_convert_to/from_internal_format):
12103         * buffer.c (reinit_vars_of_buffer):
12104         Fix conversion functions to allow reentrancy.
12105
12106         * console-msw.c:
12107         * console-msw.c (mswindows_output_last_error):
12108         New fun, generally useful -- output a human-readable
12109         version of GetLastError() on the console.
12110
12111         * console-msw.h:
12112         * console-msw.h (struct mswindows_frame):
12113         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12114
12115         * console-stream.c (stream_output_begin):
12116         * console-stream.c (stream_output_end):
12117         * console-stream.c (stream_output_vertical_divider):
12118         * console-stream.c (stream_clear_region):
12119         * console-stream.c (stream_flash):
12120         * console-stream.c (console_type_create_stream):
12121         Delete blank stream methods, not needed.
12122
12123         * console.h (struct console_methods):
12124         Split begin/end methods into window and frame.
12125
12126         * event-msw.c:
12127         * event-msw.c (mswindows_handle_paint):
12128         * event-msw.c (output_alt_keyboard_state):
12129         * event-msw.c (mswindows_wnd_proc):
12130         * event-msw.c (vars_of_event_mswindows):
12131         Comment about problems with ignored-expose.
12132         Define mswindows-debug-events; not really implemented.
12133
12134         * frame-msw.c (mswindows_init_frame_1):
12135         random cleanups.
12136
12137         * glyphs-msw.c:
12138         * glyphs-msw.c (begin_defer_window_pos):
12139         * glyphs-msw.c (mswindows_unmap_subwindow):
12140         * glyphs-msw.c (mswindows_map_subwindow):
12141         * glyphs-msw.c (mswindows_resize_subwindow):
12142         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12143
12144         * glyphs.c (make_image_instance_1):
12145         Fix crash.
12146
12147         * gutter.c (Fredisplay_gutter_area):
12148         Use new begin/end methods.
12149
12150         * lisp.h (Dynarr_new2):
12151         New creation fun.
12152
12153         * redisplay-msw.c:
12154         * redisplay-msw.c (mswindows_frame_output_begin):
12155         * redisplay-msw.c (mswindows_frame_output_end):
12156         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12157         New begin/end methods -- handle DeferWindowPos.
12158
12159         * redisplay-output.c (redisplay_move_cursor):
12160         * redisplay-output.c (redraw_cursor_in_window):
12161         * redisplay-output.c (redisplay_update_line):
12162         * redisplay-output.c (redisplay_output_window):
12163         New begin/end methods.
12164
12165         * redisplay-tty.c:
12166         * redisplay-tty.c (tty_frame_output_begin):
12167         * redisplay-tty.c (tty_frame_output_end):
12168         * redisplay-tty.c (console_type_create_redisplay_tty):
12169         New begin/end methods.
12170
12171         * redisplay-x.c:
12172         * redisplay-x.c (x_window_output_begin):
12173         * redisplay-x.c (x_window_output_end):
12174         * redisplay-x.c (console_type_create_redisplay_x):
12175         New begin/end methods.
12176
12177         * redisplay.c (redisplay_frame):
12178         * redisplay.c (Fredisplay_echo_area):
12179         New begin/end methods.
12180         use MAYBE_DEVMETH for clear_frame; it may not exist.
12181
12182         * window.h (WINDOW_XFRAME):
12183         WINDOW_XFOO macros -- get locale and decode struct pointer.
12184
12185
12186 2000-05-12  Ben Wing  <ben@xemacs.org>
12187
12188         * emacs.c:
12189         * emacs.c (ensure_no_quitting_from_now_on):
12190         * emacs.c (fatal_error_signal):
12191         * emacs.c (mswindows_handle_hardware_exceptions):
12192         * emacs.c (main):
12193         * emacs.c (Fkill_emacs):
12194         * emacs.c (shut_down_emacs):
12195         * emacs.c (assert_failed):
12196         various improvements in fatal error handling.
12197
12198         * eval.c:
12199         move preparing_for_armageddon to emacs.c.
12200
12201         * lisp.h:
12202         declare fatal_error_in_progress.
12203
12204         * print.c:
12205         * print.c (std_handle_out_external):
12206         * print.c (std_handle_out_va):
12207         * print.c (stderr_out):
12208         * print.c (stdout_out):
12209         use console under mswin when no standard output.
12210         don't do code conversion during fatal error.
12211
12212         * scrollbar.c (Fscrollbar_page_up):
12213         * scrollbar.c (Fscrollbar_page_down):
12214         fix missing else.  reindent.
12215
12216 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12217
12218         Emergency fix.
12219
12220         * glyphs.h (GLYPH_CACHEL_DESCENT):
12221         (GLYPH_CACHEL_DESCENT):
12222         (GLYPH_CACHEL_DESCENT):
12223         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12224         used in case these are inline functions.
12225         Use more absurd values to error check.
12226
12227         include window.h for error check functions.
12228
12229 2000-05-11  Ben Wing  <ben@xemacs.org>
12230
12231         * cmdloop.c (Freally_early_error_handler):
12232         Display message box under windows; otherwise, message will disappear
12233         before it can be viewed.
12234
12235         * console-msw.c:
12236         * console-msw.c (Fmswindows_message_box):
12237         * console-msw.c (FROB):
12238         * console-msw.c (syms_of_console_mswindows):
12239         Define new fun `mswindows-message-box'.
12240         #### I will merge this into `popup-dialog-box'; just give me
12241         a bit of time.
12242
12243         * general.c:
12244         * general.c (syms_of_general):
12245         Some new symbols used in `mswindows-message-box'.
12246
12247         * glyphs.c:
12248         * glyphs.c (Fset_image_instance_property):
12249         put warning in this fun.
12250
12251         * glyphs.h:
12252         * glyphs.h (GLYPH_CACHEL_WIDTH):
12253         * glyphs.h (GLYPH_CACHEL_ASCENT):
12254         * glyphs.h (GLYPH_CACHEL):
12255         * glyphs.h (GLYPH_CACHEL_GLYPH):
12256         define error-checking versions to try to catch a bug i've seen --
12257         redisplay gets in an infinite loop because the glyph width of the
12258         continuation glyph is 65535.
12259
12260         * lisp.h:
12261         Extern message-box stuff.
12262
12263         * window.c (allocate_window):
12264         * window.c (make_dummy_parent):
12265         * window.c (Fset_window_configuration):
12266         Use EQUAL not EQ for subwindow caches to make them work a bit
12267         better. (Something is still very broken.)
12268
12269
12270 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12271
12272         * glyphs.c (image_instantiate): Suppress gcc warnings.
12273         (Fmake_image_instance): Fix doc string.
12274         * specifier.c (Fmake_specifier): Ditto.
12275
12276 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12277
12278         * paths.h.in (PATH_LOCK): Removed.
12279         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12280         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12281
12282 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12283
12284         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12285         Document (featurep '(and xemacs 21.02)).
12286
12287 2000-05-09  Ben Wing  <ben@xemacs.org>
12288
12289         * buffer.c (complex_vars_of_buffer):
12290         update modeline-format doc.
12291
12292         * device.h:
12293         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12294
12295         * emacs.c:
12296         timeline of all released versions of Emacs, for use in creating
12297         authorship comments and in synching up.
12298
12299         * glyphs-widget.c (image_instantiator_buttons):
12300         * glyphs-widget.c (image_instantiator_edit_fields):
12301         * glyphs-widget.c (image_instantiator_combo_box):
12302         * glyphs-widget.c (image_instantiator_scrollbar):
12303         * glyphs-widget.c (image_instantiator_progress_guage):
12304         * glyphs-widget.c (image_instantiator_tree_view):
12305         * glyphs-widget.c (image_instantiator_tab_control):
12306         * glyphs-widget.c (image_instantiator_labels):
12307         * glyphs-widget.c (image_instantiator_layout):
12308         * glyphs-widget.c (image_instantiator_native_layout):
12309         rename decode_domain method to governing_domain.
12310
12311         * glyphs.c:
12312         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12313         * glyphs.c (add_entry_to_device_ii_format_list):
12314         make sure we don't put an entry more than once into the list.
12315         * glyphs.c (check_instance_cache_mapper):
12316         *************************************************************
12317         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12318         HAVE BEEN GETTING.
12319         *************************************************************
12320         * glyphs.c (get_image_instantiator_governing_domain):
12321         clean up, expand on new concept of governing domain.
12322         * glyphs.c (instantiate_image_instantiator):
12323         * glyphs.c (allocate_image_instance):
12324         use governing_domain instead of cache_domain in naming.
12325         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12326         * glyphs.c (make_image_instance_1):
12327         * glyphs.c (Fmake_image_instance):
12328         allow for any domain (not just device), and process the
12329         governing domain correctly.  very big doc fix.
12330         * glyphs.c (Fimage_instance_domain):
12331         new primitive, to retrieve the governing domain of an image instance.
12332         * glyphs.c (image_instantiate):
12333         use new governing_domain stuff.  this fixes a crash you could get
12334         by instantiating certain widget glyphs in frame locales. (should
12335         signal an error instead of crashing.)
12336         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12337         * glyphs.c (Fglyphp): clean up doc.
12338         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12339         * glyphs.c (syms_of_glyphs):
12340         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12341         * glyphs.c (image_instantiator_format_create): add some comments about
12342         bogus code.
12343         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12344         for current-display-table. (Apparently Hrjove implemented in 1998 a
12345         design I wrote up in 1996, but didn't update the doc string.)
12346
12347         * glyphs.h: clean up a doc string.
12348         * glyphs.h (governing_domain):
12349         * glyphs.h (struct image_instantiator_methods):
12350         changes for governing_domain stuff.
12351
12352         * gutter.c:
12353         * gutter.c (Fgutter_specifier_p):
12354         * gutter.c (Fgutter_size_specifier_p):
12355         * gutter.c (Fgutter_visible_specifier_p):
12356         * objects.c:
12357         * objects.c (Fcolor_specifier_p):
12358         * objects.c (Ffont_specifier_p):
12359         * objects.c (Fface_boolean_specifier_p):
12360         doc strings moved to make-*-specifier.
12361
12362         * redisplay.c (add_disp_table_entry_runes_1):
12363         * redisplay.c (generate_fstring_runes):
12364         * redisplay.c (screen):
12365         add random comments and doc strings.
12366
12367         * specifier.c:
12368         * specifier.c (Fmake_specifier):
12369         major overhaul of this doc string.
12370
12371         * specifier.c (Fvalid_specifier_domain_p):
12372         comment about the bogosity of image instances being domains.
12373         * specifier.c (decode_domain):
12374         now non-static, used in glyphs.c.
12375         * specifier.c (specifier_instance):
12376         comment about the bogosity of image instances being domains.
12377         * specifier.c (Fgeneric_specifier_p):
12378         move doc string to make-generic-specifier.
12379         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12380         rebackslashify.
12381
12382         * specifier.h:
12383         * specifier.h (DOMAIN_FRAME):
12384         * specifier.h (DOMAIN_LIVE_P):
12385         * specifier.h (DOMAIN_XDEVICE):
12386         rebackslashify.
12387         add comments about problems with these macros.
12388         prototype for decode_domain.
12389
12390         * toolbar.c:
12391         * toolbar.c (Ftoolbar_specifier_p):
12392         move doc string to `make-toolbar-specifier'.
12393
12394         * window.c (window_unmap_subwindows_cache_mapper):
12395         *************************************************************
12396         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12397         HAVE BEEN GETTING.
12398         *************************************************************
12399
12400 2000-05-09  Andy Piper  <andy@xemacs.org>
12401
12402         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12403
12404         * window.c (Fset_window_configuration): reset the frame subwindow
12405         cache and re-initialize the window subwindow caches.
12406
12407         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12408
12409 2000-05-09  Ben Wing  <ben@xemacs.org>
12410
12411         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12412         DWORD.
12413
12414 2000-04-26  Mike Woolley  <mike@bulsara.com>
12415
12416         * ntheap.c: Changed recreate_heap to limit the amount reserved
12417         for the heap to that which is actually available. Also now
12418         displays a message box (with some dignostics) in the event that
12419         it still can't start.
12420
12421 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12422
12423         * callproc.c (Fold_call_process_internal): GCPRO path
12424
12425 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12426
12427         Patch by Bill Perry.
12428
12429         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12430         back data instead of #ifdef.
12431         (Fscrollbar_page_down): ditto.
12432
12433 2000-05-07  Ben Wing  <ben@xemacs.org>
12434
12435         * buffer.h:
12436         Kludge for defining Qmswindows_tstr.
12437
12438         * nt.c:
12439         * nt.c (open_input_file):
12440         * nt.c (open_output_file):
12441         * nt.c (rva_to_section):
12442         * nt.c (mswindows_executable_type):
12443         Move all memory-mapped-file routines here (some were in unexnt.c,
12444         which is bad because they are used by process-nt.c, and unexnt
12445         won't be around when portable dumping).  Synched the above routines
12446         with FSF 20.6.
12447
12448         * nt.h:
12449         Removed ifdef'd out bogus code.
12450         Fixed some prototypes.
12451
12452         * nt.h (file_data):
12453         * nt.h (OFFSET_TO_RVA):
12454         * nt.h (RVA_TO_OFFSET):
12455         * nt.h (RVA_TO_PTR):
12456         Moved the memory-mapped-file structures, macros and prototypes
12457         here, to parallel nt.c.  ntheap.h should really be removed
12458         entirely, and it's a non-portable-dumper specific file.
12459
12460         * ntheap.h (round_to_next):
12461         Moved the memory-mapped-file structures, macros and prototypes
12462         to nt.h.
12463
12464         * ntproc.c (compare_env):
12465         Moved rva_to_section and mswindows_executable_type to nt.c.
12466         Moved compare_env to process-nt.c.
12467         ntproc.c will die, one day.
12468
12469         * ntproc.c (sys_spawnve):
12470         Account for win32_ -> mswindows_.
12471
12472         * process-nt.c:
12473         * process-nt.c (struct nt_process_data):
12474         * process-nt.c (ensure_console_window_exists):
12475         * process-nt.c (compare_env):
12476         * process-nt.c (nt_create_process):
12477         * process-nt.c (nt_kill_process_by_pid):
12478         * process-nt.c (syms_of_process_nt):
12479         * process-nt.c (vars_of_process_nt):
12480         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12481         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12482         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12483         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12484         Move compare_env here from ntproc.c.
12485
12486         * process.c (Fprocess_send_region):
12487         Takes an optional fourth argument, BUFFER, which should fix some
12488         problems with call-process.
12489
12490         * syscommctrl.h:
12491         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12492
12493         * syswindows.h:
12494         Move ICC_BAR_CLASSES to syscommctrl.h.
12495         Add preliminary macros for MSWindows/Mule.  More to come.
12496
12497         * unexnt.c:
12498         * unexnt.c (unexec):
12499         open_output_file moved to nt.c.
12500
12501
12502 2000-05-05  Andy Piper  <andy@xemacs.org>
12503
12504         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12505         instance from the frame cache also since GC may catch up too late
12506         to make frame deletion sane.
12507
12508 2000-05-04  Andy Piper  <andy@xemacs.org>
12509
12510         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12511         (x_finalize_image_instance): ungcpro on deletion.
12512
12513         * glyphs.c (image_instantiator_format_create): give pointers a
12514         query geometry method so that the geometry is at least set.
12515
12516         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12517         initialize layouts if using widgets.
12518
12519 2000-05-03  Andy Piper  <andy@xemacs.org>
12520
12521         * nt.c: remove bogus reference to sysmmsystem.h
12522
12523         * gui-x.c (popup_selection_callback): fix no selection abort.
12524
12525 2000-05-02  Andy Piper  <andy@xemacs.org>
12526
12527         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12528         (mswindows_widget_instantiate): ditto.
12529
12530         * glyphs-widget.c (initialize_widget_image_instance): initialize
12531         children correctly.
12532         (widget_instantiate): cope with children and items in the same
12533         instance.
12534
12535         * glyphs.c (mark_image_instance): cope with children as a first
12536         class member.
12537         (image_instance_equal): ditto.
12538         (image_instance_hash): ditto.
12539         (image_instance_changed): ditto.
12540
12541 2000-04-30  Andy Piper  <andy@xemacs.org>
12542
12543         * glyphs.c (subwindow_query_geometry): new function. Return some
12544         defaults.
12545         (subwindow_instantiate): don't assign dimensions if none have been
12546         given.
12547         (image_instantiator_format_create): add subwindow_query_geometry.
12548         (print_image_instance): cope with layouts as widgets.
12549
12550 2000-04-29  Andy Piper  <andy@xemacs.org>
12551
12552         * frame.c (delete_frame_internal): call
12553         free_frame_subwindow_instance_cache so that all subwindows are
12554         finalized before their parent.
12555         (mark_frame): remove subwindow_cachels.
12556         (Fmake_frame): remove subwindow_cachel manipulation.
12557         (allocate_frame_core): subwindow_instance_cache is a weak list.
12558         (delete_frame_internal): set subwindow_instance_cache to nil.
12559
12560         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12561         finalization safe.
12562         (mswindows_finalize_image_instance): use the device
12563         not the domain as the domain may have died already.
12564
12565         * glyphs-x.c (x_finalize_image_instance): ditto.
12566         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12567         HEIGHT.
12568
12569         * redisplay-output.c (redisplay_unmap_subwindows): update for
12570         subwindow instance cache as a weak list.
12571         (redisplay_unmap_subwindows_maybe): ditto.
12572         (redisplay_unmap_subwindows_except_us): ditto.
12573
12574         * glyphs.c (unmap_subwindow): error checking will check the domain
12575         so don't deal with it here. Don't use cachels anymore.
12576         (map_subwindow): ditto.
12577         (update_subwindow_cachel_data): remove old accessor names.
12578         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12579         (Fresize_subwindow): don't update cachel.
12580         (mark_subwindow_cachels):
12581         (update_subwindow_cachel_data):
12582         (add_subwindow_cachel):
12583         (get_subwindow_cachel_index):
12584         (update_subwindow_cachel):
12585         (reset_subwindow_cachels):
12586         (mark_subwindow_cachels_as_not_updated): deleted.
12587         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12588         subwindow instance to the frame cache.
12589         (find_matching_subwindow): update for subwindow instance cache as
12590         a weak list.
12591         (update_widget_instances): ditto.
12592         (image_instance_type_to_mask):inlined.
12593         (free_frame_subwindow_instance_cache): new function. finalize all
12594         subwindows that are instantiated.
12595
12596         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12597         of cachel information.
12598         (IMAGE_INSTANCE_DISPLAY_X):
12599         (IMAGE_INSTANCE_DISPLAY_Y):
12600         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12601         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12602         (XIMAGE_INSTANCE_DISPLAY_X):
12603         (XIMAGE_INSTANCE_DISPLAY_Y):
12604         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12605         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12606         remove subwindow_cachel structure and function references.
12607         (image_instance_type_to_mask): inline from glyphs.c
12608
12609         * redisplay.c (redisplay_frame): remove subwindow_cachel
12610         references.
12611
12612         * frame.h (struct frame): remove subwindow_cachels.
12613         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12614
12615         * frameslots.h: add subwindow_instance_cache.
12616
12617         * window.c (replace_window): check subwindow cache of replacement.
12618         (window_unmap_subwindows_cache_mapper):
12619         (window_unmap_subwindows): new functions. Unmap all subwindows
12620         cached on this window.
12621         (mark_window_as_deleted): unmap all subwindows.
12622
12623 2000-04-27  Andy Piper  <andy@xemacs.org>
12624
12625         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12626
12627         * glyphs-widget.c (widget_layout): return something.
12628         (layout_layout): return something. Fail if not initialized.
12629         (layout_query_geometry): ditto.
12630         (image_instantiator_native_layout): new function. Initialized the
12631         native layout type.
12632         (widget_instantiate): don't do layout stuff here.
12633
12634         * glyphs.c (instantiate_image_instantiator): reorded calling or
12635         instantiate and post_instantiate with layout in between.
12636         (image_instance_layout): be more selective about deciding whether
12637         the layout has been done or not.
12638
12639         * glyphs.h (struct image_instantiator_methods): return a value
12640         from layout_method.
12641
12642 2000-04-26  Andy Piper  <andy@xemacs.org>
12643
12644         * glyphs.c (allocate_image_instance): make initial width and
12645         height unspecified. Set initialized to 0.
12646
12647         * syscommctrl.h new file. Encapsulates commctrl.h.
12648
12649         * syswindows.h new file. Encapsulates windows.h.
12650
12651         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12652         * nt.c: ditto.
12653         * console-msw.h: ditto.
12654
12655         * redisplay-tty.c (tty_output_display_block): remove layout references.
12656
12657         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12658         window handle rather than just the frame.
12659
12660         * glyphs.c (mark_image_instance): remove layout references.
12661         (print_image_instance): ditto.
12662         (image_instance_equal): ditto.
12663         (image_instance_hash): ditto.
12664         (decode_image_instance_type): ditto.
12665         (encode_image_instance_type): ditto.
12666         (image_instantiate): ditto.
12667         (allocate_glyph): ditto.
12668         (Fimage_instance_height): ditto.
12669         (Fimage_instance_width): ditto.
12670         (update_subwindow): ditto.
12671
12672         * redisplay-x.c (x_output_display_block): recode for layouts as
12673         widgets.
12674
12675         * redisplay-output.c (redisplay_output_layout): recode for layouts
12676         as widgets.
12677         (compare_runes): remove layout references.
12678
12679         * redisplay-msw.c (mswindows_output_display_block): recode for
12680         layouts as widgets.
12681
12682         * glyphs-widget.c (image_instantiator_layout): remove
12683         layout_possible_dest_types.
12684         (layout_possible_dest_types): deleted.
12685
12686         * glyphs.h (image_instance_type): remove layout references.
12687         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12688         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12689         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12690
12691 2000-04-25  Andy Piper  <andy@xemacs.org>
12692
12693         * glyphs-widget.c (image_instantiator_buttons):
12694         (image_instantiator_edit_fields):
12695         (image_instantiator_combo_box):
12696         (image_instantiator_scrollbar):
12697         (image_instantiator_progress_guage):
12698         (image_instantiator_tree_view):
12699         (image_instantiator_tab_control):
12700         (image_instantiator_labels):
12701         (image_instantiator_layout): call default post_instantiate method.
12702         (widget_post_instantiate): new function. Simply lays out the
12703         widgets.
12704
12705         * glyphs.h (struct image_instantiator_methods): add
12706         post_instantiate method.
12707
12708         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12709         method calls.
12710
12711 2000-04-23  Andy Piper  <andy@xemacs.org>
12712
12713         * glyphs.h (struct image_instantiator_methods): add
12714         decode_domain_method.
12715         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12716         derived from the domain.
12717         (IMAGE_INSTANCE_FRAME): new accessor.
12718         (XIMAGE_INSTANCE_FRAME): ditto.
12719
12720         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12721         instead of _SUBWINDOW_FRAME.
12722         (finalize_image_instance): ditto.
12723         (Fimage_instance_foreground): ditto.
12724         (Fimage_instance_background): ditto.
12725         (image_instantiate): ditto.
12726         (update_subwindow_cachel): ditto.
12727         (update_subwindow): ditto.
12728         (unmap_subwindow): ditto.
12729         (map_subwindow): ditto
12730         (subwindow_instantiate): ditto.
12731         * glyphs-msw.c (mswindows_update_widget): ditto.
12732         (mswindows_progress_gauge_instantiate): ditto.
12733         (mswindows_tab_control_update): ditto.
12734         * glyphs-x.c (x_update_widget): ditto.
12735         (x_widget_instantiate): ditto.
12736         (x_tab_control_instantiate): ditto.
12737         (x_tab_control_update): ditto.
12738         * event-msw.c (mswindows_wnd_proc): ditto
12739
12740         * glyphs-widget.c (image_instantiator_layout): use
12741         subwindow_decode_domain.
12742         (image_instantiator_buttons): ditto.
12743         (image_instantiator_edit_fields): ditto.
12744         (image_instantiator_combo_box): ditto.
12745         (image_instantiator_scrollbar): ditto.
12746         (image_instantiator_progress_guage): ditto.
12747         (image_instantiator_tree_view): ditto.
12748         (image_instantiator_tab_control): ditto.
12749         (image_instantiator_labels): ditto.
12750         (image_instantiator_layout): ditto.
12751
12752         * glyphs.c: add instance error checking to many functions.
12753         (instantiate_image_instantiator): decode device from cache_domain.
12754         (image_instantiate): partially rewrite by using
12755         decode_image_instantiator_domain to determine what domain the
12756         instance needs to be cached in.
12757         (decode_image_instantiator_domain): new function. Determine what
12758         domain the image needs to be cached in.
12759         (check_window_subwindow_cache): new error checking function.
12760         (check_instance_cache_mapper): ditto.
12761         (check_image_instance_structure): ditto.
12762         (subwindow_decode_domain): new function. Encodes a window as a
12763         subwindow's cache domain.
12764         (image_instantiator_format_create): use it for text and
12765         subwindows.
12766
12767 2000-04-21  Andy Piper  <andy@xemacs.org>
12768
12769         * glyphs.c (image_instance_device): new function.
12770         (image_instance_frame): new function.
12771         (image_instance_window): new function.
12772         (image_instance_live_p): new function.
12773
12774         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12775         cache to nil.
12776
12777         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12778         (IMAGE_INSTANCE_DOMAIN): new accessor.
12779         (XIMAGE_INSTANCE_DOMAIN): ditto.
12780
12781         * glyphs-x.c (x_finalize_image_instance): device->domain.
12782
12783         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12784         (mswindows_finalize_image_instance): ditto.
12785
12786         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12787         (gif_instantiate): ditto.
12788         (png_instantiate): ditto.
12789         (tiff_instantiate): ditto.
12790
12791         * glyphs.c (instantiate_image_instantiator): use domain rather
12792         than device.
12793         (mark_image_instance): device -> domain.
12794         (print_image_instance): ditto.
12795         (finalize_image_instance): ditto.
12796         (image_instance_equal): ditto.
12797         (allocate_image_instance): ditto.
12798         (Fcolorize_image_instance): ditto.
12799         (query_string_geometry): ditto.
12800         (image_instantiate): ditto
12801         (query_string_font): ditto.
12802         (image_instantiate): ditto.
12803         (update_subwindow): ditto.
12804         (unmap_subwindow): ditto.
12805         (map_subwindow): ditto.
12806         (subwindow_instantiate): ditto.
12807
12808         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12809         (DOMAIN_FRAME): ditto.
12810         (DOMAIN_WINDOW): ditto.
12811         (DOMAIN_LIVE_P): ditto.
12812         (XDOMAIN_DEVICE): ditto.
12813         (XDOMAIN_FRAME): ditto.
12814         (XDOMAIN_WINDOW): ditto.
12815
12816         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12817         a valid specifier domain.
12818
12819 2000-04-19  Andy Piper  <andy@xemacs.org>
12820
12821         * glyphs-widget.c (syms_of_glyphs_widget): remove
12822         widget-callback-current-channel.
12823         (vars_of_glyphs_widget): ditto.
12824         * glyphs.h: ditto
12825
12826         * gui.c (get_gui_callback): revert to previous behaviour.
12827
12828 2000-04-18  Andy Piper  <andy@xemacs.org>
12829
12830         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12831         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12832         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12833
12834         * glyphs.c (image_instance_equal): add margin_width.
12835         (image_instance_hash): ditto.
12836
12837         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12838         (layout_query_geometry): ditto.
12839         (layout_layout): ditto.
12840         (syms_of_glyphs_widget): add margin-width.
12841         (image_instantiator_layout): allow margin-width.
12842
12843         * glyphs.c (update_widget_instances): make a normal function.
12844         (syms_of_glyphs): remove Qupdate_widget_instances.
12845         * glyphs.h: ditto.
12846
12847         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12848         so that we don't corrupt ideas about the last event or
12849         command. Remove widget-callback-current-channel fiddling.
12850         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12851
12852 2000-05-01  Martin Buchholz <martin@xemacs.org>
12853
12854         * XEmacs 21.2.33 is released.
12855
12856 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12857
12858         * make-src-depend: Allow dots in header file name.
12859
12860 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12861
12862         * mule-charset.h (struct charset_lookup): Add
12863         next_allocated_1_byte_leading_byte and
12864         next_allocated_2_byte_leading_byte.
12865         * mule-charset.c: Move above two variables so that those values
12866         will be dumped.
12867
12868 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12869
12870         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12871         when string length is zero.
12872         (find_charsets_in_emchar_string): Ditto.
12873
12874 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12875
12876         * lisp.h: extern Qdialog and Qmenubar.
12877
12878         * gui-x.c: added events.h.
12879                 also fixed typo which made the file uncompilable.
12880
12881         * general.c: Added Qmenubar and Qdialog
12882
12883 2000-04-28  Ben Wing  <ben@xemacs.org>
12884
12885         * frame-msw.c (mswindows_init_frame_1):
12886         * frame-msw.c (mswindows_mark_frame):
12887         * event-msw.c (mswindows_enqueue_dispatch_event):
12888         * console-msw.h:
12889         * console-msw.h (struct mswindows_frame):
12890         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12891         there are now three hash tables for callbacks.
12892         mswindows_enqueue_dispatch_event is no longer static.
12893
12894         * dialog-x.c (maybe_run_dbox_text_callback):
12895         * dialog-x.c (dbox_descriptor_to_widget_value):
12896         switch to new cons3 form for callbacks.
12897
12898         * glyphs-msw.c (mswindows_register_gui_item):
12899         * glyphs-msw.c (mswindows_widget_instantiate):
12900         * glyphs-msw.c (add_tree_item):
12901         * glyphs-msw.c (add_tab_item):
12902         new image instance parameter, so it can be passed to callback-ex.
12903         respect :callback-ex as well as :callback.
12904
12905         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12906         add :callback-ex.
12907
12908         * glyphs.c (print_image_instance):
12909         prettify, e.g. now prints widget type.
12910
12911         * gui-x.h:
12912         certain funs have new image instance parameter.
12913
12914         * gui.c:
12915         * gui.c (get_gui_callback):
12916         * gui.c (gui_item_add_keyval_pair):
12917         * gui.c (gui_item_init):
12918         * gui.c (gui_add_item_keywords_to_plist):
12919         * gui.c (mark_gui_item):
12920         * gui.c (gui_item_hash):
12921         * gui.c (gui_item_equal):
12922         * gui.c (copy_gui_item):
12923         * gui.c (syms_of_gui):
12924         recognize callback-ex in a number of places.
12925         also, fix the annoying "can't get out of yes-no dialog" bug.
12926
12927         * gui.h:
12928         * gui.h (struct Lisp_Gui_Item):
12929         recognize callback-ex in a number of places.
12930
12931         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12932         new parameter in button_item_to_widget_value.
12933
12934         * glyphs-x.c (x_update_widget):
12935         * glyphs-x.c (x_button_instantiate):
12936         * glyphs-x.c (x_button_update):
12937         * glyphs-x.c (x_progress_gauge_instantiate):
12938         * glyphs-x.c (x_edit_field_instantiate):
12939         * glyphs-x.c (x_combo_box_instantiate):
12940         * glyphs-x.c (x_tab_control_instantiate):
12941         * glyphs-x.c (x_label_instantiate):
12942         new image instance parameter in various places.
12943
12944         * event-Xt.c:
12945         * event-Xt.c (enqueue_Xt_dispatch_event):
12946         this fun gets exported.
12947
12948         * gui-msw.c:
12949         * gui-msw.c (mswindows_handle_gui_wm_command):
12950         handle both :callback and :callback-ex, and generate our own
12951         event because it's one of the callback-ex arguments.
12952
12953         * gui-x.c:
12954         * gui-x.c (popup_selection_callback):
12955         handle both :callback and :callback-ex, and generate our own
12956         event because it's one of the callback-ex arguments.
12957         * gui-x.c (button_item_to_widget_value):
12958         * gui-x.c (gui_items_to_widget_values_1):
12959         * gui-x.c (gui_item_children_to_widget_values):
12960         * gui-x.c (gui_items_to_widget_values):
12961         new image instance parameter in various places.
12962
12963         * fns.c (Freplace_list):
12964         fix small typo in doc string.
12965
12966         * lisp.h:
12967         declare enqueue_Xt_dispatch_event.
12968
12969 2000-04-28  Ben Wing  <ben@xemacs.org>
12970
12971         * buffer.c:
12972         * buffer.c (Frecord_buffer):
12973         * buffer.c (syms_of_buffer):
12974         delete record-buffer-hook.
12975
12976         * fns.c:
12977         * fns.c (Freplace_list):
12978         * fns.c (syms_of_fns):
12979         new primitive replace-list.
12980
12981         * frameslots.h:
12982         slot for old buffer-alist.
12983
12984         * lisp.h:
12985         exfun replace-list.
12986
12987         * redisplay.c:
12988         * redisplay.c (redisplay_frame):
12989         * redisplay.c (syms_of_redisplay):
12990         * redisplay.c (vars_of_redisplay):
12991         new hook buffer-list-changed-hook.
12992         call it.
12993
12994 2000-04-27  Ben Wing  <ben@xemacs.org>
12995
12996         * extents.h: extern in_modeline_generation.
12997
12998         * redisplay.c (generate_formatted_string_db): set
12999         in_modeline_generation.
13000
13001         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13002         flags if in modeline generation.  otherwise frame-modified-tick
13003         is ticked far too often.
13004         Declare in_modeline_generation.
13005
13006 2000-04-26  Ben Wing  <ben@xemacs.org>
13007
13008         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13009         option.
13010         (vars_of_emacs): add quick-build as an error-checking option.
13011         A bit kludgy, but there doesn't seem much point in creating
13012         a real var for this.
13013
13014         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13015
13016 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13017
13018         * redisplay.h (struct display_line): Add a new variable,
13019         line_continuation.
13020
13021         * redisplay.c (create_text_block): Set dl->line_continuation if
13022         the line continues.
13023         (create_string_text_block): Ditto.
13024         (regenerate_window_incrementally): Use line_continuation instead
13025         of searching continuation glyph.
13026         (add_margin_runes): Call add_glyph_rune.
13027         (add_glyph_rune): Handle margin glyph.
13028
13029 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13030
13031         * filelock.c (fill_in_lock_file_name):
13032         ANSIfy.
13033         Check for IS_ANY_SEP instead of '/'.
13034         (lock_file_1):
13035         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13036         Never check errno without first seeing that system call failed.
13037         (unlock_file): Add GCPRO.
13038         (Flock_buffer): Fix docstring.
13039         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13040
13041 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13042
13043         * sysdep.c (get_pty_max_bytes):
13044         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13045         strings longer than 252 bytes.
13046
13047         * md5.c: Unconditionally include ANSI header <limits.h>
13048
13049         * glyphs-x.c (convert_EImage_to_XImage):
13050         * lisp-union.h (union Lisp_Object):
13051         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13052
13053 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13054
13055         * filelock.c (current_lock_owner): Remove unused variable o, p.
13056
13057 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13058
13059         * callint.c: Remove multiply defined symbol Qlet
13060         (syms_of_callint): ditto.
13061
13062 2000-04-14  Andy Piper  <andy@xemacs.org>
13063
13064         * general.c (syms_of_general): add last-command, this-command, let
13065         and funcall.
13066
13067         * lisp.h: declare various symbols.
13068
13069         * glyphs.h: declare Qwidget_callback_current_channel;
13070
13071         * glyphs-widget.c (syms_of_glyphs_widget): add
13072         Qgui_callback_current_channel.
13073         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13074
13075         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13076         widget-callback-current-channel when invoking the interactive
13077         arg. Also bind last-command and next-command when invoking the
13078         widget updates.
13079         * gui-x.c (popup_selection_callback): ditto.
13080
13081         * gui.c (get_gui_callback): massage args so that we are always
13082         calling eval. This allows us to add our own variable bindings
13083         outside.
13084
13085         * glyphs-x.c (x_button_instantiate): use
13086         gui_items_to_widget_values since this is GC safe.
13087         (x_progress_gauge_instantiate): ditto.
13088         (x_edit_field_instantiate): ditto.
13089         (x_label_instantiate): ditto.
13090
13091         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13092         (emacs_Xt_event_widget_focus_out): new function
13093         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13094         focus.
13095         (emacs_Xt_event_add_widget_actions): new function. add focus
13096         functions as actions.
13097         (init_event_Xt_late): use it.
13098
13099 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13100
13101         * event-stream.c (Fdispatch_event): Doc fix.
13102
13103 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13104
13105         * postgresql.c: Remove all references to PQsetenv*.
13106
13107         * postgresql.h: Remove references to PGsetenvHandler object.
13108         * lrecord.h (lrecord_type): Ditto.
13109
13110 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13111
13112         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13113         real_heigh and real_width members, and accessor macros for these.
13114
13115         * glyphs-msw.c (init_image_instance_geometry): New function.
13116         (init_image_instance_from_dibitmap): Use it.
13117         (mswindows_resource_instantiate): Use it.
13118         (init_image_instance_from_xbm_inline): Use it.
13119         (mswindows_initialize_image_instance_mask): Use real bitmap
13120         geometry.
13121         (mswindows_create_resized_bitmap): Ditto.
13122         (mswindows_create_resized_mask): Ditto.
13123
13124         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13125         and bitmap to their surface size.
13126
13127 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13128
13129         * process-unix.c (unix_send_process): Guard against process MIA
13130         after Faccept_process_output.
13131
13132 2000-04-11  Ben Wing  <ben@xemacs.org>
13133
13134         * eval.c (unbind_to_hairy): fix brokenness introduced by
13135         nanosecond speed improvements.
13136
13137 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13138
13139         * sunplay.c (init_device): To play sounds correctly, the device
13140         apparently needs to be initialized at least once by XEmacs.  Make
13141         it so.
13142
13143 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13144
13145         * redisplay.c (add_margin_runes): Add text image glyph
13146           handling.
13147
13148 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13149
13150         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13151         gcc is newer than 2.5.
13152
13153 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13154
13155         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13156
13157         * fns.c (size_bit_vector):
13158         * alloc.c (size_vector):
13159         (make_vector_internal):
13160         (make_bit_vector_internal):
13161         (sweep_bit_vectors_1):
13162         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13163
13164 2000-04-06  Andy Piper  <andy@xemacs.org>
13165
13166         * gmalloc.c (malloc): undo previous change.
13167         (malloc): ditto.
13168         (free): ditto.
13169         (realloc): ditto.
13170
13171 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13172
13173         * line-number.c (buffer_line_number): Revert to former version.
13174
13175 2000-04-06  Andy Piper  <andy@xemacs.org>
13176
13177         * gmalloc.c (malloc): add error checking.
13178         (malloc): ditto.
13179         (free): ditto.
13180         (realloc): ditto.
13181
13182         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13183         button_item_to_widget_value arg.
13184
13185         * glyphs-x.c (x_button_instantiate): add extra
13186         button_item_to_widget_value arg.
13187         (x_progress_gauge_instantiate): ditto.
13188         (x_edit_field_instantiate): ditto.
13189         (x_label_instantiate): ditto.
13190
13191         * gui-x.c (gui_items_to_widget_values_1): add extra
13192         button_item_to_widget_value arg.
13193         (button_item_to_widget_value): add extra menu_item_p arg.
13194
13195         * gui-x.h: change signature of button_item_to_widget_value.
13196
13197         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13198         button_item_to_widget_value arg.
13199
13200 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13201
13202         * buffer.h (struct buffer): auto_save_modified should be long.
13203
13204 2000-04-05  Andy Piper  <andy@xemacs.org>
13205
13206         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13207         type.
13208         (button_query_geometry): give a little more room so that athena
13209         buttons fit.
13210
13211 2000-04-05  Andy Piper  <andy@xemacs.org>
13212
13213         * faces.c (complex_vars_of_faces): The widget face should inherit
13214         the font of the gui-element face.
13215
13216 2000-04-04  Andy Piper  <andy@xemacs.org>
13217
13218         * glyphs-x.c (x_button_update): new function. unconditionally
13219         update a button's state when the instance is dirty.
13220         (image_instantiator_format_create_glyphs_x): add x_button_update.
13221         (x_widget_instantiate): remove old resize cruft.
13222
13223 2000-04-02  Andy Piper  <andy@xemacs.org>
13224
13225         * frame.c (change_frame_size_1): The introduction of gutters means
13226         that we need to allow 0 as a potential frame dimension.
13227
13228 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13229
13230         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13231         image glyph if allow_cursor.
13232         (add_hscroll_rune): Don't allow cursor to border glyph.
13233         (create_text_block): Ditto.
13234
13235         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13236         text not in buffer.
13237         (redisplay_output_layout): Call ensure_face_cachel_complete for
13238         text image glyph.
13239
13240
13241 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13242
13243         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13244
13245         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13246         not in buffer
13247
13248         * redisplay-tty.c (tty_output_display_block): Delete the routine
13249         for text image glyph
13250         * redisplay-x.c (x_output_display_block): ditto
13251         * redisplay-msw.c (mswindows_output_display_block): ditto
13252
13253 2000-02-02  Mike Alexander  <mta@arbortext.com>
13254
13255         Note: Some of these were committed by accident as part of other
13256         patches.
13257
13258         * regex.c (regex_compile): Avoid compiler warnings.
13259
13260         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13261
13262         * nt.h: Declare term_ntproc correctly.
13263
13264         * nt.c: Remove incorrect declaration of get_home_directory which
13265         is declared correctly in lisp.h.
13266
13267         * keymap.c (get_keyelt): Avoid compiler warnings.
13268         (raw_lookup_key_mapper): Avoid compiler warnings.
13269
13270         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13271
13272         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13273
13274         * filemode.c (mode_string): Avoid compiler warnings.
13275
13276         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13277         avoid warning.
13278
13279         * events-mod.h: Undef some things that winuser.h defines differently.
13280
13281         * data.c (Faset): Avoid compiler warnings.
13282
13283         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13284
13285 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13286
13287         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13288         Fall through to simple beep on error.
13289         Replace "extern" by real header file.
13290
13291         * linuxplay.c: Use nativesound.h
13292         (play_sound_data): Return error code. Be less verbose on error.
13293
13294         * sunplay.c: Use nativesound.h
13295         (play_sound_data): Return error code. Be less verbose on error.
13296
13297         * ntplay.c: Use nativesound.h
13298         (play_sound_data): Return fake error code
13299
13300         * sgiplay.c: Use nativesound.h
13301         (play_sound_data): Return error code
13302
13303         * hpplay.c: Use nativesound.h, partially implement
13304         new error code. Break compilation until finished.
13305         (play_sound_data): error code.
13306
13307         * nativesound.h (play_sound_file):
13308           (play_sound_data): Prototype in new header.
13309
13310 2000-03-31  Andy Piper  <andy@xemacs.org>
13311
13312         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13313         for toggle and radio buttons.
13314         (image_instantiator_buttons): use it.
13315
13316 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13317
13318         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13319         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13320         found. Scrollbar event probably belonged to some old config.
13321
13322 2000-03-31  Andy Piper  <andy@xemacs.org>
13323
13324         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13325         than 1.
13326         (initialize_widget_image_instance): default layout to
13327         LAYOUT_HORIZONTAL rather than 0.
13328         (widget_instantiate): reverse the item list at the end rather than
13329         every iteration.
13330         (layout_layout): re-code for the border text at the front of the
13331         item list rather than at the end.
13332         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13333         provided by the user.
13334         (widget_query_geometry): comment.
13335
13336 2000-03-30  Andy Piper  <andy@xemacs.org>
13337
13338         * glyphs-widget.c (image_instantiator_layout): allow standard
13339         widget keywords in layouts.
13340
13341         * gutter.c (output_gutter): cope with nil gutter contents.
13342
13343         * frame.c (Fset_frame_properties): add gutter docs.
13344
13345 2000-03-29  Andy Piper  <andy@xemacs.org>
13346
13347         * toolbar-msw.c (TBSTYLE_FLAT): add.
13348         (mswindows_output_toolbar): minor fiddling.
13349
13350 2000-03-29  Andy Piper  <andy@xemacs.org>
13351
13352         * gutter.c (output_gutter): force gutter size recalculation if
13353         what we are trying to display won't fit.
13354         (update_gutter_geometry): new function. A per-gutter version of
13355         update_frame_gutter_geometry.
13356         (update_frame_gutter_geometry): use it.
13357         (redraw_exposed_gutter): add extra debugging output.
13358
13359 2000-03-28  Mike Alexander  <mta@arbortext.com>
13360
13361         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13362         (pdump_file_unmap): Implement it on Windows
13363         (pdump_file_get): Save alocated handles for pdump_file_unmap
13364
13365 2000-03-28  Andy Piper  <andy@xemacs.org>
13366
13367         * gui.c (get_gui_callback): treat Quit specially.
13368
13369 2000-03-27  Andy Piper  <andy@xemacs.org>
13370
13371         * glyphs.c (image_instantiate): be careful to check in the same
13372         way we assigned.
13373
13374 2000-03-27  Didier Verna  <didier@xemacs.org>
13375
13376         * config.h.in: define the proper SMART_INCLUDE macro.
13377         handle renaming of `foo_h_path' to `foo_h_file'.
13378
13379         * database.c: ditto.
13380
13381         * emacs.c: ditto.
13382
13383         * linuxplay.c: ditto.
13384
13385         * terminfo.c: ditto.
13386
13387         * tooltalk.h: ditto.
13388
13389 2000-03-27  Andy Piper  <andy@xemacs.org>
13390
13391         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13392         gets updated whenever the face might have changed.
13393
13394 2000-03-26  Mike Alexander  <mta@arbortext.com>
13395
13396         * dumper.c (pdump_resource_free): Fix the comment.
13397
13398 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13399
13400         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13401
13402 2000-03-22  Mike Alexander  <mta@arbortext.com>
13403
13404         * dumper.c: Include Windows headers on Windows
13405         (pdump_resource_free): Add a body to the function
13406         (pdump_load): exe_name -> exe_path and add some comments.
13407
13408 2000-03-25  Mike Alexander  <mta@arbortext.com>
13409
13410         * gui.c (copy_gui_item_tree): Return a value in all cases
13411
13412 2000-03-21  Didier Verna  <didier@xemacs.org>
13413
13414         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13415         lwlib/config.h.in.
13416         (SMART_INCLUDE): new macro.
13417         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13418         the proper location.
13419
13420         * postgresql.c: use it.
13421
13422         * inline.c: ditto.
13423
13424 2000-03-24  Andy Piper  <andy@xemacs.org>
13425
13426         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13427         do this.
13428
13429 2000-03-24  Andy Piper  <andy@xemacs.org>
13430
13431         * redisplay-output.c (compare_runes): use image_instance_changed
13432         to detect changes. Do not depend on glyphs_changed, only depend on
13433         dirtiness.
13434          (redisplay_output_layout): add debug messages.
13435         (compare_runes): ditto.
13436
13437         * glyphs.h: declare new functions.
13438         (struct Lisp_Image_Instance): remove percent and associated
13439         accessors.
13440
13441         * gui.h: declare new copying functions.
13442
13443         * gui.c (copy_gui_item_tree): new function.
13444         (copy_gui_item): new function.
13445         (gui_item_id_hash): revert to standard hash.
13446         (gui_item_hash): ditto.
13447         (gui_item_hash_internal): deleted.
13448         (mark_gui_item): mark value.
13449         (gui_item_add_keyval_pair): add value.
13450         (gui_item_init): ditto.
13451         (gui_add_item_keywords_to_plist): ditto.
13452         (gui_item_equal): ditto.
13453         (syms_of_gui): add Q_value.
13454
13455         * glyphs-x.c (x_progress_gauge_update): use pending items and
13456         value for setting the state.
13457         (x_update_widget): don't set items from pending here.
13458
13459         * glyphs-widget.c (update_widget): update items here.
13460         (progress_gauge_set_property): use items for storing value. Put
13461         new value in pending items.
13462
13463         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13464         items for new value. Convert percent -> value.
13465         (mswindows_tab_control_update): don't update items here.
13466
13467         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13468         (update_subwindow): ditto.
13469         (image_instance_changed): new function. Compare hash values and
13470         past and present widget items.
13471         (image_instantiate): We more careful about where we instantiate
13472         things.
13473         (image_instantiate): add error checking.
13474
13475         * gutter.c (syms_of_gutter): use -hook.
13476
13477 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13478
13479         * console-tty.c (Fset_console_tty_input_coding_system): Use
13480         Qkeyboard.
13481         (Fset_console_tty_output_coding_system): Use Qterminal.
13482         (tty_init_console): Use Qkeyboard and Qterminal.
13483
13484 2000-03-21  Ben Wing  <ben@xemacs.org>
13485
13486         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13487         From Mike Alexander <mta@arbortext.com>.
13488
13489 2000-03-21  Ben Wing  <ben@xemacs.org>
13490
13491         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13492         process brokenness.  Proper implementation to come.
13493         * callproc.c:
13494         Rename call-process-internal to old-call-process-internal.
13495         New impl. in process.el.
13496
13497 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13498
13499         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13500
13501 2000-03-20  Andy Piper  <andy@xemacs.org>
13502
13503         * glyphs.c (full_list_hash): make hashes of the same elements in
13504         different orders return different values.
13505
13506 2000-03-20  Martin Buchholz <martin@xemacs.org>
13507
13508         * XEmacs 21.2.32 is released.
13509
13510 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13511
13512         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13513         (DFC_MALLOC_USE_CONVERTED_DATA):
13514         Add aliasing-safe casts to allow use with char* or unsigned char*
13515         lvalues.
13516
13517         * eldap.c (Fldap_open):
13518         (Fldap_search_basic):
13519         (Fldap_add):
13520         (Fldap_modify):
13521         Make C++-compilable.
13522         Make sure GCPRO'ed variables are initialized.
13523         Use temp variables to avoid repeated calls to Flength.
13524
13525 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13526
13527         * sysfile.h:
13528         Make sure PATH_MAX is always defined.
13529         Include limits.h for PATH_MAX.
13530         Deprecate use of MAXPATHLEN.
13531
13532 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13533
13534         * emacs.c: Add reinit_vars_of_fileio.
13535         * symsinit.h: Add reinit_vars_of_fileio.
13536         * fileio.c (reinit_vars_of_fileio): New.
13537         * fileio.c (Fmake_temp_name):
13538         Initialize temp_name random number from microseconds to make
13539         collisions even less likely.  Initialize always at process startup
13540         time.  (make-temp-name) used to return the same file name twice in
13541         a row when PDUMP.
13542         Random stylistic fiddling.
13543         Comment fixes.
13544
13545 2000-03-20  Andy Piper  <andy@xemacs.org>
13546
13547         * glyphs.c (image_instantiate): allow text glyphs to be
13548         instantiated in the minibuffer window.
13549
13550 2000-03-19  Andy Piper  <andy@xemacs.org>
13551
13552         * glyphs.c (image_instance_hash): be careful about which items we
13553         hash on.
13554
13555         * glyphs-widget.c (tab_control_set_property): record into pending
13556         items rather than the actual items.
13557
13558         * glyphs-x.c (x_update_widget): use pending items to update with.
13559
13560         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13561         to update with.
13562
13563         * glyphs.c (mark_image_instance): mark pending items.
13564
13565         * window.c (Fset_window_configuration): record the buffer.
13566         (Fselect_window): totally revert previous change which breaks many
13567         things.
13568
13569 2000-03-18  Andy Piper  <andy@xemacs.org>
13570
13571         * glyphs-msw.c (mswindows_tab_control_update): force selected
13572         item.
13573
13574         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13575         window domain cache, otherwise we get inconsistencies at
13576         startup. There is something fishy at startup which can lead to the
13577         minibuffer being the selected window when the gutter content is
13578         instantiated.
13579
13580         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13581         gcpros.
13582         (parse_gui_item_tree_children): ditto.
13583         (parse_gui_item_tree_item): ditto.
13584
13585         * glyphs.c (Fupdate_widget_instances): return something.
13586
13587 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13588
13589         * window.c (Fselect_window): Undo 2000-03-17 change.
13590
13591 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13592
13593         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13594         against v7.0 libraries.  Insta-coredump city until the postgres
13595         folks fix it.
13596
13597 2000-03-17  Andy Piper  <andy@xemacs.org>
13598
13599         * faces.c (complex_vars_of_faces): don't give the widget face an
13600         inherited background pixmap.
13601
13602         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13603         selected item.
13604
13605         * event-stream.c (Fdispatch_non_command_events): return something.
13606
13607         * gutter.c (output_gutter): use widget face.
13608         (clear_gutter): ditto.
13609
13610         * NEWS: adjust again.
13611
13612         * window.c (Fselect_window): make sure this runs to completion to
13613         avoid oddities with Fset_window_configuration.
13614         (Fcurrent_window_configuration): in general do not save the
13615         minibuffer as the selected window.
13616
13617         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13618
13619 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13620
13621         * emacs.c (Frunning_temacs_p): Revert previous patch.
13622         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13623
13624 2000-03-16  Andy Piper  <andy@xemacs.org>
13625
13626         * glyphs-x.c (x_tab_control_update): if no widget values then
13627         return.
13628
13629         * NEWS: update for new features.
13630
13631         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13632         synthetic event to the native system.
13633         (reinit_vars_of_event_Xt): set force_event_pending to
13634         emacs_Xt_force_event_pending.
13635
13636         * events.h (struct event_stream): add force_event_pending.
13637
13638         * specifier.c (recompute_one_cached_specifier_in_window): add
13639         comment.
13640
13641         * redisplay.c (redisplay_frame): don't call
13642         update_frame_subwindows. Reset subwindow cachels when
13643         subwindows_changed, removing this was an optimization too far.
13644
13645         * redisplay-output.c (compare_runes): reorganize so that we catch
13646         glyph changes when we want them. Set optimize_output when this
13647         would help layouts.
13648         (redisplay_output_layout): remove frame_really_changed, use
13649         optimize_output instead.
13650
13651         * redisplay-msw.c (mswindows_output_display_block): reset
13652         optimize_output after outputting a glyph.
13653         * redisplay-x.c (x_output_display_block): ditto.
13654         * redisplay-tty.c (tty_output_display_block): ditto.
13655
13656         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13657         functions.
13658         (gutter_specs_changed): do specific gutter positions.
13659         (top_gutter_specs_changed): new function. Only update the
13660         specified gutter specs.
13661         (bottom_gutter_specs_changed): ditto.
13662         (left_gutter_specs_changed): ditto.
13663         (right_gutter_specs_changed): ditto.
13664
13665         * gui.c (gui_item_hash_internal): new function, does a real hash.
13666         (gui_item_id_hash): use it.
13667         (gui_item_hash): hash the eval'ed gui_item.
13668
13669         * gui-x.c (popup_selection_callback): send an eval event to call
13670         Fupdate_widget_instances.
13671
13672         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13673         to call Fupdate_widget_instances.
13674
13675         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13676         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13677
13678         * glyphs.c: (update_frame_subwindows): deleted.
13679         (Fupdate_widget_instances): new function for updating the dirty
13680         state of widgets that might have changed.
13681         (syms_of_glyphs): add Qupdate_widget_instances.
13682         (full_list_hash): hash a list completely.
13683         (image_instance_hash): use it for items and properties.
13684
13685         * frame-msw.c (mswindows_size_frame_internal): remove unused
13686         variable.
13687
13688         * faces.h (struct face_cachel): fix comment.
13689
13690         * event-stream.c (Fdispatch_non_command_events): new
13691         function. Process non-command events, forcing an event cycle
13692         beforehand.
13693         (syms_of_event_stream): declare.
13694         (event_stream_force_event_pending): new function. Force an event
13695         on the native event queue so that an event cycle will occur next
13696         time we check.
13697
13698         * event-msw.c:
13699         (struct ntpipe_shove_stream):
13700         (mswindows_enqueue_dispatch_event):
13701         (mswindows_dequeue_dispatch_event):
13702         (mswindows_cancel_dispatch_event):
13703         (mswindows_pump_outstanding_events):
13704         (mswindows_drain_windows_queue):
13705         (mswindows_handle_paint):
13706         (mswindows_wnd_proc):
13707         (mswindows_key_to_emacs_keysym):
13708         (get_process_input_waitable):
13709         (emacs_mswindows_delete_stream_pair): re-indent file.
13710         (mswindows_need_event): do not process further fds if the windows
13711         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13712         fixes the 100% cpu problem.
13713         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13714
13715 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13716
13717         * alloc.h: New.
13718         * dumper.h: New.
13719         * dumper.c: New.
13720
13721         * emacs.c: Moved dump file searching to dumper.c.
13722         (Frunning_temacs_p): Fixed.
13723
13724         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13725         last_lrecord_type_index_assigned.
13726
13727 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13728
13729         * symsinit.h: Added reinit parameter to init_console_stream
13730         declaration.
13731
13732         * lisp.h: Added file parameter to pdump_load declaration.
13733
13734         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13735         support.  Added dump file searching.
13736
13737         * config.h.in: Added EMACS_PROGNAME.
13738
13739         * console-stream.c (init_console_stream): Fix reinitialisation
13740         when running from temacs.
13741
13742         * alloc.c (pdump): Add id support.
13743         (pdump_load): Add file parameter and signature/id support.
13744
13745         * Makefile.in.in: Add full pdump support.
13746
13747 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13748
13749         * postgresql.c: Update documentation to reflect latest code
13750         status.
13751         (print_result): Show tuple counts in printed representation when
13752         appropriate.
13753         (Fpq_put_nbytes): MULE-ize.
13754         (Fpq_get_line_async): Ditto.
13755
13756 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13757
13758         * postgresql.c (Fpq_lo_import): Fix return value.
13759         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13760
13761 2000-03-13  Ben Wing  <ben@xemacs.org>
13762
13763         * alloc.c (pdump_load):
13764         Fix compile warning under mswin.
13765
13766 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13767
13768         * postgresql.c: Mule-ization, bug fixes.
13769         Use PG_CODING to encapsulate coding system name changes.
13770         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13771         (pg-coding-system): Create.
13772
13773         (Fpq_conn_defaults): Mule-ize.
13774         (Fpq_connectdb): Mule-ize & bug fix.
13775         (Fpq_connect_start): Mule-ize.
13776         (Fpq_set_client_encoding): Mule-ize.
13777         (Fpq_finish): Document `DEAD' connection status.
13778         (Fpq_clear): Ditto.
13779         (Fpq_pgconn): Mule-ize.
13780         (Fpq_exec): Mule-ize & bug fix.
13781         (Fpq_send_query): Ditto.
13782         (Fpq_get_result): Ditto.
13783         (Fpq_res_status): Mule-ize.
13784         (Fpq_result_error_message): Mule-ize.
13785         (Fpq_ntuples): fix comments.
13786         (Fpq_fname): Mule-ize.
13787         (Fpq_fnumber): Mule-ize.
13788         (Fpq_ftype): fix comments.
13789         (Fpq_get_value): Mule-ize.
13790         (Fpq_cmd_status): Ditto.
13791         (Fpq_cmd_tuples): Ditto.
13792         (Fpq_oid_value): Ditto.
13793         (Fpq_notifies): Ditto.
13794         (Fpq_lo_import): Ditto.
13795         (Fpq_lo_export): Ditto.
13796         (Fpq_get_line): Ditto.
13797         (Fpq_put_line): Mule-ize and bug fix.
13798         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13799
13800 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13801
13802         * postgresql.c (vars_of_postgresql): Mule-ize.
13803         (Fpq_conn_defaults): Ditto.
13804
13805 2000-03-12  Ben Wing  <ben@xemacs.org>
13806
13807         * alloc.c (Fmake_byte_code):
13808         * alloc.c (debug_string_purity_print):
13809         * alloc.c (pdump_backtrace):
13810         * alloc.c (pdump_get_indirect_count):
13811         * alloc.c (pdump_register_sub):
13812         * alloc.c (pdump_register_object):
13813         * alloc.c (pdump_register_struct):
13814         * alloc.c (pdump_dump_data):
13815         * alloc.c (pdump_reloc_one):
13816         Minor cleanups.
13817
13818         * console-msw.c:
13819         * console-msw.c (GetConsoleHwnd):
13820         * console-msw.c (msw_hide_console):
13821         * console-msw.c (msw_show_console):
13822         * console-msw.c (msw_ensure_console_buffered):
13823         * console-msw.c (msw_output_console_string):
13824         * console-msw.c (console_type_create_mswindows):
13825
13826         a) Added functions to manipulate the console window for use with
13827         shell support.
13828
13829         b) Added support for writing text to the console, which is now
13830         used under Windows when xemacs is not being run non-interactively,
13831         to write text that would otherwise be destined for stdout because
13832         under these circumstances, text written to stdout tends to
13833         disappear and not be seen.
13834
13835         * console-msw.h:
13836         * event-Xt.c:
13837         * event-Xt.c (x_event_to_emacs_event):
13838         * event-Xt.c (describe_event_window):
13839         * events-mod.h (XEMACS_MOD_CONTROL):
13840         * events.c:
13841         * events.c (Fmake_event):
13842         * events.c (character_to_event):
13843         * events.c (event_to_character):
13844         * events.c (format_event_object):
13845         * events.c (Fevent_modifiers):
13846         * events.h:
13847         * events.h (struct key_data):
13848         * events.h (struct button_data):
13849         * events.h (struct misc_user_data):
13850         * frame-x.c (Fcde_start_drag_internal):
13851         * frame-x.c (Foffix_start_drag_internal):
13852         * gpmevent.c (Freceive_gpm_event):
13853         * keymap.c:
13854         * keymap.c (bucky_sym_to_bucky_bit):
13855         * keymap.c (control_meta_superify):
13856         * keymap.c (make_key_description):
13857         * keymap.c (keymap_lookup_directly):
13858         * keymap.c (create_bucky_submap):
13859         * keymap.c (keymap_store):
13860         * keymap.c (define_key_check_and_coerce_keysym):
13861         * keymap.c (define_key_parser):
13862         * keymap.c (define_key_alternate_name):
13863         * keymap.c (Fdefine_key):
13864         * keymap.c (raw_lookup_key_mapper):
13865         * keymap.c (struct map_keymap_unsorted_closure):
13866         * keymap.c (map_keymap_unsorted_mapper):
13867         * keymap.c (map_keymap_sort_predicate):
13868         * keymap.c (map_keymap_sorted):
13869         * keymap.c (accessible_keymaps_mapper_1):
13870         * keymap.c (where_is_recursive_mapper):
13871         * keymap.c (describe_map_mapper):
13872         * keymap.c (describe_map_sort_predicate):
13873         * keymap.c (describe_map):
13874         * keymap.c (complex_vars_of_keymap):
13875         And a number of other files, the key modifier preprocessor
13876         constants that xemacs uses have names that conflict with constants
13877         defined under MS Windows for other purposes, so they were renamed
13878         to begin with the prefix XEMACS_. The variables that hold such
13879         modifiers were changed to consistently be of type int to fix
13880         various compile warnings.
13881
13882         * console.c (complex_vars_of_console):
13883         * device.c:
13884         * device-msw.c:
13885         * device-msw.c (mswindows_finish_init_device):
13886         * device-msw.c (msw_get_workspace_coords):
13887         * device-msw.c (mswindows_device_system_metrics):
13888         and various other files, added support for a new
13889         device property called offset-workspace which returns the position
13890         of the upper left corner of the workspace area and goes along with
13891         the existing size-workspace property.
13892
13893         * dialog-msw.c:
13894         * dialog-msw.c (push_bufbyte_string_as_unicode):
13895         * dialog-msw.c (mswindows_popup_dialog_box):
13896         Added support for XEmacs-style accelerator specifications in
13897         button text.  Note: I didn't add support for this under X Windows,
13898         and somebody needs to do this.
13899
13900         * dialog.c:
13901         * dialog.c (Fpopup_dialog_box):
13902         Documented the support for accelerators that was just mentioned.
13903
13904         editfns.c (get_home_directory): Changed behavior under Windows
13905         when HOME not defined; former behavior was irretrievably broken.
13906
13907         * emacs.c:
13908         * emacs.c (main_1):
13909         * emacs.c (main):
13910         * minibuf.c (clear_echo_area_internal):
13911         * minibuf.c (echo_area_append):
13912         * print.c:
13913         * print.c (std_handle_out_external):
13914         * print.c (std_handle_out_va):
13915         * print.c (fatal):
13916         * print.c (write_string_to_stdio_stream):
13917         * print.c (output_string):
13918         * print.c (debug_print):
13919         * print.c (debug_backtrace):
13920         * print.c (debug_short_backtrace):
13921         Cleaned up the code that prints text to stdout so that this can be
13922         changed to output into a console window instead under MS Windows,
13923         as described above.
13924
13925         * eval.c:
13926         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13927         * eval.c (internal_catch):
13928         * eval.c (unwind_to_catch):
13929         * eval.c (throw_or_bomb_out):
13930         * eval.c (condition_case_1):
13931         * eval.c (signal_1):
13932         * eval.c (check_error_state_sanity):
13933         * eval.c (call_with_suspended_errors_1):
13934         * eval.c (call_with_suspended_errors):
13935         * eval.c (reinit_vars_of_eval):
13936         Added code to catch throw loops and check for a pesky bug that may
13937         be gone now.
13938
13939         * event-msw.c:
13940         * event-msw.c (key_needs_default_processing_p):
13941         * event-msw.c (mswindows_wnd_proc):
13942         * event-msw.c (mswindows_modifier_state):
13943         * event-msw.c (emacs_mswindows_quit_p):
13944         * event-msw.c (vars_of_event_mswindows):
13945         a) Added support for using the alt key to select menu items as is
13946         standard under MS Windows.  This is controlled using the variable
13947         menu-accelerator-enabled, just like under X Windows.  There is an
13948         option on the options menu to turn this support on.  I really
13949         think that it should be on by default under Windows, but I'm not
13950         going to make this change yet.
13951
13952         b)  Added support for dynamic display size changes under Windows.
13953
13954         * event-stream.c:
13955         * event-stream.c (maybe_echo_keys):
13956         * event-stream.c (Fnext_event):
13957         * event-stream.c (command_builder_find_leaf):
13958         * event-stream.c (lookup_command_event):
13959         * event-stream.c (execute_command_event):
13960         * event-stream.c (pre_command_hook):
13961         * event-stream.c (post_command_hook):
13962         * event-stream.c (syms_of_event_stream):
13963         * event-stream.c (vars_of_event_stream):
13964         * event-stream.c (complex_vars_of_event_stream):
13965         * events.h (struct command_builder):
13966
13967         a) Tried to clean up a little bit the horribly written x-specific
13968         accelerator code that crept into this file.  I moved this code
13969         into menubar-x.c where it belongs. I also needed to move the
13970         command builder structure into the file events.h because it is
13971         accessed directly by this accelerator code.  What I didn't do, but
13972         which should be done at some point, is to properly abstract this
13973         code using device methods instead of the kludgy way that it
13974         currently hooks into the event code.
13975
13976         b) Added the lisp variables this-command-properties and
13977         last-command- properties, which should be used to synchronize two
13978         adjacent commands in preference to playing games with the variable
13979         this-command, which is typically what happens.
13980
13981         c) Added some slightly nasty code to hook into the lisp support
13982         for shifted- motion-key selection.  This is actually necessary for
13983         somewhat complicated reasons, which are described in
13984         simple.el. (NB: I think the proper thing would be to have the code
13985         that calls the pre and post command hooks also call out to generic
13986         lisp functions in simple.el, where all built-in stuff could be
13987         added.  I will think about this more.)
13988
13989         * event-unixoid.c (poll_fds_for_input):
13990         * lread.c (readchar):
13991         * redisplay-tty.c (tty_clear_frame):
13992         * redisplay-x.c (x_get_gc):
13993         * signal.c (interrupt_signal):
13994         And a whole bunch of other files: fixed up places that printed
13995         directly to stderr to instead call the function stderr_out so that
13996         the changes I made under Windows work correctly.
13997
13998         * filemode.c (mode_string):
13999         Warning fixes.
14000
14001         * frame-msw.c:
14002         * frame-msw.c (mswindows_size_frame_internal):
14003         Fixed the computation of frame size and position to keep the frame
14004         within the workspace area, rather than within the physical
14005         dimensions of the screen, so that the frame doesn't overlap window
14006         manager decorations, such as the start menu and toolbar, typically
14007         at the bottom of the screen.
14008
14009         * frame.c (vars_of_frame):
14010         Changed the default frame title format under MS Windows to consist
14011         of buffername-XEmacs, which is standard under MS Windows.  I think
14012         it might be a good idea to change this everywhere because I think
14013         it is superior to the current frame title format, but this is the
14014         kind of change that is likely to cause some people to get annoyed,
14015         so I'm not making it.
14016
14017         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14018
14019         * gui-msw.c (mswindows_handle_gui_wm_command):
14020         Fixed compile warnings.
14021
14022         * gui-x.c:
14023         * gui-x.c (strdup_and_add_accel):
14024         * gui-x.c (button_item_to_widget_value):
14025         * gui-x.h:
14026         Added code to automatically put an accelerator onto the beginning
14027         of menu items that don't have one as is now the standard, and is
14028         described more later.  Also fixed things so that the menu item
14029         name can be an evaluated expression, again a new standard.
14030
14031         * gui.c:
14032         * gui.c (gui_item_add_keyval_pair):
14033         * gui.c (make_gui_item_from_keywords_internal):
14034         * gui.c (gui_add_item_keywords_to_plist):
14035         * gui.c (gui_item_accelerator):
14036         * gui.c (gui_name_accelerator):
14037         * gui.c (gui_item_included_p):
14038         * gui.c (gui_item_display_flush_left):
14039         * gui.c (gui_item_display_flush_right):
14040         * gui.c (parse_gui_item_tree_item):
14041         * gui.c (parse_gui_item_tree_children):
14042         * gui.c (parse_gui_item_tree_list):
14043         Mule-ized.  Cleanup.  GCPRO addition.
14044
14045         * line-number.c (buffer_line_number):
14046         * lisp.h:
14047         * lisp.h (EMACS_INT_MAX):
14048         Added the manifest constant EMACS_INT_MIN corresponding to the
14049         existing constant EMACS_INT_MAX.  This is partially to fix compile
14050         warnings under Windows, and partly for cleanliness.
14051
14052         * menubar-msw.c:
14053         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14054         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14055         * menubar-msw.c (displayable_menu_item):
14056         * menubar-msw.c (populate_menu_add_item):
14057         * menubar-msw.c (populate_or_checksum_helper):
14058         * menubar-msw.c (populate_menu):
14059         * menubar-msw.c (update_frame_menubar_maybe):
14060         * menubar-msw.c (prune_menubar):
14061         * menubar-msw.c (msw_char_is_accelerator):
14062         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14063         * menubar-msw.c (mswindows_handle_wm_command):
14064         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14065         * menubar-msw.c (mswindows_handle_wm_initmenu):
14066         * menubar-msw.c (mswindows_update_frame_menubars):
14067         * menubar-msw.c (mswindows_free_frame_menubars):
14068         * menubar-msw.c (mswindows_popup_menu):
14069         Fixed a bug in handling accelerators where an extra character
14070         would be displayed in the menu item.  Also generalized the
14071         function displayable_menu_item because it is now used by the
14072         dialog box code as well.  And finally, added code in the functions
14073         that create the menubar to extract a list of accelerators for the
14074         top level menubar, which is used in the event code to determine
14075         whether a particular alt-key combination should be used to invoke
14076         a menu item, or should be passed through to access the standard
14077         XEmacs keymap binding for this key combination.
14078
14079         Much needed GCPROing.
14080
14081         * menubar-x.c:
14082         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14083         * menubar-x.c (menu_item_descriptor_to_widget_value):
14084         * menubar-x.c (restore_in_menu_callback):
14085         * menubar-x.c (x_popup_menu):
14086         * menubar-x.c (menu_move_up):
14087         * menubar-x.c (menu_move_down):
14088         * menubar-x.c (menu_move_left):
14089         * menubar-x.c (menu_move_right):
14090         * menubar-x.c (menu_select_item):
14091         * menubar-x.c (command_builder_operate_menu_accelerator):
14092         * menubar-x.c (menu_accelerator_junk_on_error):
14093         * menubar-x.c (command_builder_find_menu_accelerator):
14094         * menubar-x.c (Faccelerate_menu):
14095         * menubar.h:
14096         Moved a whole bunch of code here that was previously in
14097         event-stream.c as described above.  There is also code connected
14098         to the new standard of adding an accelerator to the beginning of
14099         menu items that don't have one as described above and below.
14100
14101         * menubar.c:
14102         * menubar.c (menu_parse_submenu_keywords):
14103         * menubar.c (Fmenu_find_real_submenu):
14104         * menubar.c (Fnormalize_menu_item_name):
14105         * menubar.c (syms_of_menubar):
14106         * menubar.c (vars_of_menubar):
14107         * menubar.c (complex_vars_of_menubar):
14108
14109         a) Cleaned up a bunch of documentation and improved it.
14110
14111         b) XEmacs now automatically adds an accelerator onto the beginning
14112         of any menu items that don't have one.  I did this because there
14113         will inevitably be some menu items on the main menubar that don't
14114         have accelerators on them because the package that adds that
14115         particular menu item hasn't yet been fixed up to have accelerators
14116         in them and it looked rather strange to have some items with and
14117         some items without accelerators, especially since even in items
14118         without accelerators, you can, at least under windows, still
14119         access the item through an accelerator corresponding to the first
14120         character in the item's name.  If people don't like this behavior,
14121         I can add a variable to turn it off optionally, but I'm not sure
14122         this is a good idea because we really do need to have accelerators
14123         on all of the menu items, and if a package doesn't like the
14124         accelerators being put on the first character, then it should put
14125         the accelerators where they belong.
14126
14127         c) I made a behavior change, which is that the descriptor that
14128         specifies the text of the menu item, which formerly was just a
14129         string, can now also be an evaluated expression.  This makes this
14130         descriptor parallel with all of the others, which could also be
14131         evaluated expressions.  This also obviates the need for the
14132         keyword :label, which was previously listed in the documentation
14133         as unimplemented, and which was for the same purpose.
14134
14135         d) GCPROing.
14136
14137         * ntproc.c:
14138         * ntproc.c (new_child):
14139         * ntproc.c (sys_spawnve):
14140         * ntproc.c (find_child_console):
14141         * ntproc.c (sys_kill):
14142         Fixed compile warnings.  By the way, this file should really go
14143         away entirely, and this will happen as soon as Kirill makes his
14144         final round of process cleanups, which affect the function
14145         call-process.
14146
14147         * process-nt.c:
14148         * process-nt.c (struct nt_process_data):
14149         * process-nt.c (find_process_from_pid):
14150         * process-nt.c (send_signal_the_nt_way):
14151         * process-nt.c (enable_child_signals):
14152         * process-nt.c (find_child_console):
14153         * process-nt.c (send_signal_the_95_way):
14154         * process-nt.c (nt_finalize_process_data):
14155         * process-nt.c (ensure_console_window_exists):
14156         * process-nt.c (nt_create_process):
14157         * process-nt.c (nt_kill_child_process):
14158         * process-nt.c (nt_kill_process_by_pid):
14159         * process-nt.c (nt_open_network_stream):
14160         * process-nt.c (vars_of_process_nt):
14161         Copied over code from Emacs 20.5 to correctly send signals to sub-
14162         processes under Windows 95.  Also added code to automatically
14163         create and hide console window when a sub-process is created under
14164         Windows 95, which obviates the need for the separate runemacs.exe
14165         executable, and finally implemented some variables that were
14166         implemented in Emacs 20.5, but previously not in XEmacs.  These
14167         include mswindows- start-process-share-console and
14168         mswindows-start-process-inherit-error-mode. (Both of these only
14169         apply to Windows 95.)
14170
14171         * regex.c (regex_compile): Fixed a compile warning.
14172
14173         * select-msw.c:
14174         * select-msw.c (mswindows_own_selection):
14175         * select-msw.c (mswindows_get_foreign_selection):
14176         * select-msw.c (mswindows_disown_selection):
14177         * select-msw.c (console_type_create_select_mswindows):
14178         * select-msw.c (syms_of_select_mswindows):
14179         Cleaned up the file and implemented the device method
14180         selection_exists_p, which had accidentally been left out.  Also
14181         removed four lisp functions that were remnants from before the
14182         time when the selection code was properly device abstracted.
14183         These functions are no longer needed because there are generic
14184         equivalents, and because they were added recently and don't exist
14185         in FSF Emacs, I don't think there's any problem with just deleting
14186         them.
14187
14188         * sysdep.c:
14189         * sysdep.c (sys_subshell):
14190         Fixed a compile warning, although in this case there's probably
14191         something wrong with this code, and it ought to be looked into
14192         more thoroughly by somebody who understands it.
14193
14194         * window.c:
14195         * window.c (Fwindow_text_area_height):
14196         * window.c (Fwindow_width):
14197         * window.c (Fwindow_full_width):
14198         * window.c (Fwindow_pixel_width):
14199         * window.c (debug_print_window):
14200         * window.c (syms_of_window):
14201         Added functions window-text-area-height and window-full-width,
14202         which are functions for returning various width and height
14203         characteristics of a window. (One of these functions is necessary
14204         for making the file dialog box work correctly, and the other one
14205         was added for completeness.)  Also added a table to the
14206         documentation for window-height which describes the entire scheme
14207         for accessing width and height characteristics of a window.
14208
14209 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14210
14211         * nt.c (fstat): Added a comment for another problem with
14212         non-encapsulated [f]stat(), reported by Adrian Aichner
14213         <aichner@ecf.teradyne.com>.
14214
14215 2000-03-11  Andy Piper  <andy@xemacs.org>
14216
14217         * window.c (make_dummy_parent): initialize subwindow instance
14218         cache.
14219         (Fset_window_configuration): zero extent_modiff.
14220
14221 2000-03-10  Andy Piper  <andy@xemacs.org>
14222
14223         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14224         more changes can be triggered.
14225         (Fredisplay_frame): ditto.
14226         (Fredraw_device): ditto.
14227         (Fredisplay_device): ditto.
14228         (redisplay_frame): make non-static.
14229         (redisplay_frame): call update_frame_gutter_geometry outside of
14230         display proper.
14231
14232         * gutter.h: declare update_frame_gutter_geometry.
14233
14234         * redisplay.h: declare redisplay_frame.
14235
14236         * gutter.c (update_frame_gutter_geometry): move geometry changes
14237         in update_frame_gutters here. Geometry changes can only occur
14238         outside of redisplay.
14239         (update_frame_gutters): remove geometry change code.
14240         (Fredisplay_gutter_area): make sure that we are in display when we
14241         update and that we have flushed any size changes.
14242
14243 2000-03-11  Andy Piper  <andy@xemacs.org>
14244
14245         * alloc.c (pdump_dump_data): remove i & count shadows.
14246
14247 2000-02-27  Mike Alexander  <mta@arbortext.com>
14248
14249         * sysdep.h: Declare pdump_read_file
14250
14251         * sysdep.c (pdump_read_file): New function
14252
14253         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14254         dump data
14255
14256 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14257
14258         * lrecord.h: add `lrecord_type_pgsetenv'.
14259
14260 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14261
14262         * symsinit.h: declare (vars|syms)_of* functions.
14263         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14264
14265 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14266
14267         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14268
14269         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14270         GCCs.
14271
14272         * emacs.c (main_1): Call postgres initialization code.
14273
14274         * postgresql.h: New file.  PostgreSQL RDBMS support.
14275         * postgresql.c: New file.
14276
14277 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14278
14279         * redisplay-output.c (redisplay_output_display_block): Disable
14280         redundant code.
14281
14282 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14283
14284         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14285         (Fcanna_henkan_next): Ditto.
14286         (Fcanna_bunsetu_henkou): Ditto.
14287         (Fcanna_henkan_kakutei): Ditto.
14288         (Fcanna_henkan_end): Ditto.
14289         (Fcanna_henkan_quit): Ditto.
14290         (Fcanna_henkan_next): Set retun value correctly.
14291         (c2mu): Use unsigned char instead of signed char.
14292
14293 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14294
14295         * emacs.c (main_1): Always call syms_of_gui.
14296         * inline.c: include gui.h
14297
14298 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14299
14300         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14301         converted to Lisp_Object.
14302         (Qtop_bottom): New variable.
14303         (syms_of_redisplay): Initialize it.
14304         * redisplay.h (Vvisible_bell): Ditto.
14305         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14306         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14307         only flash top and bottom.
14308
14309 2000-03-08  Andy Piper  <andy@xemacs.org>
14310
14311         * buffer.c (Frename_buffer): record new buffer name the right way.
14312
14313 2000-03-08  Andy Piper  <andy@xemacs.org>
14314
14315         * glyphs.c (update_subwindow): increase hash depth so that widget
14316         items get picked up properly.
14317
14318         * redisplay-output.c (compare_runes): increase hash depth so that
14319         widget items get picked up properly.
14320
14321 2000-03-08  Andy Piper  <andy@xemacs.org>
14322
14323         * gutter.c (output_gutter): add some debug.
14324
14325         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14326         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14327         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14328
14329         * redisplay-output.c (compare_runes): use display_hash to
14330         determine if glyphs really are not the same.
14331
14332         * glyphs.c (update_subwindow): check display_hash to see if
14333         anything really needs to be updated. If not then do
14334         nothing. Record the display_hash after updating.
14335         (image_instance_equal): compare the image_instance face also.
14336
14337 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14338
14339         * redisplay.h: Fix comment style.
14340
14341 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14342
14343         * consle-msw.h (struct mswindows_frame):
14344         Added new member paint_pending to indicate whether a WM_PAINT
14345         magic event has been queued for this frame.
14346
14347         * event-msw.c (mswindows_drain_windows_queue):
14348         Don't queue a WM_PAINT magic event if one is already queued.
14349         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14350
14351         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14352
14353 2000-03-07  Didier Verna  <didier@xemacs.org>
14354
14355         * dired.c: #include `regex.h' after `sysfile.h'.
14356
14357 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14358
14359         * sound.c (init_nas_sound): Fix compiler warning.
14360
14361         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14362         (FREE_STRUCT_P):
14363         (MARK_STRUCT_AS_FREE):
14364         (MARK_STRUCT_AS_NOT_FREE):
14365         Make `gcc -fstrict-aliasing' work properly.
14366
14367 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14368
14369         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14370         (mswindows_delete_device): Call CoUnnitialize().
14371
14372         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14373
14374 2000-02-25    <CraigL@DyCon.com>
14375
14376         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14377         <errno.h>.
14378
14379         * sysdep.c: This extern declaration for environ prevents MinGW
14380         from finding the variable in CRTDLL.DLL.
14381
14382         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14383         windows headers.
14384         (SHGFI_EXETYPE): ..
14385         (WM_MOUSEWHEEL): ..
14386         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14387         definitions.
14388         (MMRESULT): Removed, now defined in cygwin's windows headers.
14389         (TIMECAPS): ..
14390         (uid_t,gid_t,pid_t,ssize_t): ..
14391         (_timeb): Removed, MinGW defines both _timeb and timeb.
14392         (HAVE_H_ERRNO): Added.
14393         (HAVE_TZNAME): Added, configure is not detecting this.
14394
14395 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14396
14397         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14398         * syntax.c (syntax_match): Use it.
14399
14400         * cmds.c: Import auto-fill-chars from FSF Emacs.
14401         (Vauto_fill_chars): New variables.
14402         (internal_self_insert): Check Vauto_fill_chars.
14403         (vars_of_cmds):
14404         Declare auto-fill-chars as a Lisp variable and initialize it.
14405
14406 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14407
14408         * fileio.c (Fmake_symbolic_link):
14409         (Ffile_symlink_p):
14410         Run handlers even if local machine doesn't have symlinks.
14411
14412 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14413
14414         * event-msw.c (mswindows_drain_windows_queue):
14415         Don't generate paint magic events for non-XEmacs frames.
14416
14417 2000-03-05  Andy Piper  <andy@xemacs.org>
14418
14419         * redisplay.c (redisplay_frame): generate_displayable_area and
14420         friends assumes that we are not in GC, we therefore have to make
14421         sure that this doesn't happen.
14422
14423         * gutter.c (calculate_gutter_size): generate_displayable_area
14424         assumes that we are not in GC, we therefore have to make sure that
14425         this doesn't happen.
14426
14427 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14428
14429         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14430
14431 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14432
14433         * redisplay.c (regenerate_window): Make sure we set a sane value
14434         for end_pos even if we jump out of the loop.
14435         (regenerate_window): Answer Ben's question :-).
14436         (start_end_of_last_line): Add may_error argument.
14437         (start_of_last_line):
14438         (end_of_last_line): Pass may_error = 0.
14439         (end_of_last_line_may_error): New function.
14440         (pixel_to_glyph_translation): Use it, so we don't crash in
14441         event_to_glyph.
14442
14443 2000-03-04  Andy Piper  <andy@xemacs.org>
14444
14445         * window.h (struct window): add gutter_extent_modiff.
14446
14447         * window.c (allocate_window): zero out gutter_extent_modiff.
14448
14449         * redisplay.h: declare sync_display_line_structs.
14450
14451         * redisplay.c (add_glyph_rune): add a better comment.
14452
14453         * redisplay-output.c (sync_display_line_structs): made non-static.
14454         (compare_runes): remove unneccesary glyph cachel access.
14455
14456         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14457
14458         * gutter.c (output_gutter): don't output the gutter if extent
14459         changes only involve extents in buffers. use 4 sets of display
14460         lines.
14461         (gutter_extent_signal_changed_region_maybe): new function. Mark
14462         extents in gutters as changed.
14463         (update_frame_gutters): use 4 sets of display lines.
14464         (reset_gutter_display_lines): ditto.
14465         (free_frame_gutters): ditto.
14466         (redraw_exposed_gutter): force output of gutters.
14467
14468         * frame.h (struct frame): add 4 sets of gutter display lines.
14469
14470         * extents.c: (extent_changed_for_redisplay): signal changes to
14471         extents in strings in the gutter as well as extents in buffers.
14472
14473 2000-03-02  Andy Piper  <andy@xemacs.org>
14474
14475         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14476
14477         * frame.c (Fmake_frame): make sure the gutters get initialized
14478         after the frame is visible.
14479         (set_frame_selected_window): re-arrange compilation macros a
14480         little.
14481         (change_frame_size_1): mark gutters changed.
14482
14483         * device.c (Fset_device_class): mark gutters changed.
14484
14485 2000-03-01  Andy Piper  <andy@xemacs.org>
14486
14487         * window.c (window_top_frame_gutter_height): deleted.
14488         (window_bottom_frame_gutter_height): ditto.
14489         (window_left_frame_gutter_height): ditto.
14490         (window_right_frame_gutter_height): ditto.
14491         (window_top_gutter_height): don't use them.
14492         (window_bottom_gutter_height): ditto.
14493         (window_left_gutter_width): ditto.
14494         (window_right_gutter_width): ditto.
14495         (Fsplit_window): ditto.
14496         (Fwindow_pixel_edges): don't use border dimensions here.
14497
14498         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14499         (update_scrollbar_instance): ditto.
14500
14501         * redisplay.c (generate_modeline): don't take gutters into account.
14502         (generate_modeline): ditto.
14503         (redisplay_frame): small gutter display optimization.
14504
14505         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14506
14507         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14508         gutters into account.
14509
14510         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14511         for window position and type.
14512
14513         * gutter.c (get_gutter_coords): fix for frame gutters.
14514         (update_frame_gutters): update frame geometry if the gutters have
14515         changed.
14516         (init_frame_gutters): record current gutter geometries.
14517
14518         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14519         var.
14520         (mswindows_widget_instantiate): ditto.
14521
14522         * frame.h (struct frame): add current_gutter_bounds.
14523
14524         * frame.c (change_frame_size_1): position window and minibuffer
14525         appropriately taking into account the frame gutters.
14526
14527         * frame-x.c: (x_initialize_frame_size): take into account the
14528         frame gutters.
14529
14530 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14531
14532         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14533
14534 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14535
14536         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14537
14538 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14539
14540         * file-coding.c (reset_decoding_stream): Clear previous
14541         detection state when autodetect.
14542
14543 2000-02-29  Didier Verna  <didier@xemacs.org>
14544
14545         * extents.c (set_extent_glyph_1): don't require extents to be
14546         attached.
14547
14548 2000-02-27  Andy Piper  <andy@xemacs.org>
14549
14550         * gutter.c (Fset_default_gutter_position): don't default left and
14551         right gutter visibility to t.
14552         (Fset_default_gutter_position): run
14553         default-gutter-position-changed-hook.
14554         (syms_of_gutter): add default-gutter-position-changed-hook.
14555
14556 2000-02-26  Andy Piper  <andy@xemacs.org>
14557
14558         * specifier.c (Fmake_specifier): add gutter references.
14559
14560         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14561
14562         * lisp.h: declare Fvalid_plist_p.
14563
14564         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14565         as changed.
14566         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14567         well as its visibility so that it gets reconstructed.
14568         (construct_window_gutter_spec): new function. Construct a string
14569         to be displayed in the gutter from a plist of strings. Take care
14570         to only use elements that are declared as visible.
14571         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14572         WINDOW_GUTTER.
14573         (gutter_validate): allow plists of strings in the specifier.
14574         (gutter_specs_changed): construct the real_gutter from the gutter
14575         specs using construct_window_gutter_spec.
14576         (gutter_visible_validate): gutter-visible is a new specifier type.
14577         (Fgutter_visible_specifier_p): new function for the new specifier.
14578         (syms_of_gutter): declare gutter-visible and
14579         Fgutter_visible_specifier_p.
14580         (specifier_type_create_gutter): intitalize new gutter-visible
14581         specifier.
14582         (reinit_specifier_type_create_gutter): ditto.
14583         (specifier_vars_of_gutter): use new specifier type for gutter
14584         visibility.
14585         (init_frame_gutters): construct real_gutter correctly.
14586         (Fgutter_specifier_p): beef up documentation.
14587         (Fgutter_size_specifier_p): ditto.
14588
14589         * winslots.h: add real_gutter slots.
14590
14591 2000-02-25  Andy Piper  <andy@xemacs.org>
14592
14593         * device-msw.c: Be kind to older cygwin versions. From Raymond
14594         Toy <toy@rtp.ericsson.se>.
14595
14596         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14597         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14598
14599 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14600
14601         * elhash.c (MARK_OBJ): Practice macro hygiene.
14602
14603 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14604
14605         * miscplay.c: s/__inline__/inline/g;
14606         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14607         (get_device_compdc): INLINE ==> static inline
14608         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14609         find -name '*.h' | \
14610         xargs global-replace \
14611         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14612
14613 2000-02-25  Andy Piper  <andy@xemacs.org>
14614
14615         * window.c (window_top_frame_gutter_height): new function.
14616         (window_top_window_gutter_height): ditto.
14617         (window_top_gutter_height): use them.
14618         (window_bottom_frame_gutter_height): new function.
14619         (window_bottom_window_gutter_height): ditto.
14620         (window_bottom_gutter_height): use them.
14621         (window_left_window_gutter_width): new function.
14622         (window_left_frame_gutter_width): ditto.
14623         (window_left_gutter_width): use them.
14624         (window_right_window_gutter_width): new function.
14625         (window_right_frame_gutter_width): ditto.
14626         (window_right_gutter_width): use them.
14627         (window_pixel_height): new function. calulate window pixel height
14628         with frame gutter involvement.
14629         (Fsplit_window): calculate new sizes taking frame gutters into
14630         account.
14631         (window_char_height_to_pixel_height): don't include frame gutters.
14632         (window_char_height): use window_pixel_height.
14633         (window_pixheight): rename from window_pixel_height.
14634         (change_window_height): use it.
14635         (window_pixel_height_to_char_height): don't include frame gutters.
14636         (window_char_width_to_pixel_width): ditto.
14637
14638 2000-02-25  Andy Piper  <andy@xemacs.org>
14639
14640         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14641         if it is.
14642
14643 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14644
14645         * alloc.c (staticpro):
14646         (staticpro_nodump):
14647         (dumpstruct):
14648         (dumpopaque):
14649         (pdump_wire):
14650         (pdump_wire_list):
14651         (compact_string_chars):
14652         (pdump_dump_wired):
14653         Convert:  if (foo) abort();  ==>  assert (! foo);
14654
14655         * eldap.c (Fldap_search_basic):
14656         (Fldap_add):
14657         (Fldap_modify):
14658         (Fldap_delete):
14659         Fix compiler warnings, and possible crashes if (random) return
14660         value were to be used.
14661
14662 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14663
14664         * device-msw.c: Workaround ResetDC failure.
14665
14666         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14667         applying a devmode.
14668
14669         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14670         (mswindows_text_width): Do not start printer page.
14671
14672         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14673
14674         * glyphs-msw.c: Added image methods to msprinter console and
14675         msprinter-specific image instantiation.
14676
14677 2000-02-20  Mike Alexander  <mta@arbortext.com>
14678
14679         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14680         to avoid crashes when selection-sets-clipboard is on
14681         (mswindows_own_selection): ditto
14682
14683 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14684
14685         * glyphs-msw.c:
14686         * redisplay-msw.c (get_frame_dc):
14687         (get_frame_compdc):
14688         * console-msw.h:
14689         * device-msw.c (mswindows_init_device):
14690         (mswindows_delete_device):
14691         (msprinter_init_device):
14692         (msprinter_delete_device):
14693         * frame-msw.c (mswindows_init_frame_1):
14694         (mswindows_delete_frame):
14695         (msprinter_init_frame_3):
14696         (msprinter_delete_frame): Move compatible DC to device object from
14697         frame object, for both mswindows and msprinter. Only one at a time
14698         is needed, it is a real waste to have one per frame!
14699
14700 2000-02-23  Andy Piper  <andy@xemacs.org>
14701
14702         * glyphs.c: add dynamic width and height elements.
14703         (image_instance_equal): ditto.
14704
14705         * glyphs-widget.c (widget_query_geometry): calculate width and
14706         height dynamically if required.
14707         (initialize_widget_image_instance): initialize dynamic dimensions.
14708         (widget_instantiate): pick-up dynamic dimensions.
14709
14710         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14711         dynamic determination. Add appropriate macros.
14712
14713         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14714         dimensions safe.
14715         (WINDOW_GUTTER_SIZE): ditto.
14716         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14717
14718         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14719         inline.
14720         (get_frame_dc): ditto.
14721
14722         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14723         here.
14724
14725 2000-02-23  Martin Buchholz <martin@xemacs.org>
14726
14727         * XEmacs 21.2.31 is released.
14728
14729 2000-02-22  Ben Wing <ben@xemacs.org>
14730
14731         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14732
14733 2000-02-22  Andy Piper  <andy@xemacs.org>
14734
14735         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14736
14737 2000-02-21  Mike Sperber <mike@xemacs.org>
14738
14739         * .dbxrc:
14740         * .gdbinit:
14741         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14742         variables.
14743
14744 2000-02-21  Mike Sperber <mike@xemacs.org>
14745
14746         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14747
14748 2000-02-21  Martin Buchholz <martin@xemacs.org>
14749
14750         * XEmacs 21.2.30 is released.
14751
14752 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14753
14754         Performance hacking.
14755         * *.c (syms_of_*):
14756         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14757         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14758         * emacs.c (main_1):
14759         * lisp.h (DEFUN):
14760         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14761         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14762         * symeval.h (DEFVAR_SYMVAL_FWD):
14763         * symbols.c (guts_of_unbound_marker):
14764         Make all c_readonly objects also lisp_readonly and marked for life.
14765         * lrecord.h (struct lrecord_implementation):
14766         Document flags better.
14767         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14768         * lrecord.h (DECLARE_LRECORD):
14769         * lrecord.h (XSETRECORD):
14770         * lrecord.h (RECORDP):
14771         * lrecord.h (RECORD_TYPEP):
14772         * lrecord.h (RECORD_MARKER): New.
14773         * lrecord.h (error_check_*):
14774         * lrecord.h (CONCHECK_NONRECORD):
14775         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14776         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14777         * lrecord.h (set_lheader_implementation):
14778         * lrecord.h (enum lrecord_type): New.
14779         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14780         * alloc.c (disksave_object_finalization_1):
14781         * alloc.c (mark_object):
14782         * alloc.c (lrecord_type_index):
14783         * alloc.c (tick_lcrecord_stats):
14784         * alloc.c (Fgarbage_collect):
14785         * alloc.c (init_alloc_once_early):
14786         * alloc.c (pdump_load):
14787         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14788         * alloc.c (lrecord_type_index): Delete.
14789         Make lisp object type indexes be constant.
14790           Makes (byte-compile) 5% faster.
14791         Put all marker functions into their own array.
14792           Makes (garbage-collect) 5% faster.
14793         Optimize SYMBOL_VALUE_MAGIC_P.
14794           Makes (byte-compile) 2-3% faster.
14795         * config.h.in (gc_checking_assert): New.
14796         * alloc.c: Use gc_checking_assert().
14797         * .dbxrc: Make compatible with new object type implementation.
14798         * .gdbinit: Make compatible with new object type implementation.
14799         * alloc.c: Delete all symbols defined only for debugging, such as
14800         Lisp_Type_Vector and lrecord_charset.
14801
14802 2000-02-21  Andy Piper  <andy@xemacs.org>
14803
14804         * gui-msw.c (Fmswindows_shell_execute): fix file location
14805         problems.
14806
14807         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14808         unshowing so that set_window_buffer doesn't undo
14809         kill_buffer_hook's hard work.
14810
14811         * glyphs-widget.c (tab_control_query_geometry): don't count the
14812         first item when calculating geometry.
14813
14814         * glyphs.c (map_subwindow): remove redundant code.
14815         (update_frame_subwindows): be more circumspect about when to
14816         update subwindows.
14817
14818         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14819         when items haven't changed. Update faces if faces have changed as
14820         well as just the widget face.
14821         (x_tab_control_update): Update faces if faces have changed as well
14822         as just the widget face.
14823
14824 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14825
14826         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14827         registration.
14828         (build_syscolor_string): Use mswindows_color_to_string to try to
14829         get a named color.
14830         (mswindows_device_system_metrics): Reverse the foreground and
14831         background colors so that they match the documentation.
14832
14833         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14834         they match the default Windows palette.
14835         (mswindows_color_to_string): New function.
14836
14837 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14838
14839         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14840
14841 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14842
14843         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14844         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14845
14846         * symbols.c (init_symbols_once_early): Removed obsolete
14847         DATA_SEG_BITS related kludge.
14848         (defvar_magic): Ditto.
14849
14850         * malloc.c: Removed obsolete DATA_SEG_BITS
14851         * ralloc.c: Ditto.
14852         * mem-limits.h: Ditto.
14853
14854         * Makefile.in.in: Removed obsolete HAVE_SHM
14855         * emacs.c: Ditto.
14856
14857 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14858
14859         *  device-msw.c (mswindows_delete_device): Free DDE string
14860         handles.
14861
14862 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14863
14864         * keymap.c (get_keyelt):
14865         * unexnt.c (unexec):
14866         * vm-limit.c (memory_warnings):
14867         * ntheap.c (recreate_heap):
14868         * ntheap.h (UNINIT_PTR):
14869         * select-msw.c (Fmswindows_get_clipboard):
14870         (Fmswindows_set_clipboard):
14871         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14872         * objects-msw.c:
14873         * menubar-msw.c (displayable_menu_item):
14874         * glyphs-msw.c:
14875         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14876         * sysdep.c (sys_subshell):
14877         * process-nt.c (nt_create_process):
14878         * nt.c (normalize_filename):
14879         (dostounix_filename):
14880         (unixtodos_filename):
14881         * ntproc.c (win32_executable_type):
14882         * ntplay.c (play_sound_data_1):
14883         (play_sound_file):
14884         * editfns.c (get_home_directory):
14885         * event-msw.c (struct winsock_stream):
14886         (mswindows_dde_callback):
14887         * device-msw.c (msprinter_init_device):
14888         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14889
14890         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14891         mswindows_clear_toolbar were swapped!
14892
14893         * objects-msw.c:(colormap_t):
14894         (fontmap_t):
14895         * emacs.c (struct standard_args): Fixed const jumble.
14896
14897         * glyphs-widget.c (update_widget): Fixed comparison notation.
14898
14899         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14900
14901         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14902         __declspec(noreturn) syntax.
14903
14904 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14905
14906         * eldap.c (Fldap_open):
14907         (Fldap_search_basic):
14908         (Fldap_add):
14909         (Fldap_modify):
14910         Use new coding system conversion macros.
14911
14912 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14913
14914         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14915
14916 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14917
14918         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14919         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14920
14921         * eldap.c (Qadd, Qreplace): New constant symbols
14922         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14923         interruptions by XEmacs signals
14924         Remove unnecessary calls to slow_down_interrupts and
14925         speed_up_interrupts
14926         (Fldap_search_basic): Renamed from Fldap_search_internal
14927         Added new optional parameter VERBOSE that triggers the
14928         display of progress messages
14929         Remove unnecessary calls to slow_down_interrupts and
14930         speed_up_interrupts
14931         LDAP result code analysis rewritten
14932         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14933         (syms_of_eldap): Define the new symbols and functions
14934
14935
14936 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14937
14938         * realpath.c: Determine PATH_MAX maximally portably.
14939
14940         * insdel.c (bytecount_to_charcount): Optimize.
14941         The function used to be optimized for entirely ASCII sequences.
14942         Now it is optimized for successive characters from the same
14943         charset.  This also wins big for _mostly_ ASCII sequences.
14944
14945         * fileio.c (Ffile_truename): convert return from realpath() using
14946         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14947         - Rewrite GCPROing slightly.
14948
14949         * sysdep.c (sys_open): Do filename conversion, like all other
14950         sys_* functions.  Fixes bug:
14951         (let ((file-name-coding-system 'iso-8859-2))
14952            (write-region x y latin2-name))
14953         ==> writes filename using internal encoding.
14954
14955 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14956
14957         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14958         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14959         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14960         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14961         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14962         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14963         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14964         (CONST_IF_NOT_DEBUG): Delete.
14965         * alloc.c (this_one_is_unmarkable): Delete.
14966         (mark_object): Don't check for this_one_is_unmarkable. Use the
14967         c_readonly flag instead.
14968         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14969
14970 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14971
14972         * event-msw.c (mswindows_drain_windows_queue):
14973         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14974         away redundant repaint events.
14975
14976 2000-02-17  Andy Piper  <andy@xemacs.org>
14977
14978         * redisplay.h: declare mark_redisplay_structs.
14979
14980         * redisplay.c (redisplay_window):
14981         (redisplay_frame): don't check subwindows_state_changed.
14982         (mark_redisplay): mark gutters here.
14983
14984         * glyphs.c: (instantiate_image_instantiator): always layout if we
14985         haven't done so already.
14986         (allocate_image_instance): don't mark as dirty.
14987         (update_subwindow): bind inhibit_quit.
14988
14989         * gutter.c (mark_gutters): new function.
14990
14991         * glyphs-x.c (x_update_widget): Always resize to get round a
14992         widget bug.
14993
14994         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14995         breaking absolutely everything.
14996
14997         * gutter.h: declare mark_gutters.
14998
14999 2000-02-16  Martin Buchholz <martin@xemacs.org>
15000
15001         * XEmacs 21.2.29 is released.
15002
15003 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15004
15005         * fns.c (size_bit_vector): Fix computation of the size.
15006
15007 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15008
15009         * *.[ch]: Change CONST to const globally.
15010         find -name '*.[ch]' | \
15011         xargs global-replace \
15012         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15013         - Remove vestigial references to CONST_IS_LOSING
15014
15015 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15016
15017         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15018         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15019         events instead of dispatching them directly.
15020         (mswindows_handle_paint): New function to do repainting.
15021         (mswindows_wnd_proc):
15022         (emacs_mswindows_handle_magic_event): Call above function.
15023
15024 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15025
15026         * objects-msw.c (mswindows_create_font_variant): Return the new
15027         font handle.
15028         (initialize_font_instance): Get font metrics from the underlined
15029         variant of the font to cope with the case where the underlined
15030         font has a bigger descent.
15031
15032 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15033
15034         * gui.c (gui_item_accelerator): Return the first underlined
15035         character in item name.
15036
15037 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15038
15039         * lisp.h: Added Qprinter.
15040
15041         * general.c (syms_of_general): Initialized it.
15042
15043         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15044         (get_frame_dc):
15045         (get_frame_compdc): Made inline.
15046
15047         * console.h (struct console_methods): Added eject_page method.
15048
15049         * frame.h: Added FRAME_DISPLAY_P and friends.
15050         Aligned backslahes in many macros in more readable fashion.
15051         Added page_number to struct frame, and an accessor macro
15052         for it.
15053
15054         * defice.h: Added DEVICE_DISPLAY_P and friends.
15055
15056         * device.c (Fdevice_printer_p): Used these.
15057
15058         * frame.c (allocate_frame_core): Initialize page number.
15059         (Fprint_job_page_number):
15060         (Fprint_job_eject_page): Implemented.
15061
15062         * frame-msw.c (msprinter_eject_page): Added method.
15063         (msprinter_start_page): Added.
15064
15065         * window.c (Fwindow_truncated_p): Fixed docstring.
15066         (Fwindow_last_line_visible_height): Implemented.
15067
15068 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15069
15070         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15071
15072 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15073
15074         * syntax.c (scan_words): Always advance at least one character.
15075
15076 2000-02-13  Andy Piper  <andy@xemacs.org>
15077
15078         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15079         to make sure the glyph is in the cachels.
15080
15081         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15082         global image instance flag.
15083         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15084         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15085
15086         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15087         (Fset_image_instance_property): mark layout as changed.
15088         (invalidate_glyph_geometry_maybe): mark layout as changed.
15089         (glyph_width): use new NEEDS_LAYOUT macro.
15090         (glyph_ascent): ditto.
15091         (glyph_descent): ditto.
15092         (glyph_height): ditto.
15093         (image_instance_layout): mark layout as clean after laying out.
15094         (update_subwindow): don't mark layout as clean here.
15095
15096         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15097         should no longer be needed.
15098
15099         * glyphs-x.c (x_update_widget): sanitize asserts.
15100         (x_finalize_image_instance): sanitize assignment to widgets.
15101
15102         * glyphs-widget.c (widget_instantiate): don't need to clear the
15103         layout flag here.
15104
15105 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15106
15107         * sysdep.c (getcwd): Use standard prototype.
15108         * sysdep.h (getcwd): Use standard prototype.
15109
15110         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15111         (sequence, start, end).
15112         Remove redundant type checking.
15113         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15114         view of `caller-protects') to avoid a crash where the real fix was
15115         found elsewhere.
15116
15117 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15118
15119         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15120
15121         * s/sol2.h: Remove feature macro initialization.
15122
15123         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15124         (vector_hash): New.  Code from internal_hash.
15125         * lrecord.h:
15126         Fix up allocation subsystem comments.
15127
15128         * config.h.in: Add __EXTENSIONS__ for Solaris.
15129
15130         * systime.h (EMACS_GETTIMEOFDAY): New.
15131         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15132         Remove Solaris-specific code.
15133         Use void* for the (ignored) second arg for gettimeofday().
15134
15135         * elhash.c (hash_table_hash): Implement it, finally.
15136         * elhash.c:  Use hashcode_t.
15137
15138         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15139         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15140
15141         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15142         * fns.c (size_bit_vector):
15143         * alloc.c (size_vector):
15144         (make_vector_internal):
15145         (make_bit_vector_internal):
15146         (sweep_bit_vectors_1):
15147         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15148
15149 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15150
15151         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15152         Include strings.h to avoid warnings for bzero and strcasecmp.
15153
15154 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15155
15156         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15157         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15158
15159         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15160         sequence.
15161
15162 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15163
15164         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15165         use a value field instead.
15166         (symbol_value_forward_forward): Use value field.
15167         (DEFVAR_SYMVAL_FWD): Use value field.
15168         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15169         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15170         (DEFVAR_CONST_INT): Ditto.
15171         (DEFVAR_BOOL): Ditto.
15172         (DEFVAR_CONST_BOOL): Ditto.
15173         (DEFVAR_INT_MAGIC): Ditto.
15174         (DEFVAR_BOOL_MAGIC): Ditto.
15175
15176         * symbols.c (guts_of_unbound_marker): Use value field.
15177         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15178         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15179
15180         * lisp.h: Declare dumpopaque and noninteractive1.
15181
15182         * alloc.c (dumpopaque): Added.
15183         (pdump_dump_opaquevec): Added.
15184         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15185         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15186         noninteractive.
15187
15188 2000-02-10  Andy Piper  <andy@xemacs.org>
15189
15190         * glyphs.c (image_instance_layout): if the size changes, mark it
15191         as such.
15192
15193         * redisplay-output.c (redisplay_output_layout): Update the
15194         subwindow here.
15195         (redisplay_output_subwindow): ditto.
15196
15197         * glyphs.c (update_subwindow): make sure we reset flags for
15198         layouts as well as everything else.
15199
15200         * glyphs-widget.c (layout_layout): don't need to set the instances
15201         dimensions here.
15202
15203 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15204
15205         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15206         not HAVE_DLOPEN, which is a lower-level thing.
15207
15208         * .cvsignore: Ignore gmon.out
15209
15210 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15211
15212         * .cvsignore: Ignore portable dumper xemacs.dmp file
15213
15214 2000-02-09  Andy Piper  <andy@xemacs.org>
15215
15216         * redisplay-output.c (redisplay_output_layout): be more clever
15217         about when we output based on the changed flags.
15218
15219         * glyphs.h (struct image_instantiator_methods): add update_method.
15220         (struct Lisp_Image_Instance): add changed flags. Declare new
15221         macros for manipulating them.
15222
15223         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15224         (image_instance_parent_glyph): find an image_instance's parent
15225         glyph or image_instance.
15226         (image_instance_layout): mark the size as changed.
15227         (set_image_instance_dirty_p): new function. mark an image
15228         instance, plus all of its parents, as dirty.
15229         (Fset_image_instance_property): use it.
15230         (Fglyph_animated_timeout_handler): use it.
15231         (update_subwindow): call update_widget and device methods for
15232         update_subwindow. Mark all changed flags as clean.
15233         (Fresize_subwindow): mark size as changed.
15234
15235         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15236         failures.
15237         (x_update_subwindow): only resize subwindows here.
15238         (x_update_widget): new function. Update all changed properties of
15239         a widget.
15240         (x_resize_subwindow): deleted.
15241         (x_widget_set_property): deleted.
15242         (x_progress_gauge_set_property): deleted.
15243         (x_progress_gauge_update): new function. Implement recorded
15244         changes.
15245         (x_tab_control_update): ditto.
15246         (x_tab_control_set_property): deleted.
15247         (console_type_create_glyphs_x): declare new functions.
15248         (image_instantiator_format_create_glyphs_x): ditto.
15249
15250         * glyphs-widget.c (widget_set_property): mark text changed.
15251         (update_widget): new function. Update properties of a widget.
15252         (widget_instantiate): for layouts make sure we set their
15253         children's parent correctly.
15254         (tab_control_set_property): new function. Record changes that will
15255         take place under redisplay's control.
15256         (progress_gauge_set_property): ditto.
15257         (image_instantiator_progress_guage): declare new functions.
15258         (image_instantiator_tab_control): ditto.
15259
15260         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15261         now.
15262         (mswindows_update_widget): new function. Update all properties on
15263         a widget that have changed.
15264         (mswindows_button_update): new function. Update a button's set
15265         state.
15266         (mswindows_tab_control_update): new function. Update the items in
15267         a tab.
15268         (mswindows_tab_control_set_property): deleted.
15269         (mswindows_progress_gauge_update): new function. Update the
15270         progress gauge's progress.
15271         (mswindows_widget_set_property): deleted. This is all done
15272         asynchronously now.
15273         (mswindows_progress_gauge_set_property): ditto.
15274         (console_type_create_glyphs_mswindows): declare new methods.
15275         (image_instantiator_format_create_glyphs_mswindows): ditto.
15276
15277         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15278         (msprinter_set_frame_properties): ditto.
15279
15280         * console.h (struct console_methods): Add update_widget_method.
15281
15282 2000-02-09  Andy Piper  <andy@xemacs.org>
15283
15284         * gui-msw.c (Fmswindows_shell_execute): Make
15285         mswindows-shell-execute industrial strength.
15286
15287 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15288
15289         * lrecord.h: Make macro argument `props' match member function `plist'.
15290         * fns.c (Fget):
15291         * fns.c (Fput):
15292         * fns.c (Fremprop):
15293         * fns.c (Fobject_plist):
15294         * alloc.c:
15295         * symbols.c:
15296         Object property list frobbing cleanup.
15297         - Allow any lisp object (compared with `eq'), not just symbols, as
15298           keys in object plists.
15299         - Move symbol plist frobbing into symbols.c, where it belongs.
15300         - Move string plist frobbing into alloc.c, where it belongs.
15301         - Everything's an lrecord now, so no need to test for symbolp, etc.
15302         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15303
15304         * extents.c: Reorder code to remove declarations.
15305
15306         * frame.h (store_in_alist): Remove useless declaration.
15307
15308 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15309
15310         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15311         * config.h.in: Add HAVE_XCONVERTCASE.
15312
15313 2000-02-07  Andy Piper  <andy@xemacs.org>
15314
15315         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15316         it breaks many things.
15317
15318 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15319
15320         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15321         actually can start a common comment type.
15322         * src/syntax.h (SYNTAX_END_P): ditto for end.
15323
15324 2000-02-07  Martin Buchholz <martin@xemacs.org>
15325
15326         * XEmacs 21.2.28 is released.
15327
15328 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15329
15330         * event-Xt.c (x_keysym_to_character): New.
15331         (maybe_define_x_key_as_self_inserting_character): New.
15332         (x_has_keysym): New.
15333         Auto-define all keys on the keyboard as self-insert-key.
15334
15335 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15336
15337         * menubar.c (vars_of_menubar): A small code simplification.
15338
15339         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15340
15341         * ExternalShell.c:
15342         * ExternalClient.c:
15343         * EmacsShell-sub.c:
15344         * EmacsManager.c:
15345         * EmacsFrame.c:
15346         Use consistent style for specifying X resources.
15347
15348         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15349         This makes (dontusethis-set-symbol-value-handler) actually usable.
15350
15351         * lrecord.h (lrecord_decription_type):
15352         * alloc.c (pdump_register_sub):
15353         (pdump_dump_data):
15354         (pdump_reloc_one):
15355         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15356         Comply with XEmacs coding style.
15357         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15358         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15359
15360         * keymap.c (Faccessible_keymaps):
15361         Make (accessible-keymaps map "\C-h") do the Right Thing.
15362         Make (accessible-keymaps map []) do the Right Thing.
15363         Make (accessible-keymaps map "") do the Right Thing.
15364         (check_keymap_definition_loop): New function.
15365         (keymap_store_internal): Keep luser from shooting self in foot,
15366           via (define-key ctl-x-4-map "p" global-map).
15367         Remove fullness slot from struct Lisp_Keymap, since hash tables
15368         are now reliable.
15369         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15370
15371 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15372
15373         * redisplay.c (init_redisplay): Fix small memory leak.
15374         * elhash.h:
15375         * elhash.c (pdump_reorganize_hash_table):
15376         Rename from reorganize_hash_table. Change prototype.
15377         Reuse the original memory for hentries.  Save 100k.
15378         * alloc.c (PDUMP_READ): new macro.
15379         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15380         * alloc.c: No need to #ifndef before #undef.
15381
15382         * print.c: Allow debug_print() to print readably by modifying
15383         debug_print_readably.  Use consistent variable names.
15384
15385         * .dbxrc: Try to get things to work even if stopped in a function
15386         without source available by explicitly specifying source files.
15387 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15388
15389         * unexnt.c (_start): Removed bogus code which caused loading heap
15390         from differrent executable file.
15391         Removed bogus assignment to _fmode, which caused inconsistencies.
15392
15393 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15394
15395         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15396         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15397         Do not preliminary `#define signal sigset'.
15398
15399         * systime.h: Do not prototype environ on windows nt and cygwin,
15400         this conflicts with system header.
15401
15402         * syssignal.h: Use correct define for WINDOWSNT
15403
15404         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15405         with system header.
15406
15407         * sysdep.c (near start of file): Fixed commentary and rearranged
15408         ifdefs in readable order.
15409         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15410         (start_of_text):
15411         (end_of_text):
15412         (end_of_data): Do not compile in if using PDUMP.
15413
15414         * symsinit.h: Prototyped vars_of_nt().
15415
15416         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15417         (find_child_console): Use it.
15418         (sys_kill): Use it.
15419
15420         * ntheap.h: Do not extern os_subtype.
15421
15422         * ntheap.c (cache_system_info): Do not cache unneeded:
15423         nt_major_version, nt_minor_version and os_subtype.
15424         (recreate_heap): Do not compile in when PDUMPing.
15425
15426         * nt.c (geteuid and friends): Use the new varibale
15427         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15428         (init_user_info): Removed the above mentioned hackery.
15429         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15430         stat has been fixed in the C runtime.
15431         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15432
15433         * file-coding.c (struct file_coding_dump): Do not define
15434         ucs_to_mule_table in the struct if not MULE.
15435         (struct struct lrecord_description fcd_description_1): Do not dump
15436         the above.
15437
15438         * emacs.c (main_1): Call vars_of_nt().
15439         (right before Fdump_emacs_data): Don't need lastfile if using both
15440         portabe dumper and system malloc.
15441
15442         * alloc.c (Fmemory_limit): Conditionalized out.
15443         (pdump): Use OPEN_BINARY for the portable dump file.
15444         (pdump_load): Ditto.
15445
15446 2000-02-02  Mike Alexander  <mta@arbortext.com>
15447
15448         * nt.c (convert_time): Set tm_isdst before calling mktime and
15449         avoid calling it at all if the compiler supports 64 bit integers.
15450         Also initialize utc_base_ft before using it.
15451
15452 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15453
15454         * frame.c (change_frame_size_1): Take f->internal_border_width
15455         into consideration when calculating the width of the frame.
15456
15457 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15458
15459         * window.c (frame_min_height):
15460         (frame_size_valid_p):
15461         (frame_pixsize_valid_p): Added.
15462         (check_frame_size): Generalized.
15463
15464         * window.h: Prototyped the above.
15465
15466         * lisp.h:
15467         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15468         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15469         Deleted Vwin32_* and Vbinary_process_* unused variables.
15470
15471         * device-msw.c (msprinter_init_device): Do not get printer font
15472         list; Added DEVMODE functions.
15473
15474         * frame-msw.c: Added lots of printer code.
15475
15476         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15477         general.c.
15478
15479         * console-msw.h: Added more msprinter device private slots.
15480
15481 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15482
15483         * event-msw.c (key_needs_default_processing_p): Added.
15484         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15485
15486 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15487
15488         * glyphs.c (image_instance_layout): Mark image instance as clean
15489         after layout.
15490         (glyph_dirty_p): Removed redundant function.
15491         (invalidate_glyph_geometry_maybe): Added.
15492         (update_glyph_cachel_data): Call it.
15493
15494         * glyphs.h: Prototyped it.
15495
15496         * redisplay.c (add_glyph_rune): Call it.
15497         (redisplay_window): Reset glyphs cachels when frame faces have
15498         changed, thus forcing recomputation of built-in border glyphs.
15499
15500 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15501
15502         * Makefile.in.in: Make portable dumper and purify play well together.
15503         Add imperfect, but better than nothing, support for pdump.
15504         Remove xemacs.dmp when temacs is re-generated.
15505         Don't ignore errors when dumping xemacs.
15506
15507         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15508
15509 2000-01-28  Andy Piper  <andy@xemacs.org>
15510
15511         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15512         (setup_normal_frame): ditto.
15513         (setup_frame_without_minibuffer): ditto.
15514         (setup_minibuffer_frame): ditto.
15515         (delete_frame_internal): ditto.
15516         (Fmake_frame_invisible): ditto.
15517         (Ficonify_frame): ditto.
15518
15519         * window.h: change Fset_window_buffer signature.
15520
15521         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15522         (Fset_window_buffer): allow recording of buffer if the window is
15523         the selected window.
15524         (window_loop): Use new Fset_window signature.
15525
15526 2000-01-23  Daniel Pittman  <daniel@danann.net>
15527
15528         * config.h.in: Added template for `HAVE_ATHENA_3D'
15529
15530 2000-01-29  Andy Piper  <andy@xemacs.org>
15531
15532         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15533
15534         * gutter.c (output_gutter): Don't output if the window isn't live.
15535
15536 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15537
15538         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15539         of 01/12/00: Moved SetFocus back here where it belongs.
15540
15541 2000-01-23  Andy Piper  <andy@xemacs.org>
15542
15543         * s/cygwin32.h: declare printer things.
15544
15545 2000-01-26  Andy Piper  <andy@xemacs.org>
15546
15547         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15548         Alexander.
15549
15550 2000-01-24  Andy Piper  <andy@xemacs.org>
15551
15552         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15553         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15554
15555         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15556
15557         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15558
15559         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15560
15561         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15562         (mswindows_output_display_block): Avoid local shadows.
15563
15564         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15565         (mswindows_enqueue_mouse_button_event): ditto.
15566         (mswindows_handle_gui_wm_command): remove declaration.
15567
15568         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15569         warnings.
15570
15571         * console-msw.h: Avoid shadows.
15572         (mswindows_get_toolbar_button_text):
15573         (emacs_mswindows_create_stream_pair):
15574         (emacs_mswindows_delete_stream_pair):
15575         (mswindows_handle_toolbar_wm_command): declare.
15576
15577         * device-msw.c (build_syscolor_string): Avoid shadows.
15578
15579 2000-01-23  Andy Piper  <andy@xemacs.org>
15580
15581         * glyphs-widget.c (widget_instantiate): reverse the items for
15582         layouts so that children are in the expected order.
15583
15584 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15585
15586         * ralloc.c: safe_bcopy ==> memmove
15587         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15588         * s/msdos.h: Remove BCOPY macros.
15589         * insdel.c (gap_right): Remove BCOPY conditional code.
15590         * insdel.c (gap_left): Remove BCOPY conditional code.
15591         XEmacs demands a working ANSI C compiler - hence memmove.
15592
15593         * regex.c (regex_compile): Remove accidental use of trigraphs.
15594
15595 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15596
15597         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15598         event timestamp.
15599
15600 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15601
15602         * event-msw.c (mswindows_drain_windows_queue): Added the
15603         parameter.
15604         (mswindows_need_event): Commented the call to
15605         mswindows_drain_windows_queue().
15606         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15607         only.
15608
15609         * console-msw.h: Moved a few function prototypes here from
15610         event-msw.c.
15611
15612         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15613         parameter from unsigned short to unsigned long.
15614         (Fmswindows_shell_execute): Added return value.
15615
15616 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15617
15618         * sysdep.c (init_system_name):
15619           process-unix.c (unix_canonicalized_host_name):
15620         Don't call freeaddrinfo() if getaddrinfo() fails.
15621
15622         * process-unix.c (unix_open_unix_network_stream):
15623         Moved the code to get a port # into address loop.
15624
15625 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15626
15627         * buffer.c (reinit_vars_of_buffer):
15628         The right place to initialize conversion_in_dynarr and
15629         conversion_out_dynarr.
15630
15631         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15632
15633         * process-unix.c (unix_canonicalize_host_name): Muleize.
15634         (unix_open_network_stream): Muleize.
15635
15636         * buffer.h: Fix up prototypes for ralloc.c functions.
15637
15638 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15639         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15640         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15641                 instead of gethostbyname()
15642         * process-unix.c: In unix_canonicalize_host_name() and
15643                 unix_open_network_stream(), add code to use getaddrinfo()
15644                 instead of gethostbyname().
15645
15646 2000-01-27  Daniel Pittman <daniel@danann.net>
15647
15648         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15649         libs when built with flat Athena.
15650
15651 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15652
15653         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15654         Use coding standards for function prototypes.
15655
15656 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15657
15658         * dialog-msw.c (push_lisp_string_as_unicode):
15659         * doc.c (unparesseuxify_doc_string):
15660         * dired.c (Fuser_name_completion_1):
15661         * dired.c (Fuser_name_all_completions):
15662         * dired.c (free_user_cache):
15663         * dired.c (user_name_completion):
15664         * console-x.c (get_display_arg_connection):
15665         * minibuf.c (clear_echo_area_internal):
15666         * minibuf.c (echo_area_append):
15667         * eldap.c (Fldap_open):
15668         * eldap.c (Fldap_search_internal):
15669         * frame-x.c (x_set_frame_text_value):
15670         * frame-x.c (x_set_frame_properties):
15671         * frame-x.c (x_create_widgets):
15672         * redisplay-tty.c (term_get_fkeys_1):
15673         * objects-x.c (x_parse_nearest_color):
15674         * objects-x.c (x_valid_color_name_p):
15675         * objects-x.c (x_initialize_font_instance):
15676         * objects-x.c (x_list_fonts):
15677         * objects-x.c (x_find_charset_font):
15678         * tooltalk.c (Fadd_tooltalk_message_arg):
15679         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15680         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15681         * process-unix.c (unix_create_process):
15682         * ntproc.c (sys_spawnve):
15683         * sound.c (Fplay_sound_file):
15684         * sound.c (Fplay_sound):
15685         * buffer.c (init_initial_directory):
15686         * buffer.c (init_buffer):
15687         * editfns.c (init_editfns):
15688         * editfns.c (Ftemp_directory):
15689         * editfns.c (Fuser_full_name):
15690         * editfns.c (uncache_home_directory):
15691         * editfns.c (get_home_directory):
15692         * editfns.c (Fuser_home_directory):
15693         * editfns.c (Fformat_time_string):
15694         * editfns.c (Fcurrent_time_string):
15695         * gui-x.c (button_item_to_widget_value):
15696         * database.c (Fopen_database):
15697         * event-Xt.c (x_to_emacs_keysym):
15698         * event-Xt.c (x_event_to_emacs_event):
15699         * event-Xt.c (describe_event_window):
15700         * event-msw.c (mswindows_wnd_proc):
15701         * glyphs-eimage.c (jpeg_instantiate):
15702         * glyphs-eimage.c (gif_instantiate):
15703         * glyphs-eimage.c (png_instantiate):
15704         * glyphs-eimage.c (tiff_instantiate):
15705         * glyphs-x.c (xbm_instantiate_1):
15706         * glyphs-x.c (x_xbm_instantiate):
15707         * glyphs-x.c (x_xface_instantiate):
15708         * glyphs-x.c (autodetect_instantiate):
15709         * glyphs-x.c (cursor_font_instantiate):
15710         * glyphs-x.c (x_widget_instantiate):
15711         * glyphs-x.c (x_widget_set_property):
15712         * glyphs-x.c (x_widget_property):
15713         * glyphs-x.c (BUILD_GLYPH_INST):
15714         * print.c (write_string_to_stdio_stream):
15715         * print.c (output_string):
15716         * print.c (Falternate_debugging_output):
15717         * print.c (Fexternal_debugging_output):
15718         * glyphs-msw.c (extract_xpm_color_names):
15719         * glyphs-msw.c (mswindows_xpm_instantiate):
15720         * glyphs-msw.c (bmp_instantiate):
15721         * glyphs-msw.c (resource_name_to_resource):
15722         * glyphs-msw.c (mswindows_resource_instantiate):
15723         * glyphs-msw.c (xbm_instantiate_1):
15724         * glyphs-msw.c (mswindows_xbm_instantiate):
15725         * glyphs-msw.c (mswindows_xface_instantiate):
15726         * glyphs-msw.c (mswindows_widget_instantiate):
15727         * glyphs-msw.c (add_tree_item):
15728         * glyphs-msw.c (add_tab_item):
15729         * glyphs-msw.c (mswindows_combo_box_instantiate):
15730         * glyphs-msw.c (mswindows_widget_property):
15731         * glyphs-msw.c (mswindows_combo_box_property):
15732         * glyphs-msw.c (mswindows_widget_set_property):
15733         * console.c (stuff_buffered_input):
15734         * objects-msw.c (mswindows_initialize_color_instance):
15735         * objects-msw.c (mswindows_valid_color_name_p):
15736         * objects-msw.c (mswindows_list_fonts):
15737         * objects-msw.c (mswindows_font_instance_truename):
15738         * bytecode.c (optimize_compiled_function):
15739         * select-x.c (symbol_to_x_atom):
15740         * select-x.c (x_atom_to_symbol):
15741         * select-x.c (hack_motif_clipboard_selection):
15742         * select-x.c (selection_data_to_lisp_data):
15743         * select-x.c (lisp_data_to_selection_data):
15744         * select-x.c (Fx_get_cutbuffer_internal):
15745         * select-x.c (Fx_store_cutbuffer_internal):
15746         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15747         * buffer.h (TO_INTERNAL_FORMAT): New function.
15748         * emacs.c (make_arg_list_1):
15749         * emacs.c (make_argc_argv):
15750         * emacs.c (main_1):
15751         * emacs.c (Fdump_emacs):
15752         * emacs.c (split_string_by_emchar_1):
15753         * file-coding.h:
15754         * lisp.h:
15755         * lstream.h:
15756         * symsinit.h:
15757         * device-x.c (x_init_device):
15758         * device-x.c (Fx_valid_keysym_name_p):
15759         * device-x.c (Fx_get_font_path):
15760         * device-x.c (Fx_set_font_path):
15761         * glyphs.c (bitmap_to_lisp_data):
15762         * glyphs.c (pixmap_to_lisp_data):
15763         * alloc.c (make_ext_string): Use coding system arguments.  Update
15764         all callers.
15765         * alloc.c (build_string):
15766         * callproc.c (child_setup):
15767         * callproc.c (init_callproc):
15768         * fileio.c (lisp_strerror):
15769         * fileio.c (directory_file_name):
15770         * fileio.c (Fexpand_file_name):
15771         * fileio.c (Ffile_truename):
15772         * fileio.c (Fsysnetunam):
15773         * fileio.c (Fdo_auto_save):
15774         * sysdep.c (sys_readdir):
15775         * tests.c: New file.  Allow adding C tests.
15776         Replace GET_* macros with a more comprehensible and flexible
15777         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15778         Modify all calls.
15779         Any coding system can be used to do format conversion.
15780         Eliminate enum external_data_format.
15781         Eliminate convert_to_external_format.
15782         Eliminate convert_to_internal_format.
15783         Make sure file-name, keyboard, terminal, and ctext are always
15784         defined as coding systems or aliases.  Make
15785         file-name-coding-system, terminal-coding-system, and
15786         keyboard-coding-system magical variables that are equivalent to
15787         defining the corresponding coding system aliases.
15788
15789         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15790         * file-coding.c (Fcoding_system_alias_p): New function.
15791         * file-coding.c (Fcoding_system_aliasee): New function.
15792         * file-coding.c (append_suffix_to_symbol): New function.
15793         * file-coding.c (dangling_coding_system_alias_p): New function.
15794         * file-coding.c (Ffind_coding_system):
15795         * file-coding.c (Fcopy_coding_system):
15796         * file-coding.c (encode_coding_no_conversion):
15797         * file-coding.c (syms_of_file_coding):
15798         * file-coding.c (vars_of_file_coding):
15799         Rewrite coding system alias code.
15800         Allow nested aliases, like symbolic links.
15801         Allow redefinition of coding system aliases.
15802         Prevent existence of dangling coding system aliases.
15803
15804         * dired.c (Fuser_name_completion_1):
15805         * dired.c (Fuser_name_all_completions):
15806         A crash would happen if user did QUIT in the middle of building
15807         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15808
15809         * lisp.h:
15810         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15811
15812         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15813         an unsigned char *.  Update all callers.
15814
15815 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15816
15817         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15818
15819 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15820
15821         * elhash.c (hentry_description): Use more portable definition.
15822         (resize_hash_table): Initialize new hentries using
15823         xnew_array_and_zero, thereby simplifying the code.
15824
15825         * mule-charset.c (make_charset): Make sure entire object is
15826         initialized, to avoid Purify warnings.
15827
15828         * alloc.c (resize_string): Fix unlikely crash with big strings.
15829
15830 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15831
15832         * realpath.c (xrealpath):
15833         Don't call getwd().
15834
15835 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15836
15837         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15838
15839 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15840
15841         * unexelfsgi.c (unexec): Change the way we decide which segment
15842         should be extended.
15843
15844         Assumption that .bss section should be outside the PT_LOADable
15845         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15846         it's present) is inside the 'data' segment. This would fail the
15847         test which was used to find a segment to grow and cover new
15848         heap. Instead of this assumption, I created another one - on IRIX
15849         the segment to grow should start below .bss and it's address
15850         should extent above the end of .bss. Once this segment is
15851         identified, it's grown to accommodate the new heap and new
15852         zero-length .bss section is added at the end of .data2.
15853
15854 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15855
15856         * eval.c (Feval): Wrong number of arguments should use original
15857         function, not the indirect_function version of it.
15858
15859 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15860
15861         * glyphs-x.c (x_button_instantiate): Don't add image if
15862         it is not a pixmap.
15863         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15864         is relative.
15865
15866 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15867
15868         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15869         declaration.
15870         (DEFVAR_INT_MAGIC): Ditto.
15871         (DEFVAR_BOOL_MAGIC): Ditto.
15872         * glyphs.h: Reindent backslash.
15873
15874 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15875
15876         * glyphs-widget.c (layout_query_geometry):
15877         (layout_layout): Use correct types for gheight, gwidth.
15878
15879 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15880
15881         * EmacsManager.c (QueryGeometry): Purified.
15882
15883 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15884
15885         * alloc.c (make_float): Make sure entire object is initialized, to
15886         avoid Purify warnings.
15887         (pdump_register_sub): Remove useless assignment.
15888         (pdump): Use xmalloc, not malloc.
15889         (pdump_load): Use xmalloc, not malloc.
15890
15891 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15892
15893         * callproc.c:
15894         * dired-msw.c:
15895         * fileio.c:
15896         * process-nt.c:
15897         * redisplay-msw.c:
15898         * sysdep.c: Removed redundant #include <windows.h>
15899
15900 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15901
15902         * frame.c (delete_frame_internal): Do not delete device when its
15903         implementation so declares.
15904         (delete_frame_internal): Set device selected frame to nil when
15905         last frame goes away.
15906
15907         * device-msw.c (msprinter_device_system_metrics): Implemented.
15908         (mswindows_device_system_metrics): Added 'device-dpi property.
15909
15910         * device.c: (Fdevice_printer_p): Added.
15911         Added 'offset-workspace device metric.
15912
15913         * console.h (device_metrics): Declared DM_offset_workspace.
15914
15915 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15916
15917         * fileio.c (Ffile_truename): Remove pointless and confusing
15918         initialization of elen.
15919
15920         * glyphs-widget.c: Compiler warning fixes.
15921
15922 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15923
15924         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15925         instead of a Lisp_Object as argument to make it consistent with
15926         the other LIVE_P macros.
15927         (CHECK_LIVE_PROCESS): New macro.
15928
15929         * process.c: Declare Qprocess_live_p.
15930         (Fprocess_live_p): New function.
15931         (create_process): Use PROCESS_LIVE_P.
15932         (read_process_output): Ditto.
15933         (set_process_filter): Ditto.
15934         (Fdelete_process): Ditto.
15935         (kill_buffer_processes): Ditto
15936         (process_send_signal): Use CHECK_LIVE_PROCESS.
15937         (Fprocess_input_coding_system): Check whether process is still
15938         alive (fix PR#1061).
15939         (Fprocess_output_coding_system): Ditto.
15940         (Fprocess_coding_system): Ditto.
15941         (Fset_process_input_coding_system): Ditto.
15942         (Fset_process_output_coding_system): Ditto.
15943
15944 2000-01-23  Andy Piper  <andy@xemacs.org>
15945
15946         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15947         layout and widget.
15948
15949         * glyphs.c (mark_image_instance): take into account changed
15950         image_instance format.
15951         (image_instance_equal): ditto.
15952         (image_instance_hash): ditto.
15953
15954         * glyphs-widget.c (widget_instantiate): Incorporate layout
15955         instantiation here. Delay layout of the layout until later.
15956         (layout_instantiate): deleted.
15957         (layout_query_geometry): new function. get the geometry of a
15958         layout.
15959         (layout_layout): layout a layout dynamically.
15960         (image_instantiator_widget): New function - splitting up
15961         image_instantiator_format_create_glyphs_widget for netwinder
15962         compilation.
15963         (image_instantiator_buttons):
15964         (image_instantiator_edit_fields):
15965         (image_instantiator_combo_box):
15966         (image_instantiator_scrollbar):
15967         (image_instantiator_progress_guage):
15968         (image_instantiator_tree_view):
15969         (image_instantiator_tab_control):
15970         (image_instantiator_labels):
15971         (image_instantiator_layout): ditto.
15972         (image_instantiator_format_create_glyphs_widget): Call preceding
15973         functions.
15974
15975 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15976
15977         * process.c (Fset_process_coding_system):
15978         * device-x.c (Fx_keysym_hash_table):
15979         Docstring fixes.
15980
15981         * lstream.c (Lstream_write): Return documented value, not 0.
15982
15983         * fileio.c (directory_file_name):
15984         (Fsubstitute_in_file_name):
15985         (Fsubstitute_insert_file_contents_internal):
15986         (Fwrite_region_internal):
15987         * emacs.c:
15988         * sysdep.c:
15989         * getloadavg.c:
15990         * systty.h:
15991         Remove vestigial APOLLO-conditional code.
15992
15993 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15994
15995         * getpagesize.h: Add guard macros.
15996         * libsst.h: Add guard macros.
15997         * libst.h: Add guard macros.
15998         * line-number.h: Add guard macros.
15999         * ndir.h: Add guard macros.
16000         * sysfloat.h: Add guard macros.
16001         * sysfile.h: Add guard macros.
16002         * sysproc.h: Add guard macros.
16003         * syswait.h: Add guard macros.
16004         * xintrinsic.h: Add guard macros.
16005         * xintrinsicp.h: Add guard macros.
16006         * xmmanager.h: Add guard macros.
16007         * xmmanagerp.h: Add guard macros.
16008         * xmprimitive.h: Add guard macros.
16009         * xmu.h: Add guard macros.
16010         * gpmevent.h: Add copyright statement. Add guard macros.
16011         * miscplay.h: Add guard macros.
16012         * *.h: Use consistent C-standards-approved guard macro names.
16013
16014         * opaque.c (make_opaque): Switch parameter order.
16015         * opaque.h (make_opaque): Switch parameter order.
16016         Update all callers.
16017         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16018
16019         * config.h.in (type_checking_assert): Added.
16020         (bufpos_checking_assert): Added.
16021
16022 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16023
16024         * alloc.c: Harmless pdump changes.
16025         - Use countof().
16026         - spell alignment correctly.
16027         * sysdep.c: Use countof()
16028
16029 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16030
16031         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16032         initially_selected_for_input() console method, default to 0.
16033         (semi_canonicalize_console_connection): Try to delegate to
16034         canonicalize_console_connection if no such console method.
16035         (canonicalize_console_connection): Vice versa.
16036         (print_console): Do not print nil connection.
16037
16038         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16039         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16040         (XDEVIMPF_FRAMELESS_OK): Added.
16041         (CONSOLE_INHERITS_METHOD): Added.
16042
16043         * console-msw.c (mswindows_canonicalize_console_connection):
16044         Added.
16045         (mswindows_canonicalize_device_connection): Added.
16046
16047         * console-msw.h (struct msprinter_device): Added this struct and
16048         accessor macros.
16049         (mswindows_device): Made fontlist a lisp object.
16050
16051         * device.c (semi_canonicalize_device_connection):  Try to delegate
16052         to canonicalize_device_connection if no such console method.
16053         (canonicalize_device_connection): Vice versa.
16054         (print_device): Do not print nil connection.
16055
16056         * device-msw.c (mswindows_init_device): Call InitCommonControls
16057         when have widgets.
16058         (mswindows_delete_device): Removed fontlist deallocation.
16059         (mswindows_mark_device): Added.
16060
16061         * events.c (event_equal): Added abort() at unreached code.
16062         (event_hash): Ditto.
16063
16064         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16065         fallback tags of Windows devices.
16066
16067         * general.c (syms_of_general): Initialized Qmsprinter.
16068
16069         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16070         of fallback tags of Windows devices.
16071
16072         * lisp.h: Declared Qmsprinter.
16073
16074         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16075         of strings.
16076         (mswindows_list_fonts): Ditto.
16077         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16078         that it can be used by both mswindows and msprinter devices.
16079         (initialize_font_instance): Added.
16080         (mswindows_initialize_font_instance): Use it.
16081         (msprinter_initialize_font_instance): Added.
16082
16083         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16084         and implementation flags check.
16085         (redisplay_without_hooks): Changed the call to the above.
16086         (Fredraw_device): Ditto.
16087         (Fredisplay_device): Ditto.
16088
16089         * redisplay-msw.c (get_frame_dc): Implemented.
16090         (get_frame_compdc): Implemented.
16091         (many functions): Use the two functions above to get device
16092         contexts, ether for a window or a printer.
16093
16094 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16095
16096         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16097         initialization here.
16098         (init_symbols_once_early): Call it.
16099         * emacs.c (main_1): Call it.
16100         * symsinit.h: Declare it.
16101
16102 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16103
16104         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16105         Lisp_Object.
16106         (pdump_backtrace): Ditto.
16107         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16108         (pdump_get_entry): Abort if trying to register a null pointer.
16109         (pdump_dump_data): Cleanup types when relocating.
16110         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16111         (pdump_dump_rtables): Remove bad casts.
16112         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16113         Lisp_Object instead of a EMACS_INT for the hashtable
16114         reorganization.
16115
16116 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16117
16118         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16119
16120         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16121
16122         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16123
16124         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16125
16126 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16127
16128         * faces.h (FACE_STRIKETHRU_P): Added.
16129
16130         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16131         of font variants.
16132
16133         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16134         (mswindows_set_dc_font): New function, aware of font variants,
16135         separated from mswindows_update_dc.
16136
16137         * objects-msw.h (struct mswindows_font_instance_data): Added
16138         definition.
16139
16140         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16141         cached fonts and the data structure.
16142         (mswindows_initialize_font_instance): Added creation of font data
16143         structure.
16144         (mswindows_print_font_instance): Print at least something.
16145         (mswindows_create_font_variant): Implemented.
16146         (mswindows_get_hfont): Implemented.
16147
16148 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16149
16150         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16151         prototyping problem with msvc.
16152
16153         * emacs.c (main_1): added syms_of_gui_mswindows() call
16154
16155         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16156         syms_of_gui_mswindows() function
16157
16158         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16159
16160 2000-01-18  Martin Buchholz <martin@xemacs.org>
16161
16162         * XEmacs 21.2.27 is released.
16163
16164 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16165
16166         * glyphs-eimage.c (struct tiff_error_struct):
16167         (tiff_error_func):
16168         (tiff_warning_func):
16169         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16170
16171         * unexmips.c:
16172         * unexhp9k3.c:
16173         * unexfreebsd.c:
16174         * unexec.c: Remove vestigial Lucid C code.
16175         * unexalpha.c:
16176         * unexaix.c:
16177         * termcap.c:
16178         * libsst.c: Ansify.
16179         Remove declarations of errno and strerror().
16180
16181         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16182
16183         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16184
16185 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16186
16187         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16188         Optimize.
16189
16190 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16191
16192         * md5.c:
16193         * file-coding.c:
16194         * file-coding.h:
16195         Change enum eol_type to eol_type_t.
16196
16197 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16198
16199         * gui.c (get_gui_callback): Check cons before accessing car.
16200
16201 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16202
16203         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16204         (XSETSPECIFIER_TYPE): Ditto.
16205
16206 2000-01-17  Didier Verna  <didier@xemacs.org>
16207
16208         * redisplay.c (generate_fstring_runes): compute string size in
16209         characters, not bytes.
16210
16211 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16212
16213         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16214
16215 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16216
16217         * print.c (print_error_message): Call print_prepare().
16218
16219 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16220
16221         * .dbxrc: Renamed from dbxrc.
16222
16223         * events.c (event_to_character):
16224         Use `assert (foo)' instead of `if (!foo) abort()'
16225
16226         * .gdbinit (xtype): Add documentation.
16227         * .gdbinit (check-temacs): New function.
16228         * .gdbinit (check-xemacs): New function.
16229         * dbxrc (check-xemacs): New function.
16230         * dbxrc (check-xemacs): New function.
16231
16232 2000-01-14  Andy Piper  <andy@xemacs.org>
16233
16234         * glyphs-widget.c (widget_query_geometry): Make sure that we
16235         calculate default dimensions correctly.
16236
16237 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16238
16239         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16240
16241         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16242         pdump_wire'd variable.
16243
16244         * emacs.c: (main_1): Conditionalized calls to
16245         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16246
16247 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16248
16249         * window.c (Fset_window_configuration):
16250         * sysdep.c (_start):
16251         * input-method-motif.c (res):
16252         * event-Xt.c (Xt_process_to_emacs_event):
16253         Simple compiler warning fixes.
16254
16255         * bytecode.c (funcall_compiled_function): Use the original
16256         function symbol on the backtrace list in preference to the
16257         compiled_function object in error messages.
16258
16259 2000-01-13  Andy Piper  <andy@xemacs.org>
16260
16261         * glyphs-x.c (update_widget_face): Make sure we update the widget
16262         background as well as foreground.
16263
16264 2000-01-13  Andy Piper  <andy@xemacs.org>
16265
16266         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16267         fields to subwindow.
16268         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16269         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16270         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16271         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16272
16273         * glyphs-widget.c (check_valid_tab_orientation): new function.
16274         (initialize_widget_image_instance): zero orientation and
16275         justification.
16276         (widget_instantiate): pick up orientation.
16277         (tab_control_query_geometry): return appropriate values for
16278         vertical tabs.
16279
16280         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16281         appropriate creation flags for left, right and bottom tabs.
16282
16283         * s/cygwin32.h: add tab definitions.
16284
16285 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16286
16287         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16288         frame upon hiding a subwindow.
16289         (mswindows_button_instantiate): Changed the push button style to
16290         BS_PUSHBUTTON.
16291         (mswindows_button_instantiate): Removed button BS_NOTIFY
16292         style.
16293         (mswindows_button_instantiate): Removed redundant check for
16294         a disabled gui item.
16295         (mswindows_button_instantiate): Made use of WS_TABSTOP
16296         consistent: "operable" controls (edit, button, tree, scroll) have
16297         this style, "display-only" ones (static, progress gauge) do
16298         not. This style is currently ignored by XEmacs though. Also,
16299         removed the WS_EX_CONTROLPARENT style - it is not for children,
16300         it is for their parents!
16301         (mswindows_edit_field_instantiate): Ditto.
16302         (mswindows_progress_gauge_instantiate): Ditto.
16303         (mswindows_tree_view_instantiate): Ditto.
16304         (mswindows_tab_control_instantiate): Ditto.
16305         (mswindows_scrollbar_instantiate): Ditto.
16306         (mswindows_combo_box_instantiate): Ditto.
16307         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16308         style to the "clip" window.
16309         (mswindows_button_instantiate): Removed compilation warning by
16310         equally typing terms of the ?: operator.
16311
16312 2000-01-12  Didier Verna  <didier@xemacs.org>
16313
16314         * redisplay.c (generate_fstring_runes): new parameter holding the
16315         last modeline-format extent.
16316         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16317         extent, fill the glyph block with it.
16318         (generate_fstring_runes): handle these parameters.
16319         (generate_formatted_string_db): ditto.
16320
16321         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16322         glyphs'extents in the modeline.
16323
16324 1999-01-11  Mike Woolley  <mike@bulsara.com>
16325
16326         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16327         256Mb, as a workaround for the non-starting problem many people
16328         have experienced.
16329
16330 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16331
16332         * console-tty.c (Fset_console_tty_output_coding_system):
16333         Force redrawing tty frame.
16334
16335 2000-01-10  Didier Verna  <didier@xemacs.org>
16336
16337         * redisplay.c (generate_fstring_runes): fix size computation bug.
16338
16339 2000-01-09  William M. Perry <wmperry@aventail.com>
16340
16341         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16342
16343 2000-01-09  Andy Piper  <andy@xemacs.org>
16344
16345         * glyphs-msw.c: index -> i to avoid shadows.
16346         (xbm_create_bitmap_from_data): make static.
16347         (check_valid_string_or_int): deleted.
16348         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16349
16350         * glyphs-x.c (x_update_subwindow): remove unused args.
16351
16352         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16353         back pointer - this is done in allocate_image_instance.
16354         (query_string_font): return Qnil to make the compiler happy.
16355         (unmap_subwindow): set to ~0 to make the compiler happy.
16356         (glyph_query_geometry): comment out until used.
16357         (glyph_layout): ditto.
16358
16359 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16360
16361         * insdel.c (signal_after_change): Remove extraneous unbind_to().