Sync up with r21-4-14-chise-0_21-26-si-vulgar.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Q_vulgar): New variable.
4         (Q_vulgar_of): New variable.
5         (Fput_char_attribute): Convert char-refs in value of
6         `{->|<-}vulgar' to characters and put reverse links.
7         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
8         for `{->|<-}vulgar'.
9         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
10
11 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
12
13         * text-coding.c (decode_add_er_char): Must to quote prefix string
14         as regexp.
15
16 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
17
18         * mule-charset.c (put_char_ccs_code_point): Store characters of
19         =ucs whose code_points >= 0xF0000.
20
21 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
22
23         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
24         CHISE.
25         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
26         CHISE.
27         (complex_vars_of_mule_charset): Add new coded-charset
28         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
29         builtin characters over 0xEFFFF.
30
31         * chartab.c (syms_of_chartab): Don't define symbol
32         `system-char-id' in every case.
33
34         * char-ucs.h (Qsystem_char_id): New extern variable.
35         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
36
37 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
38
39         * text-coding.c (char_encode_utf8): Try to use entity-references
40         for U-000F0000 ...  U-0010FFFF.
41
42 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * text-coding.c (ER_BUF_SIZE): New macro.
45         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
46         `er_buf'.
47         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
48         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
49
50 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
51
52         * chartab.c (find_char_feature_in_family): New function.
53         (Fchar_feature): Use `find_char_feature_in_family' with
54         `->identical', `<-subsumptive' and `<-denotational'.
55
56 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * text-coding.c (char_encode_as_entity_reference): Allow prefix
59         within 8 characters; fix infinite loop.
60
61 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
62
63         * chartab.c (Q_same): New variable.
64         (Q_same_of): New variable.
65         (Fput_char_attribute): Convert char-refs in value of `{->|<-}same'
66         to characters and put reverse links.
67         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
68         for `{->|<-}same'.
69         (syms_of_chartab): Add new symbols `{->|<-}same'.
70
71 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * chartab.c (Q_component): New variable.
74         (Q_component_of): Likewise.
75         (Fput_char_attribute): Convert char-refs in value of
76         `{->|<-}ideographic-component-forms' to characters and put reverse
77         links.
78         (syms_of_chartab): Add new symbols
79         `{->|<-}ideographic-component-forms'.
80
81 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
82
83         * chartab.c (Q_identical): New variable.
84         (Q_identical_from): New variable.
85         (Fchar_feature): Regard `->identical' as a feature to find
86         ancestors.
87         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
88         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
89         for `{->|<-}identical'.
90         (syms_of_chartab): Add new symbols `{->|<-}identical'.
91
92 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
93
94         * char-ucs.h (encode_char_2): New inline function.
95         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
96
97 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * chartab.c (Fput_char_attribute): Convert char-specs to
100         characters in value of `ideographic-structure'.
101         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
102         for `{<-|->}simplified(@...)'.
103         (Fdefine_char): bTry to use predefined character's id.
104
105 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * fns.c (simplify_char_spec): Try to convert builtin chars to
108         defined chars.
109
110 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * chartab.c (Fput_char_attribute): Convert char-refs in value of
113         `<-simplified[^*]*' to characters and put reverse links.
114
115 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * chartab.c (Q_subsumptive): Renamed from Q_unified.
118         (Q_subsumptive_from): Renamed from Q_unified_from.
119         (Fchar_feature): Use `Q_subsumptive_from' instead of
120         `Q_unified_from'.
121         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
122         `Q_unified'.
123         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
124         `<-unified' to `<-subsumptive'.
125
126 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
127
128         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
129         inheritance itself; fix typo; stop recursive search if cyclic
130         inheritance is found.
131
132 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
133
134         * chartab.c (Q_denotational): New variable.
135         (Q_denotational_from): New variable.
136         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
137         (put_char_attribute): New function.
138         (Fput_char_attribute): Use `put_char_attribute'; regard
139         `->denotational' and `<-denotational' as same as `->unified' and
140         `<-unified'.
141         (syms_of_chartab): Add new symbols `->denotational' and
142         `<-denotational'.
143
144 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
145
146         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
147         `Fget_char_attribute'.
148         (Fchar_variants): Likewise.
149         (get_char_table): Likewise.
150         (Fchar_feature): New function.
151         (put_char_composition): Use `Fchar_feature' instead of
152         `Fget_char_attribute'.
153         (Fput_char_attribute): Likewise; don't put the target character
154         into its `->unified' value.
155         (syms_of_chartab): Add new builtin function `char-feature'.
156
157 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
158
159         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
160         `Fget_char_attribute'.
161         (char_encode_utf8): Likewise.
162
163         * chartab.h: Add an EXFUN for `Fchar_feature'.
164
165 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
166
167         * chartab.c (Vnext_defined_char_id): New variable.
168         (Fput_char_attribute): Accept characters in `->unified'.
169         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
170         new characters which are not related with builtin char-id ranges.
171         (vars_of_chartab): Add new variable `next-defined-char-id'.
172
173 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * chartab.c (Q_unified): New variable.
176         (Q_unified_from): New variable.
177         (Fput_char_attribute): Add code for `->unified'.
178         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
179         XEmacs CHISE.
180
181 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * mule-charset.c (decode_ccs_conversion): New function.
184         (decode_defined_char): Use `decode_ccs_conversion'.
185         (decode_builtin_char): Likewise.
186
187 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
188
189         * char-ucs.h: Change some charset-ids of private coded-charsets.
190
191 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
194         (char_encode_as_entity_reference): Likewise.
195         (decode_coding_big5): Modify for `decode_defined_char' and
196         `DECODE_CHAR'.
197         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
198         avoid compiler warning.
199         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
200
201         * mule-charset.c (decode_defined_char): Add new argument
202         `without_inheritance'.
203         (Fdecode_char): Add new optional argument `without_inheritance'.
204         (Fdecode_builtin_char): Modify for `Fdecode_char'.
205
206         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
207         (simplify_char_spec): Likewise.
208
209         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
210         setting.
211
212         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
213         (map_char_table): Likewise.
214         (Fdefine_char): Use `Fdecode_char' without inheritance.
215         (Ffind_char): Modify for `Fdecode_char'.
216
217         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
218
219         * char-ucs.h (decode_defined_char): Add new argument
220         `without_inheritance'.
221         (DECODE_CHAR): Likewise.
222         (MAKE_CHAR): Modify for `DECODE_CHAR'.
223
224 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * chartab.c (Vchise_system_db_directory): New variable.
227         (vars_of_chartab): Add new variable `chise-system-db-directory'.
228
229 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
230
231         * chartab.c: EXFUN `Fmount_char_attribute_table'.
232         (print_chartab_range): Don't define when `UTF2000' is defined.
233         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
234         `CHISE_DS_open'.
235
236 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
239         and optional argument `rehash' is specified, call
240         `open_chise_data_source_maybe' before
241         `chise_ds_foreach_char_feature_name' is called.
242
243 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
244
245         * chartab.c (char_attribute_list_reset_map_func): New function
246         when HAVE_LIBCHISE is defined.
247         (Fchar_attribute_list): Add new optional argument `rehash' when
248         HAVE_LIBCHISE is defined.
249         (open_chise_data_source_maybe): Use "chise-db" instead of
250         "char-db".
251         (char_attribute_system_db_file): Likewise.
252         (Fload_char_attribute_table): Use
253         `chise_feature_foreach_char_with_value' instead of
254         `chise_char_feature_value_iterate'.
255
256 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * chartab.c (Vchise_db_directory): New variable.
259         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
260
261 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
264         instead of HAVE_CHISE to specify using with libchise.
265
266         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
267
268         * chartab.h: Don't use HAVE_CHISE_CLIENT.
269
270         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
271         defined or HAVE_LIBCHISE_LIBCHISE is defined.
272         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
273         is defined.
274         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
275         HAVE_CHISE to specify using with libchise.
276         (syms_of_chartab): Don't define symbol `system-char-id' when
277         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
278
279 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
282         specify CHISE DB support.
283         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
284         of `char_attribute_system_db_file' to check feature DB file.
285
286         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
287         HAVE_CHISE_CLIENT to specify CHISE DB support.
288
289         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
290         specify CHISE DB support.
291         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
292         not defined.
293         (Freset_char_attribute_table): Use `chise_feature_setup_db'
294         instead of `char_attribute_system_db_file' to check feature DB
295         file.
296
297 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
300         `HAVE_CHISE_CLIENT'.
301
302 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
303
304         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
305         (Fsave_charset_mapping_table): Don't use
306         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
307
308         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
309         (HAVE_LIBCHISE): New macro.
310
311         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
312
313         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
314         (Fsave_char_attribute_table): Don't use
315         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
316
317 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
318
319         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
320         defined.
321         (save_uint16_byte_table): Likewise.
322         (save_byte_table): Likewise.
323         (char_table_get_db): Use `chise_ds_load_char_feature_value'
324         instead of `chise_char_load_feature_value'.
325         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
326
327 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
328
329         * chartab.h (struct Lisp_Char_Table): Delete member
330         `feature_table' if CHISE is defined.
331
332         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
333         (Fcopy_char_table): Likewise.
334         (char_table_open_db_maybe): Likewise.
335         (char_table_close_db_maybe): Likewise.
336         (char_table_get_db): Likewise.
337         (Fmount_char_attribute_table): Likewise.
338         (Fload_char_attribute_table): Likewise.
339
340 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * mule-charset.c (load_char_decoding_entry_maybe): Use
343         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
344         `chise_ccs_decode'.
345
346 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
347
348         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
349         instead of `chise_open_data_source'.
350         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
351         `chise_ds_close'.
352
353 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
354
355         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
356         instead of `chise_ds_open_feature_table'.
357         (char_table_close_db_maybe): Don't use `chise_ft_close'.
358
359 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
360
361         * mule-charset.c (Fsave_charset_mapping_table): Use
362         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
363         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
364         `chise_ccs_sync' instead of `chise_ccst_close'.
365         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
366
367         * chartab.c (open_chise_data_source_maybe): Modify for
368         `chise_open_data_source'.
369         (char_table_open_db_maybe): Modify for
370         `chise_ds_open_feature_table'.
371
372 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
373
374         * mule-charset.c (load_char_decoding_entry_maybe): Use
375         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
376         `chise_ccst_close'.
377
378 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
379
380         * mule-charset.c (Fsave_charset_mapping_table): Use
381         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
382         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
383         `chise_dt_put_char' and `chise_dt_close'.
384         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
385         `chise_ccs_decode' and `chise_ccst_close' instead of
386         `chise_ds_open_decoding_table', `chise_dt_get_char' and
387         `chise_dt_close'.
388
389         * chartab.c (char_table_get_db): Use
390         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
391         (load_char_attribute_table_map_func): Modify for
392         `chise_char_feature_value_iterate'.
393         (Fload_char_attribute_table): Use
394         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
395
396 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
397
398         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
399
400 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
401
402         * chartab.c (put_char_table): Modify for inherited coded-charsets
403         in XEmacs CHISE.
404
405 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
406
407         * chartab.c (Fput_char_table_map_function): Fixed.
408         (word_boundary_p): Don't check charset in XEmacs CHISE.
409
410 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
411
412         * mule-charset.c (Fsave_charset_mapping_table): Use
413         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
414         instead of `chise_open_decoding_table'; refer
415         `default_chise_data_source'; use `chise_dt_close' instead of
416         `chise_close_decoding_table'.
417         (load_char_decoding_entry_maybe): Likewise.
418
419         * chartab.c (default_chise_data_source): New variable when `CHISE'
420         is defined.
421         (Fcopy_char_table): `ct->ds' is deleted.
422         (open_chise_data_source_maybe): New function.
423         (Fclose_char_data_source): New function.
424         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
425         use `chise_ds_open_feature_table' instead of
426         `chise_open_feature_table'.
427         (char_table_close_db_maybe): Use `chise_ft_close' instead of
428         `chise_close_feature_table'; `cit->ds' is deleted.
429         (syms_of_chartab): Add new builtin function
430         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
431
432         * chartab.h (default_chise_data_source): New extern variable.
433         (open_chise_data_source_maybe): New prototype.
434         (struct Lisp_Char_Table): Delete `ds'.
435
436 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
437
438         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
439         `CHISE' is defined.
440
441 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
442
443         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
444         not defined; add code for non-libchise setting.
445         (char_table_close_db_maybe): Likewise.
446         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
447         defined.
448         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
449         even if `CHISE' is not defined.
450         (Freset_char_attribute_table): Likewise.
451         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
452         `char_table_close_db_maybe' even if `CHISE' is not defined; use
453         `char_table_get_db'.
454         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
455         `char_table_close_db_maybe' even if `CHISE' is not defined.
456
457 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
458
459         * chartab.c (char_table_open_db_maybe): New function.
460         (char_table_close_db_maybe): New function.
461         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
462         (Freset_char_attribute_table): Likewise.
463         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
464         `char_table_close_db_maybe'.
465         (Fload_char_attribute_table): Likewise.
466
467 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
468
469         * chartab.c: Don't include <chise.h> because it is included in
470         chartab.h.
471         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
472         defined.
473         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
474         `CHISE' is defined.
475         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
476         `CHISE' is defined.
477         (Fclose_char_attribute_table): Close `ct->feature_table' and
478         `ct->ds' when `CHISE' is defined.
479         (Freset_char_attribute_table): Likewise.
480         (load_char_attribute_maybe): Use `cit->ds' and
481         `cit->feature_table' when `CHISE' is defined.
482         (Fload_char_attribute_table): Likewise.
483
484         * chartab.h: Include <chise.h> when `CHISE' is defined.
485         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
486         when `CHISE' is defined.
487
488 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
489
490         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
491         is defined.
492         (char_table_description): Likewise.
493         (Fmake_char_table): Likewise.
494         (Fcopy_char_table): Likewise.
495         (Fmount_char_attribute_table): Likewise.
496         (Fclose_char_attribute_table): Likewise.
497         (Freset_char_attribute_table): Likewise.
498         (load_char_attribute_maybe): Likewise.
499         (Fload_char_attribute_table): Likewise.
500
501         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
502         defined.
503
504 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
505
506         * chartab.c (load_char_attribute_table_map_func): New function
507         when CHISE is defined.
508         (Qload_char_attribute_table_map_function): Don't define when CHISE
509         is defined.
510         (Fload_char_attribute_table_map_function): Likewise.
511         (Fload_char_attribute_table): Use libchise when `CHISE' is
512         defined.
513         (syms_of_chartab): Don't define
514         `load-char-attribute-table-map-function' when CHISE is defined.
515
516 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
517
518         * chartab.c: Include <chise.h> when `CHISE' is defined.
519         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
520
521 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
522
523         * mule-charset.c (charset_code_point): Fix problem when searching
524         in mother CCS fails with `defined_only' mode.
525
526 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
527
528         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
529         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
530         (put_char_composition): Likewise.
531         (Fput_char_attribute): Likewise.
532         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
533
534 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
535
536         * chartab.c (Q_ucs): Deleted.
537         (Fput_char_attribute): Don't refer `->ucs'.
538         (Fdefine_char): Likewise.
539         (Ffind_char): Likewise.
540         (syms_of_chartab): Delete `->ucs'.
541
542 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
543
544         * mule-charset.c (Qmap_cns11643_2): Renamed from
545         `Qchinese_cns11643_2'.
546         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
547         `chinese-cns11643-2'.
548         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
549         `=cns11643-2'.
550
551 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
552
553         * mule-charset.c (Qmap_cns11643_1): Renamed from
554         `Qchinese_cns11643_1'.
555         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
556         `chinese-cns11643-1'.
557         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
558         `=cns11643-1'.
559
560 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
561
562         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
563         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
564         `chinese-gb12345'.
565         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
566         `=gb12345'.
567
568 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
569
570         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
571         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
572         `chinese-gb2312'.
573         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
574         `=gb2312'.
575
576 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
577
578         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
579         (syms_of_mule_charset): Add new symbol `=big5' instead of
580         `chinese-big5'.
581         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
582
583 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
584
585         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
586         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
587         `korean-ksc5601'.
588         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
589         `=ks-x1001'.
590
591 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
592
593         * mule-charset.c (Qmap_jis_x0212): Renamed from
594         `Qjapanese_jisx0212'.
595         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
596         `japanese-jisx0212'.
597         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
598         `=jis-x0212'.
599
600 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
601
602         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
603         `Qjapanese_jisx0208'.
604         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
605         of `japanese-jisx0208'.
606         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
607         `=jis-x0208-1983'.
608
609 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
612         `Qjapanese_jisx0208_1978'.
613         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
614         of `japanese-jisx0208-1978'.
615         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
616         `=jis-x0208-1978'.
617
618 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
619
620         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
621         only for XEmacs CHISE.
622
623 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
624
625         * char-ucs.h: Compact non-ISO-IR charset-ids.
626         (LEADING_BYTE_UCS): Changed to -177.
627         (LEADING_BYTE_CONTROL_1): Changed to -77.
628         (LEADING_BYTE_UCS_BMP): Changed to -176.
629         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
630
631 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
632
633         * mule-charset.c (Qiso_ir): New variable.
634         (Fmake_charset): Recognise new property `iso-ir'.
635         (syms_of_mule_charset): Add new symbol `iso-ir'.
636
637 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
638
639         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
640         n to -n; charset-id of non ISO-IR sets are changed to positive
641         numbers.
642
643 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
644
645         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
646         for &MCS-XXXXXXXX; values.
647
648 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
649
650         * mule.c (Vxemacs_chise_version): Renamed from
651         `Vutf_2000_version'.
652         (vars_of_mule): Add new variable `xemacs-chise-version'; define
653         `utf-2000-version' as an alias for `xemacs-chise-version'.
654
655 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
656
657         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
658         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
659         defined.
660
661         * config.h.in (CHISE): New macro.
662
663 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
664
665         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
666         of `ucs'.
667         (Qmap_ucs): New variable.
668         (syms_of_mule_charset): Add new symbol `=ucs'.
669         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
670
671         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
672         (simplify_char_spec): Likewise.
673
674         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
675
676         * char-ucs.h (Qmap_ucs): New extern variable.
677
678 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
681         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
682         don't define it when UTF2000 is not defined.
683         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
684         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
685         when UTF2000 is not defined.
686         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
687         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
688
689 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
692
693         * mule-charset.c (Vcharset_ucs_gb): Deleted.
694         (Qucs_gb): Deleted.
695         (syms_of_mule_charset): Delete `ucs-gb'.
696         (complex_vars_of_mule_charset): Likewise.
697
698 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
699
700         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
701
702         * mule-charset.c (Vcharset_ucs_cns): Deleted.
703         (Qucs_cns): Deleted.
704         (syms_of_mule_charset): Delete `ucs-cns'.
705         (complex_vars_of_mule_charset): Likewise.
706
707 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
708
709         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
710
711         * mule-charset.c (Vcharset_ucs_jis): Deleted.
712         (Qucs_jis): Deleted.
713         (syms_of_mule_charset): Delete `ucs-jis'.
714         (complex_vars_of_mule_charset): Likewise.
715
716 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
717
718         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
719
720         * mule-charset.c (Vcharset_ucs_ks): Deleted.
721         (Qucs_ks): Deleted.
722         (syms_of_mule_charset): Delete `ucs-ks'.
723         (complex_vars_of_mule_charset): Likewise.
724
725 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
726
727         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
728         (Qideograph_daikanwa_2): Deleted.
729         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
730         (complex_vars_of_mule_charset): Likewise.
731
732         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
733         (LEADING_BYTE_DAIKANWA_1): Deleted.
734         (LEADING_BYTE_DAIKANWA_2): Deleted.
735         (MIN_CHAR_DAIKANWA): Deleted.
736         (MAX_CHAR_DAIKANWA): Deleted.
737
738 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
739
740         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
741         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
742         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
743
744         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
745         (Vcharset_ideograph_daikanwa): Deleted.
746         (Qideograph_hanziku_{1..12}): Deleted.
747         (Qideograph_daikanwa): Deleted.
748         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
749         Vcharset_ideograph_daikanwa.
750         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
751         `ideograph-hanziku-{1..12}'.
752         (complex_vars_of_mule_charset): Likewise.
753
754 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
755
756         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
757
758         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
759         (Qideograph_gt_pj_{1..11}): Deleted.
760         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
761         (complex_vars_of_mule_charset): Likewise.
762
763 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * mule-charset.c (Vcharset_ucs_big5): Deleted.
766         (Vcharset_ideograph_gt): Deleted.
767         (Qucs_big5): Deleted.
768         (Qideograph_gt): Deleted.
769         (syms_of_mule_charset): Delete symbol `ucs-big5' and
770         `ideograph-gt'.
771         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
772         and `ideograph-gt'.
773
774         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
775         (LEADING_BYTE_GT): Deleted.
776         (MIN_CHAR_GT): Deleted.
777         (MAX_CHAR_GT): Deleted.
778
779 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
780
781         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
782
783 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
784
785         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
786         (save_uint16_byte_table): Likewise.
787         (save_byte_table): Likewise; convert values by it.
788         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
789         for `ideographic-structure'.
790         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
791         as the filter for `ideographic-structure'.
792
793 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
794
795         * chartab.c (put_char_composition): New function.
796         (Fput_char_attribute): Use `put_char_composition'; use
797         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
798
799         * fns.c (simplify_char_spec): New function.
800         (char_ref_simplify_spec): New function.
801         (Fchar_refs_simplify_char_specs): New function.
802         (syms_of_fns): Add new builtin function
803         `char-refs-simplify-char-specs'.
804
805 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
806
807         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
808         (Qideograph_cbeta): Deleted.
809         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
810         (complex_vars_of_mule_charset): Likewise.
811
812         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
813         (MIN_CHAR_CBETA): Comment out.
814         (MAX_CHAR_CBETA): Likewise.
815
816 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
817
818         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
819         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
820         CHISE client feature.
821
822 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
823
824         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
825
826 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
827
828         * mule-charset.c (charset_lookup_description_1): Use
829         `NUM_LEADING_BYTES' in UTF-2000.
830
831 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
832
833         * char-ucs.h (GC_CHARSETP): Deleted.
834
835 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
836
837         * char-ucs.h (MAX_CHAR_GT): Updated.
838
839 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
840
841         * text-coding.c: Sync with XEmacs 21.4.10.
842
843 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * mule-charset.c (Vcharset_china3_jef): Deleted.
846         (Qchina3_jef): Deleted.
847         (syms_of_mule_charset): Don't define `china3-jef'.
848         (complex_vars_of_mule_charset): Likewise.
849
850         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
851         (MIN_CHAR_CHINA3_JEF): Comment out.
852         (MAX_CHAR_CHINA3_JEF): Comment out.
853
854 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
855
856         * mule-charset.c (Vcharset_ucs_gb): New variable.
857         (Qucs_gb): New variable.
858         (syms_of_mule_charset): Add new symbol `ucs-gb'.
859         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
860
861         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
862
863 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
864
865         * mule-charset.c (charset_code_point): if a coded-charset has a
866         final-byte, don't inherit the builtin range of the mother CCS.
867
868 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
869
870         * mule-charset.c (charset_code_point): Fix problem about
871         inheritance.
872
873 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
874
875         * mule-charset.c (decode_builtin_char): Reorganized.
876
877 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
878
879         * text-coding.c (char_encode_as_entity_reference): Modify for
880         `charset_code_point'.
881         (char_encode_shift_jis): Likewise.
882         (char_encode_big5): Likewise.
883         (char_encode_utf8): Likewise.
884         (char_encode_iso2022): Likewise.
885
886         * mule-charset.c (charset_code_point): Add new argument
887         `defined_only'.
888         (Fencode_char): Add new optional argument `defined_only'.
889
890         * chartab.c (put_char_table): Modify for `charset_code_point'.
891
892         * char-ucs.h (charset_code_point): Add new argument
893         `defined_only'.
894         (encode_char_1): Modify for `charset_code_point'.
895
896 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
897
898         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
899         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
900
901 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
902
903         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
904         (Qjis_x0208): Likewise.
905         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
906         XCHARSET_FINAL(charset).
907         (charset_code_point): Modify condition for final-byte based
908         builtin-chars.
909         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
910         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
911         in UTF-2000; specify `=jis-x0208' as the mother of
912         `japanese-jisx0208-1978', `japanese-jisx0208' and
913         `japanese-jisx0208-1990' in UTF-2000.
914
915 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
916
917         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
918
919 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
920
921         * text-coding.c (decode_coding_utf16): Support UTF-16.
922         (char_encode_utf16): Fixed.
923
924 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
925
926         * text-coding.c (Qutf16): New variable in MULE.
927         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
928         (Fcoding_system_type): Add `utf-16' in MULE.
929         (struct detection_state): Add a structure for utf16 in MULE.
930         (detect_coding_type): Setup st->utf16.mask in MULE.
931         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
932         MULE.
933         (reset_encoding_stream): Use `char_encode_utf16' and
934         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
935         (detect_coding_utf16): New function [incomplete].
936         (decode_coding_utf16): New function [support only UCS-2].
937         (char_encode_utf16): New function.
938         (char_finish_utf16): New function.
939         (syms_of_file_coding): Add new symbol `utf-16'; setup
940         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
941
942         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
943         UTF-2000.
944         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
945         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
946
947 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
948
949         * chartab.c (put_char_table): When a charset is specified as a
950         range in UTF-2000, don't support builtin characters.
951
952 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
953
954         * mule-charset.c (decode_defined_char): Don't refer external
955         database if Qunbound or Qnil are found.
956         (Fsave_charset_mapping_table): Don't define it if
957         HAVE_CHISE_CLIENT is not defined.
958         (Freset_charset_mapping_table): New function.
959         (load_char_decoding_entry_maybe): Store Qnil if a character is not
960         found in external database.
961         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
962         if HAVE_CHISE_CLIENT is not defined; add new builtin function
963         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
964
965 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
966
967         * text-coding.c (decode_coding_utf8): Check CCS is specified or
968         not.
969
970 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
971
972         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
973         Q_lowercase, Q_uppercase in UTF-2000.
974
975         * chartab.c (get_char_table): Add special code for the standard
976         case table to use character attribute `->downcase' and
977         `->uppercase' for case operations in UTF-2000.
978
979         * casetab.c (Qflippedcase): New variable in UTF-2000.
980         (Q_lowercase): Likewise.
981         (Q_uppercase): Likewise.
982         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
983         and `->uppercase' in UTF-2000.
984         (complex_vars_of_casetab): Assign attribute name `downcase' to
985         downcase and CANON table of Vstandard_case_table in UTF-2000;
986         assign attribute name `flippedcase' to upcase and EQV table of
987         Vstandard_case_table in UTF-2000.
988
989 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
990
991         * text-coding.c (decode_add_er_char): Support isolated-chars.
992         (char_encode_as_entity_reference): Likewise.
993
994 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
995
996         * emacs.c (Vutf_2000_lisp_directory): New variable.
997         (Vconfigure_utf_2000_lisp_directory): Likewise.
998         (complex_vars_of_emacs): Add new variable
999         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1000
1001 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1002
1003         * char-ucs.h (DECODE_CHAR): Delete special code for
1004         `chinese-big5-1' and `chinese-big5-2'.
1005
1006         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1007         (Qbig5_2): Likewise.
1008         (decode_defined_char): Support CONVERSION_BIG5_1 and
1009         CONVERSION_BIG5_2.
1010         (decode_builtin_char): Likewise.
1011         (charset_code_point): Likewise.
1012         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1013         'conversion in UTF-2000.
1014         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1015         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1016         `chinese-big5-2' as children of `chinese-big5'.
1017
1018         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1019         (CONVERSION_BIG5_2): New macro.
1020
1021 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1022
1023         * text-coding.c (char_encode_big5): Support entity-reference.
1024
1025 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1026
1027         * text-coding.c (char_encode_as_entity_reference): New function.
1028         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1029
1030 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1031
1032         * text-coding.c (decode_coding_big5): Support entity-reference
1033         decoding feature.
1034
1035 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1036
1037         * text-coding.c (allocate_coding_system): Initialize initial
1038         charsets for CODESYS_UTF8.
1039         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1040         charset-g2 for CODESYS_UTF8.
1041         (decode_coding_utf8): Use charset-g0.
1042         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1043         to force variants to map to UCS.
1044
1045 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1046
1047         * text-coding.c (Qutf_8_mcs): New variable.
1048         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1049         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1050         instead of `utf-8' in UTF-2000.
1051
1052 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1053
1054         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1055         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1056         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1057         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1058         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1059         CONVERSION_96x96x96x96 are introduced.
1060         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1061         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1062         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1063
1064         * char-ucs.h (CONVERSION_94): New macro.
1065         (CONVERSION_96): New macro.
1066         (CONVERSION_94x94): New macro.
1067         (CONVERSION_96x96): New macro.
1068         (CONVERSION_94x94x94): New macro.
1069         (CONVERSION_96x96x96): New macro.
1070         (CONVERSION_94x94x94x60): New macro.
1071         (CONVERSION_94x94x94x94): New macro.
1072         (CONVERSION_96x96x96x96): New macro.
1073
1074 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1075
1076         * chartab.c (Vcharacter_variant_table): Deleted.
1077         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1078         of `Vcharacter_variant_table'.
1079         (Fput_char_attribute): Likewise.
1080         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1081         (complex_vars_of_chartab): Likewise.
1082
1083 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1084
1085         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1086
1087         * fns.c (Qideographic_structure): New variable.
1088         (Qkeyword_char): New variable.
1089         (ids_format_unit): New function.
1090         (Fideographic_structure_to_ids): New function.
1091         (syms_of_fns): Add new symbols `ideographic-structure' and
1092         `:char'; add new builtin function `ideographic-structure-to-ids'.
1093
1094         * data.c (Fchar_ref_p): New function.
1095         (syms_of_data): Add new builtin function `char-ref-p'.
1096
1097         * chartab.h: Add an EXFUN for `Ffind_char'.
1098
1099 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1100
1101         * text-coding.c (Vcharacter_composition_table): Deleted.
1102         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1103         in every UTF-2000.
1104
1105         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1106         UTF-2000.
1107         (Vcharacter_composition_table): Deleted.
1108         (Fget_composite_char): Use the implementation for external-DB
1109         support in every UTF-2000.
1110         (Fput_char_attribute): Likewise.
1111         (char_attribute_system_db_file): Don't define if external-DB
1112         feature is not available.
1113         (Fsave_char_attribute_table): Likewise.
1114         (Fmount_char_attribute_table): Likewise.
1115         (Fclose_char_attribute_table): Likewise.
1116         (Freset_char_attribute_table): Likewise.
1117         (Fload_char_attribute_table): Likewise.
1118         (syms_of_chartab): Don't define `save-char-attribute-table',
1119         `mount-char-attribute-table', `reset-char-attribute-table',
1120         `close-char-attribute-table' and `load-char-attribute-table' if
1121         external-DB feature is not available.
1122         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1123
1124 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1125
1126         * text-coding.c (Qcomposition): Add extern if external-DB feature
1127         is supported.
1128         (Vcharacter_composition_table): Don't add extern if external-DB
1129         feature is supported.
1130         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1131         character composition rule if external-DB feature is supported.
1132
1133         * chartab.c (Vcharacter_composition_table): Don't define if
1134         external-DB feature is supported.
1135         (Qcomposition): New variable.
1136         (Fget_composite_char): New implementation for external-DB support.
1137         (Fput_char_attribute): Use `composition' property of each
1138         character instead of `Vcharacter_composition_table' to store
1139         character-composition rules if external-DB feature is supported.
1140         (syms_of_chartab): Add new symbol `composition'.
1141         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1142         external-DB feature is supported.
1143
1144 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1145
1146         * chartab.c (Vchar_db_stingy_mode): New variable.
1147         (load_char_attribute_maybe): Close database if
1148         Vchar_db_stingy_mode is not NIL.
1149         (Fload_char_attribute_table_map_function): Use
1150         `get_char_id_table_0' instead of `get_char_id_table'.
1151         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1152
1153         * chartab.h (get_char_id_table_0): New inline function.
1154         (get_char_id_table): Use `get_char_id_table_0'.
1155
1156 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1157
1158         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1159         and `COMPOSE_ADD_CHAR'.
1160         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1161
1162 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1163
1164         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1165         instead of `DECODE_ADD_UCS_CHAR'.
1166         (COMPOSE_ADD_CHAR): Likewise.
1167
1168 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1169
1170         * text-coding.c (decode_flush_er_chars): New inline function.
1171         (decode_add_er_char): New function.
1172         (decode_coding_utf8): Use `decode_flush_er_chars' and
1173         `decode_add_er_char'.
1174
1175 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1176
1177         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1178         done before `decode_output_utf8_partial_char'.
1179
1180         * mule-charset.c (complex_vars_of_mule_charset): Specify
1181         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1182         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1183
1184 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1185
1186         * mule-charset.c (decode_defined_char): New function; search
1187         mother.
1188         (decode_builtin_char): Don't search mother if
1189         XCHARSET_MAX_CODE(charset) == 0.
1190         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1191         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1192         (Fdecode_char): Use `decode_defined_char' instead of
1193         `DECODE_DEFINED_CHAR'.
1194         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1195         mother of `Vcharset_ucs_jis'.
1196
1197         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1198         instead of `DECODE_DEFINED_CHAR'.
1199
1200         * char-ucs.h (decode_defined_char): Renamed from
1201         `DECODE_DEFINED_CHAR'; changed to normal function.
1202         (DECODE_CHAR): Use `decode_defined_char' instead of
1203         `DECODE_DEFINED_CHAR'.
1204
1205         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1206
1207 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1208
1209         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1210
1211         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1212         variable.
1213         (Quse_entity_reference): New variable.
1214         (Qd): New variable.
1215         (Qx): New variable.
1216         (QX): New variable.
1217         (coding_system_description): Add description for
1218         `ccs_priority_list'.
1219         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1220         (allocate_coding_system): Initialize `ccs_priority_list' in
1221         UTF-2000.
1222         (Fmake_coding_system): Add description about
1223         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1224         (codesys).
1225         (Fcoding_system_property): Accept `disable-composition' and
1226         `use-entity-reference' in UTF-2000.
1227         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1228         in UTF-2000.
1229         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1230         (decode_coding_utf8): Decode entity-reference if
1231         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1232         (char_encode_utf8): Encode non-Unicode characters as
1233         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1234         (str->codesys).
1235         (syms_of_file_coding): Add new symbols `use-entity-reference',
1236         `d', `x', `X'.
1237         (vars_of_file_coding): Add new variable
1238         `coded-charset-entity-reference-alist'.
1239         (complex_vars_of_file_coding): Declare `disable-composition' and
1240         `use-entity-reference' to be coding-system-properties in UTF-2000.
1241
1242         * file-coding.h (struct Lisp_Coding_System): Add new member
1243         `use_entity_reference' and `ccs_priority_list'.
1244         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1245         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1246         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1247
1248 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1249
1250         * chartab.c (save_uint8_byte_table): Don't clear the table.
1251         (save_uint16_byte_table): Likewise.
1252         (save_byte_table): Likewise.
1253         (Fmount_char_attribute_table): New function.
1254         (syms_of_chartab): Add new builtin function
1255         `mount-char-attribute-table'.
1256
1257 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1258
1259         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1260         "w+" mode.
1261         (load_char_decoding_entry_maybe): Open database as read-only mode.
1262
1263         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1264         open database as "w+" mode.
1265         (load_char_attribute_maybe): Open database as read-only mode.
1266         (Fload_char_attribute_table): Likewise.
1267
1268 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1269
1270         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1271         (char_table_description): Delete member `db_file'.
1272         (Fmake_char_table): Don't refer `ct->db_file'.
1273         (Fcopy_char_table): Likewise.
1274         (Fsave_char_attribute_table): Likewise.
1275         (Fclose_char_attribute_table): Likewise.
1276         (Freset_char_attribute_table): Likewise.
1277         (load_char_attribute_maybe): Likewise.
1278         (Fload_char_attribute_table): Likewise.
1279
1280         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1281
1282 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1285         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1286         `ct->db' is living.
1287         (load_char_attribute_maybe): Likewise.
1288         (Fload_char_attribute_table): Likewise.
1289
1290 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1291
1292         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1293         `ct->db_file' unconditionally.
1294
1295 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1296
1297         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1298         UTF-2000.
1299         (char_table_description): Add description for `db_file' and `db'
1300         in UTF-2000.
1301         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1302         UTF-2000.
1303         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1304         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1305         (Fclose_char_attribute_table): New function.
1306         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1307         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1308         and `cit->db'.
1309         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1310         (syms_of_chartab): Add new builtin function
1311         `Fclose_char_attribute_table'.
1312
1313 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1314
1315         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1316         `db' in UTF-2000.
1317         (load_char_attribute_maybe): Change interface.
1318         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1319
1320 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1321
1322         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1323
1324 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1327         instead of `DECODE_CHAR' for mother; don't use special code for
1328         chinese-big5 to use code space of chinese-big5-1 and
1329         chinese-big5-2.
1330         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1331         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1332
1333         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1334         (MAX_CHAR_BIG5_CDP): Revival.
1335
1336 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1337
1338         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1339         the XLFD registry-encoding name of `chinese-big5'.
1340
1341 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1342
1343         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1344         (Qchinese_big5_cdp): Deleted.
1345         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1346         (complex_vars_of_mule_charset): Delete coded-charset
1347         `chinese-big5-cdp'.
1348
1349         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1350         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1351         `CHARSET_ID_OFFSET - n' for private CCS.
1352         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1353         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1354         of `MIN_LEADING_BYTE'.
1355         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1356         `(CHARSET_ID_OFFSET - 97)'.
1357         (MIN_CHAR_BIG5_CDP): Deleted.
1358         (MAX_CHAR_BIG5_CDP): Deleted.
1359
1360 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1361
1362         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1363
1364 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1365
1366         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1367         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1368         chartab.c].
1369
1370         * chartab.c (Vutf_2000_version): Moved to mule.c.
1371         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1372
1373 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1374
1375         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1376         when HAVE_CHISE_CLIENT is not defined.
1377
1378         * mule.c (vars_of_mule): Provide feature `chise' when
1379         HAVE_CHISE_CLIENT is defined.
1380
1381 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1382
1383         * config.h.in (UTF2000): Add comment.
1384         (HAVE_CHISE_CLIENT): New macro.
1385
1386 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1387
1388         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1389         CONSP.
1390         (Fput_char_attribute): Likewise.
1391         (char_attribute_system_db_file): Encode file-name of attribute.
1392         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1393         the initial value.
1394
1395 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1396
1397         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1398         (Fsave_charset_mapping_table): Use
1399         `char_attribute_system_db_file'.
1400         (load_char_decoding_entry_maybe): Likewise.
1401
1402         * chartab.h (Qsystem_char_id): New external variable.
1403         (char_attribute_system_db_file): New prototype.
1404
1405         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1406         (char_attribute_system_db_file): New function.
1407         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1408         (Freset_char_attribute_table): Likewise.
1409         (load_char_attribute_maybe): Likewise.
1410         (Fload_char_attribute_table): Likewise.
1411         (syms_of_chartab): Add new symbol `system-char-id'.
1412
1413 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1414
1415         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1416         `XCHARSET_GRAPHIC(ccs)'.
1417
1418 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1419
1420         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1421
1422 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1423
1424         * chartab.c (Q_ucs_variants): New variable.
1425         (syms_of_chartab): Add new symbol `->ucs-variants'.
1426         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1427         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1428         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1429
1430         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1431
1432         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1433         `HAVE_DATABASE' is defined.
1434         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1435         `HAVE_DATABASE' is defined.
1436
1437 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1438
1439         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1440         attribute-table.
1441         (Freset_char_attribute_table): New function.
1442         (syms_of_chartab): Add new builtin function
1443         `reset-char-attribute-table'.
1444
1445 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1446
1447         * chartab.c (load_char_attribute_maybe): Don't make directories.
1448
1449 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1450
1451         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1452
1453         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1454         for decoding-table.
1455
1456 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1457
1458         * mule-charset.c (Fsave_charset_mapping_table): Use
1459         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1460
1461         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1462         instead of `XCHARSET_CHARS'.
1463
1464 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1465
1466         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1467         (XCHARSET_BYTE_SIZE): Likewise.
1468
1469         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1470         mule-charset.c].
1471         (XCHARSET_BYTE_SIZE): Likewise.
1472
1473 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1474
1475         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1476         data-directory to store database.
1477         (Fsave_char_attribute_table): Likewise.
1478         (load_char_attribute_maybe): Likewise.
1479         (Fload_char_attribute_table): Likewise.
1480
1481 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1482
1483         * mule-charset.c (Fsave_charset_mapping_table): New function.
1484         (syms_of_mule_charset): Add new builtin function
1485         `save-charset-mapping-table'.
1486
1487 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1488
1489         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1490         (get_ccs_octet_table): New inline function.
1491         (put_ccs_octet_table): Likewise.
1492         (decoding_table_put_char): Use `get_ccs_octet_table' and
1493         `put_ccs_octet_table'.
1494         (decoding_table_remove_char): Use `decoding_table_put_char'.
1495         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1496
1497         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1498         into encoding_table.
1499         (make_charset): Use Qunbound instead Qnil as initial value of
1500         decoding_table.
1501
1502 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1503
1504         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1505         element is Qunloaded.
1506         (map_over_uint16_byte_table): Likewise.
1507         (map_over_byte_table): Likewise.
1508         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1509         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1510         database support, load encoding-table of the specified
1511         coded-charset if it is not loaded yet.
1512         (save_uint8_byte_table): New function of UTF-2000 with external
1513         database support.
1514         (save_uint16_byte_table): Likewise.
1515         (save_byte_table): Likewise.
1516         (Fput_char_attribute): Don't store value into external database
1517         even if the external database feature is supported in UTF-2000;
1518         set `attribute' as name of char-table if the external database
1519         feature is supported.
1520         (Fsave_char_attribute_table): New function in UTF-2000.
1521         (syms_of_chartab): Add new builtin function
1522         `save-char-attribute-table' in UTF-2000.
1523
1524 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1525
1526         * chartab.c (char_attribute_table_to_put): New variable in
1527         UTF-2000.
1528         (Qput_char_table_map_function): Likewise.
1529         (value_to_put): Likewise.
1530         (Fput_char_table_map_function): New function in UTF-2000.
1531         (put_char_table): Use `Fmap_char_attribute' for
1532         CHARTAB_RANGE_CHARSET in UTF-2000.
1533         (Fput_char_attribute): Store symbol instead of string in
1534         `XCHAR_TABLE_NAME (table)'.
1535         (load_char_attribute_maybe): Likewise.
1536         (syms_of_chartab): Add new symbol/function
1537         `put-char-table-map-function'.
1538
1539 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1540
1541         * database.h: Add new EXFUN for `Fmap_database'.
1542
1543         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1544         (syms_of_database): Likewise.
1545
1546         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1547         UTF-2000.
1548         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1549         (XCHAR_TABLE_UNLOADED): Likewise.
1550
1551         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1552         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1553         HAVE_DATABASE is defined.
1554         (char_attribute_table_to_load): New variable of UTF-2000 with
1555         external database support.
1556         (Qload_char_attribute_table_map_function): Likewise.
1557         (Fload_char_attribute_table_map_function): New function of
1558         UTF-2000 with external database support.
1559         (Fload_char_attribute_table): New function of UTF-2000.
1560         (Fmap_char_attribute): Call Fload_char_attribute_table if
1561         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1562         (syms_of_chartab): Add new symbol and function
1563         `load-char-attribute-table-map-function' in UTF-2000 with external
1564         database support; add new function `load-char-attribute-table' in
1565         UTF-2000.
1566
1567 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1568
1569         * chartab.h (load_char_attribute_maybe): New prototype for
1570         UTF-2000 with DATABASE support.
1571         (get_char_id_table): Use `load_char_attribute_maybe' if
1572         HAVE_DATABASE is defined.
1573
1574         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1575         with DATABASE support.
1576
1577 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1578
1579         * chartab.c (Fput_char_attribute): Use S-expression as key of
1580         external database.
1581
1582         * chartab.h (get_char_id_table): Use S-expression as key of
1583         external database.
1584
1585 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1586
1587         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1588         if an element is not loaded, load the corresponding attributes
1589         from an external database.
1590         (map_over_uint16_byte_table): Likewise.
1591         (map_over_byte_table): Likewise.
1592         (map_char_table): Modify for `map_over_uint8_byte_table',
1593         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1594         element is not loaded, load the corresponding attributes from an
1595         external database.
1596         (Fput_char_attribute): Change initial values to Qunloaded.
1597
1598         * chartab.h (get_char_id_table): If a character attribute is not
1599         loaded and the attribute value is not found in an external
1600         database, store Qunbound as the attribute value.
1601
1602 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1603
1604         * chartab.c (BT_UINT8_unloaded): New macro.
1605         (UINT8_VALUE_P): Accept Qunloaded.
1606         (UINT8_ENCODE): Likewise.
1607         (UINT8_DECODE): Likewise.
1608         (BT_UINT16_unloaded): New macro.
1609         (UINT16_VALUE_P): Accept Qunloaded.
1610         (UINT16_ENCODE): Likewise.
1611         (UINT16_DECODE): Likewise.
1612         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1613         BT_UINT16_unloaded.
1614         (mark_char_table): Mark `ct->name' in UTF-2000.
1615         (char_table_description): Add `name' in UTF-2000.
1616         (Fmake_char_table): Initialize `ct->name'.
1617         (Fcopy_char_table): Copy `ct->name'.
1618         (Fput_char_attribute): Store value into an external database if
1619         HAVE_DATABASE is defined.
1620
1621         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1622         UTF-2000.
1623         (CHAR_TABLE_NAME): New macro in UTF-2000.
1624         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1625         (get_char_id_table): Try to read an external database if Qunloaded
1626         is stored in a table.
1627
1628         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1629         Qunloaded.
1630
1631 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1632
1633         * database.h: Add EXFUN definitions for Fopen_database,
1634         Fput_database, Fget_database and Fclose_database.
1635
1636         * data.c (Qunloaded): New variable in UTF-2000.
1637
1638         * lisp.h (Qunloaded): New variable in UTF-2000.
1639
1640 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * mule-charset.c (put_char_ccs_code_point): Modify for
1643         `decoding_table_remove_char' and `decoding_table_put_char'.
1644         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1645
1646         * char-ucs.h (decoding_table_remove_char): Change arguments to
1647         hide decoding_table vector.
1648         (decoding_table_put_char): Likewise.
1649
1650 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1651
1652         * mule-charset.c (decoding_table_remove_char): Moved to
1653         char-ucs.h.
1654         (decoding_table_put_char): Likewise.
1655
1656         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1657         from mule-charset.c].
1658         (decoding_table_remove_char): New inline function [moved from
1659         mule-charset.c].
1660         (decoding_table_put_char): Likewise.
1661
1662 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1663
1664         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1665         extension.
1666
1667 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1668
1669         * mule-charset.c (decode_builtin_char): Support mother charsets.
1670
1671 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1672
1673         * mule-charset.c (Q94x94x60): New variable.
1674         (charset_code_point): Support conversion `94x94x60'.
1675         (Fmake_charset): Likewise.
1676         (syms_of_mule_charset): Add new symbol `94x94x60'.
1677
1678         * char-ucs.h (CONVERSION_94x94x60): New macro.
1679
1680 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1681
1682         * mule-charset.c (charset_code_point): Unify code about
1683         `code-offset'.
1684
1685 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1686
1687         * mule-charset.c (charset_code_point): Merge code about builtin
1688         characters into code about mother charsets; don't use
1689         `range_charset_code_point'.
1690         (range_charset_code_point): Deleted.
1691
1692 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1693
1694         * mule-charset.c (Qcode_offset): New variable.
1695         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1696         `max-code'; accept new property `code-offset'.
1697         (syms_of_mule_charset): Add new symbol `code-offset'.
1698
1699 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1700
1701         * mule-charset.c (range_charset_code_point): Fixed.
1702
1703 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1704
1705         * mule-charset.c (decode_builtin_char): Change semantics of
1706         code-offset of coded-charset.
1707         (charset_code_point): Likewise.
1708         (range_charset_code_point): Likewise.
1709         (complex_vars_of_mule_charset): Modify for the change.
1710
1711 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1712
1713         * mule-charset.c (Fencode_char): Reverse arguments.
1714
1715         * mule-charset.c (charset_code_point): Fixed.
1716
1717 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1718
1719         * mule-charset.c (Vcharset_mojikyo): Deleted.
1720         (Vcharset_mojikyo_2022_1): Deleted.
1721         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1722         (Qmin_code): New variable in UTF-2000.
1723         (Qmax_code): Likewise.
1724         (Qmother): Likewise.
1725         (Qconversion): Likewise.
1726         (Q94x60): Likewise.
1727         (Qmojikyo): Deleted.
1728         (Qmojikyo_2022_1): Deleted.
1729         (Qmojikyo_pj_{1..22}): Deleted.
1730         (mark_charset): Mark `cs->mother'.
1731         (charset_description): Add description for `mother'.
1732         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1733         new arguments `mother' and `conversion'; use
1734         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1735         (charset_code_point): Moved from char-ucs.h; support `mother'
1736         charset feature.
1737         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1738         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1739         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1740         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1741         allow 2 as the value of `graphic' in UTF-2000; add new properties
1742         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1743         require `final' in UTF-2000; modify for `make_charset'.
1744         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1745         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1746         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1747         (Fencode_char): New function.
1748         (syms_of_mule_charset): Add new builtin function `encode-char' in
1749         UTF-2000; add new symbols `min-code', `max-code', `mother',
1750         `conversion' and `94x60'; delete symbols `mojikyo',
1751         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1752         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1753         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1754         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1755
1756         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1757         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1758
1759         * char-ucs.h (Vcharset_mojikyo): Deleted.
1760         (Vcharset_mojikyo_2022_1): Deleted.
1761         (LEADING_BYTE_MOJIKYO): Deleted.
1762         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1763         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1764         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1765         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1766         add new member `mother'; add new member `conversion'.
1767         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1768         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1769         (CHARSET_MOTHER): New macro.
1770         (CHARSET_CONVERSION): New macro.
1771         (CONVERSION_IDENTICAL): New macro.
1772         (CONVERSION_94x60): New macro.
1773         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1774         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1775         (XCHARSET_MOTHER): New macro.
1776         (XCHARSET_CONVERSION): New macro.
1777         (MIN_CHAR_MOJIKYO): Deleted.
1778         (MAX_CHAR_MOJIKYO): Deleted.
1779         (DECODE_MOJIKYO_2022): Deleted.
1780         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1781         (charset_code_point): Changed to non-inline function.
1782         (encode_char_1): Use `charset_code_point'.
1783         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1784
1785 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1786
1787         * lread.c (read_compiled_function): Fix prototype.
1788         (read_vector): Likewise.
1789
1790 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1791
1792         * lrecord.h (struct lrecord_header): Delete `older'.
1793         (set_lheader_implementation): Delete code for `older'.
1794         (set_lheader_older_implementation): Deleted.
1795         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1796         (OLDER_RECORD_P): Deleted.
1797         (OLDER_RECORD_HEADER_P): Deleted.
1798         (alloc_older_lcrecord): Deleted.
1799         (alloc_older_lcrecord_type): Deleted.
1800
1801         * alloc.c (all_older_lcrecords): Deleted.
1802         (alloc_older_lcrecord): Deleted.
1803         (disksave_object_finalization_1): Delete code for older objects.
1804         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1805         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1806
1807 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1808
1809         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1810         instead of `make_older_vector'.
1811         (put_char_ccs_code_point): Likewise.
1812         (mark_charset): Mark `cs->decoding_table'.
1813         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1814
1815         * lisp.h (make_older_vector): Deleted.
1816         (make_vector_newer): Deleted.
1817
1818         * config.h.in (HAVE_GGC): Deleted.
1819
1820         * alloc.c (make_older_vector): Deleted.
1821         (make_vector_newer_1): Deleted.
1822         (make_vector_newer): Deleted.
1823
1824 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1827         (Qideograph_daikanwa_2): New variable.
1828         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1829         (complex_vars_of_mule_charset): Add new coded-charset
1830         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1831         `LEADING_BYTE_DAIKANWA'.
1832
1833         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1834         (LEADING_BYTE_DAIKANWA_1): New macro.
1835         (LEADING_BYTE_DAIKANWA_2): New macro.
1836         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1837
1838 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1839
1840         * mule-charset.c (complex_vars_of_mule_charset): Change
1841         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1842         the second revised version.
1843
1844 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1845
1846         * mule-charset.c (Vcharset_ucs_smp): New variable.
1847         (Vcharset_ucs_sip): New variable.
1848         (Qucs_smp): New variable.
1849         (Qucs_sip): New variable.
1850         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1851         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1852         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1853         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1854         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1855         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1856
1857         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1858         (LEADING_BYTE_UCS_SIP): New macro.
1859         (MIN_CHAR_SMP): New macro.
1860         (MAX_CHAR_SMP): New macro.
1861         (MIN_CHAR_SIP): New macro.
1862         (MAX_CHAR_SIP): New macro.
1863
1864 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1865
1866         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1867         utf-2000.
1868
1869 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1870
1871         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1872         value; don't store value into `encoding_table' of `Lisp_Charset'.
1873         (mark_charset): `encoding_table' was deleted.
1874         (charset_description): Likewise.
1875         (make_charset): Likewise.
1876         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1877         `put_char_ccs_code_point'.
1878
1879         * chartab.h (Fput_char_attribute): New EXFUN.
1880
1881         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1882         is unified with normal symbol space.
1883         (Fget_char_attribute): Likewise.
1884         (Fput_char_attribute): Likewise; behavior of
1885         `put_char_ccs_code_point' is changed.
1886
1887         * char-ucs.h: Include "elhash.h".
1888         (Vchar_attribute_hash_table): New external variable.
1889         (struct Lisp_Charset): Delete `encoding_table'.
1890         (CHARSET_ENCODING_TABLE): New implementation; refer
1891         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1892         `Lisp_Charset'.
1893
1894 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1895
1896         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1897         (cs) == 0.
1898
1899 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1900
1901         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1902         `chinese-big5'.
1903
1904 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1905
1906         * chartab.c (uint8_byte_table_description): New constant.
1907         (uint8-byte-table): Use `uint8_byte_table_description'.
1908         (uint16_byte_table_description): New constant.
1909         (uint16-byte-table): Use `uint16_byte_table_description'.
1910
1911 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1912
1913         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1914         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1915
1916 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1917
1918         * mule-charset.c (Vcharset_ucs_ks): New variable.
1919         (Qucs_ks): New variable.
1920         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1921         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1922
1923         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1924
1925 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1926
1927         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1928         (Fdecode_char): Likewise.
1929
1930         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1931         chartab.h.
1932         (Fdefine_char): Modify for Fdecode_char.
1933         (Ffind_char): Likewise.
1934
1935         * mule-charset.c (Fdecode_char): Add new optional argument
1936         `defined-only'.
1937         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1938
1939 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1940
1941         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1942         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1943         (allocate_coding_system): Initialize initial-charsets of
1944         CODESYS_BIG5 in XEmacs UTF-2000.
1945         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1946         CODESYS_BIG5 in XEmacs UTF-2000.
1947         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1948         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1949
1950         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1951         variables.
1952         (Qideograph_hanziku_{1 .. 12}): Likewise.
1953         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1954         .. 12}'.
1955         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1956         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1957         `ideograph-hanziku-{1 .. 12}'.
1958
1959         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1960         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1961         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1962         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1963         (DECODE_DEFINED_CHAR): New inline function.
1964         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1965
1966 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * mule-charset.c (Vcharset_china3_jef): Renamed from
1969         `Vcharset_japanese_jef_china3'.
1970         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1971         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1972         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1973         (syms_of_mule_charset): Rename `china3-jef' from
1974         `japanese-jef-china3'.
1975         (complex_vars_of_mule_charset): Likewise; rename
1976         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1977
1978         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1979         `LEADING_BYTE_JEF_CHINA3'.
1980         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1981         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1982
1983 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1984
1985         * mule-charset.c (encode_builtin_char_1): Comment out special code
1986         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1987
1988         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1989         (MAX_CHAR_MOJIKYO_0): Comment out.
1990         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1991         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1992         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1993         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1994
1995 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1996
1997         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1998         (Qideograph_cbeta): New variable.
1999         (encode_builtin_char_1): Comment out special code for
2000         coded-charset `mojikyo' and `japanese-jef-china3'.
2001         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2002         (complex_vars_of_mule_charset): Add new coded-charset
2003         `ideograph-cbeta'.
2004
2005         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2006         (MIN_CHAR_CBETA): New macro.
2007         (MAX_CHAR_CBETA): New macro.
2008
2009 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2010
2011         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2012         (LEADING_BYTE_JEF_CHINA3): New macro.
2013         (MIN_CHAR_JEF_CHINA3): New macro.
2014         (MAX_CHAR_JEF_CHINA3): Likewise.
2015         (DECODE_CHAR): Fixed.
2016
2017 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2018
2019         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2020         (Qjapanese_jef_china3): New variable.
2021         (encode_builtin_char_1): Support `japanese-jef-china3'.
2022         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2023         (complex_vars_of_mule_charset): Add new coded-charset
2024         `japanese-jef-china3'.
2025
2026 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2027
2028         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2029         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2030         94^4, 96^3, 96^4, 128^n and 256^n set.
2031         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2032         (map_char_table): Likewise.
2033
2034 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2035
2036         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2037         UTF-2000.
2038
2039 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2040
2041         * chartab.h (get_char_id_table): New inline function.
2042
2043         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2044         function.
2045
2046 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2047
2048         * chartab.h (decode_char_table_range): New prototype in XEmacs
2049         UTF-2000.
2050         (put_char_id_table): New inline function in XEmacs UTF-2000.
2051
2052         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2053         function.
2054         (decode_char_table_range): Delete static declaration in XEmacs
2055         UTF-2000.
2056
2057 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2058
2059         * chartab.c (put_char_id_table): Use `put_char_table'.
2060
2061 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2062
2063         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2064         (map_over_uint16_byte_table): Likewise.
2065         (map_over_byte_table): Likewise.
2066         (map_char_table): Modify for `map_over_uint8_byte_table',
2067         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2068         UTF-2000.
2069
2070 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2071
2072         * chartab.c (struct map_char_table_for_charset_arg): New
2073         structure.
2074         (map_char_table_for_charset_fun): New function.
2075         (map_char_table): Use `map_char_table' for encoding_table of
2076         `range->charset'.
2077
2078 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2079
2080         * chartab.c (map_char_table): Check a character is found in
2081         range->charset instead of non default value is defined in
2082         char-table when range is CHARTAB_RANGE_ROW.
2083
2084 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2085
2086         * chartab.c (map_char_id_table): Deleted.
2087         (Fmap_char_attribute): Use `map_char_table' instead of
2088         `map_char_id_table'.
2089
2090 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2091
2092         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2093         UTF-2000.
2094         (update_syntax_table): Deleted in XEmacs UTF-2000.
2095
2096         * syntax.c (find_defun_start): Use `syntax_table' instead of
2097         `mirror_syntax_table' in XEmacs UTF-2000.
2098         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2099         UTF-2000.
2100         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2101         XEmacs UTF-2000.
2102         (Fmatching_paren): Likewise.
2103         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2104         in XEmacs UTF-2000.
2105         (find_start_of_comment): Likewise.
2106         (find_end_of_comment): Likewise.
2107         (Fforward_comment): Likewise.
2108         (scan_lists): Likewise.
2109         (char_quoted): Likewise.
2110         (Fbackward_prefix_chars): Likewise.
2111         (scan_sexps_forward): Likewise.
2112         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2113         (update_syntax_table): Likewise.
2114
2115         * search.c (skip_chars): Use `syntax_table' instead of
2116         `mirror_syntax_table' in XEmacs UTF-2000.
2117         (wordify): Likewise.
2118         (Freplace_match): Likewise.
2119
2120         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2121         `mirror_syntax_table' in XEmacs UTF-2000.
2122         (WORDCHAR_P_UNSAFE): Likewise.
2123         (re_match_2_internal): Likewise.
2124
2125         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2126         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2127
2128         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2129         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2130
2131         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2132         XEmacs UTF-2000.
2133
2134         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2135         UTF-2000.
2136         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2137         (char_table_description): Delete `mirror_table' in XEmacs
2138         UTF-2000.
2139         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2140         UTF-2000.
2141         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2142         (Fcopy_char_table): Likewise.
2143         (put_char_table): Don't call `update_syntax_table' in XEmacs
2144         UTF-2000.
2145
2146         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2147         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2148         (casify_region_internal): Likewise.
2149
2150         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2151
2152         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2153         `mirror_syntax_table' in XEmacs UTF-2000.
2154
2155         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2156         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2157         (Fexpand_abbrev): Likewise.
2158
2159 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2160
2161         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2162
2163 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2164
2165         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2166         (map_over_uint16_byte_table): Likewise.
2167         (map_over_byte_table): Likewise.
2168         (get_char_id_table): Refer `cit->default_value'.
2169         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2170         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2171         of character-id ranges.
2172         (mark_char_table): Mark `ct->default_value'.
2173         (char_table_description): Add `default_value'.
2174         (fill_char_table): Use `default_value'.
2175         (decode_char_table_range): Decode `nil' as
2176         `CHARTAB_RANGE_DEFAULT'.
2177         (get_char_id_table): Refer `cit->default_value'.
2178         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2179         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2180         temporary hack; check value of char-table is bound or not.
2181         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2182
2183         * chartab.h (struct Lisp_Char_Table): Add new member
2184         `default_value' in XEmacs UTF-2000.
2185         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2186         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2187         UTF-2000.
2188
2189 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2190
2191         * chartab.h (Lisp_Char_ID_Table): Deleted.
2192
2193         * chartab.c (char_table_description): Fix typo.
2194         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2195         `Lisp_Char_ID_Table'.
2196
2197 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2198
2199         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2200         `CHAR_ID_TABLE_P'.
2201
2202         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2203         `CHAR_ID_TABLE_P'.
2204
2205         * chartab.h (XCHAR_ID_TABLE): Deleted.
2206         (XSETCHAR_ID_TABLE): Deleted.
2207         (CHAR_ID_TABLE_P): Deleted.
2208
2209         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2210         `CHAR_ID_TABLE_P'.
2211         (Fget_composite_char): Likewise.
2212         (put_char_table): Likewise.
2213         (add_char_attribute_alist_mapper): Fixed.
2214         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2215         `CHAR_ID_TABLE_P'.
2216         (Fget_char_attribute): Likewise.
2217         (Fget_char_attribute): Likewise.
2218         (Fmap_char_attribute): Likewise.
2219
2220         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2221         `CHAR_ID_TABLE_P'.
2222         (encode_char_1): Likewise.
2223
2224 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2225
2226         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2227         `XCHAR_ID_TABLE'.
2228
2229         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2230         instead of `XCHAR_ID_TABLE'.
2231         (remove_char_ccs): Likewise.
2232
2233         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2234         `XCHAR_ID_TABLE'.
2235         (Fget_composite_char): Likewise.
2236         (Fchar_variants): Likewise.
2237         (put_char_table): Likewise.
2238         (add_char_attribute_alist_mapper): Likewise.
2239         (Fchar_attribute_alist): Likewise.
2240         (Fget_char_attribute): Likewise.
2241         (Fput_char_attribute): Likewise.
2242         (Fmap_char_attribute): Likewise.
2243         (Fmap_char_attribute): Likewise.
2244
2245         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2246         `XCHAR_ID_TABLE'.
2247         (encode_char_1): Likewise.
2248
2249 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2250
2251         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2252         `Lisp_Char_ID_Table'.
2253         (mark_char_id_table): Deleted.
2254         (print_char_id_table): Likewise.
2255         (char_id_table_equal): Likewise.
2256         (char_id_table_hash): Likewise.
2257         (char_id_table_description): Likewise.
2258         (char_id_table): Likewise.
2259         (make_char_id_table): Use `Fmake_char_table' and
2260         `fill_char_table'.
2261         (get_char_id_table): Use `Lisp_Char_Table' instead of
2262         `Lisp_Char_ID_Table'.
2263         (put_char_id_table): Likewise.
2264         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2265         `XCHAR_ID_TABLE'.
2266         (Fremove_char_attribute): Likewise.
2267         (syms_of_chartab): Don't define type `char-id-table'.
2268
2269         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2270         (char_id_table): Likewise.
2271         (GC_CHAR_ID_TABLE_P): Likewise.
2272         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2273         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2274         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2275         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2276         (get_char_id_table): Use `Lisp_Char_Table' instead of
2277         `Lisp_Char_ID_Table'.
2278         (put_char_id_table_0): Likewise.
2279         (put_char_id_table): Likewise.
2280
2281 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2282
2283         * chartab.h: Lisp_Byte_Table related codes are moved from
2284         chartab.h.
2285
2286         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2287
2288 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2289
2290         * chartab.h: Don't include "chartab.h".
2291         (struct Lisp_Char_ID_Table): Moved from char-ucs.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         * char-ucs.h: Include "chartab.h".
2301         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2302         (Lisp_Char_ID_Table): Likewise.
2303         (char_id_table): Likewise.
2304         (XCHAR_ID_TABLE): Likewise.
2305         (XSETCHAR_ID_TABLE): Likewise.
2306         (CHAR_ID_TABLE_P): Likewise.
2307         (GC_CHAR_ID_TABLE_P): Likewise.
2308         (get_char_id_table): Likewise.
2309
2310 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2311
2312         * chartab.c (copy_uint8_byte_table): New function.
2313         (copy_uint16_byte_table): New function.
2314         (copy_byte_table): New function.
2315         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2316         characters to call.
2317         (map_over_uint16_byte_table): Likewise.
2318         (map_over_byte_table): Likewise.
2319         (get_byte_table): Move prototype to chartab.h.
2320         (put_byte_table): Likewise.
2321         (put_char_id_table_0): Moved to chartab.h.
2322         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2323         (char_table_entry_equal): Likewise.
2324         (char_table_entry_hash): Likewise.
2325         (char_table_entry_description): Likewise.
2326         (char_table_entry): Likewise.
2327         (make_char_table_entry): Likewise.
2328         (copy_char_table_entry): Likewise.
2329         (get_non_ascii_char_table_value): Likewise.
2330         (map_over_charset_ascii): Likewise.
2331         (map_over_charset_control_1): Likewise.
2332         (map_over_charset_row): Likewise.
2333         (map_over_other_charset): Likewise.
2334         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2335         (print_char_table): Likewise.
2336         (char_table_equal): Likewise.
2337         (char_table_hash): Likewise.
2338         (char_table_description): Likewise.
2339         (fill_char_table): Likewise.
2340         (Fcopy_char_table): Likewise.
2341         (get_char_table): Likewise.
2342         (Fget_range_char_table): Likewise.
2343         (put_char_table): Likewise.
2344         (map_char_table): Likewise.
2345         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2346         UTF-2000.
2347
2348 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2349
2350         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2351         `Vauto_fill_chars' in XEmacs UTF-2000.
2352
2353         * chartab.h (get_byte_table): New prototype [moved from
2354         chartab.c].
2355         (put_byte_table): Likewise [moved from chartab.c].
2356         (put_char_id_table_0): New inline function [moved from chartab.c].
2357         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2358         (Lisp_Char_Table_Entry): Likewise.
2359         (char_table_entry): Likewise.
2360         (XCHAR_TABLE_ENTRY): Likewise.
2361         (XSETCHAR_TABLE_ENTRY): Likewise.
2362         (CHAR_TABLE_ENTRYP): Likewise.
2363         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2364         (NUM_ASCII_CHARS): Likewise.
2365         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2366         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2367
2368 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2369
2370         * chartab.c (get_char_id_table): Change interface.
2371         (put_char_id_table_0): New function.
2372         (put_char_id_table): Change interface; new implementation.
2373         (Fget_composite_char): Modify for interface change of
2374         `get_char_id_table'.
2375         (Fchar_variants): Likewise.
2376         (add_char_attribute_alist_mapper): Likewise.
2377         (Fchar_attribute_alist): Likewise.
2378         (Fget_char_attribute): Likewise.
2379         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2380         as same as character as the first argument like `put-char-table';
2381         modify for interface change of `put_char_id_table'.
2382         (Fremove_char_attribute): Modify for interface change of
2383         `put_char_id_table'.
2384
2385 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2386
2387         * text-coding.c: Sync up with XEmacs 21.2.41.
2388         (COMPOSE_ADD_CHAR): Modify for interface change of
2389         `get_char_id_table'.
2390
2391         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2392         change of `put_char_id_table'.
2393         (remove_char_ccs): Likewise.
2394
2395         * chartab.h (put_char_id_table): Change interface.
2396
2397         * char-ucs.h (get_char_id_table): Change interface.
2398         (charset_code_point): Modify for interface change of
2399         `get_char_id_table'.
2400         (encode_char_1): Likewise.
2401
2402 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2403
2404         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2405         argument `ccs'.
2406         (map_over_uint16_byte_table): Likewise.
2407         (map_over_byte_table): Likewise.
2408         (map_char_id_table): Add new argument `range' like
2409         `map_char_table'.
2410         (Fmap_char_attribute): Add new argument `range' like
2411         `Fmap_char_table'.
2412
2413 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2414
2415         * chartab.c (map_over_uint8_byte_table): Change interface of
2416         mapping function to use struct chartab_range instead of Emchar.
2417         (map_over_uint16_byte_table): Likewise.
2418         (map_over_byte_table): Likewise.
2419         (map_char_id_table): Likewise.
2420         (struct slow_map_char_id_table_arg): Deleted.
2421         (slow_map_char_id_table_fun): Deleted.
2422         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2423         function `slow_map_char_table_fun' instead of struct
2424         `slow_map_char_id_table_arg' and function
2425         `slow_map_char_id_table_fun'.
2426
2427 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2428
2429         * mule-charset.c: Move char-it-table related codes to chartab.c.
2430         (Vutf_2000_version): Moved to chartab.c.
2431         (Fdefine_char): Likewise.
2432         (Ffind_char): Likewise.
2433         (syms_of_mule_charset): Move types `uint8-byte-table',
2434         `uint16-byte-table', `byte-table' and `char-id-table' to
2435         chartab.c; move functions `char_attribute_list,
2436         `find_char_attribute_table, `char_attribute_alist,
2437         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2438         `map_char_attribute, `define_char, `find_char, `char_variants and
2439         `get_composite_char to chartab.c; move symbols `=>ucs',
2440         `->decomposition', `compat', `isolated', `initial', `medial',
2441         `final', `vertical', `noBreak', `fraction', `super', `sub',
2442         `circle', `square', `wide', `narrow', `small' and `font' to
2443         chartab.c.
2444         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2445         setting codes for `Vcharacter_composition_table' and
2446         `Vcharacter_variant_table' to chartab.c.
2447         (complex_vars_of_mule_charset): Move setting code for
2448         `Vchar_attribute_hash_table' to chartab.c.
2449
2450         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2451         (make_char_id_table): New prototype.
2452         (put_char_id_table): Likewise.
2453         (Fget_char_attribute): Likewise.
2454
2455         * chartab.c: Move char-id-table related code from mule-charset.c.
2456         (Vutf_2000_version): Moved from mule-charset.c.
2457
2458         * char-ucs.h (Qucs): New external variable.
2459         (put_char_ccs_code_point): New prototype.
2460         (remove_char_ccs): Likewise.
2461
2462 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2463
2464         * mule-charset.c (Vcharset_ucs_jis): New variable.
2465         (Qucs_jis): Likewise.
2466         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2467         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2468
2469         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2470
2471 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2472
2473         * mule-charset.c (map_over_uint8_byte_table): New function.
2474         (map_over_uint16_byte_table): Likewise.
2475         (map_over_byte_table): Likewise.
2476         (map_char_id_table): Likewise.
2477         (slow_map_char_id_table_fun): Likewise.
2478         (Fmap_char_attribute): Likewise.
2479         (syms_of_mule_charset): Add new function `map-char-attribute'.
2480
2481 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2482
2483         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2484         (syms_of_mule_charset): Add new function `find-char'.
2485
2486 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2487
2488         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2489         XEmacs UTF-2000.
2490         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2491         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2492         XEmacs UTF-2000.
2493         (complex_vars_of_mule_charset): Add new coded-charset
2494         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2495         `ideograph-gt-pj-*'.
2496
2497         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2498
2499 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2500
2501         * mule-charset.c (encode_builtin_char_1): Purge codes about
2502         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2503         {MIN|MAX}_CHAR_HEBREW.
2504         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2505         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2506
2507         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2508         (MAX_CHAR_GREEK): Purged.
2509         (MIN_CHAR_CYRILLIC): Purged.
2510         (MAX_CHAR_CYRILLIC): Purged.
2511         (MIN_CHAR_HEBREW): Commented out.
2512         (MAX_CHAR_HEBREW): Likewise.
2513
2514 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2515
2516         * mule-charset.c (Qto_ucs): New variable.
2517         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2518         (Fdefine_char): Likewise.
2519         (syms_of_mule_charset): Add new symbol `=>ucs'.
2520
2521 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (Fdecode_char): Fixed.
2524
2525 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2526
2527         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2528         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2529         "tcvn5712-1".
2530
2531 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2532
2533         * mule-charset.c (Vcharset_ucs_big5): New variable.
2534         (Qucs_big5): Likewise.
2535         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2536         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2537
2538         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2539
2540 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2541
2542         * mule-charset.c (decode_builtin_char): Check Big5 code range
2543         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2544
2545 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2546
2547         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2548         (Qchinese_gb12345): Likewise.
2549         (Fdecode_builtin_char): Fixed.
2550         (syms_of_mule_charset): Add `chinese-gb12345'.
2551         (complex_vars_of_mule_charset): Add coded-charset
2552         `chinese-gb12345'.
2553
2554         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2555         (LEADING_BYTE_CHINESE_GB12345): New macro.
2556
2557 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2558
2559         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2560         and `latin-viscii-upper' for `latin-viscii'.
2561
2562 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2563
2564         * mule-charset.c (Fdecode_builtin_char): Comment out
2565         regularization code for ISO-IR GR representation.
2566
2567 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2568
2569         * mule-charset.c (decode_builtin_char): New function; renamed from
2570         `make_builtin_char'; return -1 instead of signal.
2571         (Fdecode_builtin_char): Use `decode_builtin_char'.
2572
2573         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2574         `make_builtin_char'.
2575         (DECODE_CHAR): Use `decode_builtin_char' instead of
2576         `make_builtin_char'; use mapping table of `chinese-big5' for
2577         `chinese-big5-{1,2}'.
2578
2579 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2580
2581         * text-coding.c (char_encode_big5): New function.
2582         (char_finish_big5): Likewise.
2583         (reset_encoding_stream): Use `char_encode_big5' and
2584         `char_finish_big5' for CODESYS_BIG5.
2585         (mule_encode): Don't use `encode_coding_big5'.
2586         (encode_coding_big5): Deleted.
2587
2588 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2591         0x81- in XEmacs UTF-2000.
2592         (detect_coding_big5): Likewise.
2593
2594 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2595
2596         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2597         generate character-id if the CCS property does not have
2598         corresponding predefined character.
2599         (make_builtin_char): Return -1 if corresponding predefined
2600         character is not found.
2601         (Fdecode_char): Return nil if corresponding character is not
2602         found.
2603         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2604         don't map to builtin ucs space.
2605
2606 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2607
2608         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2609         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2610
2611 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2612
2613         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2614         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2615         (Qideograph_gt): Likewise.
2616         (Qideograph_gt_pj_{1..11}): Likewise.
2617         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2618         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2619         `ideograph-gt-pj-11'.
2620         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2621         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2622         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2623
2624         * char-ucs.h (LEADING_BYTE_GT): New macro.
2625         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2626         (MIN_CHAR_GT): Likewise.
2627         (MAX_CHAR_GT): Likewise.
2628
2629 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2630
2631         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2632         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2633
2634         * doprnt.c (unsigned_int_converters): Add `c'.
2635         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2636
2637         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2638         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2639         `MIN_CHAR_MOJIKYO'.
2640         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2641         (MAX_CHAR_MOJIKYO_0): New macro.
2642         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2643
2644 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2645
2646         * mule-charset.c (Fdefine_char): Delete cemented out code.
2647         (encode_builtin_char_1): Modify for new allocation of builtin
2648         Mojikyo characters.
2649
2650         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2651
2652 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2653
2654         * mule-charset.c (Vcharset_ucs_cns): New variable.
2655         (Qucs_cns): New variable.
2656         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2657         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2658
2659 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2660
2661         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2662
2663 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2664
2665         * search.c (search_buffer): Make `charset_base_code' as
2666         character-id >> 6 to eliminate the corresponding last byte in
2667         UTF-8 representation [I'm not sure it is right thing].
2668         (boyer_moore): Likewise.
2669
2670 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2671
2672         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2673         representation in MULE.
2674
2675 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2676
2677         * text-coding.c (Fmake_coding_system): Use
2678         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2679         `EXTERNAL_PROPERTY_LIST_LOOP'.
2680
2681 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2682
2683         * text-coding.c (decode_output_utf8_partial_char): New function.
2684         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2685
2686 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2687
2688         * text-coding.c (decode_coding_utf8): Output original byte
2689         sequence if it is broken; change order of conditions.
2690
2691         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2692         of conditions.
2693
2694         * mb-multibyte.h (BYTE_ASCII_P):
2695         Use bit ops for char-signedness safety.
2696         (BYTE_C0_P): Use bit ops for char-signedness safety.
2697         (BYTE_C1_P): Use bit ops for char-signedness safety.
2698
2699         * character.h: (XCHAR_OR_CHAR_INT):
2700         Always use inline function.
2701         Remove redundant type checking assert() - XINT will abort quite
2702         nicely.
2703
2704 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2705
2706         * text-coding.c: (Fencode_shift_jis_char):
2707         (Fencode_big5_char):
2708         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2709         Replace 0 with '\0' when working with bytes.
2710         Replace initial "(" with "\(" in docstrings.
2711
2712         (Fmake_coding_system):
2713         When type is ccl and value is vector, register it with a proper
2714         symbol.  And checks whether the given ccl program is valid.
2715         (mule_decode): When calling ccl_driver, if src indicates
2716         NULL pointer, set an empty string instead.
2717         (mule_encode): Likewise.
2718
2719         (detect_eol_type):
2720         (detect_coding_sjis):
2721         (decode_coding_sjis):
2722         (detect_coding_big5):
2723         (decode_coding_big5):
2724         (detect_coding_ucs4):
2725         (decode_coding_ucs4):
2726         (detect_coding_utf8):
2727         (decode_coding_utf8):
2728         (detect_coding_iso2022):
2729         (decode_coding_iso2022):
2730         (decode_coding_no_conversion):
2731         (mule_decode):
2732         Make all detecting and decoding functions take an Extbyte * arg.
2733         (text_encode_generic):
2734         (encode_coding_big5):
2735         (encode_coding_no_conversion):
2736         (mule_encode):
2737         Make all encoding functions take a Bufbyte * arg.
2738         Use size_t instead of unsigned int for memory sizes.
2739         Only cast to unsigned char whenever dereferencing Extbyte *.
2740
2741         (struct lrecord_description fcd_description_1): Use countof.
2742         (complex_vars_of_file_coding):
2743         Use countof instead of sizeof.
2744         Use CHECK_NATNUM instead of CHECK_INT.
2745
2746 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2747
2748         * mule-charset.c (Fget_char_attribute): Add new optional argument
2749         `default-value'.
2750         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2751         (remove_char_ccs): Likewise.
2752
2753 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2754
2755         * text-coding.c (char_encode_shift_jis): New implementation in
2756         UTF-2000.
2757         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2758         ...)'.
2759
2760         * mule-charset.c (Vcharset_chinese_big5): New variable in
2761         UTF-2000.
2762         (Qchinese_big5): New variable in UTF-2000.
2763         (BIG5_SAME_ROW): New macro in UTF-2000.
2764         (make_builtin_char): Use builtin characters of
2765         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2766         characters of `Vcharset_chinese_big5'.
2767         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2768         (complex_vars_of_mule_charset): Add new coded-charset
2769         `chinese-big5' in UTF-2000.
2770
2771         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2772         (Vcharset_chinese_big5): New external variable declaration.
2773         (Vcharset_japanese_jisx0208_1990): Likewise.
2774
2775 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2776
2777         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2778         function.
2779         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2780
2781 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2782
2783         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2784         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2785         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2786         `mojikyo-pj-*'.
2787
2788 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2789
2790         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2791
2792 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2793
2794         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2795         to 0.17.
2796
2797 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2798
2799         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2800         for `CHARSET_BY_ATTRIBUTES'.
2801         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2802         `CHARSET_BY_ATTRIBUTES'.
2803
2804         * text-coding.c (struct decoding_stream): Rename member `CH' to
2805         `CPOS'.
2806         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2807         (decode_coding_sjis): Likewise.
2808         (decode_coding_big5): Likewise.
2809         (decode_coding_ucs4): Likewise.
2810         (decode_coding_utf8): Likewise.
2811         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2812         `CHARSET_BY_ATTRIBUTES'.
2813         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2814         `str->counter'; decode 3, 4 bytes sets.
2815         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2816         sets.
2817         (decode_coding_no_conversion): Use `str->cpos' instead of
2818         `str->ch'.
2819
2820         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2821         (Qmojikyo_2022_1): New variable.
2822         (make_charset): Don't use `CHARSET_TYPE_*'.
2823         (range_charset_code_point): Support coded-charset
2824         `mojikyo-2022-1'.
2825         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2826         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2827         `CHARSET_BY_ATTRIBUTES'.
2828         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2829         `CHARSET_BY_ATTRIBUTES'.
2830         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2831         (complex_vars_of_mule_charset): Add new coded-charset
2832         `mojikyo-2022-1'.
2833
2834         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2835         interface; changed to inline function.
2836
2837         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2838         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2839         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2840         (CHARSET_TYPE_94): Deleted.
2841         (CHARSET_TYPE_94X94): Deleted.
2842         (CHARSET_TYPE_96): Deleted.
2843         (CHARSET_TYPE_96X96): Deleted.
2844         (CHARSET_TYPE_128): Deleted.
2845         (CHARSET_TYPE_128X128): Deleted.
2846         (CHARSET_TYPE_256): Deleted.
2847         (CHARSET_TYPE_256X256): Deleted.
2848         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2849         to inline function.
2850         (DECODE_MOJIKYO_2022): New inline function.
2851         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2852         `Vcharset_mojikyo_2022_1'.
2853
2854 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2855
2856         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2857         instead of `EQ'.
2858         (put_byte_table): Likewise.
2859         (char_id_table_equal): Use `get_byte_table' [new implementation].
2860
2861 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2862
2863         * mule-charset.c: Include <limits.h> in UTF-2000.
2864         (BT_UINT8_MIN): New macro in UTF-2000.
2865         (BT_UINT8_MAX): New macro in UTF-2000.
2866         (BT_UINT8_t): New macro in UTF-2000.
2867         (BT_UINT8_nil): New macro in UTF-2000.
2868         (BT_UINT8_unbound): New macro in UTF-2000.
2869         (INT_UINT8_P): New inline function in UTF-2000.
2870         (UINT8_VALUE_P): New inline function in UTF-2000.
2871         (UINT8_ENCODE): New inline function in UTF-2000.
2872         (UINT8_DECODE): New inline function in UTF-2000.
2873         (mark_uint8_byte_table): New function in UTF-2000.
2874         (print_uint8_byte_table): New function in UTF-2000.
2875         (uint8_byte_table_equal): New function in UTF-2000.
2876         (uint8_byte_table_hash): New function in UTF-2000.
2877         (make_uint8_byte_table): New function in UTF-2000.
2878         (uint8_byte_table_same_value_p): New function in UTF-2000.
2879         (BT_UINT16_MIN): New macro in UTF-2000.
2880         (BT_UINT16_MAX): New macro in UTF-2000.
2881         (BT_UINT16_t): New macro in UTF-2000.
2882         (BT_UINT16_nil): New macro in UTF-2000.
2883         (BT_UINT16_unbound): New macro in UTF-2000.
2884         (INT_UINT16_P): New inline function in UTF-2000.
2885         (UINT16_VALUE_P): New inline function in UTF-2000.
2886         (UINT16_ENCODE): New inline function in UTF-2000.
2887         (UINT16_DECODE): New inline function in UTF-2000.
2888         (UINT8_TO_UINT16): New inline function in UTF-2000.
2889         (mark_uint16_byte_table): New function in UTF-2000.
2890         (print_uint16_byte_table): New function in UTF-2000.
2891         (uint16_byte_table_equal): New function in UTF-2000.
2892         (uint16_byte_table_hash): New function in UTF-2000.
2893         (make_uint16_byte_table): New function in UTF-2000.
2894         (uint16_byte_table_same_value_p): New function in UTF-2000.
2895         (print_byte_table): New function in UTF-2000.
2896         (byte-table): Use `print_byte_table' as printer.
2897         (make_byte_table): Delete second argument `older'.
2898         (byte_table_same_value_p): New function in UTF-2000.
2899         (copy_byte_table): Deleted.
2900         (get_byte_table): New function in UTF-2000.
2901         (put_byte_table): New function in UTF-2000.
2902         (print_char_id_table): New function in UTF-2000.
2903         (char-id-table): Use `print_char_id_table' as printer.
2904         (make_char_id_table): Delete second argument `older'.
2905         (get_char_id_table): Use `get_byte_table [new implementation].
2906         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2907         implementation].
2908         (Ffind_char_attribute_table): New function in UTF-2000.
2909         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2910         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2911         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2912         (syms_of_mule_charset): Add new function
2913         `find-char-attribute-table' in UTF-2000.
2914
2915         * lrecord.h (enum lrecord_type): Add
2916         `lrecord_type_uint16_byte_table' and
2917         `lrecord_type_uint8_byte_table'.
2918
2919         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2920         (Lisp_Uint8_Byte_Table): New type.
2921         (XUINT8_BYTE_TABLE): New macro.
2922         (XSETUINT8_BYTE_TABLE): New macro.
2923         (UINT8_BYTE_TABLE_P): New macro.
2924         (GC_UINT8_BYTE_TABLE_P): New macro.
2925         (struct Lisp_Uint16_Byte_Table): New structure.
2926         (Lisp_Uint16_Byte_Table): New type.
2927         (XUINT16_BYTE_TABLE): New macro.
2928         (XSETUINT16_BYTE_TABLE): New macro.
2929         (UINT16_BYTE_TABLE_P): New macro.
2930         (GC_UINT16_BYTE_TABLE_P): New macro.
2931
2932 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2933
2934         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2935         (Vcharacter_ideographic_strokes_table): Deleted.
2936         (Vcharacter_total_strokes_table): Deleted.
2937         (Vcharacter_morohashi_daikanwa_table): Deleted.
2938         (Vcharacter_decomposition_table): Deleted.
2939         (Qname): Deleted because it is duplicated.
2940         (Qideographic_radical): Deleted.
2941         (Qideographic_strokes): Deleted.
2942         (Qtotal_strokes): Deleted.
2943         (Qmorohashi_daikanwa): Deleted.
2944         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2945         `ideographic-radical', `ideographic-strokes', `total-strokes',
2946         `morohashi-daikanwa' and `->decomposition'.
2947         (Fget_char_attribute): Likewise.
2948         (Fput_char_attribute): Likewise; use `make-vector' instead of
2949         `make_older_vector' for `->decomposition' value.
2950         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2951         `ideograph-daikanwa'.
2952         (syms_of_mule_charset): Delete builtin symbols `name',
2953         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2954         `morohashi-daikanwa'.
2955         (vars_of_mule_charset): Don't setup
2956         `Vcharacter_ideographic_radical_table',
2957         `Vcharacter_ideographic_strokes_table',
2958         `Vcharacter_total_strokes_table',
2959         `Vcharacter_morohashi_daikanwa_table' and
2960         `Vcharacter_decomposition_table'.
2961
2962 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2963
2964         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2965         `make_older_vector', `make_vector_newer_1' and
2966         `make_vector_newer'.
2967
2968         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2969         `make_older_vector' and `make_vector_newer'.
2970
2971         * config.h.in (HAVE_GGC): New macro.
2972
2973 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2974
2975         * mule-charset.c (struct char_attribute_list_closure): New
2976         structure in UTF-2000.
2977         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2978         (Fchar_attribute_list): Likewise.
2979         (Fset_charset_mapping_table): Use `make_vector_newer'.
2980         (Fdecode_builtin_char): New function in UTF-2000.
2981         (syms_of_mule_charset): Add new function `char-attribute-list' and
2982         `decode-builtin-char' in UTF-2000.
2983
2984         * lisp.h (make_vector_newer): New prototype.
2985
2986         * alloc.c (make_vector_newer_1): New function.
2987         (make_vector_newer): New function.
2988
2989 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2990
2991         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2992         50100)'.
2993
2994 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2995
2996         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2997         (Vcharacter_attribute_table): Deleted.
2998         (Vcharacter_name_table): Deleted.
2999         (put_char_attribute): Deleted.
3000         (remove_char_attribute): Deleted.
3001         (struct char_attribute_alist_closure): New structure.
3002         (add_char_attribute_alist_mapper): New function.
3003         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3004         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3005         (Fget_char_attribute): Likewise.
3006         (Fput_char_attribute): Likewise.
3007         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3008         of `remove_char_attribute'.
3009         (Fdefine_char): Return character.
3010         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3011         and `Vcharacter_name_table'.
3012         (complex_vars_of_mule_charset): Likewise
3013         `Vchar_attribute_hash_table'.
3014
3015 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3016
3017         * character.h (CHARC_CHARSET): New macro.
3018         (CHARC_CHARSET_ID): New macro.
3019         (CHARC_CODE_POINT): New macro.
3020         (CHARC_COLUMNS): New macro.
3021         (CHARC_TO_CHAR): New inline function.
3022         (CHARC_EQ): New inline function.
3023         (CHARC_ASCII_EQ): New inline function.
3024         (CHARC_IS_SPACE): New inline function.
3025         (ASCII_TO_CHARC): New inline function.
3026
3027         * char-ucs.h (encode_char_2): Deleted.
3028         (ENCODE_CHAR): Use `encode_char_1' again.
3029         (breakup_char_1): Likewise.
3030         (CHAR_TO_CHARC): New inline function.
3031
3032         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3033
3034 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3035
3036         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3037         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3038         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3039         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3040         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3041         `CHARC_IS_SPACE'.
3042         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3043
3044         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3045         `CHARC_CODE_POINT'.
3046         (x_output_display_block): Use `CHARC_CHARSET' and
3047         `CHARC_ASCII_EQ'.
3048
3049         * redisplay-tty.c (tty_output_display_block): Use
3050         `CHARC_ASCII_EQ'.
3051         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3052
3053         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3054
3055         * insdel.c (find_charsets_in_charc_string): Use
3056         `CHARC_CHARSET_ID'.
3057         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3058         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3059         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3060         (convert_charc_string_into_malloced_string): Likewise.
3061
3062 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3063
3064         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3065         instead of <Emchar_dynarr *> for buf; use
3066         `convert_bufbyte_string_into_charc_dynarr' instead of
3067         `convert_bufbyte_string_into_emchar_dynarr'; use
3068         `find_charsets_in_charc_string' instead of
3069         `find_charsets_in_emchar_string'.
3070
3071         * redisplay.h:
3072         - Include "character.h".
3073         (struct rune): New member `cglyph'; delete member `chr'.
3074
3075         * redisplay.c (redisplay_text_width_charc_string): New function;
3076         delete `redisplay_text_width_emchar_string'.
3077         (rtw_charc_dynarr): New variable; renamed from
3078         `rtw_emchar_dynarr'.
3079         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3080         `rtw_emchar_dynarr'; use
3081         `convert_bufbyte_string_into_charc_dynarr' instead of
3082         `convert_bufbyte_string_into_emchar_dynarr'; use
3083         `redisplay_text_width_charc_string' instead of
3084         `redisplay_text_width_emchar_string'.
3085         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3086         instead of `rtw_emchar_dynarr'; use
3087         `convert_bufbyte_string_into_charc_dynarr' instead of
3088         `convert_bufbyte_string_into_emchar_dynarr'.
3089         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3090         `redisplay_text_width_charc_string' instead of
3091         `redisplay_text_width_emchar_string'.
3092         (create_text_block): Modify for <struct rune> change.
3093         (generate_formatted_string_db): Likewise.
3094         (create_string_text_block): Likewise.
3095         (pixel_to_glyph_translation): Likewise.
3096
3097         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3098         instead of <const Emchar *>.
3099         (x_text_width): Likewise.
3100         (x_output_display_block): Use <Charc_dynarr *> instead
3101         <Emchar_dynarr *>; modify for <structure rune> change.
3102         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3103         *>.
3104
3105         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3106         <const Emchar *>; use `charc_string_displayed_columns' instead of
3107         `emchar_string_displayed_columns'.
3108         (tty_output_display_block): Use <Charc_dynarr *> instead of
3109         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3110         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3111         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3112         `tty_output_emchar_dynarr_dynarr'.
3113         (tty_output_charc_dynarr): New function; delete
3114         `tty_output_charc_dynarr'.
3115
3116         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3117         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3118         <Emchar_dynarr *> for buf; use
3119         `convert_bufbyte_string_into_charc_dynarr' instead of
3120         `convert_bufbyte_string_into_emchar_dynarr'.
3121
3122         * frame.c (title_string_charc_dynarr): New variable; renamed from
3123         `title_string_emchar_dynarr'.
3124         (generate_title_string): Use `title_string_charc_dynarr' instead
3125         of `title_string_emchar_dynarr'; use
3126         `convert_charc_string_into_malloced_string' instead of
3127         `convert_emchar_string_into_malloced_string'.
3128         (init_frame): Use `title_string_charc_dynarr' instead of
3129         `title_string_emchar_dynarr'.
3130
3131         * console.h:
3132         - Include "character.h".
3133         (struct console_methods): Use <const Charc *> instead of <const
3134         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3135         <Emchar_dynarr *> in output_string_method.
3136
3137         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3138         <Emchar_dynarr *>.
3139
3140         * console-stream.c (stream_text_width): Use <const Charc *>
3141         instead of <const Emchar *>.
3142
3143         * character.h (Charc_dynarr): New type.
3144
3145         * char-ucs.h (structure Charc): New structure; define new type
3146         `Charc'.
3147
3148         * char-lb.h (DECODE_CHAR): New inline function.
3149         (encode_char_1): New inline function.
3150         (ENCODE_CHAR): New macro.
3151         (structure Charc): New structure; define new type `Charc'.
3152
3153         * char-1byte.h (Vcharset_control_1): New macro.
3154         (Vcharset_latin_iso8859_1): New macro.
3155         (DECODE_CHAR): New inline function.
3156         (encode_char_1): New inline function.
3157         (ENCODE_CHAR): New macro.
3158         (structure Charc): New structure; define new type `Charc'.
3159
3160         * insdel.c (find_charsets_in_charc_string): New function; delete
3161         `find_charsets_in_emchar_string'.
3162         (charc_string_displayed_columns): New function; delete
3163         `emchar_string_displayed_columns'.
3164         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3165         `convert_bufbyte_string_into_emchar_dynarr'.
3166         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3167         `convert_charc_string_into_bufbyte_dynarr'.
3168         (convert_charc_string_into_malloced_string): New function; delete
3169         `convert_charc_string_into_malloced_string'.
3170
3171         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3172         `find_charsets_in_emchar_string'.
3173         (charc_string_displayed_columns): New prototype; delete
3174         `emchar_string_displayed_columns'.
3175         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3176         `convert_charc_string_into_bufbyte_dynarr'.
3177         (convert_charc_string_into_malloced_string): New prototype; delete
3178         `convert_charc_string_into_malloced_string'.
3179
3180 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3181
3182         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3183
3184 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3185
3186         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3187
3188         * char-ucs.h: Use <short> for <Charset_ID>.
3189
3190         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3191         <Charset_ID>.
3192
3193 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3194
3195         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3196         to 0.16.
3197
3198 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3199
3200         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3201         variable.
3202         (Qmorohashi_daikanwa): New variable.
3203         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3204         for `morohashi-daikanwa' attribute.
3205         (Fget_char_attribute): Likewise.
3206         (Fput_char_attribute): Likewise.
3207         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3208         has the same value of `ideograph-daikanwa'.
3209         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3210         (vars_of_mule_charset): Setup
3211         `Vcharacter_morohashi_daikanwa_table'.
3212
3213 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3214
3215         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3216         attributes.
3217         (add_charset_to_list_mapper): Add `key' instead of
3218         `XCHARSET_NAME (value)' to return aliases.
3219
3220 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3221
3222         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3223         variable.
3224         (Vcharacter_ideographic_strokes_table): New variable.
3225         (Qideographic_radical): New variable.
3226         (Qideographic_strokes): New variable.
3227         (Fchar_attribute_alist): Use
3228         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3229         attribute; use `Vcharacter_ideographic_strokes_table' for
3230         `ideographic-strokes' attribute.
3231         (Fget_char_attribute): Likewise.
3232         (Fput_char_attribute): Likewise.
3233         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3234         `ideographic-strokes'.
3235         (vars_of_mule_charset): Setup
3236         `Vcharacter_ideographic_radical_table' and
3237         `Vcharacter_ideographic_strokes_table'.
3238
3239 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3240
3241         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3242         (Qtotal_strokes): New variable.
3243         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3244         `total-strokes' attribute.
3245         (Fget_char_attribute): Likewise.
3246         (Fput_char_attribute): Likewise.
3247         (syms_of_mule_charset): Add new symbol `total-strokes'.
3248         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3249
3250 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3251
3252         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3253         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3254         are found.
3255         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3256         `->decomposition' attribute.
3257         (Fput_char_attribute): Likewise.
3258         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3259
3260 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3261
3262         * mule-charset.c (decoding_table_check_elements): New function.
3263         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3264
3265 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3266
3267         * mule-charset.c (Fset_charset_mapping_table): Use
3268         `put_char_ccs_code_point'.
3269
3270 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3271
3272         * mule-charset.c (decoding_table_put_char): New inline function.
3273         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3274
3275 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3276
3277         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3278         (XCHARSET_BYTE_SIZE): New macro.
3279         (decoding_table_remove_char): New inline function.
3280         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3281         `decoding_table_remove_char'.
3282         (remove_char_ccs): Use `decoding_table_remove_char'.
3283         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3284
3285 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3286
3287         * mule-charset.c (Vcharacter_name_table): New variable.
3288         (Qname): New variable.
3289         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3290         attribute.
3291         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3292         `Vcharacter_name_table' for `name' attribute.
3293         (Fremove_char_attribute): Use function `remove_char_ccs'.
3294         (put_char_ccs_code_point): New function.
3295         (remove_char_ccs): New function.
3296         (syms_of_mule_charset): Add new symbol `name'.
3297         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3298
3299 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3300
3301         * mule-charset.c (make_byte_table): Add new argument `older'.
3302         (make_char_id_table): Likewise.
3303         (copy_char_id_table): Comment out because it is not used.
3304         (put_char_id_table): Modify for `make_byte_table'.
3305         (Fput_char_attribute): Make encoding_table as older object;
3306         inherit older bit of `Vcharacter_composition_table'.
3307         (mark_charset): Don't mark `cs->encoding_table'.
3308         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3309         normal object; make `Vcharacter_composition_table' as an older
3310         object; delete staticpro for `Vcharacter_composition_table'; make
3311         `Vcharacter_variant_table' as a normal object.
3312
3313         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3314         (mark_object): Don't check older object in UTF-2000.
3315
3316         * lrecord.h (struct lrecord_header): Add new member `older' in
3317         UTF-2000.
3318         (set_lheader_implementation): Setup `SLI_header->older' in
3319         UTF-2000.
3320         (set_lheader_older_implementation): New macro in UTF-2000.
3321         (OLDER_RECORD_P): New macro in UTF-2000.
3322         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3323         (alloc_older_lcrecord): New prototype in UTF-2000.
3324         (alloc_older_lcrecord_type): New macro in UTF-2000.
3325
3326 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3327
3328         * mule-charset.c (byte_table_description): Use
3329         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3330         (char_id_table_description): Delete bogus `, 1'.
3331         (Fget_char_attribute): Refer encoding_table of each coded-charset
3332         to get value of coded-charset attribute of a character.
3333         (Fput_char_attribute): Use `make_older_vector' instead of
3334         `make_vector'; use encoding_table of each coded-charset to store
3335         value of coded-charset attribute of a character.
3336         (Fremove_char_attribute): Use encoding_table of each coded-charset
3337         to store value of coded-charset attribute of a character.
3338         (mark_charset): Mark `cs->encoding_table'; don't mark
3339         `cs->decoding_table'.
3340         (charset_description): Add description of new member
3341         `encoding_table'.
3342         (make_charset): Initialize `encoding_table'.
3343
3344         * char-ucs.h (struct Lisp_Charset): Add new member
3345         `encoding_table'.
3346         (CHARSET_ENCODING_TABLE): New macro.
3347         (XCHARSET_ENCODING_TABLE): New macro.
3348         (charset_code_point): New implementation.
3349         (encode_char_1): Likewise.
3350
3351         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3352         (disksave_object_finalization_1): Call finalizers of
3353         `all_older_lcrecords' in UTF-2000.
3354         (make_older_vector): New function in UTF-2000.
3355         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3356         UTF-2000.
3357
3358         * lisp.h (make_older_vector): New prototype in UTF-2000.
3359
3360 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3361
3362         * lrecord.h (enum lrecord_type): Rename
3363         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3364
3365         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3366         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3367         `get_char_code_table'.
3368
3369         * mule-charset.c (mark_char_id_table): Renamed from
3370         `mark_char_code_table'.
3371         (char_id_table_equal): Renamed from `char_code_table_equal'.
3372         (char_id_table_hash): Renamed from `char_code_table_hash'.
3373         (make_char_id_table): Renamed from `make_char_code_table'.
3374         (copy_char_id_table): Renamed from `copy_char_code_table'.
3375         (get_char_id_table): Renamed from `get_char_code_table'.
3376         (put_char_id_table): Renamed from `put_char_code_table'.
3377         (to_char_id): Renamed from `to_char_code'.
3378
3379         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3380         `Lisp_Char_Code_Table'.
3381         (char_id_table): Renamed from `char_code_table'.
3382         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3383         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3384         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3385         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3386         (get_char_id_table): Renamed from `get_char_code_table'.
3387
3388 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3389
3390         * lrecord.h (enum lrecord_type): Rename
3391         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3392
3393         * mule-charset.c (mark_byte_table): Renamed from
3394         `mark_char_byte_table'.
3395         (byte_table_equal): Renamed from `char_byte_table_equal'.
3396         (byte_table_hash): Renamed from `byte_table_hash'.
3397         (make_byte_table): Renamed from `make_byte_table'.
3398         (copy_byte_table): Renamed from `copy_char_byte_table'.
3399
3400         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3401         `Lisp_Char_Byte_Table'.
3402         (byte_table): Renamed from `char_byte_table'.
3403         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3404         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3405         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3406         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3407
3408 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3409
3410         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3411         (dfc_convert_to_internal_format): Likewise.
3412         
3413         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3414         * text-coding.c (Fcoding_system_alias_p): New function.
3415         * text-coding.c (Fcoding_system_aliasee): New function.
3416         * text-coding.c (append_suffix_to_symbol): New function.
3417         * text-coding.c (dangling_coding_system_alias_p): New function.
3418         * text-coding.c (Ffind_coding_system):
3419         * text-coding.c (Fcopy_coding_system):
3420         * text-coding.c (encode_coding_no_conversion):
3421         * text-coding.c (syms_of_file_coding):
3422         * text-coding.c (vars_of_file_coding):
3423         Rewrite coding system alias code.
3424         Allow nested aliases, like symbolic links.
3425         Allow redefinition of coding system aliases.
3426         Prevent existence of dangling coding system aliases.
3427         Eliminate convert_to_external_format.
3428         Eliminate convert_to_internal_format.
3429         
3430         * text-coding.c: Change enum eol_type to eol_type_t.
3431
3432 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3433
3434         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3435         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3436
3437         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3438         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3439
3440 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3441
3442         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3443         `ideograph-daikanwa'.
3444
3445         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3446         (Vcharset_ucs_bmp): Likewise.
3447         (Vcharset_mojikyo): Add new extern variable definition.
3448         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3449         (Vcharset_latin_iso8859_3): Likewise.
3450         (Vcharset_latin_iso8859_4): Likewise.
3451         (Vcharset_latin_iso8859_9): Likewise.
3452         (Vcharset_latin_viscii_lower): Likewise.
3453         (Vcharset_latin_viscii_upper): Likewise.
3454         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3455         `mojikyo' code-point is used to decode.
3456         (encode_char_2): New function [to convert `mojikyo' code-point to
3457         Mojikyo font encoding].
3458         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3459         (breakup_char_1): Likewise.
3460         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3461
3462 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3463
3464         * text-coding.c (Fmake_coding_system): Add document about
3465         `disable-composition' property.
3466
3467 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3468
3469         * text-coding.c (Qdisable_composition): New variable; delete
3470         `Qcomposite'.
3471         (Fmake_coding_system): Add new property `disable-composite';
3472         delete property `composite'.
3473         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3474         instead of `!CODING_SYSTEM_COMPOSITE'.
3475         (syms_of_file_coding): Add new symbol `disable-composition';
3476         delete symbol `composite'.
3477
3478         * file-coding.h (struct Lisp_Coding_System): Add
3479         `disable_composition'; delete `enable_composition'.
3480         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3481         `CODING_SYSTEM_COMPOSITE'.
3482         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3483         `XCODING_SYSTEM_COMPOSITE'.
3484
3485 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3486
3487         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3488         to 0.15.
3489
3490 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3491
3492         * text-coding.c (Qcomposite): New variable.
3493         (Fmake_coding_system): Add new property `composite'.
3494         (struct decoding_stream): Add `combined_char_count',
3495         `combined_chars' and `combining_table' in UTF-2000.
3496         (COMPOSE_FLUSH_CHARS): New macro.
3497         (COMPOSE_ADD_CHAR): New macro.
3498         (reset_decoding_stream): Reset `str->combined_char_count' and
3499         `str->combining_table' in UTF-2000.
3500         (decode_coding_iso2022): Modify for character-decomposition.
3501         (syms_of_file_coding): Add new symbol `composite'.
3502
3503 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3504
3505         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3506         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3507         of `Vcharacter_composition_table' if `->decomposition' property
3508         has only 1 element.
3509         (Qlatin_tcvn5712): New variable.
3510         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3511         (complex_vars_of_mule_charset): Add new coded-charset
3512         `latin-tcvn5712'.
3513
3514         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3515
3516 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3517
3518         * file-coding.h (struct Lisp_Coding_System): Add
3519         `enable_composition'.
3520         (CODING_SYSTEM_COMPOSITE): New macro.
3521         (XCODING_SYSTEM_COMPOSITE): New macro.
3522
3523 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3524
3525         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3526
3527 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3528
3529         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3530         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3531
3532 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3533
3534         * mule-charset.c (Vcharset_mojikyo): New variable.
3535         (Fdefine_char): Don't use coded-charset which does not have
3536         non-builtin character range to allocate character-id.
3537         (Qmojikyo): New variable.
3538         (syms_of_mule_charset): Add new symbol `mojikyo'.
3539         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3540
3541         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3542         (LEADING_BYTE_MOJIKYO): New macro.
3543         (MIN_CHAR_MOJIKYO): New macro.
3544         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3545         (MAX_CHAR_MOJIKYO): New macro.
3546
3547 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3548
3549         * mule-charset.c (remove_char_attribute): Fixed.
3550
3551 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3552
3553         * mule-charset.c (remove_char_attribute): New function.
3554         (Fremove_char_attribute): New function.
3555         (encode_builtin_char_1): Comment out builtin-support for
3556         greek-iso8859-7 and cyrillic-iso8859-5.
3557         (Fdecode_char): Check `code' is an integer.
3558         (syms_of_mule_charset): Add `remove-char-attribute'.
3559         (MIN_CHAR_GREEK): Deleted.
3560         (MAX_CHAR_GREEK): Likewise.
3561         (MIN_CHAR_CYRILLIC): Likewise.
3562         (MAX_CHAR_CYRILLIC): Likewise.
3563         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3564         MAX_CHAR_GREEK for `greek-iso8859-7'.
3565
3566         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3567         (MAX_CHAR_GREEK): Likewise.
3568         (MIN_CHAR_CYRILLIC): Likewise.
3569         (MAX_CHAR_CYRILLIC): Likewise.
3570
3571 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3572
3573         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3574         format is used without `ucs' property.
3575         (Fdecode_char): Fix problem with GR representation.
3576         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3577         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3578
3579 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3580
3581         * mule-charset.c (make_builtin_char): New function.
3582         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3583         (Fset_charset_mapping_table): Modify for new representation of
3584         code-point.
3585         (Fdecode_char): New function.
3586         (syms_of_mule_charset): Add new builtin function `decode-char' in
3587         UTF-2000.
3588
3589         * char-ucs.h (make_builtin_char): New prototype.
3590         (DECODE_CHAR): New inline function.
3591         (MAKE_CHAR): Use `DECODE_CHAR'.
3592
3593 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3594
3595         * text-coding.c (parse_charset_conversion_specs): Use
3596         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3597         `XCHARSET_TYPE'.
3598         (iso2022_designate): Likewise.
3599
3600         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3601         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3602
3603         * mule-charset.c (Vcharset_ucs): New variable.
3604         (print_charset): Change design; use `CHARSET_CHARS' and
3605         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3606         (make_charset): Change signature to specify `chars' and
3607         `dimension' instead of `type'.
3608         (range_charset_code_point): Modify for 256^n-set.
3609         (encode_builtin_char_1): Encode as `ucs' in default.
3610         (Fmake_charset): Modify for `make_charset'.
3611         (Fmake_reverse_direction_charset): Likewise.
3612         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3613         UTF-2000.
3614         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3615         for `make_charset'.
3616
3617         * char-ucs.h (Vcharset_ucs): New variable.
3618         (LEADING_BYTE_UCS): New macro.
3619         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3620         and `chars' to `unsigned short' from `unsigned int'.
3621         (CHARSET_TYPE): Deleted.
3622         (XCHARSET_TYPE): Deleted.
3623
3624 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3625
3626         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3627
3628         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3629         (ENCODE_CHAR): New macro.
3630
3631 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3632
3633         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3634         to 0.14 (Kawachi-Katakami).
3635
3636 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3637
3638         * text-coding.c (char_encode_shift_jis): Modify for
3639         `charset_code_point'.
3640         (char_encode_iso2022): Likewise.
3641
3642         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3643         (integer) instead of list of <Lisp_Object>s (integers) as the
3644         format of code-point of a coded-charset.
3645         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3646         (encode_builtin_char_1): New function; delete
3647         `split_builtin_char'.
3648         (charset_code_point): Return <int> instead of <Lisp_Object>.
3649         (Fsplit_char): Don't use `SPLIT_CHAR'.
3650
3651         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3652         prototype for `split_builtin_char'.
3653         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3654         (charset_code_point): Likewise.
3655         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3656         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3657
3658 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3659
3660         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3661         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3662
3663 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3664
3665         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3666
3667         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3668         (MAX_CHAR_OBS_94x94): Deleted.
3669
3670 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3671
3672         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3673
3674         * char-ucs.h (MAX_CHAR_BMP): New macro.
3675
3676 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3677
3678         * text-coding.c: Sync with r21-2-24.
3679
3680 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3681
3682         * file-coding.c: Modify for UTF-2000.
3683
3684 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3685
3686         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3687         to 0.13 (Takaida).
3688
3689 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3690
3691         * mule-charset.c (split_builtin_char): Delete builtin support for
3692         `katakana-jisx0201'.
3693         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3694         BMP area in builtin representation.
3695
3696         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3697         `Vcharset_katakana_jisx0201'.
3698
3699 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3700
3701         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3702         (Qisolated): New variable.
3703         (Qinitial): New variable.
3704         (Qmedial): New variable.
3705         (Qfinal): New variable.
3706         (Qvertical): New variable.
3707         (Qsmall): New variable.
3708         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3709         `Qvertical' and `Qsmall'.
3710         (Qmojikyo_pj_[1 .. 21]): New variable.
3711         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3712         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3713         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3714         .. 21]'.
3715
3716 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3717
3718         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3719         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3720         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3721
3722 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3723
3724         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3725         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3726         BMP.
3727         (Qjapanese_jisx0208_1990): New variable.
3728         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3729         (complex_vars_of_mule_charset): Add new coded-charset
3730         `japanese-jisx0208-1990'.
3731
3732         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3733         (MIN_CHAR_JIS_X0208_1990): New macro.
3734         (MAX_CHAR_JIS_X0208_1990): New macro.
3735
3736 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3737
3738         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3739         coded-charset is not found.
3740
3741 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3742
3743         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3744         (Fdefine_char): Use `Fmake_char'.
3745
3746 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3747
3748         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3749         (Vcharset_hiragana_jisx0208): Deleted.
3750         (Vcharset_katakana_jisx0208): Deleted.
3751         (Qideograph_daikanwa): New variable.
3752         (Qhiragana_jisx0208): Deleted.
3753         (Qkatakana_jisx0208): Deleted.
3754         (split_builtin_char): Split `ideograph-daikanwa'.
3755         (Fsplit_char): New implementation for UTF-2000.
3756         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3757         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3758         (complex_vars_of_mule_charset): Add new coded-charset
3759         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3760         `katakana-jisx0208'.
3761
3762         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3763         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3764         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3765         (MIN_CHAR_DAIKANWA): New macro.
3766         (MAX_CHAR_DAIKANWA): New macro.
3767
3768 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3769
3770         * data.c (Fstring_to_number): Don't recognize floating point if
3771         base is not 10.
3772
3773 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3774
3775         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3776
3777 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3778
3779         * mule-charset.c (Qsquare): New variable.
3780         (to_char_code): Add `Qsquare'.
3781         (syms_of_mule_charset): Add new symbol `square'.
3782
3783 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3784
3785         * mule-charset.c (Qcircle): New variable.
3786         (to_char_code): Add `Qcircle'.
3787         (syms_of_mule_charset): Add new symbol `circle'.
3788
3789 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3790
3791         * mule-charset.c (Qfont): New variable.
3792         (to_char_code): Add `Qfont'.
3793         (syms_of_mule_charset): Add new symbol `font'.
3794
3795 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3796
3797         * mule-charset.c (Qsub): New variable.
3798         (to_char_code): Add `Qsub'.
3799         (syms_of_mule_charset): Add new symbol `sub'.
3800
3801 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3802
3803         * mule-charset.c (Fput_char_attribute): Convert each element of
3804         VALUE to GL position if ATTRIBUTE is a GR-set,
3805
3806 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3807
3808         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3809         coded-charset is a GR-set.
3810
3811 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3812
3813         * mule-charset.c (Fput_char_attribute): Check each element of
3814         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3815
3816 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3817
3818         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3819         UTF-2000.
3820         (Qethiopic_ucs): New variable in UTF-2000.
3821         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3822         (complex_vars_of_mule_charset): Add new coded-charset
3823         `ethiopic-ucs' in UTF-2000.
3824
3825         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3826         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3827         9)'.
3828         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3829         10)'.
3830         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3831
3832 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3833
3834         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3835         `ascii'.
3836
3837 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3838
3839         * mule-charset.c (Vcharacter_variant_table): New variable.
3840         (Q_ucs): New variable.
3841         (Fchar_variants): New function.
3842         (Fput_char_attribute): Register `->ucs' value to
3843         `Vcharacter_variant_table'.
3844         (syms_of_mule_charset): Add new function `char-variants' and new
3845         symbol `->ucs'.
3846         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3847
3848 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3849
3850         * mule-charset.c (get_char_code_table): Allow negative character
3851         code.
3852         (put_char_code_table): Likewise.
3853         (Vcharacter_composition_table): New variable.
3854         (Q_decomposition): New variable.
3855         (Qwide): New variable.
3856         (Qnarrow): New variable.
3857         (Qcompat): New variable.
3858         (QnoBreak): New variable.
3859         (Qsuper): New variable.
3860         (Qfraction): New variable.
3861         (to_char_code): New function.
3862         (Fget_composite_char): New function.
3863         (Fput_char_attribute): Register `->decomposition' value to
3864         `Vcharacter_composition_table'.
3865         (syms_of_mule_charset): Add new function `get-composite-char', new
3866         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3867         `super' and `fraction'.
3868         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3869
3870 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3871
3872         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3873         character; copy the return value.
3874
3875 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3876
3877         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3878
3879         * mule-charset.c (range_charset_code_point): Must use make_int.
3880         (split_builtin_char): New function.
3881
3882 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3883
3884         * mule-charset.c (char_byte_table): Change name from
3885         "char-code-table" to "char-byte-table".
3886         (mark_char_code_table): New function.
3887         (char_code_table_equal): New function.
3888         (char_code_table_hash): New function.
3889         (char_code_table_description): New constant.
3890         (char_code_table): New type.
3891         (make_char_code_table): New function.
3892         (copy_char_code_table): New function.
3893         (get_char_code_table): Modify for `char_code_table' type.
3894         (put_char_code_table): Likewise.
3895         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3896         (Kashiwara).
3897
3898         * char-ucs.h (char_code_table): New type.
3899         (XCHAR_CODE_TABLE): New macro.
3900         (XSETCHAR_CODE_TABLE): New macro.
3901         (CHAR_CODE_TABLE_P): New macro.
3902         (GC_CHAR_CODE_TABLE_P): New macro.
3903         (struct Lisp_Char_Code_Table): New structure.
3904
3905 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3906
3907         * mule-charset.c (Fmake_charset): Setup byte_offset for
3908         {94|96}^n-set.
3909
3910 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3911
3912         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3913         character.
3914
3915 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3916
3917         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3918         is found.
3919
3920 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3921
3922         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3923         charset, it is regarded as a charset.
3924         (put_char_attribute): New function in UTF-2000.
3925         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3926         charset, mapping-table of the charset is modified.
3927         (Fdefine_char): New function in UTF-2000.
3928         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3929         `Fput_char_attribute'.
3930         (syms_of_mule_charset): Add new function `define-char' and new
3931         symbol `ucs' in UTF-2000.
3932         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3933
3934 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3935
3936         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3937         non-UTF-2000 configuration.
3938
3939 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3940
3941         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3942         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3943
3944         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3945         deleted.
3946         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3947         (Fset_charset_mapping_table): Likewise.
3948
3949         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3950         (CHARSET_ENCODING_TABLE): Delete.
3951         (XCHARSET_ENCODING_TABLE): Delete.
3952         (charset_code_point): New interface.
3953
3954 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3955
3956         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3957         instead of `charset_get_byte1' and `charset_get_byte2'.
3958
3959         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3960         (charset_get_byte2): Deleted.
3961
3962 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3963
3964         * char-ucs.h (SPLIT_CHAR): New inline function.
3965         (breakup_char_1): Use `SPLIT_CHAR'.
3966
3967         * mule-charset.c (range_charset_code_point): New function.
3968         (charset_code_point): New function.
3969
3970         * char-ucs.h (range_charset_code_point): New interface.
3971         (breakup_char_1): Use `range_charset_code_point'.
3972
3973 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3974
3975         * mule-charset.c (Fmake_charset): Delete unused local variable
3976         `code_offset'.
3977
3978         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3979         (breakup_char_1): Find a charset and code-point in
3980         `Vcharacter_attribute_table'.
3981
3982 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3983
3984         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3985         to 0.10 (Yao).
3986
3987 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3988
3989         * mule-charset.c (Vcharacter_attribute_table): New variable.
3990         (Fchar_attribute_alist): New function.
3991         (Fget_char_attribute): New function.
3992         (Fput_char_attribute): New function.
3993         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3994         too.
3995         (syms_of_mule_charset): Add new function `char-attribute-alist',
3996         `get-char-attribute' and `put-char-attribute'.
3997         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3998
3999 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4000
4001         * mule-charset.c (Fmake_charset): Just use
4002         `get_unallocated_leading_byte'.
4003
4004         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4005         sets; don't use final-byte based number for private sets.
4006
4007 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4008
4009         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4010         integer.
4011
4012 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4013
4014         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4015         to 0.9.
4016
4017 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4018
4019         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4020         of `CHAR_LEADING_BYTE' in UTF-2000.
4021
4022         * insdel.c (find_charsets_in_bufbyte_string): Use
4023         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4024         (find_charsets_in_emchar_string): Likewise.
4025
4026         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4027         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4028
4029         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4030         (CHAR_CHARSET_ID): New macro.
4031
4032 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4033
4034         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4035         charset-id - MIN_LEADING_BYTE.
4036         (put_char_table): Likewise.
4037
4038 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4039
4040         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4041         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4042         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4043         (CHARSET_ID_OFFSET): New macro.
4044         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4045         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4046         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4047         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4048         4).
4049         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4050         5).
4051         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4052         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4053         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4054         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4055         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4056
4057 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4058
4059         * mule-charset.c (next_allocated_leading_byte): New variable in
4060         UTF-2000.
4061         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4062         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4063         (get_unallocated_leading_byte): Simply use
4064         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4065         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4066         UTF-2000.
4067
4068         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4069         (MAX_LEADING_BYTE_PRIVATE): New macro.
4070         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4071         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4072
4073 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4074
4075         * mule-charset.c (Fmake_charset): Allocate final-byte based
4076         charset-id for 94-set, 96-set and 94x94-set.
4077
4078 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4079
4080         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4081         ambiguous `else'.
4082         (Fmake_charset): Likewise.
4083         (complex_vars_of_mule_charset): Modify the font registry of
4084         `ucs-bmp' not to match `Ethiopic-Unicode'.
4085
4086 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4087
4088         * mule-charset.c (complex_vars_of_mule_charset): Add font
4089         registory of `ucs-bmp'.
4090
4091 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4092
4093         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4094         coded-charsets in `default-coded-charset-priority-list' when
4095         breaking up a character.
4096
4097         * mule-charset.c (Vcharset_latin_viscii): New variable.
4098         (Qlatin_viscii): New variable.
4099         (make_charset): Don't use `decoding_table'.
4100         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4101         byte_offset.
4102         (Fset_charset_mapping_table): New implementation.
4103         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4104         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4105         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4106         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4107         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4108         charset `latin_viscii'.
4109
4110         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4111         (CHARSET_TYPE_94X94): Change to 1 from 2.
4112         (CHARSET_TYPE_96): Change to 2 from 1.
4113         (CHARSET_TYPE_128): New macro.
4114         (CHARSET_TYPE_128X128): Change to 5 from 4.
4115         (CHARSET_TYPE_256): New macro.
4116         (CHARSET_TYPE_256X256): Change to 7 from 5.
4117         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4118
4119 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4120
4121         * text-coding.c (char_encode_shift_jis): Refer
4122         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4123         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4124
4125         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4126         (char_byte_table_equal): New function in UTF-2000.
4127         (char_byte_table_hash): New function in UTF-2000.
4128         (char_byte_table_description): New constant in UTF-2000.
4129         (char_byte_table): New type in UTF-2000.
4130         (make_char_byte_table): New function in UTF-2000.
4131         (copy_char_byte_table): New function in UTF-2000.
4132         (make_char_code_table): New macro in UTF-2000.
4133         (get_char_code_table): New function in UTF-2000.
4134         (put_char_code_table): New function in UTF-2000.
4135         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4136         (charset_description): Add setting in UTF-2000.
4137         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4138         `CHARSET_TO_BYTE1_TABLE(cs)'.
4139         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4140         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4141         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4142         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4143         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4144         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4145         `CHARSET_TO_BYTE2_TABLE(cs)'.
4146
4147         * char-ucs.h (char_byte_table): New type.
4148         (XCHAR_BYTE_TABLE): New macro.
4149         (XSETCHAR_BYTE_TABLE): New macro.
4150         (CHAR_BYTE_TABLE_P): New macro.
4151         (GC_CHAR_BYTE_TABLE_P): New macro.
4152         (struct Lisp_Char_Byte_Table): New structure.
4153         (get_char_code_table): New interface.
4154         (Emchar_to_byte_table): Deleted.
4155         (get_byte_from_character_table): Deleted.
4156         (struct Lisp_Charset): Add `encoding_table'; delete
4157         `to_byte1_table' and `to_byte2_table'.
4158         (CHARSET_ENCODING_TABLE): New macro.
4159         (CHARSET_TO_BYTE1_TABLE): Deleted.
4160         (CHARSET_TO_BYTE2_TABLE): Deleted.
4161         (XCHARSET_ENCODING_TABLE): New macro.
4162         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4163         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4164
4165 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4166
4167         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4168         `vietnamese-viscii-*'.
4169
4170 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4171
4172         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4173         (Qvietnamese_viscii_upper): New variable.
4174         (Fdefine_charset_alias): New function.
4175         (syms_of_mule_charset): Add new function `define-charset-alias'.
4176         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4177         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4178         `latin-viscii-*'.
4179
4180 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4181
4182         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4183         (MAX_CHAR_OBS_94x94): New macro.
4184         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4185         for 94x94 sets.
4186
4187         * mule-charset.c (put_byte_from_character_table): Change unit size
4188         from 128 to 256.
4189         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4190         not defined.
4191         (Fmake_reverse_direction_charset): Modify dummy argument of
4192         `make_charset' for non-UTF-2000 environment.
4193
4194 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4195
4196         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4197
4198         * mule-charset.c (destroy_byte_from_character_table): New macro.
4199         (latin_jisx0201_to_ucs): Deleted.
4200         (latin_iso8859_2_to_ucs): Deleted.
4201         (latin_iso8859_3_to_ucs): Deleted.
4202         (latin_iso8859_4_to_ucs): Deleted.
4203         (latin_iso8859_9_to_ucs): Deleted.
4204         (latin_viscii_lower_to_ucs): Deleted.
4205         (latin_viscii_upper_to_ucs): Deleted.
4206         (mark_charset): Mark `cs->decoding_table'.
4207         (Fcharset_mapping_table): Fix DOC-string.
4208         (Fset_charset_mapping_table): New function.
4209         (syms_of_mule_charset): Add nwe function
4210         `set-charset-mapping-table'.
4211         (complex_vars_of_mule_charset): Don't setup and use
4212         `latin_*_to_ucs'.
4213
4214 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4215
4216         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4217         charset.
4218
4219 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4220
4221         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4222         (Vcharset_katakana_jisx0208): New variable.
4223         (Qhiragana_jisx0208): New variable.
4224         (Qkatakana_jisx0208): New variable.
4225         (make_charset): Add new argument `byte_offset'.
4226         (charset_get_byte1): Modify for new coded-charset definition; use
4227         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4228         `XCHARSET_BYTE_OFFSET'.
4229         (Fmake_charset): Modify for `make_charset'.
4230         (Fmake_reverse_direction_charset): Likewise.
4231         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4232         `katakana-jisx0208'.
4233         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4234         `.'  in font registry of charset `katakana-jisx0201',
4235         `latin-jisx0201', `vietnamese-viscii-lower' and
4236         `vietnamese-viscii-upper'; modify DOC-string of charset
4237         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4238         registry of charset `japanese-jisx0208' not to use font for JIS
4239         X0208:1990; add new charset `hiragana-jisx0208' and
4240         `katakana-jisx0208'.
4241
4242         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4243         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4244         (struct Lisp_Charset): Add `byte_offset'.
4245         (CHARSET_BYTE_OFFSET): New macro.
4246         (XCHARSET_UCS_MIN): New macro.
4247         (XCHARSET_UCS_MAX): New macro.
4248         (XCHARSET_CODE_OFFSET): New macro.
4249         (XCHARSET_BYTE_OFFSET): New macro.
4250         (MIN_CHAR_HIRAGANA): New macro.
4251         (MAX_CHAR_HIRAGANA): New macro.
4252         (MIN_CHAR_KATAKANA): New macro.
4253         (MAX_CHAR_KATAKANA): New macro.
4254         (MAKE_CHAR): Modify for new coded-charset definition; use
4255         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4256         `XCHARSET_BYTE_OFFSET'.
4257
4258 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4259
4260         * mule-charset.c (CHAR96): Deleted.
4261         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4262         <Lisp_Object>.
4263         (latin_iso8859_2_to_ucs): Likewise.
4264         (latin_iso8859_3_to_ucs): Likewise.
4265         (latin_iso8859_4_to_ucs): Likewise.
4266         (latin_iso8859_9_to_ucs): Likewise.
4267         (latin_viscii_lower_to_ucs): Likewise.
4268         (latin_viscii_upper_to_ucs): Likewise.
4269         (latin_tcvn5712_to_ucs): Commented out.
4270         (make_charset): Change type of argument `decoding_table' from
4271         <Emchar*> to <Lisp_Object> [vector of characters].
4272         (Fmake_charset): Modify for `make_charset'.
4273         (Fmake_reverse_direction_charset): Likewise.
4274         (Fcharset_mapping_table): New function in UTF-2000.
4275         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4276         UTF-2000.
4277         (complex_vars_of_mule_charset): Modify for type change of
4278         `*_to_ucs'; modify for `make_charset'.
4279
4280         * char-ucs.h (struct Lisp_Charset): Change type of
4281         `decoding_table' from <Emchar*> to <Lisp_Object>.
4282         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4283
4284 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4285
4286         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4287         error with non-UTF-2000-Mule.
4288
4289 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4290
4291         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4292         in lisp again].
4293         (Vcharset_chinese_cns11643_4): Likewise.
4294         (Vcharset_chinese_cns11643_5): Likewise.
4295         (Vcharset_chinese_cns11643_6): Likewise.
4296         (Vcharset_chinese_cns11643_7): Likewise.
4297         (Qchinese_cns11643_3): Likewise.
4298         (Qchinese_cns11643_4): Likewise.
4299         (Qchinese_cns11643_5): Likewise.
4300         (Qchinese_cns11643_6): Likewise.
4301         (Qchinese_cns11643_7): Likewise.
4302         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4303         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4304         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4305         (complex_vars_of_mule_charset): Likewise.
4306
4307 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4308
4309         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4310         96-set.
4311         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4312         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4313
4314 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4315
4316         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4317         0xFF60.
4318         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4319         (breakup_char_1): Likewise.
4320
4321         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4322         one of them includes the specified character.
4323
4324 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4325
4326         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4327
4328 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4329
4330         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4331
4332 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4333
4334         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4335         definition for non-UTF-2000 Mule.
4336         (latin_iso8859_3_to_ucs): Likewise.
4337         (latin_iso8859_4_to_ucs): Likewise.
4338         (latin_iso8859_9_to_ucs): Likewise.
4339         (latin_jisx0201_to_ucs): Likewise.
4340         (MIN_CHAR_THAI): Likewise.
4341         (MAX_CHAR_THAI): Likewise.
4342         (MIN_CHAR_GREEK): Likewise.
4343         (MAX_CHAR_GREEK): Likewise.
4344         (MIN_CHAR_HEBREW): Likewise.
4345         (MAX_CHAR_HEBREW): Likewise.
4346         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4347         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4348         (MIN_CHAR_CYRILLIC): Likewise.
4349         (MAX_CHAR_CYRILLIC): Likewise.
4350
4351 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4352
4353         * char-ucs.h (breakup_char_1): Use
4354         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4355         thai-tis620 and katakana-jisx0201 area.
4356
4357 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4358
4359         * char-ucs.h (breakup_char_1): Use
4360         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4361         area.
4362
4363         * text-coding.c (reset_encoding_stream): Fixed.
4364         (char_encode_ucs4): Delete `& 255'.
4365
4366         * char-ucs.h (breakup_char_1): Use
4367         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4368
4369 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4370
4371         * file-coding.c (Fmake_coding_system): Don't set up
4372         `codesys->fixed.size'.
4373         (encode_coding_no_conversion): Don't refer
4374         `str->codesys->fixed.size'.
4375
4376 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4377
4378         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4379         (latin_a_char_to_byte1): Deleted.
4380         (latin_a_char_to_byte2): Deleted.
4381
4382 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4383
4384         * mule-charset.c (make_charset): Add new argument `ucs_min',
4385         `ucs_max' and `code_offset'.
4386         (charset_get_byte1): New implementation [delete specific charset
4387         depended implementations].
4388         (Fmake_charset): Modify for `make_charset'.
4389         (Fmake_reverse_direction_charset): Likewise.
4390         (complex_vars_of_mule_charset): Likewise.
4391
4392         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4393         `code_offset'.
4394         (CHARSET_UCS_MIN): New macro.
4395         (CHARSET_UCS_MAX): New macro.
4396         (CHARSET_CODE_OFFSET): New macro.
4397         (MAKE_CHAR): Delete charset depended definitions [except
4398         katakana-jisx0201].
4399
4400 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4401
4402         * char-ucs.h (breakup_char_1): Use
4403         `Vdefault_coded_charset_priority_list' for C0-Controls,
4404         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4405
4406 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4407
4408         * char-ucs.h (charset_get_byte1): New function.
4409         (XCHARSET_GET_BYTE1): Deleted.
4410         (charset_get_byte2): New function.
4411         (XCHARSET_GET_BYTE2): Deleted.
4412         (Vdefault_coded_charset_priority_list): New external variable.
4413         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4414         `Vdefault_preferred_coded_charset_list'.
4415
4416         * mule-charset.c (charset_get_byte1): New function.
4417         (charset_get_byte2): New function.
4418         (Vdefault_coded_charset_priority_list): New variable.
4419         (vars_of_mule_charset): Add new variable
4420         `default-coded-charset-priority-list'.
4421
4422 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4423
4424         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4425         (XCHARSET_GET_BYTE2): New inline function.
4426         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4427         `XCHARSET_GET_BYTE2'.
4428
4429 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4430
4431         * mule-charset.c (make_charset): Initialize
4432         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4433         NULL if table is not defined.
4434
4435 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4436
4437         * text-coding.c (char_encode_shift_jis): Use
4438         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4439         `ucs_to_latin_jisx0201'.
4440
4441         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4442         (ucs_to_latin_iso8859_2): Deleted.
4443         (ucs_to_latin_iso8859_3): Deleted.
4444         (ucs_to_latin_iso8859_4): Deleted.
4445         (ucs_to_latin_iso8859_9): Deleted.
4446         (ucs_to_latin_viscii_lower): Deleted.
4447         (ucs_to_latin_viscii_upper): Deleted.
4448         (ucs_to_latin_tcvn5712): Deleted.
4449         (make_charset): Add new argument `decoding_table'; set up
4450         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4451         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4452         `decoding_table' is defined in UTF-2000.
4453         (Fmake_charset): Modify for `make_charset'.
4454         (Fmake_reverse_direction_charset): Likewise.
4455         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4456         and `GENERATE_96_SET'.
4457
4458         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4459         (ucs_to_latin_jisx0201): Deleted.
4460         (latin_iso8859_2_to_ucs): Deleted.
4461         (ucs_to_latin_iso8859_2): Deleted.
4462         (latin_iso8859_3_to_ucs): Deleted.
4463         (ucs_to_latin_iso8859_3): Deleted.
4464         (latin_iso8859_4_to_ucs): Deleted.
4465         (ucs_to_latin_iso8859_4): Deleted.
4466         (latin_iso8859_9_to_ucs): Deleted.
4467         (ucs_to_latin_iso8859_9): Deleted.
4468         (latin_viscii_lower_to_ucs): Deleted.
4469         (ucs_to_latin_viscii_lower): Deleted.
4470         (latin_viscii_upper_to_ucs): Deleted.
4471         (ucs_to_latin_viscii_upper): Deleted.
4472         (struct Lisp_Charset): Renamed `encoding_table' to
4473         `to_byte1_table'; add `to_byte2_table'.
4474         (CHARSET_DECODING_TABLE): New macro.
4475         (CHARSET_TO_BYTE1_TABLE): New macro.
4476         (CHARSET_TO_BYTE2_TABLE): New macro.
4477         (XCHARSET_DECODING_TABLE): New macro.
4478         (XCHARSET_TO_BYTE1_TABLE): New macro.
4479         (XCHARSET_TO_BYTE2_TABLE): New macro.
4480         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4481         tables.
4482         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4483         don't use `ucs_to_*' tables.
4484
4485 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4486
4487         * text-coding.c (Fmake_coding_system): Don't set up
4488         `codesys->fixed.size'.
4489         (encode_coding_no_conversion): Use `if' instead of `switch'.
4490
4491         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4492
4493 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4494
4495         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4496         (Fmake_charset): Modify for `make_charset'.
4497         (Fmake_reverse_direction_charset): Likewise.
4498         (complex_vars_of_mule_charset): Likewise.
4499
4500 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4501
4502         * text-coding.c (char_encode_shift_jis): Use table
4503         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4504
4505 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4506
4507         * text-coding.c (text_encode_generic): Use `if' instead of
4508         `switch'.
4509         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4510         decode JIS-Latin.
4511
4512 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4513
4514         * text-coding.c (encode_coding_sjis): Deleted.
4515         (char_encode_shift_jis): New function.
4516         (char_finish_shift_jis): New function.
4517         (reset_encoding_stream): Set up `encode_char' and `finish' for
4518         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4519         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4520         (char_encode_utf8): Treat `eol_type'.
4521
4522 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4523
4524         * file-coding.c (decode_coding_iso2022): Use
4525         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4526
4527 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4528
4529         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4530         to 0.7 (Hirano).
4531
4532 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4533
4534         * char-lb.h (CHAR_COLUMNS): New macro.
4535
4536 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4537
4538         * text-coding.c (char_encode_ucs4): New function.
4539         (char_finish_ucs4): New function.
4540         (encode_coding_ucs4): Deleted.
4541         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4542         (text_encode_generic): Delete local variable `charset' and `half'.
4543         (ucs_to_mule_table): Deleted.
4544         (mule_to_ucs_table): Deleted.
4545         (Fset_ucs_char): Deleted.
4546         (ucs_to_char): Deleted.
4547         (Fucs_char): Deleted.
4548         (Fset_char_ucs): Deleted.
4549         (Fchar_ucs): Deleted.
4550         (decode_ucs4): Deleted.
4551         (mule_char_to_ucs4): Deleted.
4552         (encode_ucs4): Deleted.
4553         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4554         (decode_coding_utf8): Likewise.
4555         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4556         (char_encode_iso2022): Fixed.
4557         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4558         `Fset_char_ucs' and `Fchar_ucs'.
4559         (complex_vars_of_file_coding): Don't initialize
4560         `ucs_to_mule_table'.
4561
4562         * objects-tty.c (tty_initialize_font_instance): Don't use
4563         `XCHARSET_COLUMNS'.
4564
4565         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4566         UTF-2000.
4567
4568         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4569         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4570
4571         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4572         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4573         (emchar_string_displayed_columns): Likewise.
4574
4575         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4576         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4577         (string_column_at_point): Likewise.
4578         (Fmove_to_column): Likewise.
4579
4580         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4581         `encoding_table' and `decoding_table'.
4582         (CHARSET_REP_BYTES): Deleted.
4583         (XCHARSET_REP_BYTES): Deleted.
4584         (XCHARSET_COLUMNS): Deleted.
4585         (CHAR_COLUMNS): New macro.
4586         (lookup_composite_char): Deleted unconditionally.
4587         (composite_char_string): Likewise.
4588
4589 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4590
4591         * char-ucs.h (Emchar_to_byte_table): New type.
4592         (get_byte_from_character_table): New function interface.
4593         (Vcharset_latin_jisx0201): New variable.
4594         (latin_jisx0201_to_ucs): New variable.
4595         (ucs_to_latin_jisx0201): New variable.
4596         (Vcharset_latin_iso8859_2): New variable.
4597         (latin_iso8859_2_to_ucs): New variable.
4598         (ucs_to_latin_iso8859_2): New variable.
4599         (Vcharset_latin_iso8859_3): New variable.
4600         (latin_iso8859_3_to_ucs): New variable.
4601         (ucs_to_latin_iso8859_3): New variable.
4602         (Vcharset_latin_iso8859_4): New variable.
4603         (latin_iso8859_4_to_ucs): New variable.
4604         (ucs_to_latin_iso8859_4): New variable.
4605         (Vcharset_latin_iso8859_9): New variable.
4606         (latin_iso8859_9_to_ucs): New variable.
4607         (ucs_to_latin_iso8859_9): New variable.
4608         (Vcharset_latin_viscii_lower): New variable.
4609         (latin_viscii_lower_to_ucs): New variable.
4610         (ucs_to_latin_viscii_lower): New variable.
4611         (Vcharset_latin_viscii_upper): New variable.
4612         (latin_viscii_upper_to_ucs): New variable.
4613         (ucs_to_latin_viscii_upper): New variable.
4614         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4615         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4616         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4617         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4618         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4619         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4620         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4621         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4622         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4623         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4624
4625         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4626         (Vcharset_latin_viscii_upper): New variable.
4627         (make_byte_from_character_table): New function.
4628         (put_byte_from_character_table): New function.
4629         (get_byte_from_character_table): New function.
4630         (CHAR96): New macro.
4631         (ucs_to_latin_jisx0201): New variable.
4632         (latin_jisx0201_to_ucs): New variable.
4633         (ucs_to_latin_iso8859_2): New variable.
4634         (latin_iso8859_2_to_ucs): New variable.
4635         (ucs_to_latin_iso8859_3): New variable.
4636         (latin_iso8859_3_to_ucs): New variable.
4637         (ucs_to_latin_iso8859_4): New variable.
4638         (latin_iso8859_4_to_ucs): New variable.
4639         (ucs_to_latin_iso8859_9): New variable.
4640         (latin_iso8859_9_to_ucs): New variable.
4641         (ucs_to_latin_viscii_lower): New variable.
4642         (latin_viscii_lower_to_ucs): New variable.
4643         (ucs_to_latin_viscii_upper): New variable.
4644         (latin_viscii_upper_to_ucs): New variable.
4645         (ucs_to_latin_tcvn5712): New variable.
4646         (latin_tcvn5712_to_ucs): New variable.
4647         (Qlatin_viscii_lower): New variable.
4648         (Qlatin_viscii_upper): New variable.
4649         (syms_of_mule_charset): Set up new symbol
4650         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4651         (complex_vars_of_mule_charset): Set up new charset
4652         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4653         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4654         `ucs_to_<CHARSET>' tables.
4655
4656 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4657
4658         * text-coding.c: New file.
4659
4660 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4661
4662         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4663
4664         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4665         (MAKE_CHAR): Modify for `ucs-bmp'.
4666         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4667         non-MULE characters of BMP.
4668
4669 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4670
4671         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4672         to 0.6.
4673
4674 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4675
4676         * lstream.h:
4677         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4678         - Include character.h for `CHAR_ASCII_P'.
4679
4680         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4681
4682         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4683         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4684
4685         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4686         (BYTE_C0_P): Likewise.
4687         (BYTE_C1_P): Likewise.
4688         (Lstream_get_emchar_1): Likewise.
4689         (Lstream_fput_emchar): Likewise.
4690         (Lstream_funget_emchar): Likewise.
4691         (copy_internal_to_external): Likewise.
4692         (copy_external_to_internal): Likewise.
4693
4694         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4695         (BYTE_C0_P): Likewise.
4696         (BYTE_C1_P): Likewise.
4697         (Lstream_get_emchar_1): Likewise.
4698         (Lstream_fput_emchar): Likewise.
4699         (Lstream_funget_emchar): Likewise.
4700         (copy_internal_to_external): Likewise.
4701         (copy_external_to_internal): Likewise.
4702
4703         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4704         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4705
4706         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4707         (BYTE_ASCII_P): Moved to mb-1byte.h.
4708
4709 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4710
4711         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4712
4713         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4714         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4715         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4716         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4717         (VALIDATE_CHARPTR_FORWARD): Likewise.
4718         (simple_charptr_emchar): Moved to mb-multibyte.h.
4719         (simple_set_charptr_emchar): Likewise.
4720         (simple_charptr_copy_char): Likewise.
4721         (non_ascii_charptr_emchar): Likewise.
4722         (non_ascii_set_charptr_emchar): Likewise.
4723         (non_ascii_charptr_copy_char): Likewise.
4724         (charptr_emchar): Moved to mb-*byte.h.
4725         (set_charptr_emchar): Likewise.
4726         (charptr_copy_char): Likewise.
4727
4728         * mb-1byte.h, mb-multibyte.h: New files.
4729
4730 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4731
4732         * mb-utf-8.h (MULTIBYTE): New macro.
4733         (MAX_EMCHAR_LEN): Moved from buffer.h.
4734         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4735
4736         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4737
4738         * mb-lb.h, multibyte.h: New files.
4739
4740         * char-1byte.h (Charset_ID): Moved from buffer.h.
4741         (MIN_LEADING_BYTE): Likewise.
4742         (LEADING_BYTE_ASCII): Likewise.
4743         (NUM_LEADING_BYTES): Likewise.
4744         (CHARSETP): Likewise.
4745         (CHARSET_BY_LEADING_BYTE): Likewise.
4746         (XCHARSET_LEADING_BYTE): Likewise.
4747         (XCHARSET_GRAPHIC): Likewise.
4748         (XCHARSET_COLUMNS): Likewise.
4749         (XCHARSET_DIMENSION): Likewise.
4750         (CHAR_CHARSET): Likewise.
4751         (CHAR_LEADING_BYTE): Likewise.
4752         (BREAKUP_CHAR): Likewise.
4753         (Vcharset_ascii): Likewise.
4754
4755         * buffer.h: Include multibyte.h unconditionally.
4756         (VALID_CHARPTR_P): Moved to multibyte.h.
4757         (ASSERT_VALID_CHARPTR): Likewise.
4758         (REAL_INC_CHARPTR): Likewise.
4759         (REAL_INC_CHARBYTIND): Likewise.
4760         (REAL_DEC_CHARPTR): Likewise.
4761         (INC_CHARPTR): Likewise.
4762         (INC_CHARBYTIND): Likewise.
4763         (DEC_CHARPTR): Likewise.
4764         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4765         (VALIDATE_CHARPTR_FORWARD): Likewise.
4766         (charptr_n_addr): Likewise.
4767         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4768         (simple_charptr_emchar): Moved to multibyte.h.
4769         (simple_set_charptr_emchar): Likewise.
4770         (simple_charptr_copy_char): Likewise.
4771         (non_ascii_charptr_emchar): Likewise.
4772         (non_ascii_set_charptr_emchar): Likewise.
4773         (non_ascii_charptr_copy_char): Likewise.
4774         (charptr_emchar): Likewise.
4775         (set_charptr_emchar): Likewise.
4776         (charptr_copy_char): Likewise.
4777         (charptr_emchar_n): Likewise.
4778         (Charset_ID): Moved to char-1byte.h.
4779         (Vcharset_ascii): Likewise.
4780         (CHAR_CHARSET): Likewise.
4781         (CHAR_LEADING_BYTE): Likewise.
4782         (LEADING_BYTE_ASCII): Likewise.
4783         (NUM_LEADING_BYTES): Likewise.
4784         (MIN_LEADING_BYTE): Likewise.
4785         (CHARSETP): Likewise.
4786         (CHARSET_BY_LEADING_BYTE): Likewise.
4787         (XCHARSET_LEADING_BYTE): Likewise.
4788         (XCHARSET_GRAPHIC): Likewise.
4789         (XCHARSET_COLUMNS): Likewise.
4790         (XCHARSET_DIMENSION): Likewise.
4791         (BREAKUP_CHAR): Likewise.
4792
4793 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4794
4795         * character.h: Add document about interface for characters.
4796
4797         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4798         (MAKE_CHAR): Delete comment about
4799         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4800         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4801         (BREAKUP_CHAR): Modify name of arguments.
4802         (CHAR_CHARSET): Modify name of argument.
4803
4804         * buffer.h: Delete document about Emchar accessors.
4805
4806 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4807
4808         * character.h (CHAR_INTP): Moved from buffer.h
4809         (CHAR_OR_CHAR_INTP): Likewise.
4810         (XCHAR_OR_CHAR_INT): Likewise.
4811         (CHECK_CHAR_COERCE_INT): Likewise.
4812
4813         * buffer.h (CHAR_INTP): Moved to character.h
4814         (CHAR_OR_CHAR_INTP): Likewise.
4815         (XCHAR_OR_CHAR_INT): Likewise.
4816         (CHECK_CHAR_COERCE_INT): Likewise.
4817
4818 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4819
4820         * character.h:
4821         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4822         - Include char-1byte.h, char-lb.h or char-ucs.h.
4823
4824         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4825
4826         * buffer.h: Include character unconditionally.
4827         (valid_char_p): Moved to char-*.h.
4828         (non_ascii_valid_char_p): Moved to char-lb.h.
4829
4830         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4831
4832 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4833
4834         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4835         in UTF-2000 because it is not ported yet and not to use
4836         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4837         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4838         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4839
4840         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4841         (CHAR_ASCII_P): Moved from character.h.
4842
4843         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4844         (CHAR_ASCII_P): Likewise.
4845         (CHAR_FIELD1_MASK): Deleted.
4846         (CHAR_FIELD2_MASK): Deleted.
4847         (CHAR_FIELD3_MASK): Deleted.
4848         (MAX_CHAR_BASIC_LATIN): New macro.
4849         (CHAR_FIELD1): Deleted.
4850         (CHAR_FIELD2_INTERNAL): Deleted.
4851         (CHAR_FIELD3_INTERNAL): Deleted.
4852         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4853         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4854         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4855         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4856         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4857         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4858         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4859         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4860         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4861         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4862         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4863         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4864         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4865         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4866         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4867         (MIN_CHAR_COMPOSITION): Deleted.
4868         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4869         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4870
4871 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4872
4873         * buffer.h: Include mb-utf-8.h in UTF-2000.
4874
4875         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4876
4877         * mb-utf-8.h: New file.
4878
4879 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4880
4881         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4882         instead of `int'.
4883
4884         * mule-charset.h, buffer.h (Charset_ID): New type.
4885
4886 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4887
4888         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4889         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4890         instead of `MULE_CHAR_PRIVATE_OFFSET',
4891         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4892         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4893         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4894
4895         * character.h (Vcharset_japanese_jisx0212): New variable
4896         definition.
4897
4898 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4899
4900         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4901         (charset_by_attributes): Delete array about direction.
4902         (latin_a_char_to_charset): New variable in UTF-2000.
4903         (latin_a_char_to_byte1): New variable in UTF-2000.
4904         (latin_a_char_to_byte2): New variable in UTF-2000.
4905         (Qucs_bmp): New variable.
4906         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4907         `Bufbyte'.
4908         (next_allocated_2_byte_leading_byte): Likewise.
4909         (non_ascii_set_charptr_emchar): Likewise.
4910         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4911         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4912         `charset_by_attributes'.
4913         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4914         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4915         and `CHARSET_BY_LEADING_BYTE'.
4916         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4917         `utf-2000-version' to `vars_of_mule_charset'.
4918         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4919         define `leading-code-private-11' in UTF-2000; move setting of
4920         `utf-2000-version' from `syms_of_mule_charset'.
4921         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4922         UTF-2000.
4923
4924         * character.h (Charset_ID): New type.
4925         (LEADING_BYTE_UCS_BMP): New macro.
4926         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4927         (CHARSET_ID_OFFSET_94): New macro.
4928         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4929         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4930         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4931         final-byte.
4932         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4933         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4934         (CHARSET_ID_OFFSET_96): New macro.
4935         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4936         CHARSET_ID_OFFSET_96 and final-byte.
4937         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4938         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4939         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4940         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4941         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4942         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4943         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4944         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4945         (LEADING_BYTE_THAI_TIS620): Likewise.
4946         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4947         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4948         (CHARSET_ID_OFFSET_94x94): New macro.
4949         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4950         CHARSET_ID_OFFSET_94x94 and final-byte.
4951         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4952         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4953         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4954         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4955         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4956         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4957         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4958         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4959         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4960         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4961         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4962         (CHARSET_TYPE_128X128): New macro.
4963         (CHARSET_TYPE_256X256): New macro.
4964         (XCHARSET_PRIVATE_P): Delete unconditionally.
4965         (charset_by_attributes): Delete array about direction.
4966         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4967         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4968         (MIN_CHAR_94): New macro.
4969         (MAX_CHAR_94): New macro.
4970         (MIN_CHAR_96): New macro.
4971         (MAX_CHAR_96): New macro.
4972         (MIN_CHAR_94x94): New macro.
4973         (MAX_CHAR_94x94): New macro.
4974         (MIN_CHAR_96x96): New macro.
4975         (MAX_CHAR_96x96): New macro.
4976         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4977         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4978         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4979         - 32)'.
4980         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4981         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4982         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4983         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4984         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4985         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4986         `XCHARSET_LEADING_BYTE' to make code-point.
4987         (latin_a_char_to_charset): New variable.
4988         (latin_a_char_to_byte1): New variable.
4989         (latin_a_char_to_byte2): New variable.
4990         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4991         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4992         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4993
4994         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4995         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4996         (find_charsets_in_emchar_string): Likewise.
4997         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4998
4999         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5000         `int'.
5001         (decode_coding_iso2022): Likewise.
5002
5003         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5004         of `unsigned char'.
5005
5006         * redisplay.c (redisplay_text_width_emchar_string): Use
5007         `Charset_ID' instead of `unsigned char'.
5008         (redisplay_frame_text_width_string): Likewise.
5009
5010         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5011         `unsigned char'.
5012
5013         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5014         instead of `unsigned char'.
5015         (face_cachel_charset_font_metric_info): Likewise.
5016
5017         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5018         (get_non_ascii_char_table_value): Likewise.
5019         (get_char_table): Likewise.
5020         (put_char_table): Likewise.
5021         (map_over_other_charset): Likewise.
5022         (map_char_table): Likewise.
5023
5024         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5025         instead of `unsigned char'.
5026
5027 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5028
5029         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5030         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5031
5032         * mule-charset.c (leading_code_private_11): Don't define in
5033         UTF-2000.
5034
5035         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5036         in UTF-2000 because it is not ported yet and not to use
5037         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5038
5039 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5040
5041         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5042
5043 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5044
5045         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5046         in UTF-2000.
5047
5048         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5049         of unsigned char to store leading-byte.
5050
5051         * chartab.c (get_non_ascii_char_table_value): Don't use
5052         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5053
5054         * file-coding.c (encode_coding_big5): Delete bogus implementation
5055         in UTF2000.
5056
5057         * character.h (LEADING_BYTE_*): Delete definition for
5058         non-UTF-2000.
5059         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5060         (LEADING_BYTE_PREFIX_P): Deleted.
5061         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5062         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5063         (BUFBYTE_LEADING_BYTE_P): Deleted.
5064         (CHARSET_PRIVATE_P): Deleted unconditionally.
5065         (rep_bytes_by_first_byte): Deleted unconditionally.
5066         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5067         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5068         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5069         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5070         (CHAR_FIELD2): Deleted.
5071         (CHAR_FIELD3): Deleted.
5072         (MAKE_CHAR): Delete definition for non-UTF-2000.
5073         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5074         (breakup_char_1): New implementation.
5075         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5076         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5077
5078 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5079
5080         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5081         condition.
5082
5083 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5084
5085         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5086         (CHARSET_PRIVATE_P): Likewise.
5087         (XCHARSET_PRIVATE_P): Likewise.
5088         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5089
5090         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5091         UTF2000.
5092         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5093
5094 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5095
5096         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5097         (NUM_LEADING_BYTES): Changed from 128 to 256.
5098         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5099         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5100         UTF2000.
5101         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5102
5103         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5104         UTF2000.
5105         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5106         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5107         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5108         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5109         (Qchinese_cns11643_3): New variable in UTF2000.
5110         (Qchinese_cns11643_4): New variable in UTF2000.
5111         (Qchinese_cns11643_5): New variable in UTF2000.
5112         (Qchinese_cns11643_6): New variable in UTF2000.
5113         (Qchinese_cns11643_7): New variable in UTF2000.
5114         (syms_of_mule_charset): Define `chinese-cns11643-3',
5115         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5116         and `chinese-cns11643-7' in UTF2000.
5117         (vars_of_mule_charset): Initialize
5118         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5119         + 1 in UTF2000.
5120         (complex_vars_of_mule_charset): Setup charset
5121         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5122         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5123
5124 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5125
5126         * mule-charset.c: Move setting for `leading-code-private-11' from
5127         `syms_of_mule_charset' to `vars_of_mule_charset'.
5128
5129 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5130
5131         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5132         and `NUM_LEADING_BYTES' in assert.
5133
5134 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5135
5136         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5137         instead of 128.
5138         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5139         `NUM_LEADING_BYTES' instead of 128.
5140
5141 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5142
5143         * mule-charset.h (charset_by_leading_byte): Use
5144         `NUM_LEADING_BYTES' instead of 128.
5145         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5146
5147         * mule-charset.c (charset_by_leading_byte): Use
5148         `NUM_LEADING_BYTES' instead of 128.
5149         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5150
5151         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5152         128.
5153
5154 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5155
5156         * mule-charset.c (syms_of_mule_charset): Update to
5157         0.4 (Shin-Imamiya).
5158
5159 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5160
5161         * file-coding.c (encode_coding_sjis): New implementation for
5162         UTF2000.  (decode_coding_sjis): Ditto.
5163
5164 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5165
5166         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5167         Don't define in UTF2000.
5168
5169         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5170         defined.
5171
5172         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5173         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5174         MULE.
5175
5176 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5177
5178         * config.h.in (CHAR_IS_UCS4): New macro.
5179
5180         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5181         conventional MULE representation.
5182         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5183
5184         * mule-charset.h: Reverted to original.
5185
5186         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5187         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5188         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5189
5190         * character.h: New file.
5191
5192         * file-coding.c (Fmake_coding_system): Set 1 to
5193         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5194         defined.
5195         (encode_coding_no_conversion): New implementation for UTF2000.
5196
5197         * file-coding.h (struct Lisp_Coding_System): Add new member
5198         `fixed.size'.
5199
5200 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5201
5202         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5203         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5204         (encode_coding_iso2022): New implementation for UTF2000.
5205
5206 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5207
5208         * mule-canna.c (c2mu): New implementation for UTF2000.
5209         (m2c): Likewise.
5210
5211 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5212
5213         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5214
5215 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5216
5217         * file-coding.c (reset_encoding_stream): Set 0 to
5218         `str->iso2022.current_char_boundary' in UTF2000.
5219         (encode_utf8): Don't define in UTF2000.
5220         (encode_coding_utf8): New implementation for UTF-8 representation
5221         of UTF2000.
5222         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5223
5224 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5225
5226         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5227
5228         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5229         UTF2000.
5230         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5231
5232         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5233
5234         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5235         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5236         as UTF-8 in UTF2000.
5237         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5238         (non_ascii_valid_char_p): Don't define in UTF2000.
5239         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5240         (Lstream_get_emchar_1): Likewise.
5241         (utf-2000-version): New variable in UTF2000.
5242
5243         * lread.c (read_escape): Add new reader `u'.
5244
5245         * insdel.c (three_to_one_table): Don't define in UTF2000.
5246         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5247         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5248         UTF2000.
5249         (bytind_to_bufpos_func): Likewise.
5250         (buffer_mule_signal_inserted_region): Likewise.
5251         (vars_of_insdel): Don't initialize `three_to_one_table'.
5252         (init_buffer_text): Use `buf->text->mule_size' instead of
5253         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5254         UTF2000.
5255
5256         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5257         UTF-8 representation in UTF2000.
5258         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5259         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5260         (decode_coding_iso2022): Don't define local variable `lb' in
5261         UTF2000; don't use LEADING_BYTE in UTF2000; use
5262         `DECODE_ADD_UCS_CHAR' in UTF2000.
5263         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5264
5265         * config.h.in (UTF2000): New macro.
5266
5267         * buffer.h (struct buffer_text): Add new member `mule_size' and
5268         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5269         (valid_char_p): Return always 1 in UTF2000.
5270         (MAX_EMCHAR_LEN): 6 in UTF2000.
5271         (three_to_one_table): Don't define in UTF2000.
5272         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5273         UTF2000.
5274         (real_bytind_to_bufpos): Likewise.
5275
5276         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5277
5278 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5279
5280         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5281         representation change.
5282         (Vutf_2000_version): New variable.
5283         (leading_code_private_11): New variable.
5284         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5285         `leading-code-private-11'.
5286
5287         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5288         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5289         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5290         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5291         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5292         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5293         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5294         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5295         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5296         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5297         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5298         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5299         (MIN_CHAR_GREEK): New macro.
5300         (MAX_CHAR_GREEK): New macro.
5301         (MIN_CHAR_CYRILLIC): New macro.
5302         (MAX_CHAR_CYRILLIC): New macro.
5303         (MIN_CHAR_HEBREW): New macro.
5304         (MAX_CHAR_HEBREW): New macro.
5305         (MIN_CHAR_THAI): New macro.
5306         (MAX_CHAR_THAI): New macro.
5307         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5308         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5309         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5310         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5311         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5312         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5313         (CHAR_FIELD2): New inline function.
5314         (CHAR_FIELD3): New inline function.
5315         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5316         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5317         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5318         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5319         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5320         (MIN_CHAR_COMPOSITION): Likewise.
5321         (CHAR_LEADING_BYTE): Modified for character representation change.
5322         (MAKE_CHAR): Likewise.
5323
5324         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5325         (Vcharset_greek_iso8859_7): Likewise.
5326         (Vcharset_cyrillic_iso8859_5): Likewise.
5327         (Vcharset_hebrew_iso8859_8): Likewise.
5328         (Vcharset_thai_tis620): Likewise.
5329         (Vcharset_katakana_jisx0201): Likewise.
5330
5331 2003-09-03  Vin Shelton <acs@xemacs.org>
5332
5333         * XEmacs 21.4.14 is released
5334
5335 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5336
5337         * config.h.in (REGEX_MALLOC): Make it configure'able.
5338
5339 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5340
5341         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5342         linking.
5343         * sysdll.c (dll_init):
5344         * sysdll.c (dll_open):
5345         * sysdll.c (dll_close):
5346         * sysdll.c (dll_function):
5347         * sysdll.c (dll_variable):
5348         * sysdll.c (dll_error):
5349         Add support for loading bundles using Darwin/MacOSX
5350         native API.
5351
5352 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5353
5354         * process.c (start-process-internal): Document coding systems.
5355
5356 2003-07-30  Jerry James  <james@xemacs.org>
5357
5358         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5359
5360 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5361
5362         * event-msw.c (mswindows_enqueue_mouse_button_event):
5363         * event-msw.c (mswindows_wnd_proc):
5364           enqueue button event when scrollwheel event isn't handled by 
5365           mswindows_handle_mousewheel_event, such as when the scrollbars
5366           are not showing.
5367
5368 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5369
5370         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5371
5372 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5373
5374         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5375
5376 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5377
5378         * regex.c (re_match_2_internal): Fix matching degenerate word
5379         boundaries.
5380
5381 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5382
5383         * XEmacs 21.4.13 is released
5384
5385 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5386
5387         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5388         * lisp.h (<inttypes.h>):
5389         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5390         the definition.
5391
5392 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5393
5394         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5395         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5396         Result: "temacs can only be run in -batch mode."
5397         Fix: Check xemacs executable candidate for directory-ness.
5398
5399 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5400
5401         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5402           they conflict with <sys/types.h>.
5403
5404 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5405
5406         * database.c: Berkeley DB wants __STDC__ to be defined.
5407
5408 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5409
5410         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5411
5412 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5413
5414         * process-unix.c (unix_send_process): Fix C++ compile error.
5415
5416 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5417
5418         * Added .dylib as an acceptable shared library file extension
5419         * to support MacOSX.
5420
5421 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5422
5423         * EmacsFrameP.h (EmacsFramePart):
5424         Kludge to allow compiling with Motif1, but linking with Motif2.
5425
5426 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5427
5428         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5429
5430
5431 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5432
5433         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5434
5435 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5436
5437         * sysdll.c: Included lisp.h to define needed alloca_array.
5438
5439 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5440
5441         Make XEmacs redisplay 10 times faster.
5442         If, that is, you're using a slow X connection and MoveOpaque.
5443         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5444         Use compress_motion = TRUE.
5445         * EmacsFrame.c (emacsFrameClassRec): 
5446         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5447         * EmacsManager.c (emacsManagerClassRec):
5448         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5449
5450 2003-01-30  Vin Shelton  <acs@xemacs.org>
5451
5452         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5453
5454 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5455
5456         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5457         Patch by Martin Buchholz.
5458
5459 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5460
5461         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5462         Thanks to icc for warning and Martin Buchholz for reporting.
5463
5464 2003-01-29  Vin Shelton <acs@xemacs.org>
5465
5466         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5467
5468         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5469         remember to multiply by the element size.
5470
5471 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5472
5473         * XEmacs 21.4.12 "Portable Code" is released.
5474
5475 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5476
5477         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5478         * s/cygwin.sc: new linker file.
5479
5480 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5481
5482         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5483
5484         * redisplay-x.c (x_output_string): Use X11-specified types.
5485         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5486         * emacs.c (__free_hook): Use typeof with Intel compiler.
5487         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5488
5489 2003-01-08  Andy Piper  <andy@xemacs.org>
5490
5491         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5492         reserve size during unexec().
5493
5494 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5495
5496         * process-unix.c (unix_create_process): Don't let outchannel block.
5497
5498 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5499
5500         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5501         Needed for IsBadReadPtr().
5502
5503 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5504
5505         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5506
5507 2002-12-14  Ben Wing  <ben@xemacs.org>
5508
5509         * callint.c: Declaration error.
5510         * dumper.c (pdump):
5511         * dumper.c (pdump_load): Warning fix.
5512         * process.c: GCPRO error.
5513         * glyphs.c (unmap_subwindow):
5514         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5515         * event-stream.c (maybe_kbd_translate): Wrong argument to
5516         character_to_event().
5517
5518         * alloc.c (garbage_collect_1):
5519         * emacs.c:
5520         * emacs.c (debug_can_access_memory):
5521         * emacs.c (fatal_error_signal):
5522         * emacs.c (mswindows_handle_hardware_exceptions):
5523         * emacs.c (main_1):
5524         * emacs.c (main):
5525         * emacs.c (assert_failed):
5526         * emacs.c (syms_of_emacs):
5527         * lisp.h:
5528         * print.c:
5529         * print.c (std_handle_out_va):
5530         * print.c (write_string_to_stdio_stream):
5531         * print.c (write_fmt_string):
5532         * print.c (printing_badness):
5533         * print.c (printing_major_badness):
5534         * print.c (print_internal):
5535         * print.c (debug_print_no_newline):
5536         * print.c (debug_backtrace):
5537         Be more defensive in handling bad values when printing.  Add code
5538         from trunk involving inhibit_non_essential_printing_operations.
5539         When going down or in debug_print(), don't do external conversion
5540         and such and try really, really hard when printing to avoid core
5541         dumping.  Add force-debugging-signal, debug_break().
5542
5543 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5544
5545         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5546         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5547
5548 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5549
5550         * database.c: Fix open_database. Berkeley DB API has changed in
5551         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5552
5553 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5554
5555         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5556
5557 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5558
5559         * event-Xt.c (Xt_timeout):
5560         (Xt_timeout_callback):
5561         (emacs_Xt_add_timeout):
5562         (emacs_Xt_remove_timeout):
5563         (Xt_timeout_to_emacs_event):
5564         Turn completed_timeouts from a stack into a queue.  Fixes
5565         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5566
5567 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5568
5569         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5570         * emacs.c (main): Assert that mmap'd allocation is disabled.
5571
5572 2002-10-14  Andy Piper  <andy@xemacs.org>
5573
5574         * glyphs-widget.c (layout_query_geometry): add in fiddle
5575         factor. Include border text in width layout calculation.
5576         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5577
5578 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5579
5580         * XEmacs 21.4.10 "Military Intelligence" is released.
5581
5582 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5583
5584         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5585         using the NAS private array SoundFileInfo that no longer exists in
5586         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5587         and earlier.  This is broken for some versions between 1.5a and
5588         1.5f.
5589
5590 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5591
5592         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5593
5594         * emacs.c (shut_down_emacs): Improve crash message.
5595
5596 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5597
5598         * file-coding.c (determine_real_coding_system): Check for coding
5599         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5600         shebangs and Python PEP 263.
5601
5602 2002-10-08  Andy Piper  <andy@xemacs.org>
5603
5604         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5605         if static sizes haven't been set.
5606
5607 2002-08-30  Mike Alexander  <mta@arbortext.com>
5608
5609         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5610         to close a socket.
5611
5612 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5613
5614         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5615
5616 2002-09-20  Mike Sperber <mike@xemacs.org>
5617
5618         (This partially gets back my patch from 2002-07-20 without the
5619         bug.)
5620         * callproc.c (child_setup): Remove Ben's comment noting confusion
5621         over the file descriptors >= 3: close_process_descs() doesn't
5622         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5623         * process-unix.c (unix_create_process): Call
5624         begin_dont_check_for_quit to inhibit unwanted interaction (and
5625         thus breaking of X event synchronicity) in the child.
5626
5627 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5628
5629         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5630         widget.
5631
5632 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5633
5634         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5635         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5636         the xemacs process did not exit, but looped infinitely here.  This
5637         fixes that problem.
5638
5639 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5640
5641         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5642         (find_context): Improve comments.
5643
5644         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5645         (re_match_2): An XCHAR_TABLE operation was missing.
5646
5647         Many of the following changes were inspired by Andy Piper's (now
5648         obsolete) patch to make syntax-table text property lookup optional.
5649
5650         [Documentation]
5651
5652         * syntax.h (top level): Document semantics of syntax flags.
5653         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5654         * syntax.c, syntax.h (top level): Document syntax cache better in
5655         comments.
5656
5657         [Instrument syntax caching (temporary change)]
5658
5659         * syntax.h (enum syntax_cache_statistics_functions, struct
5660         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5661         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5662         * syntax.c (scan_words, Fforward_comment, scan_lists,
5663         Fbackward_prefix_characters):
5664         * font-lock.c (find_context):
5665         Use them to instrument syntax caching. 
5666         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5667         syntax_cache_statistics_function_names): New type and variables.
5668         * syntax.c (update_syntax_cache): Update and report statistics.
5669
5670         [Major syntax cache optimizations]
5671
5672         syntax.c (lookup_syntax_properties): Default off.
5673
5674         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5675         * syntax.c (update_syntax_cache):
5676         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5677
5678         [Minor syntax cache optimizations and code clarifications]
5679
5680         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5681         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5682         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5683         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5684         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5685         (Code clarification.)
5686
5687         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5688         scan_lists): Compute code from syncode, use Boolean macros instead
5689         of redundant masking operations.  (Code clarification; any decent
5690         compiler can do this optimization.)
5691
5692         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5693         for clarity.
5694
5695         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5696         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5697         use F*_single_property_change instead of F*_extent_change.
5698         Currently F*_single_property_change is _much_ less efficient.
5699
5700         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5701         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5702         syntax_cache.object properly, don't leave Qt or Qnil.
5703         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5704         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5705         tests for Qt or Qnil.
5706
5707 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5708
5709         * redisplay.c (point_in_line_start_cache): 
5710         * extents.c (print_extent_1):
5711         Fix warnings.
5712
5713         * extents.c (Fset_extent_property): Document `syntax-table' property.
5714
5715         * extents.h (Fnext_single_property_change): EXFUN it.
5716
5717 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5718
5719         * search.c (clear_unused_search_regs): New static function.
5720         (search_buffer): 
5721         (simple_search): 
5722         (boyer_moore):
5723         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5724         Minor clarifications in comments.
5725
5726         * regex.c (re_match_2_internal): Ensure no stale submatches.
5727
5728 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5729
5730         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5731
5732 2002-08-29  Jerry James  <james@xemacs.org>
5733
5734         * lisp.h: structrures -> structures.
5735
5736 2002-06-03  Andy Piper  <andy@xemacs.org>
5737
5738         * frame.c (frame_conversion_internal): add conversion appropriate
5739         for setting frame dimensions in pixels.
5740
5741         * console.h (struct console_methods): add device-specific widget
5742         layout functions.
5743
5744         * emacs.c (main_1): initialize glyph vars.
5745
5746         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5747         (handle_focus_event_2): new function. Allow focus to
5748         be set to a particular window and widget.
5749         (enqueue_focus_event): new function. Create a
5750         synthetic focus event.
5751         (emacs_Xt_handle_magic_event): call
5752         handle_focus_event_2.
5753
5754         * frame.c (Fset_frame_pixel_height): new function. Allow
5755         pixel-based sizing. Does the right thing on character-oriented
5756         displays.
5757         (Fset_frame_pixel_width): ditto.
5758         (Fset_frame_pixel_size): ditto.
5759         (syms_of_frame): declare.
5760
5761         * general-slots.h: add :vertically-justify and
5762         :horizontally-justify.
5763
5764         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5765         (mswindows_widget_border_width): new function.
5766         (mswindows_combo_box_instantiate): set border widths.
5767         (console_type_create_glyphs_mswindows): declare.
5768
5769         * glyphs-widget.c:
5770         (check_valid_justification): allow vertical and horizontal
5771         justification.
5772         (widget_border_width): new function. Call device methods.
5773         (widget_instance_border_width): ditto.
5774         (logical_unit_height): new function. Determine the height of a
5775         logical-unit. Logical units are intended to provide grid-like
5776         layout for subcontrols in a layout. If the layout is
5777         :vertically-justify top then subcontrols will be positioned on
5778         logical-unit boundaries, thus allowing adjacent subcontrols to
5779         line up.
5780         (widget_logical_unit_height): ditto for widgets.
5781         (redisplay_widget): misc cleanup.
5782         (widget_spacing): new function. Call device specific
5783         methods. Intended to be the default gap between adjacent widgets.
5784         (widget_query_geometry): use new spacing functions to determine
5785         appropriate geometry.
5786         (initialize_widget_image_instance): initialize horizontal and
5787         vertical justification.
5788         (widget_instantiate): use logica-units where appropriate for
5789         sizing large widgets.
5790         (button_query_geometry): use widget_instance_border_width.
5791         (tree_view_query_geometry): ditto.
5792         (tab_control_query_geometry): ditto.
5793         (edit_field_query_geometry): new function.
5794         (layout_update): pick up :justify, :horizontally-justify and
5795         :vertically-justify none of which worked previously. :justify is
5796         used as a fallback for both horizontal and vertical justification.
5797         (layout_query_geometry): use logical units to size appropriately.
5798         (layout_layout): ditto.
5799         (Fwidget_logical_to_character_width): new function. Allow users to
5800         convert from logical units to characters so that frame sizes can
5801         be set appropriately.
5802         (Fwidget_logical_to_character_height): ditto.
5803         (syms_of_glyphs_widget): declare.
5804         (image_instantiator_edit_fields): add edit_field_query_geometry.
5805         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5806         :horizontally-justify.
5807         (specifier_vars_of_glyphs_widget): new function. Declare
5808         Vwidget_border_width which is not yet used.
5809
5810         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5811         (x_widget_border_width): new function.
5812         (x_widget_instantiate): create a sensible name for widgets.
5813         (console_type_create_glyphs_x): declare x_widget_border_width.
5814
5815         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5816         (struct Lisp_Image_Instance): add :vertically-justify and
5817         :horizontally-justify.
5818         (LAYOUT_JUSTIFY_TOP): new.
5819         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5820         (ROUND_UP): new macro. Round argument up to next integral
5821         interval.
5822
5823         * redisplay-output.c (redisplay_output_layout): misc formatting.
5824
5825         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5826
5827 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5828
5829         * XEmacs 21.4.9 "Informed Management" is released.
5830
5831 2002-08-19  Andy Piper  <andy@xemacs.org>
5832
5833         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5834         win32 format.
5835
5836         * realpath.c (xrealpath): normalize drive spec also so that dir
5837         sep chars are not mixed on cygwin.
5838
5839 2002-08-06  Jerry James  <james@xemacs.org>
5840
5841         * window.c (Fsplit_window): Count only half of the divider width
5842         against the left window when splitting horizontally. 
5843
5844 2002-06-24  Andy Piper  <andy@xemacs.org>
5845
5846         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5847         toolbar was cleared.
5848
5849         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5850         function. Split out from mswindows_output_frame_toolbars.
5851         (mswindows_output_frame_toolbars): move clear pieces to
5852         mswindows_output_frame_toolbars.
5853
5854         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5855         out from gtk_output_frame_toolbars.
5856         (gtk_output_frame_toolbars): move clear pieces to
5857         gtk_clear_frame_toolbars.
5858
5859         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5860         the frame is cleared. How this ever worked before is a mystery.
5861         (x_output_frame_toolbars): Only output toolbars.
5862         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5863
5864         * gutter.c (update_gutter_geometry):
5865         Mark frame layout changed.
5866         (update_frame_gutter_geometry, update_frame_gutters):
5867         Respect frame_layout_changed.
5868
5869         * console.h (struct console_methods): add
5870         clear_frame_toolbars_method.
5871
5872         * redisplay.c (redisplay_frame): call
5873         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5874
5875         * toolbar.h: declare update_frame_toolbars_geometry.
5876
5877         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5878         out from update_frame_toolbars.  Call clear_frame_toolbars.
5879         (update_frame_toolbars): only output, do not change geometry.
5880
5881         * redisplay.c: add frame_layout_changed.
5882
5883         * redisplay.h: add frame_layout_changed.
5884         (CLASS_RESET_CHANGED_FLAGS): set it.
5885         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5886         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5887         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5888
5889         * device.h (struct device): add frame_layout_changed.
5890         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5891
5892         * frame.h (struct frame): add frame_layout_changed.
5893         (MARK_FRAME_LAYOUT_CHANGED): new.
5894
5895 2002-06-30  Mike Alexander  <mta@arbortext.com>
5896
5897         * event-msw.c (mswindows_need_event): Don't wait for a new message
5898         if the queue is not empty.  Suggested by Paul Moore.
5899
5900 2002-06-12  Andy Piper  <andy@xemacs.org>
5901
5902         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5903         for printing on accurately.
5904
5905 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5906
5907         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5908         WM_ACTIVATE message. Make sure that the frame is visible if the
5909         window is visible. This seemss to fix the problem where XEmacs
5910         appears to freeze after switching desktops with certain virtual
5911         window managers.
5912         (debug_output_mswin_message): Added code to output message
5913         parameters for WM_WINDOWPOSCHANGED, 
5914         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5915
5916 2002-05-25  Andy Piper  <andy@xemacs.org>
5917
5918         * select-x.c (vars_of_select_x): Fix docstring of
5919         x-selection-strict-motif-ownership
5920
5921 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5922
5923         * keymap.c (get_keymap):
5924         Add comment about do_autoload GCPROs own args.
5925
5926 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5927
5928         * bytecode.c (execute_optimized_program): check_opcode ifdef
5929         ERROR_CHECK_BYTE_CODE.
5930
5931 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5932
5933         Thanks to Ben Wing and Michael Sperber.
5934
5935         * eval.c (Fcommand_execute):
5936         (Feval):
5937         (Ffuncall):
5938         (Fmacroexpand_internal):
5939         (function_argcount):
5940         callint.c (Fcall_interactively):
5941         Add comment about do_autoload GCPROs own args.
5942
5943         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5944
5945         * eval.c (Ffuncall): Extra braces to placate GCC.
5946
5947 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5948
5949         * backtrace.h (grow_specpdl):
5950         (SPECPDL_RESERVE):
5951         * EmacsFrame.c (EmacsFrameSetValues):
5952         * eval.c (grow_specpdl):
5953         * ExternalShell.c (hack_event_masks_1):
5954         * glyphs-x.c (convert_EImage_to_XImage): 
5955         (x_finalize_image_instance):
5956         * ralloc.c (page_size):
5957         (r_alloc_sbrk):
5958         * xgccache.c (gc_cache_hash):
5959         Fix unsigned comparison warnings.
5960
5961 2002-07-29  Jerry James  <james@xemacs.org>
5962
5963         * lread.c (locate_file): Any nonnegative return value indicates
5964         success if MODE is nonnegative.
5965
5966 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5967
5968         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5969         argument. 
5970
5971 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5972
5973         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5974
5975         * dumper.c (pdump_get_indirect_count):
5976         (pdump_scan_by_alignment):
5977         (pdump_dump_root_struct_ptrs):
5978         (pdump_dump_rtables):
5979         (pdump_dump_root_objects):
5980         (pdump):
5981         * nas.c (WaveOpenDataForReading):
5982         * fns.c (print_bit_vector):
5983         * font-lock.c (SINGLE_SYNTAX_STYLE):
5984         * glyphs.c (check_for_ignored_expose):
5985         (find_matching_subwindow):
5986         * glyphs-eimage.c:
5987         * imgproc.c (get_histogram):
5988         * redisplay.c (point_in_line_start_cache):
5989         * redisplay-output.c (redisplay_unmap_subwindows):
5990         * symbols.c (defsymbol_massage_name_1):
5991         (defkeyword_massage_name):
5992         (deferror_massage_name_and_message):
5993         * redisplay-x.c (x_output_string): 
5994         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5995         * frame.h (struct frame):
5996         * filelock.c (current_lock_owner):
5997         * doprnt.c (emacs_doprnt_1):
5998         * lisp.h (struct Lisp_Bit_Vector):
5999         (DO_REALLOC):
6000         Fix warnings.
6001
6002 2002-02-13  Ben Wing  <ben@xemacs.org>
6003
6004         * event-stream.c (reset_key_echo):
6005         * event-stream.c (reset_this_command_keys):
6006         * event-stream.c (execute_command_event):
6007         If console is dead as a result of C-x 5 0, then post-command stuff
6008         needs to be careful and do only non-console-specific stuff.
6009
6010 2002-07-01  Mike Sperber <mike@xemacs.org>
6011
6012         * process-unix.c (unix_send_process): Mark coding_outstream as
6013         non-open upon SIGPIPE.
6014
6015         * event-stream.c (Fnext_event): Reorder switch cases to something
6016         that makes sense.
6017
6018 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6019
6020         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6021         Don't bogusly reinitialize ascii_character property.
6022
6023 2002-07-08  Mike Sperber <mike@xemacs.org>
6024
6025         * process.c (Fstart_process_internal): Do error checking before we
6026         fork off the child, so the child can't muck with the state of the
6027         parent.
6028
6029 2002-07-08  Mike Sperber <mike@xemacs.org>
6030
6031         * ralloc.c (init_ralloc): Allocate properly for pdump.
6032
6033 2002-06-12  Andy Piper  <andy@xemacs.org>
6034
6035         * glyphs.c (query_string_geometry): check the string.
6036
6037         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6038         widget names.
6039
6040 2002-06-17  Jerry James  <james@xemacs.org>
6041
6042         * sysdll.c: Remove RTLD_GLOBAL initialization.
6043         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6044
6045 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6046
6047         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6048
6049 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6050
6051         * sysdep.c (sys_rename): Make sys_rename work for the case where
6052         Windows rename sets errno to EACCES if target file exists.
6053
6054 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6055
6056         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6057         Fix detection of metric units to work on Win95
6058
6059 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6060
6061         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6062
6063 2002-04-25  Andy Piper  <andy@xemacs.org>
6064
6065         * redisplay.c (create_text_block): Remove extra comment trailer.
6066
6067 2002-04-24  Andy Piper  <andy@xemacs.org>
6068
6069         * redisplay.c (create_text_block): Don't actually add propagation
6070         data if the line ends after we have added a glyph.
6071
6072 2002-04-22  Andy Piper  <andy@xemacs.org>
6073
6074         * extents.c (extent_fragment_update): check for glyphs we have
6075         previously displayed.
6076         * extents.c (print_extent_1): warning removal.
6077         * extents.h: change prototype.
6078         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6079         widths correctly for wide glyphs.
6080         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6081         * redisplay.c (prop_type): add PROP_GLYPH.
6082         * redisplay.c (struct prop_block): add glyph type
6083         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6084         to the propagation data.
6085         * redisplay.c (create_text_block): if there is a glyph in the
6086         propagation data use it to salt extent_fragment_update.
6087         * redisplay.c (create_string_text_block): ditto.
6088
6089 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6090
6091         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6092         * redisplay-output.c (compare_runes): Compare them.
6093         * redisplay.c: Update copyright date.
6094         * redisplay.c (pos_data): Add need_baseline_computation field.
6095         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6096         need_baseline_computation; zero yoffset. Set max_pixmap_height
6097         for all pixmaps, not just automatically positioned ones.
6098         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6099         * redisplay.c (calculate_baseline): New, compute textual baseline.
6100         * redisplay.c (add_glyph_rune): Call them.
6101         * redisplay.c (create_text_block): Likewise.
6102         * redisplay.c (create_overlay_glyph_block): Likewise.
6103         * redisplay.c (add_margin_runes): Likewise.
6104         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6105
6106         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6107         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6108         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6109         * redisplay-msw.c (mswindows_output_string): Likewise.
6110         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6111         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6112         * redisplay-x.c (x_output_display_block): Likewise.
6113
6114 2002-03-28  Ben Wing  <ben@xemacs.org>
6115
6116         * redisplay.c: Fixed bug in redisplay
6117         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6118         and down of the lines, since they're bigger than the line
6119         size. (It was seen most obviously when there's a horizontal scroll
6120         bar, e.g. do C-h a glyph or something like that.) The problem was
6121         that the glyph-contrib-p setting on glyphs was ignored even if it
6122         was set properly, which it wasn't until now.
6123
6124 2002-04-24  Andy Piper  <andy@xemacs.org>
6125
6126         * lisp.h (Dynarr_end): Fix definition.
6127
6128 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6129
6130         * redisplay.c (mark_redisplay): Remove call to
6131         update_frame_window_mirror.
6132
6133 2001-11-15  Andy Piper  <andy@xemacs.org>
6134
6135         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6136         cygwin (again).
6137
6138 2002-02-13  Andy Piper  <andy@xemacs.org>
6139
6140         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6141         we did in fact enqueue the XM_MAPFRAME event.
6142
6143 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6144
6145         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6146         to fix problem switching between virtual desktops under virtuawin
6147         virtual window manager.
6148
6149 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6150
6151         * event-msw.c: Typo fix.
6152         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6153         magic XM_MAPFRAME event has been sent.
6154
6155 2001-11-23  Andy Piper  <andy@xemacs.org>
6156
6157         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6158
6159 2001-11-21  Andy Piper  <andy@xemacs.org>
6160
6161         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6162         mouse events outside the frame.
6163
6164 2002-03-20  Andy Piper  <andy@xemacs.org>
6165
6166         * menubar-msw.c (mswindows_popup_menu): warning removal.
6167         * dialog-msw.c (dialog_popped_down): ditto.
6168
6169 2001-12-11  Andy Piper  <andy@xemacs.org>
6170
6171         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6172         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6173         popup_up_p.
6174         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6175         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6176         * menubar-msw.c (mswindows_popup_menu): ditto.
6177
6178 2001-10-29  Andy Piper  <andy@xemacs.org>
6179
6180         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6181         cancels.
6182
6183 2002-01-03  Andy Piper  <andy@xemacs.org>
6184
6185         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6186         letters.
6187         (xrealpath): ditto.
6188
6189 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6190
6191         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6192         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6193         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6194         Detect and handle case where machine is set up for metric units
6195
6196 2002-04-02  Andy Piper  <andy@xemacs.org>
6197
6198         * dired-msw.c (mswindows_get_files): 
6199         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6200         completely handled by XEmacs. Suggested by Thomas Vogler
6201         <mail@thomas-vogler.de>.
6202
6203 2001-11-14  Andy Piper  <andy@xemacs.org>
6204
6205         * nt.c (REG_ROOT): change registry key to XEmacs.
6206
6207 2002-04-27  Andy Piper  <andy@xemacs.org>
6208
6209         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6210
6211 2002-04-26  Andy Piper  <andy@xemacs.org>
6212
6213         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6214         behavior.
6215
6216 2002-03-14  Mike Alexander  <mta@arbortext.com>
6217
6218         * event-msw.c (mswindows_unwait_process): New, remove process from
6219         wait list
6220         * process-nt.c (nt_finalize_process_data): Call
6221         mswindows_unwait_process
6222         * console-msw.h: Declare mswindows_unwait_process
6223
6224 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6225
6226         * editfns.c (Fdecode_time):
6227         (Fformat_time_string):
6228         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6229         (make_time): Warning elimination (change arg name).
6230
6231 2001-11-24  Andy Piper  <andy@xemacs.org>
6232
6233         * window.c (Fsplit_window): Doc return type.
6234
6235 2002-04-01  Andy Piper  <andy@xemacs.org>
6236
6237         * emacs.c (Fkill_emacs): Only output message box in interactive
6238         mode.
6239
6240 2002-04-26  Andy Piper  <andy@xemacs.org>
6241  
6242         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6243         cygwin.
6244
6245 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6246
6247         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6248         bit platform.
6249
6250 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6251
6252         * XEmacs 21.4.8 "Honest Recruiter" is released.
6253
6254 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6255
6256         Supersedes 2002-04-17 patch.
6257
6258         * process.h (PROCESS_LIVE_P): Use the process status as
6259         evidence of health, not the state of the input stream.
6260         (PROCESS_READABLE_P): Say if the process is readable
6261         from. (It may be dead nonetheless.)
6262         (CHECK_READABLE_PROCESS): Test for that condition.
6263
6264         * process.c (create_process): Use PROCESS_READABLE_P.
6265         (read_process_output, set_process_filter): Likewise.
6266
6267         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6268         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6269
6270         This code is #if 0'd, this is not the time to add new functions:
6271
6272         * process.c (Fprocess_readable_p): Report readability status.
6273         * process.c (Qprocess_readable_p): New, associated symbol...
6274         * process.c (syms_of_process): ... initialize it.
6275
6276 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6277
6278         * XEmacs 21.4.7 "Economic Science" is released.
6279
6280 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6281
6282         * process.h (PROCESS_LIVE_P): Use the process status as
6283         evidence of health, not the state of the input stream.
6284
6285 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6286
6287         * sysdep.c (sys_siglist): change "signum" to "signal"
6288
6289 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6290
6291         * s/darwin.h: New file.
6292         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6293         
6294 2002-04-23  Andreas Jaeger  <aj@suse.de>
6295
6296         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6297         which use lib64 for 64-bit libs.
6298         (START_FILES): Likewise.
6299
6300 2002-02-11  Mike Sperber  <mike@xemacs.org>
6301
6302         * device-x.c: 
6303         (x_IO_error_handler):
6304         (x_init_device): Temporarily keep device in static variable
6305         `device_being_initialized' so we can recover gracefully from
6306         internal XOpenDevice failure.  (XOpenDevice is documented to
6307         return NULL on failure, but sometimes calls the IO error handler
6308         instead.)
6309
6310 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6311
6312         * dired.c (Ffile_name_all_completions): Change documentation --
6313         remove reference to completion-ignored-extensions.
6314         * dired.c (vars_of_dired): Change documentation for
6315         completion-ignored-extensions -- remove reference to
6316         file-name-all-completions.
6317
6318 2002-03-06  Jerry James  <james@xemacs.org>
6319
6320         * emodules.c (emodules_load): Fix multiple loading of same module.
6321
6322 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6323         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6324         RTLD_LAZY to avoid incorrect symbol binding when using nested
6325         shared libraries on Solaris.
6326
6327 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6328
6329         * fileio.c (Ffind_file_name_handler): Improve docstring.
6330
6331 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6332
6333         * fns.c (Fmapconcat): Improve docstring.
6334
6335 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6336
6337         * device-gtk.c: Add prototype for
6338         emacs_gtk_selection_clear_event_handle.
6339         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6340         selection.  Setup signal handler for "selection_clear_event"
6341         (emacs_gtk_selection_clear_event_handle).
6342
6343         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6344         other applications owning the clipboard (based on
6345         x_handle_selection_clear).
6346
6347 2001-12-23  William M. Perry  <wmperry@gnu.org>
6348
6349         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6350         
6351 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6352
6353         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6354
6355 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6356
6357         * XEmacs 21.4.6 "Common Lisp" is released.
6358
6359 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6360
6361         * search.c (Freplace_match): Add missing sub-expression functionality.
6362
6363         * buffer.c (decode_buffer): Add a check for pointer type to
6364         decode_buffer, before gcc's CSE optimization reorders a
6365         dereference in front of the allow_string test.
6366
6367 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6368
6369         * window.c (window_loop): Fix bug that sometimes prevented
6370         window_loop() from iterating across multiple devices.  Also, at
6371         Ben's request, changed infloop-detecting code to abort() instead
6372         of silently terminating window_loop().
6373
6374 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6375
6376         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6377         * editfns.c (make_time): New function.
6378         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6379         * lisp.h (make_time): Prototype and comment it.
6380         * dired.c (wasteful_word_to_lisp): Deprecate.
6381         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6382
6383 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6384
6385         * fileio.c (auto_save_1): Use current coding system, not
6386         escape-quoted.
6387
6388 2001-11-13  Ben Wing  <ben@xemacs.org>
6389
6390         * window.c:
6391         * window.c (window_truncation_on):
6392         * window.c (syms_of_window):
6393         truncate-partial-width-windows should respect the buffer being
6394         displayed, like other redisplay vars.
6395
6396 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6397
6398         * event-stream.c (Fread_key_sequence): save current buffer.
6399
6400 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6401
6402         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6403
6404 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6405
6406         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6407
6408 2001-10-26  Mike Alexander  <mta@arbortext.com>
6409
6410         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6411
6412 2001-10-25  Andy Piper  <andy@xemacs.org>
6413
6414         * ChangeLog:
6415         * dialog-msw.c (handle_directory_proc): new function.
6416          (handle_directory_dialog_box): new fucntion.
6417          (handle_file_dialog_box): use new directory dialog support.
6418          (mswindows_make_dialog_box_internal): ditto.
6419         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6420         handling.
6421         (mswindows_find_frame): make global.
6422         * fileio.c (Fexpand_file_name): build fix.
6423         * general-slots.h: add Qdirectory.
6424         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6425         handling.
6426         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6427         cygwin not leaving win32 paths unchanged.
6428         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6429         cygwin runtime to do path conversion.
6430         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6431         (syms_of_win32): add new function.
6432         * window.c (window_loop): build fix.
6433
6434 2001-10-15  Andy Piper  <andy@xemacs.org>
6435
6436         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6437
6438 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6439
6440         * XEmacs 21.4.5 "Civil Service" is released.
6441
6442 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6443
6444         * glyphs-x.c: Force buffer-tab highlight update when moving the
6445         buffer, avoiding an ugly black border, used for keyboard focus
6446         indication, on a widget that can never have keyboard focus, the
6447         buffer tab.
6448
6449 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6450
6451         * process-unix.c (unix_open_multicast_group): Remove too much
6452         conversion between host and network byte order.
6453
6454 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6455
6456         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6457         before replacing them.
6458
6459         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6460         operation.
6461
6462         * src/window.c (undedicate_windows): Use it.
6463         * src/window.h: Add prototype.
6464
6465 2001-09-17  Ben Wing  <ben@xemacs.org>
6466
6467         * fileio.c (normalize_filename):
6468         * fileio.c (Fexpand_file_name):
6469         Fix various C++ compile errors in Andy's recent code.
6470         
6471         * callint.c (Fcall_interactively):
6472         * editfns.c (Ftemp_directory):
6473         * editfns.c (Fuser_full_name):
6474         * emacs.c (argmatch):
6475         * lread.c (locate_file_map_suffixes):
6476         * redisplay-x.c (x_ring_bell):
6477         Fix sign-compare warnings.
6478         
6479 2001-09-08  Andy Piper  <andy@xemacs.org>
6480
6481         * fileio.c (normalize_filename): copied from nt.c
6482         * (Ffile_name_directory): enable win32 paths under cygwin.
6483         * (Ffile_name_nondirectory): ditto.
6484         * (directory_file_name): ditto.
6485         * (Fexpand_file_name): ditto.
6486         * (Ffile_truename): ditto.
6487         * (Fsubstitute_in_file_name): ditto.
6488         * (Ffile_name_absolute_p): ditto.
6489         * (Ffile_readable_p): ditto.
6490
6491 2001-09-08  Andy Piper  <andy@xemacs.org>
6492
6493         * device-msw.c (mswindows_finish_init_device): remove dde
6494         initialization.
6495         * device-msw.c (mswindows_init_dde): factor out from
6496         mswindows_finish_init_device()
6497         * device-msw.c (init_mswindows_very_early): new function
6498         initialize but don't enable dde.
6499         * emacs.c (main_1): call init_mswindows_very_early.
6500         * event-msw.c:
6501         * event-msw.c (mswindows_dde_callback): only execute when we are
6502         ready.
6503         * symsinit.h: declare init_mswindows_very_early.
6504
6505 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6506
6507         [sjt: This has been in 21.5 for months with no complaints.]
6508
6509         * console.h (struct console_methods): Added flags member.
6510         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6511         (CONMETH_IMPL_FLAG):
6512         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6513         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6514
6515         * device.c (window_system_pixelated_geometry): Use the above macros.
6516
6517         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6518         implememntation flag.
6519         * device.h (DEVICE_DISPLAY_P): Use it.
6520
6521         * frame.c (delete_frame_internal): Use the above macro.
6522
6523         * redisplay.c (redisplay_device): Use it.
6524         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6525         (redisplay_frame): Ditto.
6526
6527         * device-msw.c (mswindows_device_implementation_flags): Removed.
6528         (msprinter_device_implementation_flags): Removed.
6529         (console_type_create_device_mswindows): Removed references to
6530         implementation_flags methods, set implementation flags here.
6531         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6532
6533         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6534         (console_type_create_device_gtk): Removed method declaration.
6535         Added commented out statement which semantically matches the
6536         commented out statement in the above removed method.
6537
6538 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6539
6540         The attached patch fixes a few warnings. 
6541
6542         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6543         * src/frame-gtk.c: guard against GNOME calls in GTK only
6544         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6545         * src/select-gtk.c: prototype lisp_to_time
6546
6547 2001-06-08  Ben Wing  <ben@xemacs.org>
6548
6549         ------ gc-in-window-procedure fixes ------
6550         
6551         * alloc.c:
6552         * alloc.c (struct post_gc_action):
6553         * alloc.c (register_post_gc_action):
6554         * alloc.c (run_post_gc_actions):
6555         * alloc.c (garbage_collect_1):
6556         Create "post-gc actions", to avoid those dreaded "GC during window
6557         procedure" problems.
6558
6559         * event-msw.c:
6560         Abort, clean and simple, when GC in window procedure.  We want
6561         to flush these puppies out.
6562
6563         * glyphs-msw.c:
6564         * glyphs-msw.c (finalize_destroy_window):
6565         * glyphs-msw.c (mswindows_finalize_image_instance):
6566         Use a post-gc action when destroying subwindows.
6567
6568         * lisp.h:
6569         Declare register_post_gc_action().
6570
6571         * scrollbar-msw.c:
6572         * scrollbar-msw.c (unshow_that_mofo):
6573         Use a post-gc action when unshowing scrollbar windows, if in gc.
6574
6575         * redisplay.c (mark_redisplay):
6576         Add comment about the utter evilness of what's going down here.
6577
6578         ------ cygwin setitimer fixes ------
6579         
6580         * Makefile.in.in (sheap_objs):
6581         * Makefile.in.in (profile_objs):
6582         * Makefile.in.in (objs):
6583         Compile profile.c only when HAVE_SETITIMER.
6584         
6585         * nt.c (mswindows_sigset):
6586         * nt.c (mswindows_sighold):
6587         * nt.c (mswindows_sigrelse):
6588         * nt.c (mswindows_sigpause):
6589         * nt.c (mswindows_raise):
6590         * nt.c (close_file_data):
6591         Style fixes.
6592         
6593         * nt.c:
6594         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6595         
6596         * profile.c:
6597         * profile.c (Fstart_profiling):
6598         * profile.c (Fstop_profiling):
6599         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6600         instead of just plain setitimer().
6601         
6602         * signal.c:
6603         * signal.c (set_one_shot_timer):
6604         * signal.c (alarm):
6605         Define qxe_setitimer() as an encapsulation around setitimer() --
6606         call setitimer() directly unless Cygwin or MS Win, in which case
6607         we use our simulated version in win32.c.
6608         
6609         * systime.h:
6610         * systime.h (struct itimerval):
6611         * systime.h (ITIMER_REAL):
6612         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6613         comment about "qxe" and the policy regarding encapsulation.
6614
6615         * win32.c:
6616         * win32.c (setitimer_helper_proc):
6617         * win32.c (setitimer_helper_period):
6618         * win32.c (setitimer_helper):
6619         * win32.c (mswindows_setitimer):
6620         Move setitimer() emulation here, so Cygwin can use it.
6621         Rename a couple of functions and variables to be longer and more
6622         descriptive.  In setitimer_helper_proc(), send the signal
6623         using either mswindows_raise() or (on Cygwin) kill().  If for
6624         some reason we are still getting lockups, we'll change the kill()
6625         to directly invoke the signal handlers.
6626
6627         ------ windows shell fixes ------
6628         
6629         * callproc.c:
6630         * ntproc.c:
6631         Comments about how these two files must die.
6632
6633         * callproc.c (init_callproc):
6634         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6635         not just COMSPEC. (more correct and closer to FSF.) Don't
6636         force a value for SHELL into the environment. (Comments added
6637         to explain why not.)
6638         
6639         * nt.c (init_user_info):
6640         Don't shove a fabricated SHELL into the environment.  See above.
6641
6642 2001-06-01  Ben Wing  <ben@xemacs.org>
6643
6644         * Makefile.in.in (ldflags):
6645         eliminate that pesky "defaulting to 00401000" warning.
6646         * nt.h:
6647         eliminate warnings.
6648
6649 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6650
6651         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6652         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6653
6654 2001-04-24  Jerry James <james@xemacs.org>
6655
6656         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6657         correct order.
6658
6659 2001-06-01  Ben Wing  <ben@xemacs.org>
6660
6661         * event-msw.c (debug_mswin_messages):
6662         conditionalize the messages that were causing compile errors.
6663         (if only macros could generate #ifdef statements ...)
6664
6665 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6666
6667         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6668
6669 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6670
6671         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6672
6673 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6674
6675         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6676         * process-unix.c (unix_canonicalize_host_name):
6677         sysdep.c (init_system_name):
6678         Use it to conditionally support IPv6 canonicalization.
6679
6680 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6681
6682         * event-msw.c:
6683         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6684
6685 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6686
6687         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6688         attempt is made to scroll when no scroll bar is available.
6689
6690 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6691
6692         * input-method-motif.c (XIM_delete_frame): New callback.
6693         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6694         got deleted from 21.4.3.)
6695
6696 2001-06-01  Ben Wing  <ben@xemacs.org>
6697
6698         * nt.c (mswindows_utime):
6699         * nt.c (close_file_data):
6700         fix off-by-one-indirection error.
6701
6702 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6703
6704         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6705         because set_file_times() now takes Lisp_Object path, instead of
6706         char*.
6707         * nt.c: Include buffer.h.
6708         * nt.c (convert_from_time_t): New.
6709         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6710         not set mtime correctly.
6711         * nt.h: Declare mswindows_utime().
6712         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6713         path, instead of char*.
6714         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6715
6716 2001-05-30  Ben Wing  <ben@xemacs.org>
6717
6718         For 21.4:
6719
6720         (Stephen, just take all event-msw.c patches.  This includes
6721         the "iconify" fix below.)
6722
6723         * event-msw.c:
6724         * event-msw.c (mswindows_dequeue_dispatch_event):
6725         * event-msw.c (assert):
6726         * event-msw.c (emacs_mswindows_quit_p):
6727         * event-msw.c (debug_mswin_messages):
6728         * event-msw.c (debug_output_mswin_message):
6729         * event-msw.c (vars_of_event_mswindows):
6730         Fix yet more problems with C-g handling.
6731         Implement debug-mswindows-events.
6732         
6733 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6734
6735         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6736         
6737 2001-05-23  Ben Wing  <ben@xemacs.org>
6738
6739         * event-msw.c (winsock_writer):
6740         * event-msw.c (winsock_closer):
6741         prior kludgy code was clobbering the buffer, thinking it was
6742         "unused" space to store an unneeded return value; instead, use
6743         the variable we've already got staring us in the face.
6744
6745 2001-05-17  Andy Piper  <andy@xemacs.org>
6746
6747         * sysfile.h: don't assume that file attributes are boolean
6748
6749 2001-05-23  Ben Wing  <ben@xemacs.org>
6750
6751         * device-msw.c (msprinter_init_device):
6752         signal an error rather than crash with an unavailable network
6753         printer (from Mike Alexander).
6754         
6755         * event-msw.c:
6756         * event-msw.c (struct winsock_stream):
6757         * event-msw.c (winsock_writer):
6758         * event-msw.c (winsock_closer):
6759         * event-msw.c (make_winsock_stream_1):
6760         cleanup headers.  fix (hopefully) an error with data corruption
6761         when sending to a network connection.
6762
6763         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6764         to handle the ~user prefix by (a) always assuming we're referencing
6765         ourselves and not even verifying the user -- hence any file with
6766         a tilde as its first char is invalid! (b) if there wasn't a slash
6767         following the filename, the pointer was set *past* the end of
6768         file and we started reading from uninitialized memory.  Now we
6769         simply treat these as files, always.
6770
6771         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6772         
6773 2001-05-19  Ben Wing  <ben@xemacs.org>
6774
6775         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6776
6777         * process-nt.c:
6778         * process-nt.c (vars_of_process_nt):
6779         remove unused mswindows-quote-process-args.  rec for 21.4.
6780         
6781 2001-05-12  Ben Wing  <ben@xemacs.org>
6782
6783         * event-msw.c (mswindows_dde_callback):
6784         * event-msw.c (mswindows_wnd_proc):
6785         eliminate cygwin warnings.
6786
6787 2001-05-06  Ben Wing  <ben@xemacs.org>
6788
6789         * console-msw.h:
6790         * device-msw.c:
6791         * device-msw.c (print_dialog_worker):
6792         * device-msw.c (mswindows_handle_print_dialog_box):
6793         * device-msw.c (syms_of_device_mswindows):
6794         * dialog-msw.c (mswindows_make_dialog_box_internal):
6795         * general-slots.h:
6796         implement printing the selection when it's selected.
6797
6798 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6799
6800         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6801
6802 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6803
6804         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6805         EMACS_INT is signed.
6806
6807 2001-04-15  Michael Lausch  <mla@1012surf.net>
6808
6809         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6810         gtk_widget_request_size() to give scrollbar >0 width for
6811         GTK >1.2.8.
6812
6813 2001-05-30  William M. Perry  <wmperry@gnu.org>
6814
6815         * event-gtk.c: Check for buttons as modifier keys.
6816
6817 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6818
6819         * s\mingw32.h:
6820         Properly find MinGW's <process.h> inside Cygwin's restructured
6821         include directories.  Don't try to include <cygwin/version.h>
6822         since we are dropping support for MinGW in versions of Cygwin
6823         earlier than b21.
6824         * nt.c:
6825         Drop support for MinGW in versions of Cygwin before b21.
6826         * sysdep.c:
6827         Properly find MinGW's <process.h> inside Cygwin's restructured
6828         include directories.
6829         * syswindows.h:
6830         Drop support for MinGW in versions of Cygwin before b21.
6831         * unexcw.c:
6832         Even though a.out.h is no longer detected by configure, allow
6833         MinGW to use it until we figure out how to do the job with Win32.
6834
6835 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6836
6837         * syntax.c (find_start_of_comment):
6838         Fix `unbalanced parentheses' bug when dealing with mixed comment
6839         styles in c++/java/etc. mode
6840
6841 2001-05-29  Mike Alexander  <mta@arbortext.com>
6842
6843         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6844         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6845
6846 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6847
6848         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6849
6850 2001-03-31  Mike Sperber <mike@xemacs.org>
6851
6852         * search.c (Freplace_match): Support FSF-style specification of
6853         match subexpression when applied to a buffer.
6854
6855 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6856
6857         * event-stream.c (is_scrollbar_event): add missing semicolon
6858
6859 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6860
6861         * Makefile.in.in: Use TAR macro instead of hardcoding
6862           tar.  Allows use of GNU tar instead of system tar
6863
6864 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6865
6866         * event-stream.c (is_scrollbar_event): add missing semicolon
6867
6868 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6869
6870         * XEmacs 21.4.3 "Academic Rigor" is released.
6871
6872 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6873
6874         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6875
6876 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6877
6878         * buffer.c (Vcase_fold_search): Remove obsolete
6879           comment about non ASCII case-fold-search.  This
6880           bug has been fixed by case-table changes.
6881
6882 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6883
6884         * event-msw.c: Restore include of events-mod.h.
6885
6886 2001-04-22   zhaoway  <zw@debian.org>
6887
6888         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6889         !HAVE_SCROLLBARS.
6890
6891 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6892
6893         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6894
6895 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6896
6897         * mule-charset.c (Fmake_charset): Add missing else.
6898
6899 2001-04-23  Ben Wing  <ben@xemacs.org>
6900
6901         * event-msw.c (FAKE_MOD_QUIT):
6902         * event-msw.c (mswindows_dequeue_dispatch_event):
6903         * event-msw.c (mswindows_wnd_proc):
6904         * event-msw.c (emacs_mswindows_quit_p):
6905         Get critical quit working.
6906
6907 2001-05-05  Ben Wing  <ben@xemacs.org>
6908
6909         * console-msw.h:
6910         * device-msw.c:
6911         * device-msw.c (mswindows_get_default_margin):
6912         * frame-msw.c (mswindows_size_frame_internal):
6913         * frame-msw.c (msprinter_init_frame_1):
6914         * frame-msw.c (vars_of_frame_mswindows):
6915         Change top/bottom margin defaults to 0.5 inches.
6916
6917 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6918
6919         Fix link error with gcc 3.0 on Linux.
6920         * terminfo.c (UP): Remove.
6921         * terminfo.c (BC): Remove.
6922         * terminfo.c (PC): Remove.
6923         They weren't used, and in any case, these symbols should be
6924         defined in the *library*.
6925
6926 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6927
6928         * s/aix4.h: Fix crash with xlc -O3.
6929         Improve comment explaining how -O3 works.
6930
6931 2001-04-15  Ben Wing  <ben@xemacs.org>
6932
6933         * event-stream.c:
6934         * event-stream.c (Fnext_event):
6935         * event-stream.c (is_scrollbar_event):
6936         * event-stream.c (execute_command_event):
6937         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6938         crash' problem.  His fix introduces other problems.  We filter
6939         out scrollbar events specifically, making them somewhat invisible
6940         to command-building, and not appearing in `this-command-keys'.
6941         More work is still needed (see comments in event-stream.c), but
6942         this fixes all the major problems.
6943
6944 2001-04-20  Ben Wing  <ben@xemacs.org>
6945
6946         * .cvsignore: Added stuff for Windows.
6947
6948 2001-04-28  Ben Wing  <ben@xemacs.org>
6949
6950         * buffer.c (Ferase_buffer):
6951         * editfns.c (buffer_insert1):
6952         * editfns.c (Finsert_before_markers):
6953         * editfns.c (Finsert_string):
6954         * editfns.c (Finsert_char):
6955         * editfns.c (Fdelete_region):
6956         * editfns.c (Fwiden):
6957         * editfns.c (Fnarrow_to_region):
6958         remove bogus lines setting zmacs_region_stays to 0.
6959         
6960 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6961
6962         * process-unix.c (unix_open_network_stream): If connect() fails
6963         invalidate file descriptor after closing it.
6964
6965 2001-03-08  Mike Alexander  <mta@arbortext.com>
6966
6967         * event-msw.c (mswindows_need_event_in_modal_loop):
6968         Don't dispatch a message if we didn't get one.
6969         (mswindows_need_event):
6970         Terminate the correct process when one exits instead of the first
6971         one on Vprocess_list and look for process termination when in
6972         mswindows_protect_modal_loop.
6973
6974 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6975
6976         * XEmacs 21.4.1 "Copyleft" is released.
6977
6978 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6979
6980         * input-method-motif.c (XIM_delete_frame): New callback.
6981         (XIM_init_frame): Register it.
6982
6983 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6984
6985         * XEmacs 21.4.0 "Solid Vapor" is released.
6986
6987 2001-04-15  Ben Wing  <ben@xemacs.org>
6988
6989         * cmdloop.c (call_command_loop):
6990         Fix braino in bit-rotting code.
6991         
6992 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6993
6994         * extents.c (Fset_extent_endpoints): Force creation of extent info
6995         in buffer_or_string.
6996
6997         * extents.c (process_extents_for_insertion_mapper): Correctly
6998         check for open-open zero-length extents.
6999
7000 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7001
7002         * lisp.h: New typedefs Memory_count, Element_count.
7003         * regex.c:
7004         * regex.h:
7005         Sign-compare warning elimination: several unsigned -> signed.
7006         Based on work by Ben Wing <ben@xemacs.org>.
7007
7008 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7009
7010         * XEmacs 21.2.47 "Zephir" is released.
7011
7012 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7013
7014         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7015
7016 2001-04-03  Mike Sperber <mike@xemacs.org>
7017
7018         * search.c: Revert previous patch due because of release.
7019
7020 2001-03-30  Ben Wing  <ben@xemacs.org>
7021
7022         * s\cygwin32.h:
7023         Add missing killpg prototype.
7024
7025         * elhash.c:
7026         Add a comment about fixing problems when a new entry is added
7027         while mapping.
7028
7029         * frame-msw.c (mswindows_init_frame_1):
7030         Fix compile warnings.
7031
7032         * menubar.c (vars_of_menubar):
7033         Provide `menu-accelerator-support' to indicate that we properly
7034         support %_ in menu specifications, so that package code can
7035         conditionalize on this (and remove %_ from menu specifications
7036         on older versions).
7037
7038         * event-msw.c:
7039         * scrollbar-msw.c:
7040         * scrollbar-msw.c (can_scroll):
7041         * scrollbar-msw.h:
7042         Fix handling of mouse wheel under Windows to follow standards --
7043         now scrolls window under pointer, not selected window.
7044
7045 2001-03-31  Mike Sperber <mike@xemacs.org>
7046
7047         * search.c (Freplace_match): Support FSF-style specification of
7048         match subexpression when applied to a buffer.
7049
7050 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7051
7052         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7053         function to modify KEYMAP, so map over a copy of the hash table.
7054
7055 2001-03-21  Martin Buchholz <martin@xemacs.org>
7056
7057         * XEmacs 21.2.46 "Urania" is released.
7058
7059 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7060
7061         * realpath.c (xrealpath): Make file-truename work with symlinks to
7062         /cygdrive paths on cygwin. Always lowercase drive-letters on
7063         native windows.
7064         (cygwin_readlink): Don't try to find canonical filename unless
7065         file exists.
7066
7067 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7068
7069         * ChangeLog: Log GTK merge.
7070
7071         * dumper.c:
7072         * select-x.c:
7073         * specifier.c:
7074         * symeval.h:
7075         Revert gratuitous whitespace changes from GTK merge.
7076
7077         * emacs.c: Document end of complex #ifdef @ l. 1495.
7078
7079
7080 2001-03-12  Andy Piper  <andy@xemacs.org>
7081
7082         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7083         have to do likewise.
7084
7085 2001-03-12  Andy Piper  <andy@xemacs.org>
7086
7087         * sysdep.c: we only support mingw now.
7088
7089 2001-03-09  Andy Piper  <andy@xemacs.org>
7090
7091         * unexcw.c (copy_executable_and_dump_data_section): making approx
7092         overrun a warning only.
7093
7094 2001-03-10  William M. Perry  <wmperry@aventail.com>
7095
7096         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7097         satisfy Stephen's identical-after-cpp plea.
7098
7099 2001-03-02  Ben Wing  <ben@xemacs.org>
7100
7101         * cmds.c:
7102         * cmds.c (Fforward_char):
7103         * syntax.c:
7104         * window.c:
7105
7106         Augment documentation of the most common motion commands to make
7107         note of the shifted-motion support.
7108         
7109 2001-03-02  Ben Wing  <ben@xemacs.org>
7110
7111         * nt.c (mswindows_fstat):
7112         * nt.c (mswindows_stat):
7113         * search.c (boyer_moore):
7114         Fix compile warnings under Windows.
7115         
7116         * sysdep.c (sys_readdir):
7117         Fix buggy filename-conversion code under Mule.
7118
7119 2001-03-09  William M. Perry  <wmperry@aventail.com>
7120
7121         * Makefile.in.in:
7122         * config.h.in:
7123         * console.c:
7124         * console.h:
7125         * device.c:
7126         * device.h:
7127         * dragdrop.c:
7128         * emacs.c:
7129         * event-stream.c:
7130         * events.c:
7131         * events.h:
7132         * faces.c:
7133         * frame.h:
7134         * general-slots.h:
7135         * glyphs.c:
7136         * gutter.c:
7137         * inline.c:
7138         * lisp.h:
7139         * lrecord.h:
7140         * make-src-depend:
7141         * redisplay-output.c:
7142         * redisplay.c:
7143         * symsinit.h:
7144         * sysfile.h:
7145         * toolbar.c:
7146         * window.c:
7147         The Great GTK Merge.
7148
7149         * ChangeLog.GTK:
7150         * console-gtk.c:
7151         * console-gtk.h:
7152         * device-gtk.c:
7153         * emacs-marshals.c:
7154         * emacs-widget-accessors.c:
7155         * event-gtk.c:
7156         * frame-gtk.c:
7157         * gccache-gtk.c:
7158         * gccache-gtk.h:
7159         * glade.c:
7160         * glyphs-gtk.c:
7161         * glyphs-gtk.h:
7162         * gtk-glue.c:
7163         * gtk-xemacs.c:
7164         * gtk-xemacs.h:
7165         * gui-gtk.c:
7166         * gui-gtk.h:
7167         * menubar-gtk.c:
7168         * native-gtk-toolbar.c:
7169         * objects-gtk.c:
7170         * objects-gtk.h:
7171         * redisplay-gtk.c:
7172         * scrollbar-gtk.c:
7173         * scrollbar-gtk.h:
7174         * select-gtk.c:
7175         * toolbar-gtk.c:
7176         * ui-byhand.c:
7177         * ui-gtk.c:
7178         * ui-gtk.h:
7179         The Great GTK Merge: new files.
7180
7181 2001-02-26  Ben Wing  <ben@xemacs.org>
7182
7183         Reapplied Lstream change.
7184
7185 2001-02-26  Ben Wing  <ben@xemacs.org>
7186
7187         Undid the last change, since it is more controversial than I
7188         thought.  It should be back in at some point soon.
7189         
7190 2001-02-25  Ben Wing  <ben@xemacs.org>
7191
7192         * buffer.c:
7193         * callproc.c (Fold_call_process_internal):
7194         * event-msw.c (ntpipe_slurp_reader):
7195         * event-msw.c (ntpipe_shove_writer):
7196         * event-msw.c (winsock_reader):
7197         * event-msw.c (winsock_writer):
7198         * file-coding.c:
7199         * file-coding.c (detect_eol_type):
7200         * file-coding.c (detect_coding_type):
7201         * file-coding.c (determine_real_coding_system):
7202         * file-coding.c (Fdetect_coding_region):
7203         * file-coding.c (decoding_reader):
7204         * file-coding.c (decoding_writer):
7205         * file-coding.c (mule_decode):
7206         * file-coding.c (Fdecode_coding_region):
7207         * file-coding.c (encoding_reader):
7208         * file-coding.c (encoding_writer):
7209         * file-coding.c (mule_encode):
7210         * file-coding.c (Fencode_coding_region):
7211         * file-coding.c (detect_coding_sjis):
7212         * file-coding.c (decode_coding_sjis):
7213         * file-coding.c (encode_coding_sjis):
7214         * file-coding.c (detect_coding_big5):
7215         * file-coding.c (decode_coding_big5):
7216         * file-coding.c (encode_coding_big5):
7217         * file-coding.c (detect_coding_ucs4):
7218         * file-coding.c (decode_coding_ucs4):
7219         * file-coding.c (encode_coding_ucs4):
7220         * file-coding.c (detect_coding_utf8):
7221         * file-coding.c (decode_coding_utf8):
7222         * file-coding.c (encode_coding_utf8):
7223         * file-coding.c (detect_coding_iso2022):
7224         * file-coding.c (decode_coding_iso2022):
7225         * file-coding.c (encode_coding_iso2022):
7226         * file-coding.c (decode_coding_no_conversion):
7227         * file-coding.c (encode_coding_no_conversion):
7228         * glyphs-x.c (write_lisp_string_to_temp_file):
7229         * gpmevent.c (tty_get_foreign_selection):
7230         * lisp.h:
7231         * lstream.c:
7232         * lstream.c (Lstream_flush_out):
7233         * lstream.c (Lstream_adding):
7234         * lstream.c (Lstream_write_1):
7235         * lstream.c (Lstream_write):
7236         * lstream.c (Lstream_raw_read):
7237         * lstream.c (Lstream_read_more):
7238         * lstream.c (Lstream_read):
7239         * lstream.c (Lstream_unread):
7240         * lstream.c (Lstream_fputc):
7241         * lstream.c (stdio_reader):
7242         * lstream.c (stdio_writer):
7243         * lstream.c (filedesc_reader):
7244         * lstream.c (filedesc_writer):
7245         * lstream.c (lisp_string_reader):
7246         * lstream.c (struct fixed_buffer_stream):
7247         * lstream.c (make_fixed_buffer_input_stream):
7248         * lstream.c (make_fixed_buffer_output_stream):
7249         * lstream.c (fixed_buffer_reader):
7250         * lstream.c (fixed_buffer_writer):
7251         * lstream.c (struct resizing_buffer_stream):
7252         * lstream.c (resizing_buffer_writer):
7253         * lstream.c (dynarr_writer):
7254         * lstream.c (lisp_buffer_reader):
7255         * lstream.c (lisp_buffer_writer):
7256         * lstream.h:
7257         * lstream.h (lstream_implementation):
7258         * lstream.h (struct lstream):
7259         * md5.c (Fmd5):
7260         * process-nt.c (nt_send_process):
7261         * process-unix.c (unix_send_process):
7262         
7263         Correct Lstream lossage due to mixing of signed and unsigned
7264         quantities.  All Lstream uses of size_t and ssize_t are now a
7265         single signed data type Lstream_data_count.  This fixes problems
7266         under Windows with sending large quantities of data to a process,
7267         and may well fix other subtle bugs.
7268
7269 2001-02-23  Martin Buchholz <martin@xemacs.org>
7270
7271         * XEmacs 21.2.45 "Thelxepeia" is released.
7272
7273 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7274
7275         * lisp-union.h (XSETINT): 
7276         (XSETCHAR):
7277         (XSETOBJ): 
7278         Reverse previous change of 2001-02-06.
7279
7280 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7281
7282         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7283         buffers.
7284         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7285         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7286         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7287         * regex.c (POS_AS_IN_BUFFER): removed
7288         * regex.c (re_search_2):
7289         * regex.c (re_match_2):
7290         Don't use an offset of 1 when calculating buffer positions, since
7291         `BI_BUF_BEGV' does it already.
7292
7293 2001-02-18  Wim Dumon  <wim@easics.be>
7294
7295         * insdel.c (prepare_to_modify_buffer): Also check for
7296         supersession when clash-detection is enabled. 
7297
7298 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7299
7300         * regex.c (re_match_2_internal):
7301         Convert temp characters from 'const unsigned char' to 're_char'.
7302         Fix crashing bug with extended characters under mule.
7303         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7304         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7305         font-lock, pdump, and new syntax-table code.
7306         * syntax.c (find_start_of_comment):
7307         (find_end_of_comment):
7308         (forward-comment):
7309         Fix crashing bugs involving moving beyond end of buffer.
7310         * syntax.c (find_start_of_comment):
7311         Fixed logic to allow proper detection of cases where the same
7312         character is used to end both a two-char comment start and a
7313         two-char comment end sequence. Fixes `(forward-comment -1)'.
7314         * syntax.c (find_start_of_comment):
7315         Return position just past last comment-end character for all cases
7316         (previously was only done for two-char comment-end sequences).
7317         * syntax.c (forward-comment):
7318         Take value returned from `find_end_of_comment', rather than
7319         incrementing it.
7320         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7321         Properly deal with BUFFERP (syntax_cache.object)
7322
7323 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7324
7325         * alloc.c (Fgarbage_collect): 
7326         * alloc.c (make_bit_vector_from_byte_vector):
7327         -Wsign-compare-correctness.
7328
7329 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7330
7331         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7332         (XSETCHAR): Likewise.
7333         (XSETOBJ): Likewise.
7334
7335 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7336
7337         * mule-canna.c (canna-func-delete_previous): 
7338         Rename to canna-func-delete-previous.
7339
7340 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7341
7342         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7343
7344 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7345
7346         * font-lock.c (find_context): Fix C++ compile errors introduced by
7347         recent patch
7348
7349 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7350
7351         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7352         pragma, but earlier ones barf on the same pragma.
7353
7354 2001-02-06  Mike Sperber <mike@xemacs.org>
7355
7356         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7357         `configure-mule-lisp-directory'.
7358
7359 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7360
7361         Make sure dump-id.c is compiled in the same way as other .c's.
7362         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7363         * dump-id.h: Remove.
7364         * emacs.c: Move dump-id.h into dumper.h.
7365         * dumper.h: Move dump-id.h into dumper.h.
7366         * Makefile.in.in:
7367         Use standard .c.o rule for building dump-id.o.
7368         Remove preprocessor flags from link command.
7369         Add dump-id.o to ${otherobjs} if PDUMP.
7370
7371 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7372
7373         Port FSF 20.7 syntax table improvements.
7374         * syntax.c.
7375         * syntax.h.
7376
7377         Fixups for new syntax table stuff.
7378         * dired.c: Include syntax.c.
7379         (Fdirectory_files): Initialize regex_match_object and
7380         regex_emacs_buffer.
7381         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7382         and Fget_char_property.
7383
7384         Use ported FSF 20.7 syntax table improvements.
7385         * font-lock.c.
7386         * regex.c.
7387         * search.c.
7388         
7389 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7390
7391         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7392         Unixware's enum boolean from sys/types.h.
7393
7394 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7395
7396         Fix support for building with latest Purify.
7397         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7398         (PURIFY_FLAGS): Likewise.
7399
7400 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7401
7402         * fileio.c (lisp_string_set_file_times): New.
7403         * fileio.c (Fcopy_file): Use it.
7404         Fixes bug:
7405         (copy-file filename non-ascii-filename t t)
7406         ==> No such file or directory, non-ascii-filename
7407
7408 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7409
7410         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7411         USHRT_MAX seems clearer than ~0 anyways.
7412
7413 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7414
7415         dumper improvements.  Inspired by Olivier.
7416         * dumper.c (pdump_max_align): New.
7417         * dumper.c (pdump_add_entry): Use pdump_max_align.
7418         * dumper.c (pdump_get_entry_list): Likewise.
7419         * dumper.c (pdump_scan_by_alignment): Likewise.
7420         Don't iterate through unnecessary alignments.
7421         * dumper.c (pdump_file_get): No need to align result of malloc().
7422         * dumper.c (pdump_mallocadr): Remove.  
7423         The result of malloc() is guaranteed to be maximally aligned.
7424         * dumper.c: s/elmt/elt/g;
7425         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7426         * dumper.c (pdump_alert_undump_object): Likewise.
7427         * dumper.c (pdump_align_table): 
7428         Don't support alignments > 64.
7429         Store ALIGNOF's, not shift counts, in table.
7430
7431 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7432
7433         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7434         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7435         * systime.h: Use HAVE_UTIME.
7436         * sysdep.c (struct utimbuf): Remove.
7437         * sysdep.c (set_file_times): Prefer utime() to utimes().
7438         * config.h.in (HAVE_UTIME): New.
7439         * config.h.in (HAVE_UTIME_H): Remove.
7440         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7441
7442 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7443
7444         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7445
7446 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7447
7448         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7449
7450 2001-02-08  Martin Buchholz <martin@xemacs.org>
7451
7452         * XEmacs 21.2.44 "Thalia" is released.
7453
7454 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7455
7456         Fixes crashes in kill-emacs on some systems.
7457         * process-unix.c (unix_kill_child_process):
7458         It's OK for kill() to fail with ESRCH.
7459
7460 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7461
7462         Contortions to make .gdbinit tricks work on most systems.
7463         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7464         * alloc.c (dbg_valmask): Make non-const.
7465         * alloc.c (dbg_typemask): Make non-const.
7466         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7467         * alloc.c (dbg_valbits): Make non-const.
7468         * alloc.c (dbg_gctypebits): Make non-const.
7469         * .gdbinit (decode_object): Make it work with AIX cc.
7470
7471 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7472
7473         * elhash.c (make_general_lisp_hash_table):
7474         Use simpler and more efficient calloc to clear entries.
7475
7476 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7477
7478         * window.c (window_scroll): Work around an AIX C compiler bug.
7479         Fixes 'scroll-up' does nothing problem with xlC.
7480
7481 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7482
7483         * .gdbinit: Remove obsolete comment.
7484
7485 2001-01-31  Mike Alexander  <mta@arbortext.com>
7486
7487         * select.c (Fown_selection_internal): Set owned_p for device
7488         method correctly.
7489
7490 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7491
7492         Port to g++ 2.97.
7493         "not" cannot be used as a macro name as it is an operator in C++
7494         * config.h.in: Stop #defining `not'.
7495         * chartab.c (check_category_char): not ==> not_p
7496         * chartab.h: Likewise.
7497         * regex.c (re_match_2_internal): Likewise.
7498
7499 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7500
7501         * lisp-disunion.h: Fix up comments.
7502
7503 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7504
7505         * keymap.c (define_key_check_and_coerce_keysym):
7506         (syms_of_keymap):
7507         Support mouse-6 and mouse-7 bindings in the obvious way.
7508
7509 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7510
7511         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7512
7513 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7514
7515         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7516         Previous patch missed DEFVAR_INT_MAGIC.
7517         Make sure future DEFVAR_foo use correct types.
7518         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7519         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7520         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7521         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7522         * (DEFVAR_INT): Likewise.
7523         * redisplay.c (vertical_clip): Should be of type Fixnum.
7524         * redisplay.c (horizontal_clip): Likewise.
7525         * lisp.h (dump_add_opaque_int): New.
7526         (dump_add_opaque_fixnum): New.
7527
7528 2001-01-29  Andy Piper  <andy@xemacs.org>
7529
7530         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7531         since they can be eval'ed
7532
7533 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7534
7535         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7536         Oops, XEmacs redefines `class'.  Use `typename' instead.
7537
7538 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7539
7540         * dumper.c: Fix C++ compile errors.
7541
7542 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7543
7544         * tparam.c: Use correct prototypes.
7545
7546 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7547
7548         * sysproc.h: #include util.h for NetBSD's openpty.
7549
7550 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7551
7552         More 64-bit correctness.
7553         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7554         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7555         Fix up comments.
7556         This finally finishes the 64-bit SGI port.
7557         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7558         * symbols.c: Fix up comments and type casts.
7559         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7560         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7561         * symeval.h (Fixnum): New type.
7562         * symeval.h (symbol_value_type): Fix up comment.
7563
7564         * commands.h:
7565         * nt.c:
7566         * emacs.c:
7567         * data.c:
7568         * redisplay.c:
7569         * abbrev.c:
7570         * dired-msw.c:
7571         * event-Xt.c:
7572         * eldap.c:
7573         * window.c:
7574         * sound.c:
7575         * event-stream.c:
7576         * eval.c:
7577         * buffer.c:
7578         * mule-canna.c: A million DEFVAR_INTs here...
7579         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7580         * extents.c:
7581         * cmdloop.c:
7582         * lisp.h:
7583         * select-x.c:
7584         * console-x.h:
7585         * event-msw.c:
7586         * mule-wnnfns.c:
7587         * hpplay.c:
7588         * ralloc.c:
7589         * alloc.c:
7590         * keymap.c:
7591         * profile.c:
7592         s/int/Fixnum/g in DEFVAR_INT declarations.
7593
7594 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7595
7596         Port pdump to SGI alignment-sensitive environment.
7597         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7598         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7599         properly aligned.
7600         Define and use aligned reading and writing macros.
7601         Use buffered stdio instead of posix i/o for faster dumping.
7602         Eliminate kludgy 256 byte space for header.
7603         Read and write from dump file using structs for alignment safety.
7604         * dumper.c (pdump_align_stream): New.
7605         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7606         * dumper.c (PDUMP_READ_ALIGNED): New.
7607         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7608         * dumper.c (pdump_static_Lisp_Object): New struct.
7609         * dumper.c (pdump_static_pointer): New struct.
7610         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7611         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7612         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7613         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7614
7615         * dumper.c (pdump_backtrace):
7616         * dumper.c (pdump_get_indirect_count):
7617         * dumper.c (pdump_register_object):
7618         * dumper.c (pdump_register_struct):
7619         * dumper.c (pdump_reloc_one):
7620         * dumper.c (pdump_scan_by_alignment):
7621         * dumper.c (pdump_dump_from_root_struct_ptrs):
7622         * dumper.c (pdump_dump_opaques):
7623         * dumper.c (pdump_dump_rtables):
7624         * dumper.c (pdump_dump_from_root_objects):
7625         * dumper.c (pdump):
7626         * dumper.c (pdump_load_finish):
7627         Use aligned reading and writing.
7628
7629         * dumper.c (pdump_free): Make static.
7630         * dumper.c (pdump_hFile): Likewise.
7631         * dumper.c (pdump_hMap): Likewise.
7632
7633 2001-01-26  Martin Buchholz <martin@xemacs.org>
7634
7635         * XEmacs 21.2.43 "Terspichore" is released.
7636
7637 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7638
7639         Type fiddling for window_config.saved_windows_count
7640         * window.c (struct window_config): 
7641         Make saved_windows_count member unsigned.
7642         * window.c (sizeof_window_config_for_n_windows): 
7643         Make parameter unsigned.
7644         * window.c (mark_window_config):
7645         * window.c (window_config_equal):
7646         * window.c (free_window_configuration):
7647         * window.c (Fset_window_configuration):
7648         * window.c (count_windows):
7649         * window.c (Fcurrent_window_configuration):
7650         * window.c (reinit_vars_of_window):
7651         Update all callers and users.
7652
7653 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7654
7655         Alignment correctness for flexible arrays.
7656         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7657         Make alignment-correct. Add interesting comments.
7658         * alloc.c (size_vector):
7659         * alloc.c (make_vector_internal):
7660         * alloc.c (make_bit_vector_internal):
7661         * alloc.c (sweep_bit_vectors_1):
7662         * fns.c (size_bit_vector):
7663         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7664         * window.c (sizeof_window_config_for_n_windows): 
7665         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7666
7667 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7668
7669         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7670
7671 2001-01-23  Andy Piper  <andy@xemacs.org>
7672
7673         * select.c (Fown_selection_internal): pass owned_p
7674
7675         * select-msw.c (mswindows_own_selection): New Signature.
7676
7677         * console.h (struct console_methods): add owned_p to
7678         _own_selection.
7679
7680         * select-x.c (x_own_selection): pass owned_p
7681         (hack_motif_clipboard_selection): use owned_p
7682         (vars_of_select_x): new variable -
7683         x_selection_strict_motif_ownership.
7684
7685 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7686
7687         * specifier.h (specifier_data_offset): Remove pointless parens.
7688         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7689
7690 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7691
7692         Make Lisp_Object sizeof methods be alignment-correct.
7693         pdump must restore objects to the same alignment as the C compiler
7694         assumes.  It really matters on SGIs.
7695         * lstream.c (aligned_sizeof_lstream): New.
7696         (sizeof_lstream): Use aligned_sizeof_lstream.
7697         (Lstream_new): Likewise.
7698         * opaque.c (aligned_sizeof_opaque): New.
7699         (sizeof_opaque): Use aligned_sizeof_opaque.
7700         (make_opaque): Likewise.
7701         * specifier.c (aligned_sizeof_specifier): New.
7702         (sizeof_specifier): Use aligned_sizeof_specifier.
7703         (make_specifier_internal): Likewise.
7704
7705 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7706
7707         * lstream.h (struct lstream): Use max_align_t for trailing data.
7708         * specifier.h (struct Lisp_Specifier): Likewise.
7709
7710 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7711
7712         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7713         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7714         (CCL_SUSPEND): Likewise.
7715         (CCL_INVALID_CMD): Likewise.
7716         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7717         (ccl_driver): Likewise.
7718         (CCL_WRITE_CHAR): Macro hygiene.
7719         (CCL_WRITE_STRING): Macro hygiene.
7720
7721 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7722
7723         Port "portable" dumper to SunOS 4 and HP-UX.
7724         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7725         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7726         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7727
7728 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7729
7730         * lisp.h (ALIGNOF): A better definition for C++.
7731
7732 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7733
7734         Macro hygiene.
7735         Fix printf warnings: int format, long int arg.
7736         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7737         (PUSH_FAILURE_POINT): Use correct printf formats.
7738         (POP_FAILURE_POINT): Use correct printf formats.  
7739         Use do {...} while (0)
7740
7741 2001-01-20  Martin Buchholz <martin@xemacs.org>
7742
7743         * XEmacs 21.2.42 "Poseidon" is released.
7744
7745 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7746
7747         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7748
7749 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7750
7751         De-kludgify FIXED_TYPE free list frobbing.
7752         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7753         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7754         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7755         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7756         * alloc.c (LRECORD_FREE_P): New.
7757         * alloc.c (MARK_LRECORD_AS_FREE): New.
7758         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7759         * alloc.c (STRUCT_FREE_P): Deleted.
7760         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7761         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7762         * alloc.c (STRING_CHARS_FREE_P): New.
7763         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7764         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7765         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7766         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7767         * alloc.c (resize_string): Use new definitions.
7768         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7769         * alloc.c (verify_string_chars_integrity): Use new definitions.
7770         * alloc.c (compact_string_chars): Use new definitions.
7771         * alloc.c: Update monster comments.
7772         * lrecord.h (lrecord_type): Add some new lrecord types for
7773         alloc.c's use.
7774
7775 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7776
7777         Improve alignment hackery.
7778         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7779         (max_align_t): Moved from opaque.h - general purpose.
7780         (ALIGN_PTR): Use size_t, not long.
7781         * opaque.h (max_align_t): Move to lisp.h.
7782
7783 2001-01-18  Norbert Koch  <nk@LF.net>
7784
7785         * gui.h: Fix and add prototypes to fix build problems.
7786
7787 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7788
7789         temacs is going away, so `dump-temacs' is now a bad name.
7790         * .dbxrc (dump-temacs): Rename to `dmp'.
7791         * .gdbinit (dump-temacs): Rename to `dmp'.
7792
7793 2001-01-17  Andy Piper  <andy@xemacs.org>
7794
7795         * glyphs.c (print_image_instance): comment to make martin happy.
7796
7797         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7798         change.
7799
7800         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7801         activation.
7802         (mswindows_tab_control_redisplay): warning suppression.
7803
7804         * glyphs-widget.c (widget_update): re-write to cope with updated
7805         items.
7806         (widget_instantiate): use new gui_item functions.
7807         (tab_control_update): deleted.
7808         (progress_gauge_update): deleted.
7809         (image_instantiator_progress_guage): take out update reference.
7810         (image_instantiator_tree_view): ditto.
7811         (image_instantiator_tab_control): ditto.
7812
7813         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7814         Right the new way.
7815         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7816         return whether anything was changed.
7817         (update_gui_item_keywords): as it sounds.
7818
7819         * gui.h: declare widget_gui_parse_item_keywords.
7820
7821         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7822         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7823
7824 2001-01-17  Martin Buchholz <martin@xemacs.org>
7825
7826         * XEmacs 21.2.41 "Polyhymnia" is released.
7827
7828 2001-01-16  Didier Verna  <didier@xemacs.org>
7829
7830         * glyphs.c (image_instantiate): don't use fallbacks when
7831         instantiating a face's background pixmap by inheritance.
7832
7833 2001-01-14  Mike Sperber <mike@xemacs.org>
7834
7835         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7836         Conditionalize accordingly.
7837
7838 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7839
7840         * dumper.c (pdump_file_get): Fix a compiler warning.
7841
7842 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7843
7844         Make Purify happy when pdumping.
7845         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7846         iniitalizing all bits of new lisp object memory.
7847         * symbols.c (Fmake_local_variable): Likewise.
7848         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7849         * symbols.c (Fdefvaralias): Likewise.
7850         * mule-charset.c (vars_of_mule_charset): Likewise.
7851
7852 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7853         Add the `-nd' flag when running pre-dump operations under the debugger.
7854         * .dbxrc (run-temacs): Add `-nd'.
7855         * .dbxrc (update-elc): Likewise.
7856         * .dbxrc (dump-temacs): Likewise.
7857         * .gdbinit (run-temacs): Likewise.
7858         * .gdbinit (check-temacs): Likewise.
7859         * .gdbinit (update-elc): Likewise.
7860         * .gdbinit (dump-temacs): Likewise.
7861
7862 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7863
7864         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7865         export OBJECT_MODE=64
7866         configure --pdump --use-union-type=no
7867         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7868         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7869
7870         * miscplay.c (sndcnv8U_2mono):
7871         Avoid two uses of `++' in the same expression.
7872         Suppresses a GCC warning.
7873
7874 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7875
7876         Make sure future compilers don't miscompile alloc.c.
7877         * alloc.c:
7878         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7879         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7880
7881 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7882
7883         * dumper.c: A little post-pdump-rename comment fixup.
7884
7885 2001-01-09  Jerry James  <james@eecs.ku.edu>
7886
7887         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7888
7889 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7890
7891         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7892         script:
7893         #!/bin/sh
7894         replace_symbol () {
7895           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7896         }
7897
7898         replace_symbol pdump_wire_lists pdump_weak_object_chains
7899         replace_symbol pdump_wire_list dump_add_weak_object_chain
7900
7901         replace_symbol pdump_wires pdump_root_objects
7902         replace_symbol pdump_wire dump_add_root_object
7903
7904         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7905         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7906
7907         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7908         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7909         replace_symbol dumpstructinfo pdump_root_struct_ptr
7910         replace_symbol dumpstruct dump_add_root_struct_ptr
7911
7912         replace_symbol dumpopaque dump_add_opaque
7913         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7914         replace_symbol dumpopaqueinfos pdump_opaques
7915         replace_symbol dumpopaqueinfo pdump_opaque
7916
7917         replace_symbol nb_structdump nb_root_struct_ptrs
7918         replace_symbol nb_opaquedump nb_opaques
7919
7920         replace_symbol align_table pdump_align_table
7921         replace_symbol dump_header pdump_header
7922
7923         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7924         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7925
7926
7927 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7928
7929         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7930         optimizing bytecount_to_charcount().
7931
7932 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7933
7934         * config.h.in:
7935         (HAVE_DLFCN_H): Removed.
7936         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7937
7938 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7939
7940         Portable dumper maintainability improvements.
7941         * alloc.c (staticpro):
7942         * alloc.c (staticpro_nodump):
7943         * alloc.c (garbage_collect_1):
7944         * alloc.c (reinit_alloc_once_early):
7945         * alloc.c (init_alloc_once_early):
7946         * alloc.c: Move dumper functions to alloc.c.
7947         * dumper.c (pdump_backtrace):
7948         * dumper.c (pdump_dump_structs):
7949         * dumper.c (pdump_dump_opaques):
7950         * dumper.c (pdump_dump_rtables):
7951         * dumper.c (pdump_dump_wired):
7952         * dumper.c (pdump):
7953         * dumper.c (pdump_load_check):
7954         * dumper.c (pdump_load_finish):
7955         * dumper.c (pdump_file_unmap):
7956         * dumper.c (pdump_file_get):
7957         * dumper.c (pdump_resource_free):
7958         * dumper.c (pdump_resource_get):
7959         * dumper.c (pdump_file_free):
7960         * dumper.c (pdump_file_try):
7961         * dumper.c (pdump_load):
7962         Remove fixed size limits on staticpro(), staticpro_nodump(),
7963         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7964         Remove custom code for dumping lrecord_implementations_table - use
7965         dumpopaque instead.
7966         Remove (most of the) custom code for dumping staticpros - dump it
7967         like any other dynarr.
7968
7969         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7970         * dumper.c: Moved functions from alloc.c.
7971         * alloc.c (dumpstruct): Moved to dumper.c.
7972         * alloc.c (dumpopaque): Likewise.
7973         * alloc.c (pdump_wire): Likewise.
7974         * alloc.c (pdump_wire_list): Likewise.
7975
7976         * lisp.h (Dynarr_sizeof): New.
7977         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7978         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7979         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7980
7981         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7982         * lisp.h (dumpopaque): ditto.
7983         * lisp.h (pdump_wire): ditto.
7984         * lisp.h (pdump_wire_list): ditto.
7985
7986 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7987
7988         * make-src-depend (PrintPatternDeps):
7989         Use `sort' to make output independent of perl version.
7990
7991 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7992
7993         Port to Netbsd 1.5.
7994         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7995         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7996
7997 2001-01-03  Didier Verna  <didier@xemacs.org>
7998
7999         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8000         that `focus_frame' is alive before thinking of calling
8001         `redisplay_redraw_cursor' on it.
8002
8003 2001-01-08  Martin Buchholz <martin@xemacs.org>
8004
8005         * XEmacs 21.2.40 is released.
8006
8007 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8008
8009         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8010
8011 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8012
8013         * alloc.c (dbg_valmask): Make const.
8014         * alloc.c (dbg_typemask): Make const.
8015         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8016         * alloc.c (dbg_valbits): Make const.
8017         * alloc.c (dbg_gctypebits): Make const.
8018
8019 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8020
8021         * redisplay-x.c (x_bevel_area):
8022         redisplay.h (struct rune):
8023         Typo fixes in comments.
8024
8025 2001-01-05  Andy Piper  <andy@xemacs.org>
8026
8027         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8028         adjustment.
8029
8030         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8031
8032 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8033
8034         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8035
8036         * mule-ccl.c (stack_idx_of_map_multiple):
8037         Non const global data must not be initialized!
8038         Found by MIYASHITA Hisashi.
8039
8040 2001-01-02  Andy Piper  <andy@xemacs.org>
8041
8042         * frame.c (change_frame_size): make sure frame size is always
8043         marked as changed.
8044
8045         * glyphs.c (image_instance_layout): minor code reuse.
8046
8047         * window.c (Fcurrent_window_configuration): revert previous
8048         change.
8049
8050 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8051
8052         * glyphs.h:
8053         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8054
8055 2000-12-31  Andy Piper  <andy@xemacs.org>
8056
8057         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8058         when widget gets unmapped.
8059
8060         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8061         function. Make sure widgets losing focus don't just drop it.
8062         (handle_focus_event_1): record the widget with focus.
8063
8064 2000-12-31  Andy Piper  <andy@xemacs.org>
8065
8066         * window.c (allocate_window): use
8067         make_image_instance_cache_hash_table.
8068         (make_dummy_parent): ditto.
8069         (Fset_window_configuration): ditto.
8070
8071         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8072
8073         * glyphs.c (process_image_string_instantiator): use
8074         INSTANTIATOR_TYPE.
8075         (get_image_instantiator_governing_domain): ditto.
8076         (normalize_image_instantiator): ditto.
8077         (instantiate_image_instantiator): ditto.
8078         (make_image_instance_1): ditto.
8079         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8080         (instantiator_eq_equal): new function for use with instance hash
8081         tables.
8082         (instantiator_eq_hash): ditto.
8083         (make_image_instance_cache_hash_table): create a suitable hash
8084         table for storing image instances.
8085
8086         * elhash.h (hash_table_weakness): new internal weakness type
8087         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8088         declare new functions.
8089
8090         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8091         another weakness type for glyphs.
8092         (make_standard_lisp_hash_table): new function split out from
8093         make_general_lisp_hash_table.
8094         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8095         (hash_table_instantiate): ditto.
8096         (Fmake_hash_table): ditto.
8097
8098 2000-12-31  Martin Buchholz <martin@xemacs.org>
8099
8100         * XEmacs 21.2.39 is released.
8101
8102 2000-12-29  Andy Piper  <andy@xemacs.org>
8103
8104         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8105
8106         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8107         the frame has changed so that we pick up geometry changes such as
8108         menubar visibility.
8109
8110 2000-12-28  Andy Piper  <andy@xemacs.org>
8111
8112         * lastfile.c (my_ebss): make a char array so we can pad the
8113         bss. Fixes cygwin unexec.
8114
8115         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8116
8117 2000-12-26  Andy Piper  <andy@xemacs.org>
8118
8119         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8120         comments and try and be more precise about a non-/SIGIO world.
8121         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8122         SIGIO.
8123
8124         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8125         we don't normalize to zero width or height.
8126
8127 2000-12-24  Andy Piper  <andy@xemacs.org>
8128
8129         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8130
8131 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8132
8133         * s/sco5.h: SCO 5 has pty support.
8134
8135 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8136
8137         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8138         input-method-xlib.c contains whole contents of input-method-xfs.c,
8139         so we can use input-method-xlib.c's code for USE_XFONTSET
8140         using #ifdefs.
8141         * input-method-xfs.c: removed.
8142
8143 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8144
8145         * file-coding.h (enum coding_category_type): reorder enumerators to
8146         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8147         (now one greater than largest real coding_category_type enumerator).
8148         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8149         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8150         Fcoding_category_list, Fset_coding_priority_list,
8151         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8152         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8153
8154 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8155
8156         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8157         * redisplay-output.c (redisplay_output_window): Clear top of window
8158         when face is changed.
8159         * redisplay-x.c (x_redraw_exposed_window): Call
8160         redisplay_clear_top_of_window.
8161         * redisplay.h: Publish redisplay_clear_top_of_window.
8162
8163 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8164
8165         * buffer.c (Fkill_buffer): Map over all devices.
8166         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8167         (list_windows): New function.
8168         (list_all_windows): Ditto.
8169         (Freplace_buffer_in_windows): Use them.
8170
8171 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8172
8173         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8174         (Fopen_database): Use `db_create' instead of `db_open'.
8175         (syms_of_database): Initialize Qqueue.
8176
8177 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8178
8179         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8180         buffer_local_face_property.
8181         * buffer.h (struct buffer): New member buffer_local_face_property.
8182         * window.c (Fset_window_buffer):  Mark window's face as changed
8183         when buffer has buffer local face.
8184         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8185         * objects.c (color_after_change): Set buffer_local_face_property
8186         when locale of face specifier is buffer.
8187         * objects.c (font_after_change): Ditto.
8188         * objects.c (face_boolean_after_change): Ditto.
8189         * glyphs.c (image_after_change): Ditto.
8190
8191 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8192
8193         * nt.c (mswindows_fstat): Report file permissions, volume serial
8194         number, etc. Code adapted from FSF Emacs 20.7.
8195
8196 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8197
8198         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8199         of stat when we don't have symbolic links, to make sure
8200         mswindows_stat is called on mswindows.
8201
8202 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8203
8204         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8205
8206 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8207
8208         * doprnt.c (emacs_doprnt_1): More printing fixes.
8209         Make printing of numbers compatible with libc and FSF Emacs.
8210         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8211         Use the system printf to do most of the hard work of formatting,
8212         instead of doprnt_1().
8213         Calculate memory to allocate for format string.
8214         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8215         (doprnt_1): Cleaner code and documentation.
8216
8217 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8218
8219         * Makefile.in.in: Use the loop variable to install headers.
8220
8221 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8222
8223         * window.c (Fsplit_window): Don't invalidate face cache.
8224
8225 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8226
8227         * minibuf.c (Fall_completions): Undo the previous change
8228         which removed checking elements start with space.
8229
8230 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8231
8232         * mule-canna.c: Didier suppression.
8233
8234 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8235
8236         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8237         (warning suppression).  Add English comment translations.
8238
8239 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8240
8241         * unexelfsgi.c (unexec): Better test for mmap failure.
8242
8243 2000-12-05  Martin Buchholz <martin@xemacs.org>
8244
8245         * XEmacs 21.2.38 is released.
8246
8247 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8248
8249         * redisplay.c (bar-cursor): Make a user variable.
8250
8251         * symsinit.h: Add init_postgresql_from_environment.
8252
8253 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8254
8255         * regex.c: Convert to clean C.
8256
8257 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8258
8259         * realpath.c:
8260         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8261         initialization.
8262         (sys_readlink): renamed to system_readlink to avoid conflict with
8263         the other sys_readlink.
8264
8265 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8266
8267         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8268
8269 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8270
8271         * postgresql.c (init_postgresql_from_environment): new function.
8272         (vars_of_postgresql): Move code initializing Lisp variables out and
8273         into init_postgresql_from_environment.
8274         emacs.c (main_1): Call init_postgresql_from_environment if and only
8275         if running a dumped XEmacs.
8276
8277 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8278
8279         * buffer.c: Make find-file-compare-truenames default to true on
8280         windows.
8281
8282         * realpath.c (win32_abs_start):
8283         (cygwin_readlink):
8284         (win32_readlink): New functions.
8285         (xrealpath): Return really real filenames on windows.
8286
8287         * fileio.c (Ffile_truename): Make file-truename work on windows.
8288
8289 2000-11-29  Didier Verna  <didier@xemacs.org>
8290
8291         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8292         * faces.c (update_face_cachel_data): use it.
8293         * faces.c (add_face_cachel): use it. Complete background pixmap
8294         frobbing in face cache if `update_face_cachel_data' has not done so.
8295
8296 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8297
8298         * search.c (string_match_1): Don't set last_thing_searched
8299         when search failed.
8300
8301 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8302
8303         * buffer.c: Include casetab.h
8304         (common_init_complex_vars_of_buffer): Use new case-table object.
8305         * buffer.h: Include casetab.h
8306         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8307         (DOWNCASE_TABLE_OF): Ditto.
8308         * bufslots.h: Remove char-tables and add case-table.
8309         * casetab.c: Include casetab.h
8310         (CASE_TABLE_P): Removed.
8311         (mark_case_table): New function.
8312         (allocate_case_table): New function.
8313         (Fcase_table_p): Use new case-table.
8314         (case_table_char): New function.
8315         (Fget_case_table): Ditto.
8316         (Fput_case_table): Ditto.
8317         (Fput_case_table_pair): Ditto.
8318         (Fcopy_case_table): Ditto.
8319         (Fcurrent_case_table): Return case-table.
8320         (Fstandard_case_table): Return case-table.
8321         (Fset_case_table): Fix doc-string.
8322         (set_case_table): Use case-table
8323         (syms_of_casetab): DEFSUBR new functions.
8324         (complex_vars_of_casetab): Set up standard case-table.
8325         * casetab.h: New file.
8326         * editfns.c: Include casetab.h
8327         (Fcompare_buffer_substrings): Use case-table.
8328         * inline.c: Include casetab.h
8329         * lisp.h: Remove bogus extern.
8330         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8331         * search.c: Include casetab.h
8332         (TRANSLATE_ASCII): Removed.
8333         (TRANSLATE): Unconditionally translate character.
8334         (looking_at_1): Use case-table.
8335         (string_match_1): Ditto.
8336         (fast_string_match): Ditto.
8337         (search_command): Ditto.
8338         (search_buffer): Separate boyer_moore.  Check whether
8339         boyer_moore is possible.
8340         (simple_search): New function.
8341         (boyer_moore): Separated from search_buffer. Translate char.
8342
8343 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8344
8345         * regex.c (RE_TR_ASCII): Removed.
8346         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8347         (PATFETCH): Call PATFETCH_RAW.
8348         (PATFETCH_RAW): Fetch Emchar.
8349         (PATUNFETCH): Decrement charptr.
8350         (GET_BUFFER_SPACE): Rename b to buf_end.
8351         (BUF_PUSH): Ditto.
8352         (BUF_PUSH_2): Ditto.
8353         (BUF_PUSH_3): Ditto.
8354         (EXTEND_BUFFER): Ditto.
8355         (SET_LIST_BIT): Ditto.
8356         (regex_compile): Ditto.  Translate non ASCII char.
8357         (compile_range): Ditto.
8358         (re_search_2): Ditto.
8359         (re_match_2_internal): Compare Emchar.
8360         (bcmp_translate): Ditto.
8361
8362 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8363
8364         * lisp.h (basic char/int typedefs):  comment improvement.
8365
8366 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8367
8368         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8369         unstomp inhibit_site_lisp.  Improve comments.
8370
8371 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8372
8373         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8374
8375 2000-11-28  Andy Piper  <andy@xemacs.org>
8376
8377         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8378         clipped display for windows in the gutter also.
8379         (redisplay_display_boxes_in_window_p): change semantics of return
8380         codes to be more intuitive.
8381
8382         * gutter.h: declare display_boxes_in_gutter_p.
8383
8384         * gutter.c (display_boxes_in_gutter_p): new function for
8385         redisplay.
8386
8387 2000-11-22  Andy Piper  <andy@xemacs.org>
8388
8389         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8390         autodetect domain.
8391
8392 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8393
8394         * callproc.c (Fold_call_process_internal):
8395         * gpm.c (Freceive_gpm_event):
8396         (tty_get_foreign_selection): Might be just warning supression.
8397         * fileio.c (Fwrite_region_internal):
8398         (Fset_visited_file_modtime):
8399         * keymap.c (event_matches_key_specifier_p):
8400         Initialize GCPROed variable.
8401
8402         * menubar-x.c (command_builder_find_menu_accelerator):
8403         Initialize before use.
8404
8405 2000-11-23  Andy Piper  <andy@xemacs.org>
8406
8407         * unexcw.c (unexec): make the resulting executable executable.
8408
8409 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8410
8411         * doc.c (get_doc_string):
8412         Use size_t, not int, for result of XSTRING_LENGTH.
8413
8414         * cmds.c (Fdelete_char):
8415         * cmds.c (Fpoint_at_eol):
8416         * cmds.c (Fself_insert_command):
8417         Use EMACS_INT, not int, for result of XINT.
8418         Someday, someone will want to insert more than 2**31 identical characters.
8419
8420         * cmds.c (Fdelete_char):
8421         * cmds.c (Fdelete_backward_char):
8422         * syntax.c (Fforward_word):
8423         * syntax.c (Fforward_comment):
8424         Make COUNT argument optional, for consistency with forward-char et al.
8425
8426 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8427
8428         * lisp.h:
8429         * print.c (long_to_string):
8430         Return a useful value: the pointer at end of data written.
8431
8432         * doprnt.c:
8433         Use `static const char * const' for constant strings.
8434         (union printf_arg): Delete `i', `ui' members.
8435         (get_doprnt_args):
8436         (emacs_doprnt_1):
8437         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8438         Do all printf-ing via the `l' specifier.
8439         Use EMACS_INT instead of int.
8440         Optimize.
8441
8442 2000-11-20  Didier Verna  <didier@xemacs.org>
8443
8444         * faces.c (update_face_cachel_data): don't frob the background
8445         pixmap when the window is being created. The face is needed but
8446         does not exist yet.
8447
8448 2000-11-20  Andy Piper  <andy@xemacs.org>
8449
8450         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8451         messing with a debug environment.
8452
8453 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8454
8455         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8456
8457 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8458
8459         * casetab.c (Fcase_table_p): Fix compile error and crash.
8460
8461 2000-11-18  Philip Aston  <philipa@mail.com>
8462
8463         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8464
8465 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8466
8467         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8468         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8469
8470 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8471
8472         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8473         * unexelf.c: Use HAVE_ELF_H.
8474         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8475         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8476         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8477         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8478         for testing.
8479         So this is an unexelfsgi.c from a different line of development.
8480
8481 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8482
8483         * regex.c (RE_TR_ASCII): New function.
8484         (RE_TRANSLATE): Call it.
8485
8486 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8487
8488         * buffer.h (TRT_TABLE_OF): Remove assert.
8489         (IN_TRT_TABLE_DOMAIN): Removed.
8490
8491 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8492
8493         * free-hook.c (log_gcpro):
8494         (show_gcprohist): Add support for GCPRO5.
8495
8496 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8497
8498         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8499
8500 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8501
8502         * symeval.h: Declare flush_all_buffer_local_cache.
8503
8504         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8505         (flush_buffer_local_cache): Added.
8506         (flush_all_buffer_local_cache): Added.
8507
8508         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8509
8510         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8511         (pdump_dump_data): Ditto.
8512         (pdump_reloc_one): Ditto.
8513         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8514         before dumping.
8515
8516
8517 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8518
8519         * buffer.c: Remove if 0'ed entry.
8520         * buffer.h: Rewrite TRT to use char-table.
8521         * bufslots.h: Remove mirror tables.
8522         * casetab.c: Remove mirror tables.
8523         (CASE_TABLE_P): New macro.
8524         (Fcase_table_p): Element of a case table is string or char-table.
8525         (make_mirror_trt_table): Removed.
8526         (set_case_table): Setup char-table from strings for backward
8527         compatibility.
8528         * dired.c (Fdirectory_files):
8529         * dired-msw.c: (mswindows_get_files):
8530         * lisp.h: Change prototype of re_pattern_buffer.
8531         * regex.c: (RE_TRANSLATE): New macro.
8532         (TRANSLATE_P): Ditto.
8533         Change translate to type RE_TRANSLATE_TYPE.
8534         * regex.h: Define RE_TRANSLATE_TYPE
8535         * search.c (TRANSLATE): New macro.
8536         (TRANSLATE_ASCII): New macro.
8537         Translate table is changed to Lisp_Object.
8538         (signal_failure): Inhibit return.
8539
8540 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8541
8542         * device-msw.c:
8543         * eldap.c:
8544         * event-Xt.c:
8545         * event-stream.c:
8546         * print.c:
8547         Do UNGCPRO before return.
8548
8549 2000-11-14  Martin Buchholz <martin@xemacs.org>
8550
8551         * XEmacs 21.2.37 is released.
8552
8553 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8554
8555         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8556         Add comments about discarded return value.
8557
8558 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8559
8560         * callint.c:
8561         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8562
8563 2000-10-27  Andy Piper  <andy@xemacs.org>
8564
8565         * gutter.c (Fset_default_gutter_position): default left and right
8566         gutters to visible.
8567         (calculate_gutter_size): calculate resonable heuristic for left
8568         and right gutter sizes.
8569         (specifier_vars_of_gutter): change left and right gutter sizes to
8570         autodetect.
8571         (calculate_gutter_size_from_display_lines): new function.
8572         (output_gutter): check for resizing on left and right gutters.
8573         (clear_gutter): don't special case top and left gutters.
8574         (specifier_vars_of_gutter): use new signature for
8575         set_specifier_caching.
8576
8577         * glyphs-x.c (x_redisplay_widget): spelling fix.
8578         * glyphs.c (specifier_vars_of_glyphs):
8579         * menubar.c (specifier_vars_of_menubar):
8580         * redisplay.c (specifier_vars_of_redisplay):
8581         * toolbar.c (specifier_vars_of_toolbar):
8582         * window.c (specifier_vars_of_window):
8583         * scrollbar.c (specifier_vars_of_scrollbar):
8584         (complex_vars_of_scrollbar): use new signature for
8585         set_specifier_caching.
8586
8587         * specifier.c (set_specifier_caching): include recompute flag.
8588         (recompute_one_cached_specifier_in_window): always recompute if
8589         flag set.
8590         (recompute_one_cached_specifier_in_frame): ditto.
8591
8592         * specifier.h (struct specifier_caching): add recompute flag.
8593
8594 2000-10-24  Andy Piper  <andy@xemacs.org>
8595
8596         * unexcw.c (copy_executable_and_dump_data_section): add new
8597         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8598         5.0 happy.
8599
8600 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8601
8602         * console-x.h (x_device): New member modifier_release_time.
8603         * event-Xt.c (x_handle_sticky_modifiers):
8604         Bound interval modifier keys are sticky.
8605         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8606         * events.h: extern it.
8607
8608 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8609
8610         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8611
8612 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8613
8614         * event-stream.c (execute_command_event): Preserve current_events
8615         and the like when event is misc-user-event.
8616         Inhibit quit during the call to maybe_echo_keys.
8617
8618 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8619
8620         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8621         symlink when buffer is killed.
8622         (inhibit_clash_detection): New variable.
8623
8624 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8625
8626         * console.c (Fset_input_method): Trigger redisplay on tty.
8627
8628 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8629
8630         * process.c (Fprocess_status): Revert to previous behavior:
8631         (process-status "nosuchprocess") ==> nil
8632
8633 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8634
8635         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8636         Work around another GCC 2.95.2 optimizer bug.
8637
8638 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8639
8640         * process.c (Fget_process): Use LIST_LOOP_2.
8641         (kill_buffer_processes): Use LIST_LOOP_2.
8642
8643         * minibuf.c (Fall_completions):
8644         Delete old non-functional code for FSF fourth argument.
8645
8646         * frame.c (frame_matches_frame_spec):
8647         Renamed from `frame_matches_frametype'.  Update all callers.
8648         (device_matches_device_spec):
8649         Renamed from 'device_matches_console_spec'.  Update all callers.
8650
8651         * doc.c (Fsubstitute_command_keys):
8652         Remove buffer overflow crash.  Small code cleanups.
8653
8654         * casetab.c (check_case_table): Simpler code.
8655
8656         * window.c (Freplace_buffer_in_windows):
8657         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8658         (and similar implementation) as Fdelete_windows_on.
8659         Update all callers.
8660
8661         * alloc.c (Fmake_list):
8662         * alloc.c (make_vector):
8663         * alloc.c (Fmake_vector):
8664         * alloc.c (make_bit_vector):
8665         * alloc.c (Fmake_bit_vector):
8666         * alloc.c (Fbit_vector):
8667         * alloc.c (Fmake_string):
8668         * alloc.c (Fpurecopy):
8669         * alloc.c (Fmemory_limit):
8670         * buffer.c:
8671         * buffer.c (Fget_buffer):
8672         * buffer.c (Fkill_buffer):
8673         * buffer.c (complex_vars_of_buffer):
8674         * bytecode.c (Fcompiled_function_stack_depth):
8675         * callint.c (Fprefix_numeric_value):
8676         * event-stream.c:
8677         * event-stream.c (Fread_key_sequence):
8678         * casetab.c:
8679         * casetab.c (Fcase_table_p):
8680         * casetab.c (check_case_table):
8681         * casetab.c (Fset_case_table):
8682         * casetab.c (Fset_standard_case_table):
8683         * chartab.c:
8684         * chartab.c (Fchar_table_type):
8685         * chartab.c (Freset_char_table):
8686         * chartab.c (Fget_char_table):
8687         * chartab.c (Fget_range_char_table):
8688         * chartab.c (Fput_char_table):
8689         * chartab.c (Fmap_char_table):
8690         * chartab.c (Fcategory_table_p):
8691         * chartab.c (Fcheck_category_at):
8692         * chartab.c (Fchar_in_category_p):
8693         * chartab.c (Fcategory_table):
8694         * chartab.c (Fcopy_category_table):
8695         * chartab.c (Fset_category_table):
8696         * chartab.c (Fcategory_designator_p):
8697         * chartab.c (Fcategory_table_value_p):
8698         * cmds.c (Fdelete_char):
8699         * cmds.c (Fdelete_backward_char):
8700         * cmds.c (Fself_insert_command):
8701         * cmds.c (Fself_insert_internal):
8702         * console.c (Fvalid_console_type_p):
8703         * console.c (Fcdfw_console):
8704         * console.c (Fconsole_type):
8705         * console.c (Fconsole_name):
8706         * console.c (Fconsole_device_list):
8707         * console.c (Fconsole_on_window_system_p):
8708         * data.c:
8709         * data.c (Feq):
8710         * data.c (Fold_eq):
8711         * data.c (Fsubr_interactive):
8712         * data.c (Fchar_to_int):
8713         * data.c (Fint_to_char):
8714         * data.c (Fsetcar):
8715         * data.c (Fsetcdr):
8716         * data.c (Fnumber_to_string):
8717         * data.c (Fstring_to_number):
8718         * data.c (Frem):
8719         * database.c (mark_database):
8720         * database.c (finalize_database):
8721         * database.c (Fdatabase_live_p):
8722         * database.c (Fdatabasep):
8723         * device-x.c (Fx_get_resource):
8724         * device.c (Fdfw_device):
8725         * dired.c:
8726         * dired.c (Ffile_name_completion):
8727         * dired.c (Ffile_name_all_completions):
8728         * dired.c (Fuser_name_completion):
8729         * dired.c (Fuser_name_completion_1):
8730         * dired.c (Fuser_name_all_completions):
8731         * doc.c (Fdocumentation):
8732         * doc.c (Fdocumentation_property):
8733         * doc.c (Fsubstitute_command_keys):
8734         * editfns.c:
8735         * editfns.c (Fchar_to_string):
8736         * editfns.c (Fstring_to_char):
8737         * editfns.c (Ftemp_directory):
8738         * editfns.c (Finsert_char):
8739         * editfns.c (Fbuffer_substring_no_properties):
8740         * editfns.c (Fnarrow_to_region):
8741         * editfns.c (Fchar_equal):
8742         * editfns.c (Fchar_Equal):
8743         * editfns.c (Ftranspose_regions):
8744         * emacs.c (Fdump_emacs):
8745         * eval.c (Fthrow):
8746         * eval.c (Fcommand_execute):
8747         * eval.c (Fautoload):
8748         * eval.c (Fbacktrace):
8749         * eval.c (Fbacktrace_frame):
8750         * events.c:
8751         * events.c (Fcopy_event):
8752         * events.c (Fcharacter_to_event):
8753         * events.c (Fevent_button):
8754         * events.c (Fevent_process):
8755         * extents.c:
8756         * extents.c (Fnext_extent_change):
8757         * extents.c (Fextent_property):
8758         * faces.c (Ffacep):
8759         * faces.c (Fmake_face):
8760         * file-coding.c:
8761         * file-coding.c (Fencode_shift_jis_char):
8762         * file-coding.c (Fencode_big5_char):
8763         * fileio.c (Ffile_name_directory):
8764         * fileio.c (Ffile_name_nondirectory):
8765         * fileio.c (Ffile_name_as_directory):
8766         * fileio.c (Fdirectory_file_name):
8767         * fileio.c (Ffile_truename):
8768         * fileio.c (Fsubstitute_in_file_name):
8769         * fileio.c (Ffile_modes):
8770         * fileio.c (Fset_file_modes):
8771         * fileio.c (Fset_default_file_modes):
8772         * fileio.c (Fverify_visited_file_modtime):
8773         * floatfns.c (Facos):
8774         * floatfns.c (Fasin):
8775         * floatfns.c (Fatan):
8776         * floatfns.c (Fcos):
8777         * floatfns.c (Fsin):
8778         * floatfns.c (Ftan):
8779         * floatfns.c (Fbessel_j0):
8780         * floatfns.c (Fbessel_j1):
8781         * floatfns.c (Fbessel_jn):
8782         * floatfns.c (Fbessel_y0):
8783         * floatfns.c (Fbessel_y1):
8784         * floatfns.c (Fbessel_yn):
8785         * floatfns.c (Ferf):
8786         * floatfns.c (Ferfc):
8787         * floatfns.c (Flog_gamma):
8788         * floatfns.c (Fexp):
8789         * floatfns.c (Fexpt):
8790         * floatfns.c (Flog):
8791         * floatfns.c (Flog10):
8792         * floatfns.c (Fsqrt):
8793         * floatfns.c (Fcube_root):
8794         * floatfns.c (Facosh):
8795         * floatfns.c (Fasinh):
8796         * floatfns.c (Fatanh):
8797         * floatfns.c (Fcosh):
8798         * floatfns.c (Fsinh):
8799         * floatfns.c (Ftanh):
8800         * floatfns.c (Fabs):
8801         * floatfns.c (Ffloat):
8802         * floatfns.c (Flogb):
8803         * floatfns.c (Fceiling):
8804         * floatfns.c (Ffloor):
8805         * floatfns.c (Fround):
8806         * floatfns.c (Ftruncate):
8807         * floatfns.c (Ffceiling):
8808         * floatfns.c (Fffloor):
8809         * floatfns.c (Ffround):
8810         * floatfns.c (Fftruncate):
8811         * fns.c (Fstring_equal):
8812         * fns.c (Fstring_lessp):
8813         * fns.c (concat2):
8814         * fns.c (concat3):
8815         * fns.c (vconcat2):
8816         * fns.c (vconcat3):
8817         * fns.c (Fsubstring):
8818         * fns.c (Fassoc):
8819         * fns.c (Fold_assoc):
8820         * fns.c (assoc_no_quit):
8821         * fns.c (Fassq):
8822         * fns.c (Fold_assq):
8823         * fns.c (assq_no_quit):
8824         * fns.c (Frassoc):
8825         * fns.c (Fold_rassoc):
8826         * fns.c (Frassq):
8827         * fns.c (Fold_rassq):
8828         * fns.c (rassq_no_quit):
8829         * fns.c (Fremassoc):
8830         * fns.c (remassoc_no_quit):
8831         * fns.c (Fremassq):
8832         * fns.c (remassq_no_quit):
8833         * fns.c (Fremrassoc):
8834         * fns.c (Fremrassq):
8835         * fns.c (remrassq_no_quit):
8836         * fns.c (Fsort):
8837         * fns.c (Fplist_get):
8838         * fns.c (Fplist_put):
8839         * fns.c (Fplist_remprop):
8840         * fns.c (Fplist_member):
8841         * fns.c (Flax_plist_get):
8842         * fns.c (Flax_plist_put):
8843         * fns.c (Flax_plist_remprop):
8844         * fns.c (Flax_plist_member):
8845         * fns.c (Fequal):
8846         * fns.c (Fold_equal):
8847         * fns.c (Frequire):
8848         * fns.c (Fbase64_encode_region):
8849         * fns.c (Fbase64_encode_string):
8850         * fns.c (Fbase64_decode_region):
8851         * frame.c:
8852         * frame.c (frame_matches_frame_spec):
8853         * frame.c (device_matches_device_spec):
8854         * frame.c (next_frame):
8855         * frame.c (previous_frame):
8856         * frame.c (Fnext_frame):
8857         * frame.c (Fprevious_frame):
8858         * frame.c (Fframe_property):
8859         * frame.c (Fset_frame_height):
8860         * frame.c (Fset_frame_size):
8861         * frame.h:
8862         * glyphs.c:
8863         * glyphs.c (if):
8864         * glyphs.c (decode_error_behavior_flag):
8865         * glyphs.c (Fmake_image_instance):
8866         * indent.c (Findent_to):
8867         * intl.c (Fignore_defer_gettext):
8868         * keymap.c (Fkeymapp):
8869         * keymap.c (Flookup_key):
8870         * lread.c:
8871         * lread.c (Fload_internal):
8872         * lread.c (Feval_buffer):
8873         * lread.c (Feval_region):
8874         * macros.c (Fexecute_kbd_macro):
8875         * marker.c (set_marker_internal):
8876         * marker.c (Fset_marker):
8877         * marker.c (set_marker_restricted):
8878         * marker.c (Fcopy_marker):
8879         * marker.c (noseeum_copy_marker):
8880         * menubar.c:
8881         * menubar.c (Fpopup_menu):
8882         * minibuf.c:
8883         * mule-charset.c (Fcharset_name):
8884         * mule-charset.c (Fchar_charset):
8885         * mule-charset.c (Fchar_octet):
8886         * mule-charset.c (Fsplit_char):
8887         * mule-wnnfns.c (Fwnn_open):
8888         * mule-wnnfns.c (Fwnn_dict_comment):
8889         * mule-wnnfns.c (Fwnn_quit_henkan):
8890         * mule-wnnfns.c (Fwnn_word_toroku):
8891         * mule-wnnfns.c (Fwnn_word_sakujo):
8892         * mule-wnnfns.c (Fwnn_word_use):
8893         * mule-wnnfns.c (Fwnn_hindo_set):
8894         * objects.c:
8895         * objects.c (Fmake_color_instance):
8896         * objects.c (Fmake_font_instance):
8897         * print.c (Fwrite_char):
8898         * process.c:
8899         * process.c (mark_process):
8900         * process.c (print_process):
8901         * process.c (get_process_from_usid):
8902         * process.c (Fprocessp):
8903         * process.c (Fprocess_live_p):
8904         * process.c (Fget_process):
8905         * process.c (Fget_buffer_process):
8906         * process.c (get_process):
8907         * process.c (Fprocess_id):
8908         * process.c (Fprocess_name):
8909         * process.c (Fprocess_command):
8910         * process.c (init_process_io_handles):
8911         * process.c (start_process_unwind):
8912         * process.c (Fstart_process_internal):
8913         * process.c (Fopen_multicast_group_internal):
8914         * process.c (Fset_process_window_size):
8915         * process.c (read_process_output):
8916         * process.c (send_process):
8917         * process.c (Fprocess_tty_name):
8918         * process.c (Fset_process_buffer):
8919         * process.c (Fprocess_buffer):
8920         * process.c (Fprocess_mark):
8921         * process.c (set_process_filter):
8922         * process.c (Fset_process_filter):
8923         * process.c (Fprocess_filter):
8924         * process.c (Fprocess_send_region):
8925         * process.c (Fprocess_send_string):
8926         * process.c (exec_sentinel):
8927         * process.c (Fset_process_sentinel):
8928         * process.c (Fprocess_sentinel):
8929         * process.c (status_notify):
8930         * process.c (Fprocess_status):
8931         * process.c (Fprocess_exit_status):
8932         * process.c (process_send_signal):
8933         * process.c (Fprocess_send_eof):
8934         * process.c (deactivate_process):
8935         * process.c (remove_process):
8936         * process.c (Fdelete_process):
8937         * process.c (kill_buffer_processes):
8938         * process.c (Fprocess_kill_without_query):
8939         * process.c (Fprocess_kill_without_query_p):
8940         * rangetab.c:
8941         * rangetab.c (Fget_range_table):
8942         * rangetab.c (Fput_range_table):
8943         * rangetab.c (Fremove_range_table):
8944         * rangetab.c (Fclear_range_table):
8945         * search.c:
8946         * search.c (Fskip_chars_forward):
8947         * search.c (Fskip_chars_backward):
8948         * search.c (Fskip_syntax_forward):
8949         * search.c (Fskip_syntax_backward):
8950         * search.c (search_command):
8951         * search.c (Freplace_match):
8952         * search.c (Fregexp_quote):
8953         * select.c (Fown_selection_internal):
8954         * select.c (Fselection_owner_p):
8955         * select.c (Fselection_exists_p):
8956         * select.c (Fget_selection_internal):
8957         * specifier.c:
8958         * symbols.c:
8959         * symbols.c (Fintern):
8960         * symbols.c (Fintern_soft):
8961         * symbols.c (Funintern):
8962         * symbols.c (Fapropos_internal):
8963         * symbols.c (Fset_default):
8964         * syntax.c:
8965         * syntax.c (Fsyntax_table_p):
8966         * syntax.c (Fcopy_syntax_table):
8967         * syntax.c (Fset_syntax_table):
8968         * syntax.c (Fchar_syntax):
8969         * syntax.c (syntax_match):
8970         * syntax.c (Fmatching_paren):
8971         * syntax.c (Fforward_word):
8972         * syntax.c (scan_lists):
8973         * syntax.c (Fscan_lists):
8974         * syntax.c (Fscan_sexps):
8975         * syntax.c (Fparse_partial_sexp):
8976         * toolbar.c (Fcheck_toolbar_button_syntax):
8977         * tooltalk.doc:
8978         * window.c:
8979         * window.c (Fwindowp):
8980         * window.c (Fwindow_live_p):
8981         * window.c (Fwindow_point):
8982         * window.c (Fdelete_window):
8983         * window.c (Fnext_window):
8984         * window.c (Fprevious_window):
8985         * window.c (Fother_window):
8986         * window.c (window_loop):
8987         * window.c (Fget_lru_window):
8988         * window.c (Fsplit_window):
8989         * window.c (Fenlarge_window):
8990         * window.c (Fenlarge_window_pixels):
8991         * window.c (Fshrink_window):
8992         * window.c (Fshrink_window_pixels):
8993         * window.c (change_window_height):
8994         * window.c (Fwindow_configuration_p):
8995         * window.c (Fcurrent_window_configuration):
8996         * window.h:
8997         * casefiddle.c (casify_object):
8998         * casefiddle.c (Fupcase):
8999         * casefiddle.c (Fdowncase):
9000         * casefiddle.c (Fcapitalize):
9001         * casefiddle.c (Fupcase_initials):
9002         * casefiddle.c (casify_region_internal):
9003         * casefiddle.c (casify_region):
9004         * casefiddle.c (Fupcase_region):
9005         * casefiddle.c (Fdowncase_region):
9006         * casefiddle.c (Fcapitalize_region):
9007         * casefiddle.c (Fupcase_initials_region):
9008         * casefiddle.c (Fupcase_word):
9009         * casefiddle.c (Fdowncase_word):
9010         * casefiddle.c (Fcapitalize_word):
9011         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9012         Replace 0 with '\0' when working with bytes.
9013         Replace initial "(" with "\(" in docstrings.
9014
9015 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9016
9017         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9018
9019         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9020
9021 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9022
9023         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9024
9025 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9026
9027         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9028         correctly.
9029
9030 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9031
9032         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9033         (inhibit_auto_save_session): New variable.
9034         (vars_of_fileio): Declare and initialize them.
9035         * fileio.c (Fdo_auto_save): Don't create session file if
9036         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9037
9038 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9039
9040         * sgiplay.c (play_internal): C++ compilability.
9041         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9042         * callproc.c (Fold_call_process_internal):
9043         Remove unused vars `env', `first'.
9044         * scrollbar.c (update_scrollbar_instance):
9045         #### unused var `current_window'.
9046         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9047         etc. within #ifdef NOT_YET.
9048         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9049         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9050         * specifier.c (specifier_instance):
9051         #### unused var `tag'.
9052         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9053
9054 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9055
9056         * fns.c (Fbutlast):
9057         * fns.c (list_sort):
9058         * fns.c (Ffillarray):
9059         * fns.c (bytecode_nconc2):
9060         * fns.c (Fnconc):
9061         * fns.c (mapcar1):
9062         * fns.c (Fmapconcat):
9063         Be pedantically 64-bit correct.  For the time when someone will
9064         want to have a list with length > 2**32.
9065
9066         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9067         Work around MIPSpro compiler bug.
9068
9069         * process-unix.c (unix_kill_child_process): Add snarky comment.
9070         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9071
9072         * config.h.in: Oops, _getpt ==> _getpty
9073
9074 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9075
9076         * config.h.in:
9077         * regex.c:
9078         Use void*, not char*, as return type of alloca().
9079
9080         * alloc.c (free_marker): Side effect inside assert expression!
9081
9082 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9083
9084         * mule-charset.c (Fset_charset_ccl_program): To check
9085         if the given ccl program is valid, use setup_ccl_program()
9086         instead of CHECK_VECTOR().
9087         (Fmake_charset): Likewise.
9088
9089 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9090
9091         * faces.c (get_extent_fragment_face_cache_index):
9092         Fix cachel.merged_faces memory leak.
9093
9094 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9095
9096         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9097         Reset MSB of octets obtained by DECODE_SJIS
9098         because of the incompatibility with Emacs.
9099         (ccl_driver)<CCL_ENCODE_SJIS>:
9100         Set MSB of octets before passing them to
9101         ENCODE_SJIS because of the incompatibility
9102         with Emacs.
9103
9104 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9105
9106         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9107         (DECLARE_LRECORD): Undo the last change.
9108         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9109
9110 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9111
9112         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9113         the implementation to lrecord_implementations_table.
9114
9115 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9116
9117         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9118         initial value of `lrecord_type_##c_name' and
9119         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9120         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9121         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9122         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9123         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9124
9125 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9126
9127         * miscplay.c (sndcnv8S_2mono):
9128         (sndcnv2monounsigned):
9129         (sndcnvULaw_2linear):
9130         (sndcnv16swap):
9131         Remove implementation-defined behavior.
9132
9133 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9134
9135         * input-method-xlib.c: Warning suppression.
9136
9137 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9138
9139         * mule-ccl.c: Sync up with Emacs 21.0.90.
9140         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9141         Do nothing.
9142         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9143         Likewise.
9144         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9145         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9146         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9147         leading char belongs to official 2-dimensional charset.
9148         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9149         write the given character as is.  Otherwise,
9150         if it is a multibyte char, convert it by
9151         non_ascii_set_charptr_emchar, then write it.
9152         (CCL_WRITE_STRING): Likewise.
9153         (ccl_get_compiled_code): New function.
9154         (setup_ccl_program): When ccl_prog is invalid,
9155         return -1.
9156         (Fregister_code_conversion_map): New function.
9157         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9158
9159         * mule-ccl.h: Sync up with Emacs 21.0.90.
9160         (Fregister_ccl_program): export it.
9161
9162         * redisplay-msw.c (separate_textual_runs):
9163         If ccl program is not valid, don't do ccl conversion.
9164
9165         * redisplay-x.c (separate_textual_runs): Ditto.
9166
9167         * file-coding.c (Fmake_coding_system):
9168         When type is ccl and value is vector, register it
9169         with a proper symbol.  And checks whether the
9170         given ccl program is valid.
9171         (mule_decode): When calling ccl_driver, if src indicates
9172         NULL pointer, set an empty string instead.
9173         (mule_encode): Likewise.
9174
9175 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9176
9177         The following large batch of changes gets us back to a state of
9178         C++ compilability.  Extbyte is now a char, which means that
9179         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9180
9181         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9182
9183         * sound.c (Fplay_sound): Type correctness.
9184
9185         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9186         (x_get_window_property): Type correctness.
9187         (receive_incremental_selection): unsigned char ==> Extbyte
9188         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9189         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9190         (Fx_store_cutbuffer_internal): Type correctness.
9191
9192         * process-unix.c (try_to_initialize_subtty): Type correctness.
9193
9194         * objects-x.c (x_print_color_instance): Type correctness.
9195         (x_print_font_instance): Type correctness.
9196         (x_list_fonts): SExtbyte ==> Extbyte.
9197         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9198         (x_find_charset_font): SExtbyte ==> Extbyte.
9199         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9200         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9201         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9202         Use bufbyte_strcmp.
9203
9204         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9205         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9206         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9207         (BYTE_C0_P): Use bit ops for char-signedness safety.
9208         (BYTE_C1_P): Use bit ops for char-signedness safety.
9209         (CHARSET_BY_LEADING_BYTE):
9210         (CHARSET_BY_ATTRIBUTES):
9211         Always use inline function.
9212         Use type_checking_assert.
9213         Hide chlook.
9214
9215         * mule-charset.c (non_ascii_charptr_copy_char):
9216         Modify to work with both ASCII and non-ASCII characters.
9217         Improve docs and variable names.
9218         Replace over-clever fall-through switch with a simple loop.
9219         (Lstream_get_emchar_1):
9220         Replace over-clever fall-through switch with a simple loop.
9221
9222         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9223         Warning suppression.
9224
9225         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9226         the return value of Lstream_getc, which could be EOF as well.
9227
9228         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9229
9230         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9231         APIs can be used on Extbytes without casts.  Risky!
9232         (SExtbyte): Remove.
9233         (UExtbyte): Remove.
9234
9235         * input-method-xlib.c (XIM_init_device):
9236         Use Xlib.h instead of IntrinsicP.h.
9237         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9238         which will break in X11R7.
9239         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9240         to call XRegisterIMInstantiateCallback with correct types.
9241
9242         * gui-x.c (button_item_to_widget_value): Type correctness.
9243
9244         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9245
9246         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9247         (xbm_instantiate_1): Type correctness.
9248         (BUILD_GLYPH_INST):  Type correctness.
9249
9250         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9251
9252         * file-coding.c:
9253         (decode_coding_sjis):
9254         (decode_coding_big5):
9255         (decode_coding_ucs4):
9256         (decode_coding_utf8):
9257         (decode_coding_iso2022):
9258         (decode_coding_no_conversion):
9259         Make all decoding functions take an Extbyte * arg.
9260         (encode_coding_sjis):
9261         (encode_coding_big5):
9262         (encode_coding_ucs4):
9263         (encode_coding_utf8):
9264         (encode_coding_iso2022):
9265         (encode_coding_no_conversion):
9266         Make all encoding functions take a Bufbyte * arg.
9267         Use size_t instead of unsigned int for memory sizes.
9268         Only cast to unsigned char whenever dereferencing Extbyte *.
9269
9270         * doc.c (unparesseuxify_doc_string): Type correctness.
9271
9272         * console-x.c (split_up_display_spec):
9273         Rewrite without using details of internal string representation.
9274         (x_semi_canonicalize_device_connection): Type correctness.
9275
9276         * config.h.in:
9277         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9278         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9279         (HAVE_XFREE386): Removed.
9280
9281         * buffer.h (DEC_CHARPTR): `const' correctness.
9282         (bufbyte_strcmp): New.
9283         (bufbyte_memcmp): New.
9284
9285         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9286
9287         * buffer.h (XCHAR_OR_CHAR_INT):
9288         Always use inline function.
9289         Remove redundant type checking assert() - XINT will abort quite nicely.
9290
9291 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9292
9293         * search.c (Freplace_match): Set newtext to an empty string.
9294
9295 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9296
9297         * s/decosf1-3.h: Remove #include of stropts.h
9298         * s/ptx.h: Remove #include of stropts.h
9299         * s/usg5-4.h: Remove #include of stropts.h
9300         * sysproc.h:
9301         * config.h.in:
9302         Use stropts.h, not sys/stropts.h.
9303         Use strtio.h, not sys/strtio.h.
9304
9305 2000-10-04  Martin Buchholz <martin@xemacs.org>
9306
9307         * XEmacs 21.2.36 is released.
9308
9309 2000-09-21  Andy Piper  <andy@xemacs.org>
9310
9311         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9312         changes still involve copying the widget tree.
9313         (update_widget_face): make sure a change is register in the widget
9314         tree. Call update_tab_widget_face appropriately.
9315         (update_tab_widget_face): ditto.
9316         (x_tab_control_redisplay): make sure non-structural changes still
9317         involve copying the widget tree.
9318
9319 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9320
9321         * lread.c (locate_file): Check the path element is non-nil.
9322
9323 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9324
9325         * lisp.h: Warning suppression for SCO compilers.
9326
9327         * redisplay-tty.c (reset_tty_modes): Fix crash.
9328         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9329
9330 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9331
9332         Big signal/process handling overhaul.  Bugs fixed:
9333         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9334         M-x comint-kill-subjob should work for both values nil and t of
9335         process-connection-type. It was broken on most platforms.
9336         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9337         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9338         * process-unix.c: Signal/Process handling overhaul.
9339         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9340         (allocate_pty): Use all available modern methods of allocating
9341         ptys, falling back to old style BSD allocation as a last resort.
9342         Use allegedly more secure Unix98 pty allocation by default.
9343         (allocate_pty_the_old_fashioned_way): New. the last resort.
9344         (unix_create_process): Push ptem, ldterm, ttcompat where
9345         available.  Autoconfiscate.
9346         (try_to_initialize_subtty): New.
9347         (unix_kill_child_process): Proper signal handling for ptys on most
9348         platforms, using special knowledge of AIX, BSD, etc...
9349         (unix_create_process): Always disconnect_controlling_terminal() for
9350         subprocesses, whether using ptys or not.
9351         * process.h: Remove old getpt-dependent PTY code.
9352         * process.c (Fprocess_send_signal): New, obvious generic function.
9353         (decode_signal): New.
9354         (Finterrupt_process):
9355         (Fkill_process):
9356         (Fquit_process):
9357         (Fstop_process):
9358         (Fcontinue_process):
9359         (Fsignal_process): Use decode_signal.
9360         (process_send_signal):
9361         Many docstring corrections.
9362         Allow any signal to be sent to a process object.
9363         * config.h.in: Add symbols for big signal/process overhaul.
9364         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9365         * sysproc.h: Include process-related headers, where available:
9366         sys/stropts.h sys/strtio.h pty.h libutil.h
9367         * s/irix4-0.h:
9368         * s/irix5-0.h:
9369         * s/cygwin32.h:
9370         * s/gnu.h:
9371         * s/linux.h:
9372         * s/hpux.h:
9373         * s/aix3-1.h:
9374         Remove old S&M pty stuff.
9375         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9376         * systty.h: Simplify cpp hackery, improve comments.
9377         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9378
9379         * editfns.c (Fformat_time_string):
9380         Be a little more paranoid with the return value of ctime.
9381
9382         * fileio.c (check_executable):
9383         (check_writable):
9384         Use symbolic constants X_OK, W_OK.
9385
9386         * console-x.c (split_up_display_spec): Fix a warning.
9387
9388 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9389
9390         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9391         * ntproc.c (sys_spawnve): make_string ==> build_string
9392         Small clarity improvements.
9393
9394 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9395
9396         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9397
9398         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9399
9400         * config.h.in (HAVE_STRCASECMP): Remove.
9401
9402 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9403
9404         * redisplay-output.c (redisplay_output_pixmap):
9405         Cleaner and possibly more 64-bit correct code.
9406
9407 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9408
9409         * dumper.c (pdump_load_finish): move restoration of
9410         `noninteractive1' to emacs.c (main_1).
9411         * emacs.c (main_1): protect LISP-visible command-line flags
9412         from pdump_load().
9413
9414 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9415
9416         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9417         DUMP_TARGET instead of literal program names.
9418
9419 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9420
9421         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9422
9423 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9424
9425         * *: Spelling mega-patch
9426
9427 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9428
9429         * fns.c (bad_bad_turtle):
9430         Delete "Eek!" comment, since we fixed the bug to which it refers.
9431
9432 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9433
9434         * alloca.c: Replace REGISTER with register.
9435
9436 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9437
9438         * file-coding.c (ucs_to_char): Use countof.
9439
9440 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9441
9442         * file-coding.c: (ucs_to_char):
9443         (complex_vars_of_file_coding):
9444         Use countof instead of sizeof.
9445         Use CHECK_NATNUM instead of CHECK_INT.
9446
9447         * sysdep.c (strcasecmp): Remove.
9448         * device-x.c (ascii_strcasecmp): New.
9449         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9450         Avoid using non-standard non-portable strcasecmp.
9451
9452 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9453
9454         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9455         * font-lock.c: remove reference to emacsfns.h.
9456         * search.c: small doc improvement.
9457         * event-Xt.c: correct file names in comments.
9458         * console-x.h Correct file names in comments.
9459         * frame.c: Correct file names in comments.
9460         * event-stream.c: remove Energize from comments.
9461
9462 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9463
9464         * symeval.h (DEFERROR_STANDARD):
9465         (DEFERROR):
9466         (DEFSYMBOL):
9467         (DEFSYMBOL_NO_DUMP):
9468         (DEFSYMBOL_MULTIWORD_PREDICATE):
9469         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9470         (DEFKEYWORD):
9471         The construct &##name is not sensible C.
9472         Fixes compilation errors with Unixware native compiler.
9473
9474 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9475
9476         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9477         (next_frame_internal): Removed.  We now just have next_frame.
9478         (next_frame):
9479         Write a simpler and cleaner one-pass algorithm.
9480         Remove called_from_delete_device arg and #ifdefed-out code.
9481         (previous_frame):
9482         Renamed from prev_frame.  Update callers.
9483         Cleaned up to have an analogous implementation to next_frame.
9484         (other_visible_frames_internal): Remove the
9485         called_from_delete_device bogus arg, and hence, remove this
9486         function.  Just use other_visible_frames().
9487
9488         * window.c (Fnext_window):
9489         Prettify docstring.
9490         Since next_frame() is guaranteed to return a frame, remove check
9491         for nil inserted in previous patch.
9492         (Fprevious_window):
9493         Prettify docstring.
9494         Make code look more like Fnext_window.
9495         (window_loop):
9496         Respect the `console' arg when iterating through windows.
9497         Fixes bug: (get-buffer-window buffer t device) not respecting
9498         the `device' arg.
9499         This function needs more work, as others have pointed out.
9500
9501         * frame.h: Rename prev_frame to previous_frame.
9502         device_matches_console_spec no longer takes a `frame' arg.
9503
9504         * s/gnu.h:
9505         * s/linux.h:
9506         * s/hpux.h:
9507         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9508         From "Golubev I. N." <gin@mo.msk.ru>.
9509
9510         * make-src-depend: Fix typo.
9511
9512 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9513
9514         * window.c (Fnext_window):
9515         next_frame() might return nil, not a frame.
9516         Fixes this crash:
9517         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9518
9519         * frame.c (next_frame_internal):
9520         We've passed a frame if we've passed its device.
9521         Fixes this crash:
9522         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9523 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9524
9525 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9526
9527         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9528         Allow option to suppress accelerators in menu/dialog items.
9529         (populate_or_checksum_helper): Pass dialog title through above.
9530
9531 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9532
9533         * event-msw.c (mswindows_key_to_emacs_keysym):
9534         Add "pause" key, fix "menu" key.
9535
9536 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9537
9538         * eval.c (reinit_vars_of_eval):
9539         Increase max_lisp_eval_depth to 1000,
9540         required for thai-xtis.el to byte-compile under some circumstances.
9541
9542 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9543
9544         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9545         From Kenichi Handa.
9546
9547 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9548
9549         * make-src-depend: Make the generated Makefiles smaller.
9550
9551         * s/hpux.h (SETUP_SLAVE_PTY):
9552         Provide a %d in the format string for the errno argument.
9553
9554         * editfns.c (Ftemp_directory):
9555         Warning fix.
9556         Avoid buffer overrun on very long file name.
9557
9558         * input-method-xlib.c (XIM_init_device):
9559         6th parameter of XRegisterIMInstantiateCallback has different
9560         pointer types on different OSes, so simply cast to (void *).
9561
9562         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9563
9564         * sysdll.c (dll_open):
9565         shl_load will hang hard if passed a NULL filename.
9566         Simply return NULL for compatibility with dlopen.
9567         * sysdll.c: Conform to XEmacs coding standards.
9568
9569         * sysdep.c (get_pty_max_bytes):
9570         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9571
9572 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9573
9574         * tooltalk.c: Add #include <syssignal.h>
9575
9576 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9577
9578         * s/hpux.h: Don't use undefined function sigunblock().
9579
9580 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9581
9582         * config.h.in: Add HAVE_BALLOON_HELP.
9583         * emacs.c: Use HAVE_BALLOON_HELP.
9584         * Makefile.in.in (x_objs):
9585         Make Balloon Help conditional on finding shape.h.
9586
9587 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9588
9589         * syntax.c (regex_emacs_buffer_p): New variable.
9590         * syntax.h (regex_emacs_buffer_p): extern.
9591         * search.c (looking_at_1):
9592         (string_match_1):
9593         (fast_string_match):
9594         (search_buffer): Set regex_emacs_buffer_p.
9595         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9596         when before_dot, at_dot, after_dot.
9597
9598 2000-08-23  Andy Piper  <andy@xemacs.org>
9599
9600         * gui-x.c (popup_selection_callback): Only set action_occurred
9601         when we really have an image instance.
9602         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9603
9604 2000-08-23  Andy Piper  <andy@xemacs.org>
9605
9606         * gui-msw.c (mswindows_handle_gui_wm_command): set
9607         action_occurred.
9608         * gui-x.c (popup_selection_callback): ditto.
9609
9610         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9611         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9612         (struct Lisp_Image_Instance): add action_occurred flag.
9613
9614         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9615         (image_instance_changed): ditto.
9616         (reset_frame_subwindow_instance_cache): only unmap windows - do
9617         not remove them from the cache also.
9618
9619         * glyphs-widget.c (tab_control_update): better debug.
9620         (progress_gauge_update): ditto.
9621         (layout_update): ditto.
9622         (layout_instantiate): ditto.
9623         (tab_control_order_only_changed): cope with null pending items.
9624
9625         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9626         debug. Force selection of an item when an action occurred. Cope
9627         with null pending_items.
9628         (mswindows_progress_gauge_redisplay): better debug.
9629         * glyphs-x.c (x_tab_control_redisplay): ditto.
9630
9631         * redisplay.c (redisplay_frame): reset the frame cache if the
9632         frame is garbaged.
9633
9634         * window.c (Fset_window_configuration): potentially re-enable
9635         frame cache reset.
9636         (window_unmap_subwindows): need to finalize instances here since
9637         it is only used in mark_window_as_deleted.
9638
9639 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9640
9641         * nas.c (SndOpenDataForReading):
9642         nas.c (WaveOpenDataForReading):
9643         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9644         Somehow escaped from the 2000-08-14 patch.
9645
9646 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9647
9648         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9649         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9650
9651 2000-08-21  Andy Piper  <andy@xemacs.org>
9652
9653         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9654         window if it is not already displayed.
9655
9656         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9657         it is not already displayed.
9658
9659         * window.c (Fset_window_configuration): don't reset the frame
9660         cache.
9661
9662         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9663         instances from the frame cache if we are actually finalizing them.
9664         (reset_frame_subwindow_instance_cache): reset frame cache only
9665         after unmapping everything.
9666         (map_subwindow): set displayed flag after mapping.
9667
9668 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9669
9670         * data.c (indirect_function):
9671         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9672
9673         * eval.c (function_argcount):
9674         Use original function when signaling errors.
9675
9676 2000-08-18  Andy Piper  <andy@xemacs.org>
9677
9678         * frame.c (delete_frame_internal): use new
9679         free_frame_subwindow_instances name.
9680
9681         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9682         (add_tab_item): make return type correct.
9683         (mswindows_tab_control_instantiate): assert index of tab.
9684         (mswindows_tab_control_redisplay): Re-code to use
9685         gui_item_equal_sans_selected and gui_item_list_find_selected.
9686
9687         * glyphs-widget.c (tab_control_update): Correct comment.
9688
9689         * window.c (window_unmap_subwindows): use new
9690         unmap_subwindow_instance_cache_mapper.
9691         (window_unmap_subwindows_cache_mapper): deleted.
9692         (Fset_window_configuration): comparisons should now be with
9693         EQ. Preserve the subwindow instance cache across configuration
9694         changes.
9695         (allocate_window): ditto.
9696         (make_dummy_parent): ditto.
9697
9698         * glyphs.c (free_frame_subwindow_instances): rename from
9699         free_frame_subwindow_instance_cache. finalize all instances rather
9700         than just those in the display cache.
9701         (finalize_all_subwindow_instances): walk windows unmapping and
9702         finalizing subwindows.
9703         (unmap_subwindow_instance_cache_mapper): moved from
9704         window.c. Allow finalization as well as unmapping.
9705
9706         * gui.c (gui_item_list_find_selected): new function.
9707
9708         * gui.h (gui_item_list_find_selected): declare.
9709
9710         * glyphs-x.c (x_tab_control_redisplay): pick tab
9711         explicitly. Re-code to use gui_item_equal_sans_selected and
9712         gui_item_list_find_selected.
9713
9714         * glyphs-x.h: add lwlib-utils.h
9715
9716         * buffer.c (Frecord_buffer): undo previous change.
9717
9718 2000-08-09  Vin Shelton  <acs@xemacs.org>
9719
9720         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9721         possible.  Create temporary files more securely.  The patch was
9722         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9723         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9724         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9725         for details.
9726
9727 2000-08-07  Ben Wing  <ben@xemacs.org>
9728
9729         * getloadavg.c: remove duplicate (and windows-breaking)
9730         includes of fcntl.h and sys/file.h.
9731
9732         * nt.c: remove duplicate getloadavg() definition.
9733
9734         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9735         encodings.
9736
9737 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9738
9739         * eval.c (function_argcount): If function needs to be autoloaded
9740         actually use the loaded definition.
9741         GCPRO function.
9742
9743 2000-08-05  Ben Wing  <ben@xemacs.org>
9744
9745         * getloadavg.c: add prototype for getloadavg().  remove
9746         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9747         of the code).  remove duplicate header includes.
9748
9749         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9750
9751         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9752         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9753         useful load average.
9754
9755         * alloc.c (reinit_alloc_once_early): removed references to
9756         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9757         the lisp vars are the only things referencing the malloc_sbrk_*
9758         vars, and they were already if 0'd out.  these vars only exist
9759         in the older malloc.c, which is basically unused, and they're
9760         only for informational purposes.
9761
9762         * m\*.h: removed useless VIRT_ADDR_VARIES.
9763
9764         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9765
9766 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9767
9768         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9769         color if the image is a mono pixmap.
9770
9771 2000-07-30  Ben Wing  <ben@xemacs.org>
9772
9773         * Makefile.in.in (release):
9774         Remove stray @.
9775
9776         * buffer.c (directory_is_current_directory):
9777         * dired-msw.c (mswindows_get_files):
9778         * dired.c:
9779         * dired.c (Fdirectory_files):
9780         * dired.c (file_name_completion_stat):
9781         * dired.c (Ffile_attributes):
9782         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9783         preprocessor tricks, to avoid problems on some machines
9784         (e.g. SCO).
9785
9786         * callproc.c (egetenv): GC docs.
9787
9788         * console-msw.h:
9789         * console-msw.h (struct mswindows_dialog_id):
9790         * lrecord.h (lrecord_type):
9791         New object for use with MSW dialogs.
9792
9793         * console.h (struct console_methods):
9794         New enable/disable frame methods, for proper modal dialogs.
9795
9796         * device-msw.c (msprinter_default_printer): Fix to follow
9797         proper Mule conventions.
9798
9799         * device-msw.c:
9800         * device-msw.c (signal_open_printer_error):
9801         * device-msw.c (msprinter_init_device):
9802         * device-msw.c (ensure_not_printing):
9803         * device-msw.c (plist_get_margin):
9804         * device-msw.c (Fmsprinter_select_settings):
9805         * device-msw.c (finalize_devmode):
9806         * device-msw.c (Fmsprinter_settings_despecialize):
9807         * device-msw.c (signal_enum_priner_error):
9808         * extents.c (decode_extent):
9809         * extents.c (decode_map_extents_flags):
9810         * extents.c (decode_extent_at_flag):
9811         * extents.c (Fextent_at):
9812         * extents.c (Fextents_at):
9813         * extents.c (symbol_to_glyph_layout):
9814         [[[[2]]]] Use structured errors.
9815
9816         * dialog-msw.c:
9817         * dialog-msw.c (mswindows_is_dialog_msg):
9818         * dialog-msw.c (mark_mswindows_dialog_id):
9819         * dialog-msw.c (dialog_proc):
9820         * dialog-msw.c (handle_question_dialog_box):
9821         * dialog-msw.c (syms_of_dialog_mswindows):
9822         Define new object to clean up marking; use it as a dialog identifier.
9823         Call new delete-dialog-box-hook.
9824
9825         * dialog-x.c (dbox_selection_callback):
9826         * dialog-x.c (dbox_descriptor_to_widget_value):
9827         * dialog-x.c (x_make_dialog_box_internal):
9828         Call new delete-dialog-box-hook.
9829         Return an id.
9830
9831         * dialog.c:
9832         * dialog.c (syms_of_dialog):
9833         * dialog.c (vars_of_dialog):
9834         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9835
9836         * eval.c:
9837         * eval.c (signal_call_debugger):
9838         when noninteractive, output stack traces on the console instead
9839         of in a (never-seen) buffer.
9840
9841         * eval.c (signal_type_error):
9842         * eval.c (invalid_argument_2):
9843         * lisp.h:
9844         new funs for use w/structured errors.
9845
9846         * event-Xt.c:
9847         * event-Xt.c (x_to_emacs_keysym):
9848         * event-Xt.c (describe_event):
9849         * event-Xt.c (emacs_Xt_event_handler):
9850         * event-Xt.c (vars_of_event_Xt):
9851         * event-msw.c:
9852         * event-msw.c (mswindows_wnd_proc):
9853         * event-msw.c (vars_of_event_mswindows):
9854         rename {x,mswindows}-debug-events to debug-{}-events for
9855         consistency with other debug-foo variables.
9856
9857         * event-stream.c:
9858         document next-event more clearly.
9859
9860         * fileio.c (Ffile_name_directory):
9861         * fileio.c (Ffile_name_nondirectory):
9862         * fileio.c (Funhandled_file_name_directory):
9863         * fileio.c (file_name_as_directory):
9864         * fileio.c (Ffile_name_as_directory):
9865         * fileio.c (directory_file_name):
9866         * fileio.c (Fdirectory_file_name):
9867         * fileio.c (Fmake_temp_name):
9868         * fileio.c (Ffile_truename):
9869         * fileio.c (Fsubstitute_in_file_name):
9870         * fileio.c (expand_and_dir_to_file):
9871         * fileio.c (barf_or_query_if_file_exists):
9872         * fileio.c (check_executable):
9873         * fileio.c (Ffile_exists_p):
9874         * fileio.c (Ffile_writable_p):
9875         * fileio.c (Ffile_directory_p):
9876         * fileio.c (Ffile_regular_p):
9877         * fileio.c (Ffile_modes):
9878         * fileio.c (Ffile_newer_than_file_p):
9879         * fileio.c (Fverify_visited_file_modtime):
9880         * fileio.c (Fset_visited_file_modtime):
9881         * fileio.c (auto_save_1):
9882         (1). (2).
9883         fix up gcpro's.
9884
9885         * frame-msw.c:
9886         * frame-msw.c (mswindows_init_frame_1):
9887         * frame-msw.c (mswindows_enable_frame):
9888         * frame-msw.c (error_frame_unsizable):
9889         * frame-msw.c (msprinter_init_frame_1):
9890         * frame-msw.c (msprinter_init_frame_3):
9891         * frame-msw.c (console_type_create_frame_mswindows):
9892         (2).
9893         implement new enable/disable frame methods.
9894
9895         * frame-x.c:
9896         * frame-x.c (x_enable_frame):
9897         * frame-x.c (console_type_create_frame_x):
9898         implement new enable/disable frame methods.
9899
9900         * frame.c:
9901         * frame.c (Fdisable_frame):
9902         * frame.c (syms_of_frame):
9903         * frame.h (struct frame):
9904         implement new enable/disable frame methods/functions.
9905
9906         * general-slots.h:
9907         add initial-focus.
9908
9909         * glyphs-msw.c (mswindows_widget_instantiate):
9910         comment that initial-focus should be implemented.
9911
9912         * glyphs-widget.c:
9913         * glyphs-widget.c (check_valid_instantiator):
9914         * glyphs-widget.c (check_valid_orientation):
9915         * glyphs-widget.c (check_valid_tab_orientation):
9916         * glyphs-widget.c (check_valid_justification):
9917         * glyphs-widget.c (check_valid_border):
9918         * glyphs-widget.c (check_valid_callback):
9919         * glyphs-widget.c (check_valid_int_or_function):
9920         * glyphs-widget.c (check_valid_string_or_vector):
9921         * glyphs-widget.c (check_valid_item_list_1):
9922         * glyphs-widget.c (widget_validate):
9923         * glyphs-widget.c (combo_box_validate):
9924         * glyphs-widget.c (widget_instantiate):
9925         * glyphs-widget.c (syms_of_glyphs_widget):
9926         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9927         * glyphs-widget.c (image_instantiator_combo_box):
9928         * glyphs-widget.c (image_instantiator_scrollbar):
9929         * glyphs-widget.c (image_instantiator_tab_control):
9930         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9931         (2).
9932         support (unimplemented) keyword initial-focus.
9933         reindent long macros.
9934
9935         * glyphs-x.c (x_redisplay_widget):
9936         * glyphs-x.c (x_button_instantiate):
9937         * glyphs-x.c (x_button_redisplay):
9938         * glyphs-x.c (x_progress_gauge_instantiate):
9939         * glyphs-x.c (x_edit_field_instantiate):
9940         * glyphs-x.c (x_combo_box_instantiate):
9941         * glyphs-x.c (x_tab_control_instantiate):
9942         * glyphs-x.c (x_label_instantiate):
9943         * gui-x.c:
9944         * gui-x.c (button_item_to_widget_value):
9945         * gui-x.c (gui_items_to_widget_values_1):
9946         * gui-x.c (gui_item_children_to_widget_values):
9947         * gui-x.c (gui_items_to_widget_values):
9948         * gui-x.h:
9949         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9950         add new flag to gui-parsing routines to indicate whether
9951         accelerator specs should be supported.
9952
9953         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9954
9955         * glyphs.h (struct Lisp_Image_Instance):
9956         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9957         add initial-focus flag.
9958
9959         * gui.c:
9960         * gui.c (syms_of_gui):
9961         * gui.c (vars_of_gui):
9962         clean up menu-no-selection-hook.
9963
9964         * gui.h:
9965         support delete-dialog-box-hook.
9966
9967         * lread.c (Fload_internal):
9968         * lread.c (locate_file_in_directory_mapper):
9969         (1).
9970
9971         * lrecord.h:
9972         * lrecord.h (struct toolbar_button):
9973         * lrecord.h (syms_of_toolbar):
9974         document how to create a new object.
9975
9976         * menubar-msw.c (mswindows_char_is_accelerator):
9977         may be called on frames w/o menus.
9978
9979         * menubar.c (vars_of_menubar):
9980         clean up :filter docs.
9981
9982         * nt.c (readdir):
9983         * ntproc.c:
9984         (1).
9985
9986         * process-nt.c:
9987         * process-nt.c (validate_signal_number):
9988         * process-nt.c (signal_cannot_launch):
9989         * process-nt.c (nt_create_process):
9990         * process-nt.c (nt_send_process):
9991         * process-nt.c (nt_kill_child_process):
9992         * process-nt.c (nt_open_network_stream):
9993         * process-nt.c (syms_of_process_nt):
9994         (2).
9995         delete quote-handling.  call new lisp code that does it better.
9996
9997         * process-unix.c (connect_to_file_descriptor):
9998         * process-unix.c (allocate_pty):
9999         * process-unix.c (unix_send_process):
10000         * process-unix.c (unix_kill_child_process):
10001         * process-unix.c (unix_open_network_stream):
10002         * process-unix.c (unix_open_multicast_group):
10003         (1). (2).
10004
10005         * process.c:
10006         * process.c (Fstart_process_internal):
10007         (2).  need to canonicalize process path even if absolute.
10008
10009         * select-msw.c (symbol_to_ms_cf):
10010         * select-msw.c (ms_cf_to_symbol):
10011         * select-msw.c (cf_is_autofreed):
10012         * select-msw.c (mswindows_destroy_selection):
10013         * select.c:
10014         * select.c (syms_of_select):
10015         * select.h:
10016         support dibv5, fix bugs. (from Mike Alexander)
10017
10018         * select.c (Fget_selection_internal):
10019         * select.c (select_convert_out):
10020
10021         * sysdep.c:
10022         * sysdep.c (xemacs_stat):
10023         renamed.
10024
10025         * sysdep.c (mkdir):
10026         * sysdep.c (rmdir):
10027         but keep original stat() here because we provide encapsulation
10028         around these funs.
10029
10030         * sysfile.h:
10031         * sysfile.h (fstat):
10032         remove stat garbage.
10033
10034         * syswindows.h:
10035         fix X/MSW conflict.
10036         don't include tchar.h.  it's inappropriate because it makes
10037         compile-time distinctions when we want runtime distinctions.
10038         (we provide our own tchar replacements)
10039
10040         * toolbar.c:
10041         use default object printer for toolbar-button.
10042
10043         * unexcw.c:
10044         make sure we don't encapsulate.
10045
10046         * window.c (vars_of_window):
10047         emphasize that temp-buffer-show-hook is obsolete.
10048
10049 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10050
10051         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10052         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10053
10054         * events.c (Fevent_timestamp_lessp):
10055         Not 64-bit clean.  Use EMACS_INT, not int.
10056
10057 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10058
10059         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10060         unsigned int and changed the last enum to
10061         lrecord_type_last_built_in_type.
10062         (lrecord_implementations_table): changed prototype to know how
10063         long the array is supposed to be.
10064         (lrecord_type_count): new unsigned int to keep track of the
10065         current number of lisp lrecord types.
10066         (DEFINE_EXTERNAL_LRECORD):
10067         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10068         dynamic-modules to declare new lisp types. They are the same
10069         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10070         int for each new type, and increment lrecord_type_count by 1.
10071
10072         * alloc.c (lrecord_implementations_table): Changed to reference
10073         lrecord_type_last_built_in_type for the size of the array.
10074         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10075
10076 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10077
10078         * glyphs.h (check_valid_item_list): Renamed from
10079         check_valid_item_list_1.
10080
10081 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10082
10083         * select.c (Qselect_coerce): New.
10084         * select.c (Vselection_coercion_alist): New.
10085         * select.c (syms_of_select): Declare.
10086         * select.c (get-selection-internal): Use it.
10087         Use the new select-coerce functionality.
10088
10089         * select.c (select_coerce): New.
10090         * select.h (select_coerce): Declare.
10091         New function to coerce one type of data into another.
10092
10093 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10094
10095         * callproc.c (Fcall_process_internal):
10096         (Fcall_process_internal):
10097         * process-unix.c (unix_create_process):
10098         Save and restore the value of errno, so that error messages are accurate.
10099
10100 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10101
10102         * elhash.c (print_hash_table):
10103         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10104         Prettify docstrings and indentation.
10105
10106 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10107
10108         * window.c (Fwindow_pixel_edges): Subtract frame border and
10109         gutter size.
10110
10111 2000-07-31  Andy Piper  <andy@xemacs.org>
10112
10113         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10114         will acknowledge the change.
10115
10116         * glyphs.h: declare tab_control_order_only_changed.
10117
10118         * glyphs-x.c (x_tab_control_redisplay): use
10119         tab_control_order_only_changed.
10120
10121         * glyphs-widget.c (tab_control_order_only_changed): new function.
10122
10123         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10124         tab_control_order_only_changed.
10125
10126         * gui.c (gui_item_equal_sans_selected): new function.
10127         (gui_item_equal): use it.
10128
10129         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10130         :properties in favor of :items..
10131
10132         * glyphs-widget.c (check_valid_item_list): rename from
10133         check_valid_item_list_1.
10134         (check_valid_item_list_1): renamed.
10135         (combo_box_validate): deprecate :properties in favor of :items.
10136         (widget_instantiate): ditto.
10137         (tab_control_update): ditto.
10138         (image_instantiator_combo_box): ditto.
10139         (image_instantiator_tree_view): ditto.
10140         (image_instantiator_tab_control): ditto.
10141         (layout_post_instantiate): remove dead code.
10142
10143         * print.c (debug_print_no_newline): only write to debugger if in
10144         WIN32_NATIVE.
10145
10146         * elhash.c (Fmake_hash_table): update doc string.
10147
10148         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10149         messages whilst in GC. This at least stops XEmacs crashing but has
10150         the potential for wierd behaviour.
10151
10152 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10153
10154         * config.h.in:
10155         Make existence of s&m files optional.
10156
10157         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10158         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10159         * s/gnu.h: Remove HAVE_GETLOADAVG.
10160         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10161         * s/sol2.h: Remove HAVE_GETLOADAVG.
10162         * lisp.h: Remove getloadavg() declaration.
10163         * fns.c:
10164         Include <sys/loadavg.h> if available.
10165         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10166         * config.h.in:  Group together getloadavg()-related macros.
10167         Use only configure-time tests to detect getloadavg().
10168
10169 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10170
10171         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10172
10173 2000-07-25  Andy Piper  <andy@xemacs.org>
10174
10175         * syswindows.h: add tchar.h for native builds.
10176
10177         * frame.c (syms_of_frame): remove set-glyph-image.
10178
10179         * general-slots.h: add Qset_glyph_image.
10180
10181         * glyphs-widget.c (layout_update): add domain arg to
10182         set-glyph-image.
10183         (syms_of_glyphs_widget): remove set-glyph-image.
10184
10185 2000-07-23  Ben Wing  <ben@xemacs.org>
10186
10187         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10188         Vpopup_frame_list.
10189
10190 2000-07-22  Andy Piper  <andy@xemacs.org>
10191
10192         * symsinit.h: add syms_of_win32().
10193
10194         * gui-msw.c (syms_of_gui_mswindows): remove
10195         Fmswindows_shell_execute.
10196         (Fmswindows_shell_execute): moved to win32.c.
10197
10198         * emacs.c (main_1): add syms_of_win32 ().
10199
10200         * win32.c (init_potentially_nonexistent_functions): rewrite in
10201         compiler-friendly terms.
10202         (Fmswindows_shell_execute): move here from gui-msw.c.
10203         (syms_of_win32): new.
10204
10205         * device-msw.c (Fmswindows_printer_list): clean up args to
10206         EnumPrinters.
10207         Don't include tchar under cygwin or mingw.
10208         (msprinter_default_printer): make cygwin-friendly.
10209
10210 2000-07-21  Andy Piper  <andy@xemacs.org>
10211
10212         * glyphs-widget.c (image_instantiator_tree_view): use tab
10213         control's update function.
10214         (layout_property): new function. Retrieve items.
10215
10216         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10217         function. Re-populate the tree view from the pending items.
10218
10219         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10220         is designated the parent if the domain is an image instance. This
10221         is needed so that dirtiness can be cascade up the hierarchy and
10222         thus for layout children to be redisplayed correctly.
10223         (allocate_image_instance): rename glyph -> parent.
10224
10225         * redisplay.h: change redisplay_output_layout signature.
10226
10227         * redisplay-msw.c (mswindows_output_display_block): use domain
10228         arg.
10229
10230         * redisplay-x.c (x_output_display_block): use domain arg.
10231
10232 2000-07-10  Andy Piper  <andy@xemacs.org>
10233
10234         * window.c (Fset_window_configuration): add comment.
10235
10236         * redisplay-output.c (compare_runes):
10237         (redisplay_output_subwindow): redisplay rather than update subwindow.
10238         (redisplay_output_layout): ditto.
10239
10240         * redisplay-msw.c (mswindows_frame_output_end):
10241         (mswindows_frame_output_end): make defer window pos optional.
10242
10243         * lisp.h: add Flast.
10244
10245         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10246         normalize method. Change update method to be for changed
10247         instantiators. Add redisplay method. Change signature of layout
10248         method.
10249         (struct Lisp_Image_Instance): add instantiator.
10250         (IMAGE_INSTANCE_INSTANTIATOR): new.
10251         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10252         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10253         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10254
10255         * glyphs.c:
10256         (find_instantiator_differences): new function.
10257         (Fset_instantiator_property): new convenience function.
10258         (check_image_instance_structure): strictly check for vector
10259         instantiators.
10260         (normalize_image_instantiator): make non-static.
10261         (instantiate_image_instantiator): pass on dest_mask and use new
10262         signatures for image_instance_layout and friends.
10263         (mark_image_instance): mark the instantiator. Mark the subwindow
10264         face not the widget face.
10265         (image_instance_equal): add instantiator.
10266         (image_instance_hash): ditto.
10267         (allocate_image_instance): ditto.
10268         (Fset_image_instance_property): removed.
10269         (Fimage_instance_file_name): ditto.
10270         (Fcolorize_image_instance): ditto.
10271         (image_instance_layout): add offsets to be set.
10272         (update_image_instance): new function. update an image instance
10273         from its changed instantiator.
10274         (inherit_normalize): add dest_mask.
10275         (xbm_normalize): ditto.
10276         (xface_normalize): ditto.
10277         (xpm_normalize): ditto.
10278         (text_update): set_property -> update.
10279         (image_instantiate): use the glyph identity as a hash key, not the
10280         instantiator.
10281         (glyph_width): use new image_instance_layout signature.
10282         (glyph_ascent): ditto.
10283         (glyph_descent): ditto.
10284         (glyph_height): ditto.
10285         (glyph_query_geometry): ressurrect.
10286         (glyph_layout): ditto.
10287         (redisplay_subwindow): update -> redisplay.
10288         (syms_of_glyphs): add Fset_instantiator_property.
10289         (image_instantiator_format_create): set_property -> update.
10290
10291         * glyphs-x.c:
10292         (autodetect_normalize): add dest_maks to signature.
10293         (x_redisplay_subwindow): update -> redisplay.
10294         (x_redisplay_widget): ditto.
10295         (x_button_redisplay): ditto.
10296         (x_progress_gauge_redisplay): ditto.
10297         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10298         stacking order.
10299         (console_type_create_glyphs_x): update -> redisplay.
10300         (image_instantiator_format_create_glyphs_x): ditto.
10301
10302         * glyphs-widget.c:
10303         (check_valid_instantiator): disallow glyphs in the instantiator,
10304         they must now be vectors.
10305         (check_valid_instantiator_list): ditto.
10306         (glyph_instantiator_to_glyph): use internal symbol rather than
10307         intern.
10308         (widget_update): renamed from widget_set_property. Call cascaded
10309         update methods.
10310         (redisplay_widget): renamed from update_widget.
10311         (widget_layout): image_instance_layout now takes position as well
10312         as size.
10313         (widget_normalize): ditto.
10314         (widget_instantiate): ditto.
10315         (tab_control_query_geometry) ditto.:
10316         (tab_control_update): renamed from tab_control_set_property.
10317         (progress_gauge_update): set_property -> update.
10318         (layout_normalize): rewrite so that child instantiators are
10319         normalized also.
10320         (layout_update): new function. Create glyphs from the normalized
10321         children and cope with any other layout keywords. We do not
10322         instantiate children here that will be take care of by
10323         redisplay_output_layout.
10324         (layout_instantiate): call layout_update and not much else.
10325         (layout_post_instantiate): not sure whether this is needed
10326         anymore.
10327         (layout_query_geometry): query glyph geometry rather than
10328         image_instance geometry.
10329         (layout_layout): set offsets from pass in parameters. Use glyph
10330         geometry and layout functions rather than image instance ones.
10331         (native_layout_layout): ditto.
10332         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10333         (image_instantiator_widget): set_property -> update.
10334         (image_instantiator_buttons): ditto.
10335         (image_instantiator_progress_guage): ditto.
10336         (image_instantiator_tab_control): ditto.
10337         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10338         (image_instantiator_layout): add update method.
10339
10340         * glyphs-msw.c (bmp_normalize):
10341         (mswindows_resource_normalize): add dest_mask so that it can be
10342         proprogated by layout_normalize.
10343         (begin_defer_window_pos): make optional because it may not be the
10344         right thing to do and it introduces differences with X.
10345         (mswindows_unmap_subwindow): ditto.
10346         (mswindows_map_subwindow): ditto.
10347         (mswindows_redisplay_subwindow): renamed from
10348         mswindows_update_subwindow.
10349         (mswindows_redisplay_widget): ditto.
10350         (mswindows_button_redisplay): renamed from
10351         mswindows_button_update. Update is now what the instantiation
10352         function does for a changed instantiator.
10353         (mswindows_progress_gauge_instantiate): set the progress value
10354         here if appropriate.
10355         (mswindows_tab_control_redisplay): cope with re-ordering of the
10356         members of the tab widget by simply selecting the new top
10357         widget. This makes things appear ok if you click on a tab.
10358         (mswindows_combo_box_instantiate): image_instance_layout now takes
10359         position as well as size.
10360         (mswindows_progress_gauge_redisplay): renamed from
10361         mswindows_progress_gauge_update.
10362         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10363         (image_instantiator_format_create_glyphs_mswindows): ditto.
10364
10365         * glyphs-eimage.c (jpeg_normalize):
10366         (gif_normalize):
10367         (png_normalize):
10368         (tiff_normalize): add dest_mask so that it can be proprogated by
10369         layout_normalize.
10370
10371         * elhash.c:
10372         (print_hash_table):
10373         (hash_table_weakness_validate):
10374         (decode_hash_table_weakness):
10375         (Fhash_table_weakness):
10376         (Fhash_table_type):
10377         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10378
10379         * console.h (struct console_methods): move update_* to
10380         redisplay_*.
10381
10382 2000-07-20  Ben Wing  <ben@xemacs.org>
10383
10384         * *.[ch] (XSETOBJ): remove unused middle argument.
10385         lisp-disunion.h: correct wrap_object() to one argument.
10386
10387 2000-07-15  Ben Wing  <ben@xemacs.org>
10388
10389         * s/cygwin32.h:
10390         * s/cygwin32.h (CYGWIN_CONV_PATH):
10391         Add missing logb prototype for v1.1.
10392         Use post-b20 names and alias to pre-b20 names when pre-b20.
10393
10394         * s/windowsnt.h: [5].
10395
10396 2000-07-15  Ben Wing  <ben@xemacs.org>
10397
10398         * Makefile.in.in (x_objs):
10399         * Makefile.in.in (sheap_objs):
10400         * Makefile.in.in (objs):
10401         added win32.o, cosmetic cleanups.
10402
10403         * alloc.c (Fmake_byte_code):
10404         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10405         etc. macros which declare their own args now.
10406
10407         * alloc.c (syms_of_alloc):
10408         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10409
10410         * buffer.c:
10411         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10412
10413         * buffer.c (Fget_file_buffer):
10414         Fixed GCPRO problem.
10415
10416         * buffer.c (get_truename_buffer):
10417         Fixed comment about GC checking.
10418
10419         * buffer.c (syms_of_buffer):
10420         Undeclared those dedicated frame funs.
10421         [2].
10422
10423         * buffer.h:
10424         Define convenience macros for internal/external conversions.
10425         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10426         and Qenvironment_variable_encoding for cleaner code.
10427
10428         * bufslots.h:
10429         Remove dedicated-frame; in lisp.
10430
10431         * bytecode.c (funcall_compiled_function):
10432         [1].
10433
10434         * bytecode.c (syms_of_bytecode):
10435         [2].
10436
10437         * console-msw.c:
10438         * console-msw.c (mswindows_show_console): Rewrote.
10439
10440         * console-msw.c (Fmswindows_debugging_output): New.
10441         Sends to OutputDebugString (special MSWin debugger interface).
10442
10443         * console-msw.c (Fmswindows_message_box):
10444         Fixed stupid bugs so it works when called from kill-emacs.
10445
10446         * console-msw.c (syms_of_console_mswindows):
10447         Declare Fmswindows_debugging_output.
10448
10449         * console-msw.h:
10450         New MSWin prototypes.
10451
10452         * console-msw.h (struct mswindows_frame):
10453         New entry last-click-mods for improved button-modifier support.
10454
10455         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10456         New struct entry `popup' with corresponding accessor.
10457
10458         * console-x.c:
10459         * console-x.c (split_up_display_spec):
10460         * console-x.c (get_display_arg_connection):
10461         * console-x.c (x_semi_canonicalize_console_connection):
10462         * console-x.c (x_canonicalize_device_connection):
10463         [[[6]]]: Change char to more specific type.
10464         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10465
10466         * console-x.c (x_semi_canonicalize_console_connection):
10467         * console-x.c (x_canonicalize_device_connection):
10468         [[[9]]]: Fix up error signalling to use new structured error system.
10469
10470         * console-x.h:
10471         [[[4]]]: Define codesys aliases:
10472         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10473         Qx_color_name_encoding, Qx_display_name_encoding.
10474
10475         * console.h (struct console_methods):
10476         New method make_dialog_box_internal supersedes older
10477         popup_dialog_box method.
10478
10479         * data.c:
10480         Define many new errors, part of new structured errors.
10481
10482         * data.c (init_errors_once_early):
10483         * data.c (syms_of_data):
10484         [2].
10485
10486         * device-msw.c (mswindows_init_device):
10487         [[[5]]]: Cleanup to support NT 3.51.
10488
10489         * device-msw.c (decode_devmode): Cleanup.
10490
10491         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10492         * device-msw.c (mswindows_handle_print_dialog_box):
10493         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10494         * device-msw.c (syms_of_device_mswindows):
10495         Delete the dialog box primitives recently introduced by Kirill and
10496         instead interface to general dialog box interface.
10497
10498         * device-x.c:
10499         * device-x.c (compute_x_app_name):
10500         * device-x.c (x_init_device):
10501         * device-x.c (Fx_valid_keysym_name_p):
10502         * device-x.c (Fx_set_font_path):
10503         [6].
10504         [7].
10505
10506         * device.h (wrap_device): New.
10507         First of its kind; meant to replace XSETDEVICE.
10508
10509         * dialog-msw.c: Many file-dialog symbols.
10510
10511         * dialog-msw.c (mswindows_register_popup_frame): New.
10512         * dialog-msw.c (mswindows_is_dialog_msg): New.
10513         For supporting kbd traversal in dialog boxes.
10514
10515         * dialog-msw.c (dialog_proc):
10516         Support hitting ESC in dialogs.
10517
10518         * dialog-msw.c (struct):
10519         Common dialog box errors.
10520
10521         * dialog-msw.c (handle_file_dialog_box): New.
10522         Add file dialog code.
10523
10524         * dialog-msw.c (handle_question_dialog_box):
10525         Redo existing code to support new question dialog syntax.
10526
10527         * dialog-msw.c (console_type_create_dialog_mswindows):
10528         We support new dialog console method.
10529
10530         * dialog-msw.c (syms_of_dialog_mswindows):
10531         * dialog-msw.c (vars_of_dialog_mswindows):
10532         New file dialog symbols, vars.
10533
10534         * dialog-x.c:
10535         * dialog-x.c (maybe_run_dbox_text_callback):
10536         * dialog-x.c (dbox_descriptor_to_widget_value):
10537         * dialog-x.c (x_make_dialog_box_internal):
10538         * dialog-x.c (console_type_create_dialog_x):
10539         Mule-ize entire file.
10540         Redo to support question dialog syntax.
10541         [6].
10542
10543         * dialog.c:
10544         * dialog.c (Fmake_dialog_box_internal):
10545         * dialog.c (syms_of_dialog):
10546         Kill old popup-dialog-box, replace with new primitive.
10547         Just call device method or signal error.
10548
10549         * eldap.c (Fldap_open):
10550         * eldap.c (Fldap_search_basic):
10551         * eldap.c (Fldap_add):
10552         * eldap.c (Fldap_modify):
10553         [1].
10554         [7].
10555
10556         * emacs.c:
10557         * emacs.c (make_arg_list_1):
10558         * emacs.c (make_arg_list):
10559         Mule-ize call to dll_init().
10560         [6].
10561         [8].
10562
10563         * emacs.c (make_argc_argv):
10564         * emacs.c (free_argc_argv):
10565         * emacs.c (init_cmdargs):
10566         * emacs.c (main_1):
10567         * emacs.c (Fkill_emacs):
10568         * emacs.c (Fdump_emacs):
10569         Update comments about what can be used in syms_* etc.
10570         Call init_win32() when necessary.
10571         Fix up MS Win dialog box in kill-buffer to actually work right.
10572         [7].
10573
10574         * eval.c:
10575         * eval.c (For):
10576         * eval.c (Fand):
10577         * eval.c (Fprogn):
10578         * eval.c (Fprog1):
10579         * eval.c (Fprog2):
10580         * eval.c (FletX):
10581         * eval.c (Flet):
10582         * eval.c (condition_case_3):
10583         * eval.c (Feval):
10584         * eval.c (function_argcount):
10585         * eval.c (funcall_lambda):
10586         [1].
10587
10588         * eval.c (type_error): New.
10589         * eval.c (maybe_type_error): New.
10590         * eval.c (continuable_type_error): New.
10591         * eval.c (maybe_continuable_type_error): New.
10592         * eval.c (type_error_with_frob): New.
10593         * eval.c (maybe_type_error_with_frob): New.
10594         * eval.c (continuable_type_error_with_frob): New.
10595         * eval.c (maybe_continuable_type_error_with_frob): New.
10596         New functions for use with structured errors.
10597
10598         * event-Xt.c:
10599         * event-Xt.c (x_event_to_emacs_event):
10600         Buttons are now modifiers too.
10601
10602         * event-Xt.c (emacs_Xt_current_event_timestamp):
10603         Implement new event method.
10604         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10605
10606         * event-msw.c:
10607         * event-msw.c (ntpipe_shove_writer): [5].
10608         * event-msw.c (mswindows_enqueue_mouse_button_event):
10609         * event-msw.c (mswindows_drain_windows_queue):
10610         * event-msw.c (mswindows_wnd_proc): [7].
10611         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10612         * event-msw.c (mswindows_modifier_state):
10613         Throughout: support new button modifiers.
10614
10615         * event-msw.c (emacs_mswindows_current_event_timestamp):
10616         Implement new event method.
10617         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10618
10619         * event-stream.c:
10620         * event-stream.c (event_stream_current_event_timestamp): New.
10621         * event-stream.c (maybe_kbd_translate): New functionality.
10622         * event-stream.c (vars_of_event_stream):
10623         Document new kbd-translate-table functionality.
10624
10625         * event-stream.c (Fcurrent_event_timestamp): New.
10626         New primitive for use in fabricated events.
10627         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10628
10629         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10630
10631         * events.c:
10632         * events.c (Fmake_event):
10633         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10634         [1].
10635         [9].
10636
10637         * events.c (format_event_object): fix gcc warnings.
10638
10639         * events.c (Fevent_timestamp): Document new primitives.
10640
10641         * events.c (TIMESTAMP_HALFSPACE): New.
10642
10643         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10644         comparing timestamps correctly (half-space algorithm).
10645
10646         * events.c (Fevent_modifier_bits): Doc fix.
10647
10648         * events.c (Fevent_modifiers): Major doc addition.
10649         * events.c (event_x_y_pixel_internal): Typo fix.
10650         * events.c (syms_of_events): Declare new primitives.
10651
10652         * events.h:
10653         Update long comment for button modifiers, timestamps.
10654
10655         * events.h (struct event_stream):
10656         New current_event_timestamp method.
10657
10658         * extents.c:
10659         * extents.c (extent_in_region_p):
10660         * extents.c (decode_extent):
10661         * extents.c (Fset_extent_parent):
10662         * extents.c (decode_map_extents_flags):
10663         Fix gcc warnings.
10664         [9].
10665
10666         * extents.c (struct extent_at_arg):
10667         * extents.c (decode_extent_at_flag):
10668         * extents.c (extent_at_mapper):
10669         * extents.c (extent_at_bytind):
10670         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10671         * extents.c (Fextents_at): New primitive. [9].
10672         * extents.c (symbol_to_glyph_layout): [9].
10673         Support new primitive `extents-at'.
10674
10675
10676         * extents.c (get_text_property_bytind):
10677         extent_at_bytind has another arg.
10678         [9].
10679
10680         * extents.c (syms_of_extents): New primitive.
10681
10682         * file-coding.c (Fmake_coding_system): [1].
10683         * file-coding.c (subsidiary_coding_system): fix gcc warning
10684         * file-coding.c (syms_of_file_coding): [2].
10685
10686         * fileio.c (Fexpand_file_name):
10687         * fileio.c (Fsysnetunam):
10688         * fileio.c (Ffile_exists_p):
10689         * fileio.c (Ffile_executable_p):
10690         * fileio.c (Fverify_visited_file_modtime):
10691         Clean up GCPROing.
10692
10693         * fileio.c (syms_of_fileio): [2].
10694
10695         * filelock.c (lock_file_1):
10696         * filelock.c (current_lock_owner):
10697         * filelock.c (lock_if_free):
10698         * filelock.c (lock_file):
10699         * filelock.c (unlock_file):
10700         Clean up GCPROing.
10701
10702         * fns.c (concat): Fix gcc warning.
10703
10704         * fns.c (Fmember):
10705         * fns.c (Fold_member):
10706         * fns.c (Fmemq):
10707         * fns.c (Fold_memq):
10708         * fns.c (memq_no_quit):
10709         * fns.c (Fassoc):
10710         * fns.c (Fold_assoc):
10711         * fns.c (Fassq):
10712         * fns.c (Fold_assq):
10713         * fns.c (assq_no_quit):
10714         * fns.c (Frassoc):
10715         * fns.c (Fold_rassoc):
10716         * fns.c (Frassq):
10717         * fns.c (Fold_rassq):
10718         * fns.c (rassq_no_quit):
10719         * fns.c (Fdelete):
10720         * fns.c (Fold_delete):
10721         * fns.c (Fdelq):
10722         * fns.c (Fold_delq):
10723         * fns.c (delq_no_quit):
10724         * fns.c (Fremassoc):
10725         * fns.c (Fremassq):
10726         * fns.c (remassq_no_quit):
10727         * fns.c (Fremrassoc):
10728         * fns.c (Fremrassq):
10729         * fns.c (remrassq_no_quit):
10730         * fns.c (Freverse):
10731         * fns.c (mapcar1):
10732         [1].
10733
10734         * frame-msw.c (mswindows_init_frame_1):
10735         * frame-msw.c (mswindows_delete_frame):
10736         Register popups with dialog code so keyboard traversing works.
10737
10738         * frame-tty.c (tty_raise_frame_no_select): [1].
10739
10740         * frame-x.c:
10741         * frame-x.c (x_set_frame_text_value):
10742         * frame-x.c (x_set_frame_properties):
10743         * frame-x.c (x_create_widgets):
10744         [7].
10745
10746         * frame.c:
10747         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10748
10749         * frame.h (wrap_frame): New.
10750         Macro like wrap_device.
10751
10752         * general.c:
10753         * general.c (SYMBOL):
10754         * general.c (syms_of_general):
10755         Major reorg.  This is now just a wrapper and symbols themselves
10756         are listed in general-slots.h.
10757
10758         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10759         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10760
10761         * glyphs-msw.c (mswindows_native_layout_instantiate):
10762         Add DS_CONTROL so keyboard traversal will work.
10763
10764         * glyphs-widget.c:
10765         * glyphs-widget.c (syms_of_glyphs_widget):
10766         Move some symbols to general-slots.h.
10767
10768         * glyphs-x.c:
10769         * glyphs-x.c (xbm_instantiate_1):
10770         * glyphs-x.c (x_xbm_instantiate):
10771         * glyphs-x.c (x_xface_instantiate):
10772         * glyphs-x.c (autodetect_instantiate):
10773         * glyphs-x.c (cursor_font_instantiate):
10774         * glyphs-x.c (x_update_widget):
10775         * glyphs-x.c (x_widget_instantiate):
10776         * glyphs.c (bitmap_to_lisp_data):
10777         * glyphs.c (pixmap_to_lisp_data):
10778         [7].
10779
10780         * glyphs.c (syms_of_glyphs):
10781         [2].
10782
10783         * gui-x.c:
10784         * gui-x.c (print_widget_value):
10785         * gui-x.c (menu_separator_style_and_to_external):
10786         * gui-x.c (add_accel_and_to_external):
10787         * gui-x.c (button_item_to_widget_value):
10788         * gui-x.c (gui_items_to_widget_values_1):
10789         * gui-x.c (gui_items_to_widget_values):
10790         * gui-x.c (syms_of_gui_x):
10791         * gui-x.c (vars_of_gui_x):
10792         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10793         [9].
10794
10795         * gui-x.h:
10796         Muleize, prototype changes matching gui-x.c.
10797
10798         * gui.c:
10799         * gui.c (separator_string_p):
10800         * gui.c (gui_item_add_keyval_pair):
10801         * gui.c (make_gui_item_from_keywords_internal):
10802         * gui.c (signal_too_long_error):
10803         * gui.c (parse_gui_item_tree_item):
10804         * gui.c (syms_of_gui):
10805         * gui.c (vars_of_gui):
10806         * gui.h:
10807         menu-no-selection-hook moved here (used by MSWin).
10808         Move some symbols to general-slots.h.
10809         [6].
10810         [9].
10811
10812         * insdel.c (get_buffer_pos_char):
10813         * insdel.c (get_buffer_range_char):
10814         Add GC comments.
10815
10816         * keymap.c (keymap_lookup_directly):
10817         * keymap.c (keymap_store):
10818         * keymap.c (ensure_meta_prefix_char_keymapp):
10819         * keymap.c (describe_map):
10820         * keymap.h:
10821         Support new button modifiers.
10822
10823         * lisp-disunion.h (wrap_object):
10824         * lisp-disunion.h (XSETOBJ):
10825         Rename make_obj to wrap_object.
10826
10827         * lisp-union.h:
10828         * lisp-union.h (make_int):
10829         * lisp-union.h (make_char):
10830         Support wrap_object.
10831
10832         * lisp.h:
10833         * lisp.h (LIST_LOOP):
10834         * lisp.h (EXTERNAL_LIST_LOOP):
10835         * lisp.h (LIST_LOOP_2):
10836         * lisp.h (EXTERNAL_LIST_LOOP_1):
10837         * lisp.h (EXTERNAL_LIST_LOOP_2):
10838         * lisp.h (EXTERNAL_LIST_LOOP_3):
10839         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10840         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10841         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10842         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10843         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10844         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10845         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10846         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10847         * lisp.h (struct Lisp_Symbol):
10848         * lisp.h (maybe_continuable_error_with_frob):
10849         Fix up section comments.
10850         Add new types for char to indicate usage.
10851         Delete symbols auto-generated from general-slots.h.
10852         Add prototypes for structured error functions.
10853         Add long comments describing looping macros and change interface
10854         so that lvalues are automatically declared.
10855         Add NO_DECLARE macro in case callers want to declare lvalues
10856         themselves.
10857
10858         * lread.c (read_syntax_error):
10859         * lread.c (continuable_read_syntax_error):
10860         * lread.c (read_structure):
10861         * lread.c (sequence_reader):
10862         * lread.c (read_list_conser):
10863         * lread.c (read_compiled_function):
10864         Rename syntax_error and continuable_syntax_error to avoid clash
10865         with same-named structured error functions.
10866
10867         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10868         * menubar-msw.c (populate_menu_add_item):
10869         * menubar-msw.c (populate_or_checksum_helper):
10870         [5].
10871         [9].
10872
10873         * menubar-x.c:
10874         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10875         Mule-ize whole file.
10876
10877         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10878
10879         * mule-charset.c (Fmake_charset):
10880         * mule-wnnfns.c (Fwnn_set_param):
10881         [1].
10882
10883         * ntproc.c (create_child):
10884         * ntproc.c (Fwin32_set_current_locale):
10885         Add comments portending doom.
10886
10887         * objects-msw.c:
10888         * objects-msw.c (old_font_enum_callback_2):
10889         * objects-msw.c (font_enum_callback_1):
10890         * objects-msw.c (mswindows_enumerate_fonts):
10891         [5].
10892
10893         * objects-x.c:
10894         * objects-x.c (allocate_nearest_color):
10895         * objects-x.c (x_parse_nearest_color):
10896         * objects-x.c (x_initialize_color_instance):
10897         * objects-x.c (x_print_color_instance):
10898         * objects-x.c (x_finalize_color_instance):
10899         * objects-x.c (x_valid_color_name_p):
10900         * objects-x.c (x_initialize_font_instance):
10901         * objects-x.c (x_print_font_instance):
10902         * objects-x.c (valid_x_font_name_p):
10903         * objects-x.c (truename_via_FONT_prop):
10904         * objects-x.c (truename_via_random_props):
10905         * objects-x.c (truename_via_XListFonts):
10906         * objects-x.c (x_font_truename):
10907         * objects-x.c (x_font_instance_truename):
10908         * objects-x.c (x_font_instance_properties):
10909         * objects-x.c (x_list_fonts):
10910         * objects-x.c (x_find_charset_font):
10911         Mule-ize entire file.
10912         [7].
10913
10914         * objects-x.h:
10915         Mule-verify.
10916
10917         * print.c:
10918         * print.c (std_handle_out_external):
10919         * print.c (debug_print_no_newline):
10920         * print.c (syms_of_print):
10921         Output to all debugger kinds in debug-print.
10922         Fix console-output code under MSWin to actually work.
10923
10924         * process-nt.c (send_signal):
10925         * process-nt.c (nt_create_process):
10926         Use newer Unicode macros.
10927
10928         * process-unix.c (unix_create_process):
10929         * process-unix.c (unix_canonicalize_host_name):
10930         * process-unix.c (unix_open_network_stream):
10931         [7].
10932
10933         * scrollbar-x.c:
10934         Mule-verify.
10935
10936         * search.c (syms_of_search):
10937         [2].
10938
10939         * select-msw.c (mswindows_destroy_selection):
10940         Use LIST_LOOP_2.
10941
10942         * select-x.c (symbol_to_x_atom):
10943         [7].
10944
10945         * select.c (syms_of_select):
10946         [2].
10947
10948         * sound.c (Fplay_sound_file):
10949         [7].
10950
10951         * specifier.c:
10952         * specifier.c (decode_specifier_type):
10953         * specifier.c (Fvalid_specifier_locale_type_p):
10954         * specifier.c (check_valid_locale_or_locale_type):
10955         * specifier.c (decode_locale):
10956         * specifier.c (decode_locale_type):
10957         * specifier.c (decode_locale_list):
10958         * specifier.c (check_valid_domain):
10959         * specifier.c (decode_specifier_tag_set):
10960         * specifier.c (Fcanonicalize_tag_set):
10961         * specifier.c (Fdefine_specifier_tag):
10962         * specifier.c (Fspecifier_tag_predicate):
10963         * specifier.c (check_valid_inst_list):
10964         * specifier.c (check_valid_spec_list):
10965         * specifier.c (decode_how_to_add_specification):
10966         * specifier.c (check_modifiable_specifier):
10967         * specifier.c (specifier_add_spec):
10968         * specifier.c (boolean_validate):
10969         * specifier.c (display_table_validate):
10970         [9].
10971
10972         * specifier.c (syms_of_specifier):
10973         Move some symbols to general-slots.h.
10974         [2].
10975
10976         * symbols.c:
10977         * symbols.c (Fmapatoms):
10978         * symbols.c (Fapropos_internal):
10979         Add GCPROs.
10980
10981         * symbols.c (set_default_buffer_slot_variable):
10982         * symbols.c (set_default_console_slot_variable):
10983         [1].
10984
10985         * symbols.c (defsymbol_massage_name_1):
10986         * symbols.c (defkeyword_massage_name):
10987         * symbols.c (deferror_1):
10988         * symbols.c (deferror):
10989         * symbols.c (deferror_massage_name_and_message):
10990         * symeval.h:
10991         * symeval.h (DEFSYMBOL):
10992         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10993
10994         * symbols.c (syms_of_symbols):
10995         [2].
10996
10997         * symsinit.h:
10998         * symsinit.h (init_win32): New.
10999         Also new is syms_of_dialog_mswindows.
11000
11001         * syswindows.h:
11002         Add new Unicode macros, missing Cygwin wide-char functions,
11003         convenience conversion macros for Qmswindows_tstr, macros for
11004         encapsulating required MSWin <-> Cygwin filename conversions,
11005         prototype for dynamically-extracted (not in NT 3.51) functions.
11006
11007         * toolbar-x.c:
11008         Mule-verify.
11009
11010         * tooltalk.c (Fadd_tooltalk_message_arg):
11011         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11012         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11013         [7].
11014
11015         * tooltalk.c (syms_of_tooltalk):
11016         [2].
11017
11018         * unexnt.c:
11019         * unexnt.c (unexec):
11020         Fix up headers, declaration of unexec() to be more standard.
11021
11022 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11023
11024         * offix.h: Revert change to guard macros - they're used in offix.c!
11025
11026 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11027
11028         * lisp.h: Defsubred Fdelete.
11029
11030         * console-msw.h:  (msprinter_default_printer): Added.
11031
11032         * console-msw.c (msprinter_canonicalize_console_connection):
11033         (msprinter_canonicalize_device_connection): Added.
11034
11035         * device-msw.c (msprinter_default_printer):
11036         (Fmswingows_get_default_printer):
11037         (signal_enum_priner_error):
11038         (Fmswingows_printer_list): Added.
11039
11040 2000-07-19  Martin Buchholz <martin@xemacs.org>
11041
11042         * XEmacs 21.2.35 is released.
11043
11044 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11045
11046         * select-x.c (x_handle_selection_request):
11047         Text selected in xemacs and pasted into xterm failed to appear.
11048         Spelling fixes and cosmetic changes.
11049
11050 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11051
11052         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11053         XEmacs frame (fix for doubling chars in dialog boxes).
11054
11055 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11056
11057         * select.c (select_convert_in, select_convert_out):
11058         Don't call intern() every time.
11059
11060         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11061         * select.c (vars_of_select): Initialise them.
11062
11063 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11064
11065         * select.c (selection-coercible-types): New.
11066
11067         * select.c (own-selection-internal):
11068         * select.c (get-selection-internal):
11069         MULE bug fix - these should default to COMPOUND_TEXT and not
11070         STRING for MULE. I think.
11071
11072         * select.c (select_convert_out): Use selection-coercible-types
11073         to find types that we can attempt to perform coercions on.
11074
11075 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11076
11077         * mule-wnnfns.c:
11078         * mule-canna.c:
11079         Add coding: cookie to identify encoding.
11080
11081         * mule-canna.c (CANNA_mode_keys): make static.
11082         Use proper prototypes, even for functions of no arguments.
11083         Remove external prototype for Fding().
11084
11085         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11086
11087         * select.c (syms_of_select): Add missing DEFSUBR.
11088
11089 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11090
11091         * select.c (get_selection_internal, own_selection_internal):
11092         Make the type default to STRING, rather than placing a nil type
11093         into Vselection_alist.
11094
11095 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11096
11097         * gpmevent.c (tty_selection_exists_p):
11098         * gpmevent.c (tty_own_selection):
11099         Updated parameter lists.
11100
11101 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11102
11103         * select.h (selection-alist): Removed declaration.
11104
11105         * select.h (get_local_selection):
11106         * select.c (get_local_selection):
11107         Made static.
11108
11109         * select.h (convert_selection): Removed declaration.
11110         * select.c (convert_selection): Removed.
11111         This function belongs in Lisp.
11112
11113         * select.h (select_convert_in): Declare.
11114         * select.h (select_convert_out): Declare.
11115         * select.c (select_convert_in): New.
11116         * select.c (select_convert_out): New.
11117         New conversion functions for other files to call.
11118
11119         * select.h (select_notify_buffer_kill): Declare.
11120         * select.c (select_notify_buffer_kill): New.
11121         New functions that get called from kill-buffer.
11122
11123         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11124         X-specific lisp code.
11125
11126         * select.h: Declare some of the lisp-visible functions for
11127         external use.
11128
11129         * select.c (clean_local_selection_data): Removed. This was
11130         a disgusting function, and previously should have been in
11131         select-x.c in any case. The functionality is now provided
11132         in select-convert-from-integer (select.el).
11133
11134         * select.c (available-selection-types): Fixed stupidity where
11135         INTEGER and ATOM got added twice. Also add STRING when we see an
11136         extent.
11137
11138         * select.c (get-selection-internal): Removed symbol stripping. No
11139         longer causes conversion when data comes from the internal cache.
11140
11141         * select.c (syms_of_select): Added new functions.
11142
11143         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11144         error checking - previously this called abort!
11145
11146         * select-x.c (x_own_selection): Changed comment.
11147
11148         * select-x.c (x_handle_selection_request): Use select_convert_out.
11149         Don't mess with selection-alist; it's an internal variable of select.c.
11150
11151         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11152
11153         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11154         rather than messing with selection-alist.
11155
11156         * select-msw.c (mswindows_get_foreign_selection):
11157         Use TO_INTERNAL_FORMAT rather than hacking.
11158
11159 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11160
11161         * process-unix.c (unix_open_multicast_group):
11162         (unix_open_multicast_group): Remove useless casts.
11163
11164 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11165
11166         * sound.c (Fplay_sound): Fix `unused variable' warning.
11167
11168         * emacs.c (main): Use correct type for _environ on SCO5.
11169
11170 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11171
11172         * console.h (own_selection_method):
11173         * console.h (selection_exists_p_method):
11174         * console.h (available_selection_types_method): New.
11175         * console.h (register_selection_data_type_method): New.
11176         * console.h (selection_data_type_name): New.
11177
11178         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11179         function & alist to track GlobalAlloc()'d handles that need
11180         releasing when the clipboard data gets replaced or emptied.
11181
11182         * event-msw.c (mswindows_wnd_proc): Call it.
11183
11184         * lisp.h, general.c (Qappend): New symbol representing a
11185         `how-to-add' mode.
11186
11187         * select.c (own-selection-internal):
11188         * select.c (selection-exists-p):
11189         * select.c (available-selection-types): New.
11190         * select.c (register-selection-data-type): New.
11191         * select.c (selection-data-type-name): New.  New functions to deal
11192         with device-specific selection data formats.
11193         * select.c (selection-converter-out-alist): Renamed.
11194         * select.c (selection-converter-in-alist): New.
11195         * select.c (selection-appender-alist): New.  Added new alists.
11196         * select.c (syms_of_select, vars_of_select): Added new symbols &
11197         variables.
11198         * select.c (get_local_selection): Split.
11199         * select.c: Removed spurious type checking - selections may now be
11200         of any type, not just strings.
11201         * select.c (own-selection-internal):
11202
11203         * select.h, select.c (convert_selection): New. Created
11204         convert_selection() function based on get_local_selection().
11205         * select.h, select.c (QCF_*): New symbols representing mswindows
11206         clipboard formats.
11207         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11208         symbols representing `how-to-add' modes.
11209
11210         * select-msw.c (x_sym_p): New.
11211         * select-msw.c (symbol_to_ms_cf): New.
11212         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11213         symbols & clipboard formats. Can also handle string names.
11214         * select-msw.c (mswindows_own_selection):
11215         * select-msw.c (mswindows_selection_exists_p):
11216         Added `data-type' parameter. Use it.
11217         * select-msw.c (mswindows_available_selection_types): New.
11218         * select-msw.c (mswindows_register_selection_data_type): New.
11219         * select-msw.c (mswindows_selection_data_type_name): New.
11220         * select-msw.c (mswindows_own_selection):
11221         * select-msw.c (mswindows_get_foreign_selection):
11222         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11223         * select-msw.c (console_create_select_mswindows): Added new methods.
11224         * select-msw.c (mswindows_destroy_selection): New.
11225         * select-msw.c (Vhandle_alist): New list.
11226         * select-msw.c (mswindows_own_selection):
11227
11228         * select-x.c (x_own_selection):
11229         * select-x.c (x_selection_exists_p):
11230         * select-x.c: Added some comments about maybe using new
11231         functionality.
11232         * select-x.c (x_own_selection):
11233
11234         * specifier.c: Remove definition of Qappend (now in general.c)
11235         * specifier.c (syms_of_specifier): Remove Qappend.
11236
11237 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11238
11239         * config.h.in: Add socklen_t.
11240
11241         * s/decosf4-0.h: No special compiler flags needed or desired.
11242         In particular, undefine _BSD for DEC OSF 4.0.
11243
11244 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11245
11246         * redisplay-msw.c (msprinter_frame_output_end): Added.
11247         (console_type_create_redisplay_mswindows): Referred the above.
11248
11249         * frame.c (setup_frame_without_minibuffer): Do not create a
11250         default minibuffer frame on a printer device.
11251
11252         * frame-msw.c (apply_dc_geometry): Added.
11253         (msprinter_start_page):
11254         (msprinter_init_frame_3):
11255         (msprinter_eject_page): Use it.
11256
11257         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11258         and removed residual duplex and orientation properties.
11259
11260 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11261
11262         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11263
11264         * unexalpha.c: Remove system prototypes from C sources!
11265
11266 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11267
11268         * eval.c: Remove references to M-x edit-options in DEFUNs for
11269         `defvar' and `defconst'.
11270
11271 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11272
11273         * config.h.in: Remove SMART_INCLUDE hackery.
11274
11275         PostgreSQL hacking:
11276         * config.h.in: Don't use SMART_INCLUDE.
11277
11278         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11279         * inline.c: Simply #include "postgresql.h"
11280         * postgresql.c:
11281         - Don't use SMART_INCLUDE
11282         - Use simply "const".
11283         - Use standard doc string conventions.
11284         - Use correct type for result of PQstatus.
11285
11286 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11287
11288         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11289
11290         C++ compilation changes.
11291         * config.h.in (EXTERN_C): Define.
11292         * config.h.in (not): This is also a C++ keyword.
11293         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11294         * cm.c: Use EXTERN_C.
11295         * redisplay-tty.c: Use EXTERN_C.
11296         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11297
11298 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11299
11300         * general.c: Remove duplicate definition for Qfunction.
11301
11302 2000-07-08  Ben Wing  <ben@xemacs.org>
11303
11304         * device-msw.c (msprinter_init_device):
11305         * device-msw.c (sync_printer_with_devmode):
11306         * device-msw.c (handle_devmode_changes):
11307         * device-msw.c (print_dialog_worker):
11308         * device-msw.c (Fmsprinter_apply_settings):
11309         * device-msw.c (hash_devmode):
11310         * device-msw.c (Fmsprinter_settings_despecialize):
11311         use Qmswindows_tstr, not Qctext.
11312
11313         * vm-limit.c (check_memory_limits):
11314         avoid infinite loop printing warning messages.
11315
11316 2000-07-05  Craig Lanning  <lanning@scra.org>
11317
11318         * Makefile.in.in: Add support for including the Windows resources
11319         when building with the cygwin and mingw targets.
11320
11321         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11322         not set or not correct.
11323         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11324         (init_initial_directory): Don't try to use $PWD on the
11325         WIN32_NATIVE target.
11326
11327         * s\cygwin32.h:
11328         [[Add -mwindows to eliminate console window.]] not required --ben
11329         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11330         (MAIL_USE_POP): removed; now handled by configure.
11331
11332         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11333         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11334         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11335         (MAIL_USE_POP): removed; now handled by configure.
11336         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11337         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11338         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11339         constant string.
11340         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11341         up from <winsock.h> via systime.h.
11342         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11343         (getpagesize): from Dan Holmsand, added.
11344         Added #endif which was left dangling by Ben's mega patch; added
11345         comment to help prevent this in the future.
11346
11347         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11348
11349 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11350
11351         * console-msw.h (struct mswindows_device): Removed unnecessary
11352         cached device geometry values.
11353         Added update_tick and an accessor macro.
11354         (Lisp_Devmode): Added lrecord declaration.
11355         (struct msprinter_device): Contain devmode as a Lisp object.
11356         Added mswindows_get_selected_frame_hwnd();
11357
11358         * console.h (struct console_methods): Indentation nitpicking.
11359
11360         * device-msw.c (mswindows_init_device): Do not initialize geometry
11361         cache. Initialize update tick.
11362         (mswindows_device_system_metrics): Ask the device for its geometry.
11363         (global_free_2_maybe):
11364         (devmode_to_hglobal):
11365         (handle_printer_changes):
11366         (ensure_not_printing):
11367         (print_dialog_worker):
11368         (Fmsprinter_print_setup_dialog):
11369         (Fmsprinter_print_dialog):
11370         (plist_get_margin):
11371         (plist_set_margin):
11372         (Fmsprinter_page_setup_dialog): Added functions.
11373         (sync_printer_with_devmode):
11374         (handle_devmode_changes):
11375         (Fmsprinter_get_settings):
11376         (Fmsprinter_select_settings):
11377         (Fmsprinter_apply_settings):
11378         (allocate_devmode):
11379         (Fmsprinter_settings_copy):
11380         (Fmsprinter_settings_despecialize):
11381         (print_devmode):
11382         (finalize_devmode):
11383         (equal_devmode):
11384         (hash_devmode): Added functions
11385         (syms_of_device_mswindows): Init devmode lrecord class.
11386
11387         * device.h: Added an exfun for find-device.
11388
11389         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11390         geometry; although, recreate the device compatible DC.
11391
11392         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11393         (msprinter_init_frame_3):
11394         (msprinter_frame_property):
11395         (msprinter_internal_frame_property_p):
11396         (msprinter_frame_properties):
11397         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11398         print job properties (will move to device settings).
11399
11400         * lisp.h: Added symbols.
11401
11402         * general.c (syms_of_general): Declared them.
11403
11404         * hash.c (string_hash): Added.
11405
11406         * lrecord.h (lrecord_type): Added devmode lrecord type.
11407
11408 2000-07-02  Mike Sperber <mike@xemacs.org>
11409
11410         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11411         FreeBSD 4.0.
11412
11413 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11414
11415         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11416         integer.
11417
11418 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11419
11420         * data.c (Fstring_to_number): Don't recognize floating point if
11421         base is not 10.
11422
11423 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11424
11425         * glyphs-widget.c (tab_control_query_geometry):
11426         (widget_query_geometry):
11427         (button_query_geometry):
11428         * glyphs.c (text_query_geometry):
11429         Enforce type correctness.
11430
11431 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11432
11433         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11434         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11435
11436 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11437
11438         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11439         conflicts with gcc's fixincluded version of FOO.h.
11440
11441         * glyphs.h (image_instance_geometry): Remove trailing `,'
11442
11443 2000-06-08  Mike Alexander  <mta@arbortext.com>
11444
11445         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11446         (shove_thread): Don't write the same output twice
11447         (make_ntpipe_output_stream): Increase priority of shove thread
11448         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11449         chance to run
11450         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11451         it.
11452
11453 2000-06-12  Ben Wing  <ben@xemacs.org>
11454
11455         * s\mingw32.h (sigset):
11456         * s\windowsnt.h (sigset):
11457         rename msw_ to mswindows_ for consistency with general convention.
11458
11459 2000-06-12  Ben Wing  <ben@xemacs.org>
11460
11461         * console-msw.c:
11462         * console-msw.c (mswindows_get_console_hwnd):
11463         * console-msw.c (mswindows_ensure_console_allocated):
11464         * console-msw.c (mswindows_hide_console):
11465         * console-msw.c (mswindows_show_console):
11466         * console-msw.c (mswindows_ensure_console_buffered):
11467         * console-msw.c (mswindows_output_console_string):
11468         * console-msw.c (mswindows_windows9x_p):
11469         * console-msw.h:
11470         * device-msw.c (mswindows_get_workspace_coords):
11471         * device-msw.c (mswindows_device_system_metrics):
11472         * dialog-msw.c (mswindows_popup_dialog_box):
11473         * event-msw.c (mswindows_wnd_proc):
11474         * frame-msw.c (mswindows_size_frame_internal):
11475         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11476         * menubar-msw.c (displayable_menu_item):
11477         * menubar-msw.c (mswindows_char_is_accelerator):
11478         * nt.c:
11479         * nt.c (mswindows_sigset):
11480         * nt.c (mswindows_sigrelse):
11481         * nt.c (mswindows_sigpause):
11482         * nt.c (mswindows_raise):
11483         * nt.c (timer_proc):
11484         * ntproc.c:
11485         * ntproc.c (find_child_console):
11486         * ntproc.c (sys_kill):
11487         * print.c:
11488         * print.c (std_handle_out_external):
11489         * process-nt.c (find_child_console):
11490         * process-nt.c (send_signal_the_95_way):
11491         * process-nt.c (ensure_console_window_exists):
11492         * process-nt.c (nt_create_process):
11493         * syssignal.h:
11494         rename msw_ to mswindows_ for consistency with general convention.
11495
11496         * emacs.c:
11497         * dumper.c:
11498         include nt.h, not syswindows.h.
11499
11500         * nt.c (mswindows_fstat):
11501         * nt.c (mswindows_stat):
11502         prefix mswindows_ instead of attempting to directly override the
11503         library functions.  fix declarations.
11504
11505         * nt.h:
11506         include syswindows.h.  move some sysdep.h stuff here.
11507
11508         * ntheap.h:
11509         include syswindows.h, not <windows.h>.
11510
11511         * ntplay.c:
11512         clean up headers.
11513
11514         * sysdep.c:
11515         clean up headers.
11516
11517         * sysdep.c (sys_fstat):
11518         * sysdep.c (sys_stat):
11519         call mswindows versions when appropriate.
11520
11521         * sysdep.h:
11522         move mswin decls to nt.h.
11523
11524         * syswindows.h:
11525         add long comment describing appropriate use of the various windows
11526         headers.
11527
11528 2000-06-11  Ben Wing  <ben@xemacs.org>
11529
11530         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11531
11532 2000-06-10  Ben Wing  <ben@xemacs.org>
11533
11534         * Makefile.in.in (release):
11535         Correction to make sure xemacs.exe always dumped when correct.
11536
11537         * alloca.c:
11538         * balloon_help.c:
11539         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11540
11541         * buffer.c (set_buffer_internal):
11542         [[[[2]]]]: Remove HAVE_FEP code.
11543
11544         * buffer.c (init_initial_directory):
11545         [3].
11546
11547         * bytecode.c:
11548         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11549         individual files.
11550
11551         * callproc.c:
11552         * callproc.c (call_process_cleanup):
11553         * callproc.c (Fold_call_process_internal):
11554         * callproc.c (child_setup):
11555         * callproc.c (getenv_internal):
11556         * callproc.c (init_callproc):
11557         * callproc.c (vars_of_callproc):
11558         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11559         __CYGWIN32__ -> CYGWIN.
11560         DOS_NT -> WIN32_NATIVE.
11561         Remove MSDOS support/references, converting to WIN32_NATIVE
11562           where correct.
11563         __MINGW32__ -> MINGW.
11564         Fix windows.h includes.
11565         Remove bogus HAVE_NTGUI.
11566
11567         * config.h.in:
11568         [2].
11569
11570         * console-msw.c:
11571         mswindows_message_outputted added for use in allowing startup
11572         errors on the console to be seen.
11573
11574         * console-msw.c (msw_ensure_console_allocated):
11575         * console-msw.c (msw_output_console_string):
11576         * console-msw.c (DHEADER):
11577         * console-msw.c (DOPAQUE_DATA):
11578         * console-msw.c (DEVENT):
11579         * console-msw.c (DCONS):
11580         * console-msw.c (DCONSCDR):
11581         * console-msw.c (DSTRING):
11582         * console-msw.c (DVECTOR):
11583         * console-msw.c (DSYMBOL):
11584         * console-msw.c (DSYMNAME):
11585         Fix warnings.
11586
11587         * console-stream.c (stream_init_console):
11588         Fix text/binary problems.
11589
11590         * device-msw.c:
11591         * device-msw.c (mswindows_finish_init_device):
11592         * device-msw.c (mswindows_delete_device):
11593         [1].
11594
11595         * device.c (handle_asynch_device_change):
11596         [3].
11597
11598         * dgif_lib.c:
11599         * dgif_lib.c (DGifOpenFileName):
11600         * dgif_lib.c (DGifOpenFileHandle):
11601         * dgif_lib.c (DGifGetLine):
11602         * dgif_lib.c (DGifGetPixel):
11603         Added config.h/lisp.h, fix up includes.
11604         [1].
11605
11606         * dired-msw.c:
11607         [4].
11608
11609         * dired.c:
11610         * dired.c (file_name_completion):
11611         * dired.c (Ffile_attributes):
11612         * dired.c (syms_of_dired):
11613         [1].
11614
11615         * dumper.c:
11616         * dumper.c (pdump_file_unmap):
11617         * dumper.c (pdump_load):
11618         [1].
11619
11620         * editfns.c:
11621         * editfns.c (Ftemp_directory):
11622         * editfns.c (user_login_name):
11623         * editfns.c (Fuser_real_login_name):
11624         * editfns.c (get_home_directory):
11625         [1].
11626
11627         * elhash.c (finish_marking_weak_hash_tables):
11628         [[[[5]]]]: Fix GCC warnings.
11629
11630         * emacs.c:
11631         * emacs.c (mswindows_handle_hardware_exceptions):
11632         * emacs.c (make_arg_list_1):
11633         * emacs.c (main_1):
11634         * emacs.c (Fkill_emacs):
11635         * emacs.c (Fdump_emacs):
11636         [1].
11637         Fix problems with nested crashes, add long comment.
11638
11639         * event-Xt.c (init_event_Xt_late):
11640         [1].
11641
11642         * event-msw.c:
11643         * event-msw.c (mswindows_dde_callback):
11644         * event-msw.c (mswindows_handle_sticky_modifiers):
11645         * event-msw.c (mswindows_wnd_proc):
11646         [1].
11647         [5].
11648
11649         * events.c (character_to_event):
11650         [1].
11651
11652         * fileio.c:
11653         * fileio.c (Ffile_name_directory):
11654         * fileio.c (Ffile_name_nondirectory):
11655         * fileio.c (directory_file_name):
11656         * fileio.c (Fexpand_file_name):
11657         * fileio.c (Fsubstitute_in_file_name):
11658         * fileio.c (Ffile_name_absolute_p):
11659         * fileio.c (check_executable):
11660         * fileio.c (Ffile_readable_p):
11661         * fileio.c (Ffile_accessible_directory_p):
11662         * fileio.c (Ffile_modes):
11663         * fileio.c (Funix_sync):
11664         * fileio.c (vars_of_fileio):
11665         [1]. [4].
11666
11667         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11668
11669         Expand getdefdir defn.
11670         Fix bogus rename() comment.
11671
11672         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11673         to use standard XEmacs include files, e.g. sysfile.h, rather
11674         than system-specific includes.
11675
11676         * fns.c:
11677         * fns.c (Fsubseq):
11678         [5]. [6].
11679
11680         * frame.c (vars_of_frame):
11681         [1].
11682
11683         * getloadavg.c:
11684         * getloadavg.c (getloadavg):
11685         [1]. [6].
11686         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11687         (We don't use it elsewhere in the code; just add a comment.)
11688
11689         * gif_io.c:
11690         [6].
11691         Add config.h.
11692
11693         * glyphs-msw.c:
11694         * glyphs-msw.c (mswindows_resource_instantiate):
11695         [1].
11696
11697         * glyphs-x.c (x_native_layout_instantiate):
11698         [5].
11699
11700         * gui-msw.c (Fmswindows_shell_execute):
11701         [1].
11702
11703         * insdel.c:
11704         [4].
11705
11706         * lisp.h:
11707         [4]. [5].
11708
11709         * lread.c (locate_file_in_directory_mapper):
11710         [1].
11711
11712         * lstream.c:
11713         [4].
11714
11715         * mem-limits.h:
11716         * mem-limits.h (get_lim_data):
11717         [1].
11718
11719         * menubar-msw.c:
11720         [4].
11721
11722         * ndir.h:
11723         [1].
11724
11725         * nt.c:
11726         * nt.c (getwd):
11727         * nt.c (closedir):
11728         * nt.c (rva_to_section):
11729         * nt.c (mswindows_executable_type):
11730         [1]. [6].
11731         Fix closedir() defn.
11732
11733         * nt.h:
11734         [[[[8]]]]: *_OK defs moved to sysfile.h.
11735
11736         * ntproc.c:
11737         [6]. [7].
11738
11739         * objects-x.c:
11740         [4].
11741
11742         * print.c:
11743         * print.c (std_handle_out_external):
11744         [1]. [4].
11745
11746         * process-nt.c:
11747         * process-nt.c (nt_create_process):
11748         [6].
11749         try to fix process quoting somewhat.
11750
11751         * process-unix.c (unix_create_process):
11752         [1].
11753
11754         * process.c:
11755         * process.c (vars_of_process):
11756         Add Vnull_device.
11757
11758         * process.h:
11759         [1].
11760
11761         * realpath.c:
11762         * realpath.c (xrealpath):
11763         [1].
11764
11765         * redisplay-tty.c (init_tty_for_redisplay):
11766         [3].
11767
11768         * redisplay.c:
11769         [4]. [6].
11770
11771         * scrollbar-msw.c:
11772         [4].
11773
11774         * sheap.c:
11775         * sheap.c (more_static_core):
11776         * sheap.c (report_sheap_usage):
11777         [5]. [6].
11778
11779         * signal.c:
11780         * signal.c (alarm_signal):
11781         [1]. [6].
11782
11783         * sound.c:
11784         [6].
11785
11786         * strftime.c:
11787         * strftime.c (zone_name):
11788         [1]. [5].
11789
11790         * symsinit.h (init_sunpro):
11791         [1].
11792
11793         * syscommctrl.h:
11794         commctrl.h not in Cygwin b20.1.
11795
11796         * sysdep.c:
11797         * sysdep.c (endif):
11798         * sysdep.c (sys_subshell):
11799         * sysdep.c (init_baud_rate):
11800         * sysdep.c (emacs_get_tty):
11801         * sysdep.c (emacs_set_tty):
11802         * sysdep.c (tty_init_sys_modes_on_device):
11803         * sysdep.c (init_system_name):
11804         * sysdep.c (sys_open):
11805         * sysdep.c (interruptible_open):
11806         * sysdep.c (sys_fopen):
11807         * sysdep.c (sys_mkdir):
11808         * sysdep.c (sys_rename):
11809         * sysdep.c (get_process_times_1):
11810         [1]. [6].
11811
11812         * sysdep.h:
11813         [1].
11814
11815         * sysdir.h:
11816         * sysdir.h (DIRENTRY_NONEMPTY):
11817         [1]. [6].
11818
11819         * sysdll.c (dll_init):
11820         * sysdll.h:
11821         [1].
11822
11823         * sysfile.h:
11824         [1]. [6]. [8].
11825         added text/binary defs.
11826
11827         * sysfloat.h:
11828         [1].
11829
11830         * sysproc.h:
11831         * sysproc.h (EDESTADDRREQ):
11832         * sysproc.h (poll_fds_for_input):
11833         [1]. [6].
11834
11835         * syspwd.h:
11836         [6].
11837
11838         * syssignal.h:
11839         [1].
11840
11841         * systime.h:
11842         [1]. [6].
11843
11844         * systty.h:
11845         [1].
11846
11847         * syswindows.h:
11848         [1].
11849         Always define WIN32_LEAN_AND_MEAN.
11850
11851         * unexcw.c (unexec):
11852         [5].
11853
11854         * unexec.c:
11855         * unexec.c (copy_text_and_data):
11856         * unexec.c (adjust_lnnoptrs):
11857         [1].
11858
11859         * unexnt.c:
11860         * unexnt.c (_start):
11861         [1].
11862
11863 2000-06-07  Ben Wing  <ben@xemacs.org>
11864
11865         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11866         was used only as a model.  We've long since extracted any useful
11867         logic or code out of this. (I just did an exhaustive search.)
11868
11869         * s\msdos.h: Removed.
11870
11871         * s\windows95.h: Removed.
11872
11873 2000-06-10  Ben Wing  <ben@xemacs.org>
11874
11875         * s\cygwin32.h:
11876         [1]. [5].
11877         Don't use extern with fun defs.
11878
11879         * s\mingw32.h:
11880         [1]. [7].
11881         Remove nt\inc include.
11882         Remove getdisk, getdefdir. (The former is unused, the latter
11883         expanded in fileio.h.)
11884
11885         * s\windowsnt.h:
11886         * s\windowsnt.h (WIN32_NATIVE):
11887         * s\windowsnt.h (HAVE_STRCASECMP):
11888         [1]. [7].
11889         Add long comment about preprocessor changes.
11890         Remove getdisk, getdefdir. (The former is unused, the latter
11891         expanded in fileio.h.)
11892
11893 2000-06-10  Ben Wing  <ben@xemacs.org>
11894
11895         * m\arm.h:
11896         * m\delta.h:
11897         * m\intel386.h:
11898         * m\sequent.h:
11899         * m\template.h:
11900         * m\windowsnt.h:
11901         [1].
11902         Remove bogus/unused NO_SOCK_SIGIO.
11903
11904 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11905
11906         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11907         not an Emchar.
11908
11909 2000-06-04  Mike Sperber <mike@xemacs.org>
11910
11911         * casetab.c (set_case_table): For `set-standard-case-table',
11912         actually deposit the new case tables where the rest of XEmacs can
11913         see them.
11914
11915 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11916
11917         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11918
11919 2000-06-05  Ben Wing  <ben@xemacs.org>
11920
11921         * callproc.c (child_setup): Don't do close_load_descs() under
11922         MS Windows.  Put in a comment explaining why.
11923
11924 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11925
11926         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11927         Toolkit shell" which breaks `kill-compilation' on Windows NT
11928         native, retaining STDERR handling improvements.
11929
11930 2000-06-01  Andreas Jaeger  <aj@suse.de>
11931
11932         * s/s390.h: Support for S390, based on a patch by Martin
11933         Schwidefsky <schwidefsky@de.ibm.com>.
11934
11935 2000-05-30  Andy Piper  <andy@xemacs.org>
11936
11937         * window.c (allocate_window):
11938         (make_dummy_parent):
11939         (Fset_window_configuration): use new hashtable type.
11940
11941         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11942         (struct image_instantiator_methods):
11943         (struct Lisp_Image_Instance): make instance geometry signed.
11944
11945         * glyphs.c (instantiate_image_instantiator):
11946         (image_instance_query_geometry):
11947         (image_instance_layout):
11948         (image_instance_layout):
11949         (query_string_geometry):
11950         (text_query_geometry):
11951         (image_instantiate):
11952         (image_instantiate):
11953         (cache_subwindow_instance_in_frame_maybe):
11954         (subwindow_query_geometry): make instance geometry signed.
11955
11956         * glyphs-widget.c (widget_query_geometry):
11957         (widget_layout):
11958         (button_query_geometry):
11959         (tree_view_query_geometry):
11960         (tab_control_query_geometry):
11961         (layout_query_geometry):
11962         (layout_layout):
11963         (native_layout_layout): make instance geometry signed.
11964
11965 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11966
11967         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11968         constant.
11969
11970         * general.c (syms_of_general): Add Qfull_assoc symbol.
11971
11972         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11973         correctly.
11974         (decode_weak_list_type): Decode full-assoc type.
11975         (encode_weak_list_type): Encode full-assoc type.
11976         (Fmake_weak_list): Update doc string.
11977
11978 2000-05-30  Andy Piper  <andy@xemacs.org>
11979
11980         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11981
11982         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11983         (decode_hash_table_weakness): ditto.
11984         (Fhash_table_weakness): ditto.
11985         (Fhash_table_type): ditto.
11986         (finish_marking_weak_hash_tables): ditto.
11987         (hash_table_weakness_validate): ditto.
11988         (syms_of_elhash): ditto.
11989
11990 2000-05-28  Martin Buchholz <martin@xemacs.org>
11991
11992         * XEmacs 21.2.34 is released.
11993
11994 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11995
11996         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11997         start cache.
11998         (updating_line_start_cache): Gone.
11999         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12000         generic code to force a minimum of 1 line laid out in the
12001         CMOTION_DISP case.
12002
12003 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12004
12005         * glyphs.c (instantiate_image_instantiator): Check for initialized
12006         height & width no longer special cases IMAGE_NOTHING.
12007         (nothing_instantiate): Set height and width of instance.
12008
12009 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12010
12011         * unexelf.c (unexec): Search for ".data" section.
12012         Initialize new_data2_offset from old_data_index.
12013         Remove redundant check for ElfW.
12014
12015 2000-05-23  Andy Piper  <andy@xemacs.org>
12016
12017         * glyphs.c (get_image_instantiator_governing_domain): allow more
12018         specific domains as the governing domain rather than expecting an
12019         exact match. This fixes problems with layouts.
12020
12021 2000-05-22  Andy Piper  <andy@xemacs.org>
12022
12023         * redisplay-output.c (compare_runes): check for non-images
12024
12025         * glyphs.c (set_glyph_dirty_p): ditto.
12026         (update_glyph_cachel_data): ditto.
12027
12028         * glyphs-widget.c (layout_post_instantiate): ditto.
12029         (layout_post_instantiate): ditto.
12030
12031         * event-msw.c (mswindows_wnd_proc): warning removal.
12032
12033 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12034
12035         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12036
12037         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12038
12039         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12040
12041         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12042         (mswindows_executable_type): mingw32 now has enough headers for
12043         this to work.
12044
12045 2000-05-20  Andy Piper  <andy@xemacs.org>
12046
12047         * console-msw.c (mswindows_output_last_error): ; -> ,
12048
12049 2000-05-12  Andy Piper  <andy@xemacs.org>
12050
12051         * console-msw.c (FROB): compare ints with ints.
12052
12053 2000-05-11  Andy Piper  <andy@xemacs.org>
12054
12055         * glyphs-x.c (x_finalize_image_instance): make minimal build
12056         happy.
12057
12058 2000-05-20  Ben Wing  <ben@xemacs.org>
12059
12060         * event-Xt.c:
12061         * event-Xt.c (vars_of_event_Xt):
12062         move modifier-keys-are-sticky to event-stream.c.
12063
12064         * event-msw.c:
12065         * event-msw.c (mswindows_enqueue_mouse_button_event):
12066         * event-msw.c (key_needs_default_processing_p):
12067         * event-msw.c (XEMSW_LCONTROL):
12068         * event-msw.c (mswindows_handle_sticky_modifiers):
12069         * event-msw.c (FROB):
12070         * event-msw.c (clear_sticky_modifiers):
12071         * event-msw.c (output_modifier_keyboard_state):
12072         * event-msw.c (output_alt_keyboard_state):
12073         * event-msw.c (mswindows_wnd_proc):
12074         * event-msw.c (mswindows_modifier_state):
12075         * event-msw.c (emacs_mswindows_handle_magic_event):
12076         implement sticky modifiers.
12077
12078         * event-stream.c:
12079         * event-stream.c (vars_of_event_stream):
12080         move modifier-keys-are-sticky here.
12081
12082         * lisp.h:
12083         add CHECK_FUNCTION.
12084
12085         * rangetab.c:
12086         implement map-range-table.
12087
12088
12089 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12090
12091         * redisplay-tty.c (reset_tty_modes):
12092         (tty_redisplay_shutdown): Adjust argument type to
12093         tty_frame_output_end.
12094
12095 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12096
12097         * eval.c (Fbacktrace): Don't output a line with only right
12098         parenthesis.
12099
12100 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12101
12102         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12103         (Fpq_reset_poll): Ditto.
12104
12105 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12106
12107         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12108
12109 2000-05-16  Ben Wing  <ben@xemacs.org>
12110
12111         * buffer.c:
12112         * buffer.c (dfc_convert_to/from_internal_format):
12113         * buffer.c (reinit_vars_of_buffer):
12114         Fix conversion functions to allow reentrancy.
12115
12116         * console-msw.c:
12117         * console-msw.c (mswindows_output_last_error):
12118         New fun, generally useful -- output a human-readable
12119         version of GetLastError() on the console.
12120
12121         * console-msw.h:
12122         * console-msw.h (struct mswindows_frame):
12123         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12124
12125         * console-stream.c (stream_output_begin):
12126         * console-stream.c (stream_output_end):
12127         * console-stream.c (stream_output_vertical_divider):
12128         * console-stream.c (stream_clear_region):
12129         * console-stream.c (stream_flash):
12130         * console-stream.c (console_type_create_stream):
12131         Delete blank stream methods, not needed.
12132
12133         * console.h (struct console_methods):
12134         Split begin/end methods into window and frame.
12135
12136         * event-msw.c:
12137         * event-msw.c (mswindows_handle_paint):
12138         * event-msw.c (output_alt_keyboard_state):
12139         * event-msw.c (mswindows_wnd_proc):
12140         * event-msw.c (vars_of_event_mswindows):
12141         Comment about problems with ignored-expose.
12142         Define mswindows-debug-events; not really implemented.
12143
12144         * frame-msw.c (mswindows_init_frame_1):
12145         random cleanups.
12146
12147         * glyphs-msw.c:
12148         * glyphs-msw.c (begin_defer_window_pos):
12149         * glyphs-msw.c (mswindows_unmap_subwindow):
12150         * glyphs-msw.c (mswindows_map_subwindow):
12151         * glyphs-msw.c (mswindows_resize_subwindow):
12152         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12153
12154         * glyphs.c (make_image_instance_1):
12155         Fix crash.
12156
12157         * gutter.c (Fredisplay_gutter_area):
12158         Use new begin/end methods.
12159
12160         * lisp.h (Dynarr_new2):
12161         New creation fun.
12162
12163         * redisplay-msw.c:
12164         * redisplay-msw.c (mswindows_frame_output_begin):
12165         * redisplay-msw.c (mswindows_frame_output_end):
12166         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12167         New begin/end methods -- handle DeferWindowPos.
12168
12169         * redisplay-output.c (redisplay_move_cursor):
12170         * redisplay-output.c (redraw_cursor_in_window):
12171         * redisplay-output.c (redisplay_update_line):
12172         * redisplay-output.c (redisplay_output_window):
12173         New begin/end methods.
12174
12175         * redisplay-tty.c:
12176         * redisplay-tty.c (tty_frame_output_begin):
12177         * redisplay-tty.c (tty_frame_output_end):
12178         * redisplay-tty.c (console_type_create_redisplay_tty):
12179         New begin/end methods.
12180
12181         * redisplay-x.c:
12182         * redisplay-x.c (x_window_output_begin):
12183         * redisplay-x.c (x_window_output_end):
12184         * redisplay-x.c (console_type_create_redisplay_x):
12185         New begin/end methods.
12186
12187         * redisplay.c (redisplay_frame):
12188         * redisplay.c (Fredisplay_echo_area):
12189         New begin/end methods.
12190         use MAYBE_DEVMETH for clear_frame; it may not exist.
12191
12192         * window.h (WINDOW_XFRAME):
12193         WINDOW_XFOO macros -- get locale and decode struct pointer.
12194
12195
12196 2000-05-12  Ben Wing  <ben@xemacs.org>
12197
12198         * emacs.c:
12199         * emacs.c (ensure_no_quitting_from_now_on):
12200         * emacs.c (fatal_error_signal):
12201         * emacs.c (mswindows_handle_hardware_exceptions):
12202         * emacs.c (main):
12203         * emacs.c (Fkill_emacs):
12204         * emacs.c (shut_down_emacs):
12205         * emacs.c (assert_failed):
12206         various improvements in fatal error handling.
12207
12208         * eval.c:
12209         move preparing_for_armageddon to emacs.c.
12210
12211         * lisp.h:
12212         declare fatal_error_in_progress.
12213
12214         * print.c:
12215         * print.c (std_handle_out_external):
12216         * print.c (std_handle_out_va):
12217         * print.c (stderr_out):
12218         * print.c (stdout_out):
12219         use console under mswin when no standard output.
12220         don't do code conversion during fatal error.
12221
12222         * scrollbar.c (Fscrollbar_page_up):
12223         * scrollbar.c (Fscrollbar_page_down):
12224         fix missing else.  reindent.
12225
12226 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12227
12228         Emergency fix.
12229
12230         * glyphs.h (GLYPH_CACHEL_DESCENT):
12231         (GLYPH_CACHEL_DESCENT):
12232         (GLYPH_CACHEL_DESCENT):
12233         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12234         used in case these are inline functions.
12235         Use more absurd values to error check.
12236
12237         include window.h for error check functions.
12238
12239 2000-05-11  Ben Wing  <ben@xemacs.org>
12240
12241         * cmdloop.c (Freally_early_error_handler):
12242         Display message box under windows; otherwise, message will disappear
12243         before it can be viewed.
12244
12245         * console-msw.c:
12246         * console-msw.c (Fmswindows_message_box):
12247         * console-msw.c (FROB):
12248         * console-msw.c (syms_of_console_mswindows):
12249         Define new fun `mswindows-message-box'.
12250         #### I will merge this into `popup-dialog-box'; just give me
12251         a bit of time.
12252
12253         * general.c:
12254         * general.c (syms_of_general):
12255         Some new symbols used in `mswindows-message-box'.
12256
12257         * glyphs.c:
12258         * glyphs.c (Fset_image_instance_property):
12259         put warning in this fun.
12260
12261         * glyphs.h:
12262         * glyphs.h (GLYPH_CACHEL_WIDTH):
12263         * glyphs.h (GLYPH_CACHEL_ASCENT):
12264         * glyphs.h (GLYPH_CACHEL):
12265         * glyphs.h (GLYPH_CACHEL_GLYPH):
12266         define error-checking versions to try to catch a bug i've seen --
12267         redisplay gets in an infinite loop because the glyph width of the
12268         continuation glyph is 65535.
12269
12270         * lisp.h:
12271         Extern message-box stuff.
12272
12273         * window.c (allocate_window):
12274         * window.c (make_dummy_parent):
12275         * window.c (Fset_window_configuration):
12276         Use EQUAL not EQ for subwindow caches to make them work a bit
12277         better. (Something is still very broken.)
12278
12279
12280 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12281
12282         * glyphs.c (image_instantiate): Suppress gcc warnings.
12283         (Fmake_image_instance): Fix doc string.
12284         * specifier.c (Fmake_specifier): Ditto.
12285
12286 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12287
12288         * paths.h.in (PATH_LOCK): Removed.
12289         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12290         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12291
12292 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12293
12294         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12295         Document (featurep '(and xemacs 21.02)).
12296
12297 2000-05-09  Ben Wing  <ben@xemacs.org>
12298
12299         * buffer.c (complex_vars_of_buffer):
12300         update modeline-format doc.
12301
12302         * device.h:
12303         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12304
12305         * emacs.c:
12306         timeline of all released versions of Emacs, for use in creating
12307         authorship comments and in synching up.
12308
12309         * glyphs-widget.c (image_instantiator_buttons):
12310         * glyphs-widget.c (image_instantiator_edit_fields):
12311         * glyphs-widget.c (image_instantiator_combo_box):
12312         * glyphs-widget.c (image_instantiator_scrollbar):
12313         * glyphs-widget.c (image_instantiator_progress_guage):
12314         * glyphs-widget.c (image_instantiator_tree_view):
12315         * glyphs-widget.c (image_instantiator_tab_control):
12316         * glyphs-widget.c (image_instantiator_labels):
12317         * glyphs-widget.c (image_instantiator_layout):
12318         * glyphs-widget.c (image_instantiator_native_layout):
12319         rename decode_domain method to governing_domain.
12320
12321         * glyphs.c:
12322         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12323         * glyphs.c (add_entry_to_device_ii_format_list):
12324         make sure we don't put an entry more than once into the list.
12325         * glyphs.c (check_instance_cache_mapper):
12326         *************************************************************
12327         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12328         HAVE BEEN GETTING.
12329         *************************************************************
12330         * glyphs.c (get_image_instantiator_governing_domain):
12331         clean up, expand on new concept of governing domain.
12332         * glyphs.c (instantiate_image_instantiator):
12333         * glyphs.c (allocate_image_instance):
12334         use governing_domain instead of cache_domain in naming.
12335         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12336         * glyphs.c (make_image_instance_1):
12337         * glyphs.c (Fmake_image_instance):
12338         allow for any domain (not just device), and process the
12339         governing domain correctly.  very big doc fix.
12340         * glyphs.c (Fimage_instance_domain):
12341         new primitive, to retrieve the governing domain of an image instance.
12342         * glyphs.c (image_instantiate):
12343         use new governing_domain stuff.  this fixes a crash you could get
12344         by instantiating certain widget glyphs in frame locales. (should
12345         signal an error instead of crashing.)
12346         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12347         * glyphs.c (Fglyphp): clean up doc.
12348         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12349         * glyphs.c (syms_of_glyphs):
12350         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12351         * glyphs.c (image_instantiator_format_create): add some comments about
12352         bogus code.
12353         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12354         for current-display-table. (Apparently Hrjove implemented in 1998 a
12355         design I wrote up in 1996, but didn't update the doc string.)
12356
12357         * glyphs.h: clean up a doc string.
12358         * glyphs.h (governing_domain):
12359         * glyphs.h (struct image_instantiator_methods):
12360         changes for governing_domain stuff.
12361
12362         * gutter.c:
12363         * gutter.c (Fgutter_specifier_p):
12364         * gutter.c (Fgutter_size_specifier_p):
12365         * gutter.c (Fgutter_visible_specifier_p):
12366         * objects.c:
12367         * objects.c (Fcolor_specifier_p):
12368         * objects.c (Ffont_specifier_p):
12369         * objects.c (Fface_boolean_specifier_p):
12370         doc strings moved to make-*-specifier.
12371
12372         * redisplay.c (add_disp_table_entry_runes_1):
12373         * redisplay.c (generate_fstring_runes):
12374         * redisplay.c (screen):
12375         add random comments and doc strings.
12376
12377         * specifier.c:
12378         * specifier.c (Fmake_specifier):
12379         major overhaul of this doc string.
12380
12381         * specifier.c (Fvalid_specifier_domain_p):
12382         comment about the bogosity of image instances being domains.
12383         * specifier.c (decode_domain):
12384         now non-static, used in glyphs.c.
12385         * specifier.c (specifier_instance):
12386         comment about the bogosity of image instances being domains.
12387         * specifier.c (Fgeneric_specifier_p):
12388         move doc string to make-generic-specifier.
12389         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12390         rebackslashify.
12391
12392         * specifier.h:
12393         * specifier.h (DOMAIN_FRAME):
12394         * specifier.h (DOMAIN_LIVE_P):
12395         * specifier.h (DOMAIN_XDEVICE):
12396         rebackslashify.
12397         add comments about problems with these macros.
12398         prototype for decode_domain.
12399
12400         * toolbar.c:
12401         * toolbar.c (Ftoolbar_specifier_p):
12402         move doc string to `make-toolbar-specifier'.
12403
12404         * window.c (window_unmap_subwindows_cache_mapper):
12405         *************************************************************
12406         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12407         HAVE BEEN GETTING.
12408         *************************************************************
12409
12410 2000-05-09  Andy Piper  <andy@xemacs.org>
12411
12412         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12413
12414         * window.c (Fset_window_configuration): reset the frame subwindow
12415         cache and re-initialize the window subwindow caches.
12416
12417         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12418
12419 2000-05-09  Ben Wing  <ben@xemacs.org>
12420
12421         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12422         DWORD.
12423
12424 2000-04-26  Mike Woolley  <mike@bulsara.com>
12425
12426         * ntheap.c: Changed recreate_heap to limit the amount reserved
12427         for the heap to that which is actually available. Also now
12428         displays a message box (with some dignostics) in the event that
12429         it still can't start.
12430
12431 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12432
12433         * callproc.c (Fold_call_process_internal): GCPRO path
12434
12435 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12436
12437         Patch by Bill Perry.
12438
12439         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12440         back data instead of #ifdef.
12441         (Fscrollbar_page_down): ditto.
12442
12443 2000-05-07  Ben Wing  <ben@xemacs.org>
12444
12445         * buffer.h:
12446         Kludge for defining Qmswindows_tstr.
12447
12448         * nt.c:
12449         * nt.c (open_input_file):
12450         * nt.c (open_output_file):
12451         * nt.c (rva_to_section):
12452         * nt.c (mswindows_executable_type):
12453         Move all memory-mapped-file routines here (some were in unexnt.c,
12454         which is bad because they are used by process-nt.c, and unexnt
12455         won't be around when portable dumping).  Synched the above routines
12456         with FSF 20.6.
12457
12458         * nt.h:
12459         Removed ifdef'd out bogus code.
12460         Fixed some prototypes.
12461
12462         * nt.h (file_data):
12463         * nt.h (OFFSET_TO_RVA):
12464         * nt.h (RVA_TO_OFFSET):
12465         * nt.h (RVA_TO_PTR):
12466         Moved the memory-mapped-file structures, macros and prototypes
12467         here, to parallel nt.c.  ntheap.h should really be removed
12468         entirely, and it's a non-portable-dumper specific file.
12469
12470         * ntheap.h (round_to_next):
12471         Moved the memory-mapped-file structures, macros and prototypes
12472         to nt.h.
12473
12474         * ntproc.c (compare_env):
12475         Moved rva_to_section and mswindows_executable_type to nt.c.
12476         Moved compare_env to process-nt.c.
12477         ntproc.c will die, one day.
12478
12479         * ntproc.c (sys_spawnve):
12480         Account for win32_ -> mswindows_.
12481
12482         * process-nt.c:
12483         * process-nt.c (struct nt_process_data):
12484         * process-nt.c (ensure_console_window_exists):
12485         * process-nt.c (compare_env):
12486         * process-nt.c (nt_create_process):
12487         * process-nt.c (nt_kill_process_by_pid):
12488         * process-nt.c (syms_of_process_nt):
12489         * process-nt.c (vars_of_process_nt):
12490         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12491         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12492         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12493         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12494         Move compare_env here from ntproc.c.
12495
12496         * process.c (Fprocess_send_region):
12497         Takes an optional fourth argument, BUFFER, which should fix some
12498         problems with call-process.
12499
12500         * syscommctrl.h:
12501         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12502
12503         * syswindows.h:
12504         Move ICC_BAR_CLASSES to syscommctrl.h.
12505         Add preliminary macros for MSWindows/Mule.  More to come.
12506
12507         * unexnt.c:
12508         * unexnt.c (unexec):
12509         open_output_file moved to nt.c.
12510
12511
12512 2000-05-05  Andy Piper  <andy@xemacs.org>
12513
12514         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12515         instance from the frame cache also since GC may catch up too late
12516         to make frame deletion sane.
12517
12518 2000-05-04  Andy Piper  <andy@xemacs.org>
12519
12520         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12521         (x_finalize_image_instance): ungcpro on deletion.
12522
12523         * glyphs.c (image_instantiator_format_create): give pointers a
12524         query geometry method so that the geometry is at least set.
12525
12526         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12527         initialize layouts if using widgets.
12528
12529 2000-05-03  Andy Piper  <andy@xemacs.org>
12530
12531         * nt.c: remove bogus reference to sysmmsystem.h
12532
12533         * gui-x.c (popup_selection_callback): fix no selection abort.
12534
12535 2000-05-02  Andy Piper  <andy@xemacs.org>
12536
12537         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12538         (mswindows_widget_instantiate): ditto.
12539
12540         * glyphs-widget.c (initialize_widget_image_instance): initialize
12541         children correctly.
12542         (widget_instantiate): cope with children and items in the same
12543         instance.
12544
12545         * glyphs.c (mark_image_instance): cope with children as a first
12546         class member.
12547         (image_instance_equal): ditto.
12548         (image_instance_hash): ditto.
12549         (image_instance_changed): ditto.
12550
12551 2000-04-30  Andy Piper  <andy@xemacs.org>
12552
12553         * glyphs.c (subwindow_query_geometry): new function. Return some
12554         defaults.
12555         (subwindow_instantiate): don't assign dimensions if none have been
12556         given.
12557         (image_instantiator_format_create): add subwindow_query_geometry.
12558         (print_image_instance): cope with layouts as widgets.
12559
12560 2000-04-29  Andy Piper  <andy@xemacs.org>
12561
12562         * frame.c (delete_frame_internal): call
12563         free_frame_subwindow_instance_cache so that all subwindows are
12564         finalized before their parent.
12565         (mark_frame): remove subwindow_cachels.
12566         (Fmake_frame): remove subwindow_cachel manipulation.
12567         (allocate_frame_core): subwindow_instance_cache is a weak list.
12568         (delete_frame_internal): set subwindow_instance_cache to nil.
12569
12570         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12571         finalization safe.
12572         (mswindows_finalize_image_instance): use the device
12573         not the domain as the domain may have died already.
12574
12575         * glyphs-x.c (x_finalize_image_instance): ditto.
12576         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12577         HEIGHT.
12578
12579         * redisplay-output.c (redisplay_unmap_subwindows): update for
12580         subwindow instance cache as a weak list.
12581         (redisplay_unmap_subwindows_maybe): ditto.
12582         (redisplay_unmap_subwindows_except_us): ditto.
12583
12584         * glyphs.c (unmap_subwindow): error checking will check the domain
12585         so don't deal with it here. Don't use cachels anymore.
12586         (map_subwindow): ditto.
12587         (update_subwindow_cachel_data): remove old accessor names.
12588         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12589         (Fresize_subwindow): don't update cachel.
12590         (mark_subwindow_cachels):
12591         (update_subwindow_cachel_data):
12592         (add_subwindow_cachel):
12593         (get_subwindow_cachel_index):
12594         (update_subwindow_cachel):
12595         (reset_subwindow_cachels):
12596         (mark_subwindow_cachels_as_not_updated): deleted.
12597         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12598         subwindow instance to the frame cache.
12599         (find_matching_subwindow): update for subwindow instance cache as
12600         a weak list.
12601         (update_widget_instances): ditto.
12602         (image_instance_type_to_mask):inlined.
12603         (free_frame_subwindow_instance_cache): new function. finalize all
12604         subwindows that are instantiated.
12605
12606         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12607         of cachel information.
12608         (IMAGE_INSTANCE_DISPLAY_X):
12609         (IMAGE_INSTANCE_DISPLAY_Y):
12610         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12611         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12612         (XIMAGE_INSTANCE_DISPLAY_X):
12613         (XIMAGE_INSTANCE_DISPLAY_Y):
12614         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12615         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12616         remove subwindow_cachel structure and function references.
12617         (image_instance_type_to_mask): inline from glyphs.c
12618
12619         * redisplay.c (redisplay_frame): remove subwindow_cachel
12620         references.
12621
12622         * frame.h (struct frame): remove subwindow_cachels.
12623         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12624
12625         * frameslots.h: add subwindow_instance_cache.
12626
12627         * window.c (replace_window): check subwindow cache of replacement.
12628         (window_unmap_subwindows_cache_mapper):
12629         (window_unmap_subwindows): new functions. Unmap all subwindows
12630         cached on this window.
12631         (mark_window_as_deleted): unmap all subwindows.
12632
12633 2000-04-27  Andy Piper  <andy@xemacs.org>
12634
12635         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12636
12637         * glyphs-widget.c (widget_layout): return something.
12638         (layout_layout): return something. Fail if not initialized.
12639         (layout_query_geometry): ditto.
12640         (image_instantiator_native_layout): new function. Initialized the
12641         native layout type.
12642         (widget_instantiate): don't do layout stuff here.
12643
12644         * glyphs.c (instantiate_image_instantiator): reorded calling or
12645         instantiate and post_instantiate with layout in between.
12646         (image_instance_layout): be more selective about deciding whether
12647         the layout has been done or not.
12648
12649         * glyphs.h (struct image_instantiator_methods): return a value
12650         from layout_method.
12651
12652 2000-04-26  Andy Piper  <andy@xemacs.org>
12653
12654         * glyphs.c (allocate_image_instance): make initial width and
12655         height unspecified. Set initialized to 0.
12656
12657         * syscommctrl.h new file. Encapsulates commctrl.h.
12658
12659         * syswindows.h new file. Encapsulates windows.h.
12660
12661         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12662         * nt.c: ditto.
12663         * console-msw.h: ditto.
12664
12665         * redisplay-tty.c (tty_output_display_block): remove layout references.
12666
12667         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12668         window handle rather than just the frame.
12669
12670         * glyphs.c (mark_image_instance): remove layout references.
12671         (print_image_instance): ditto.
12672         (image_instance_equal): ditto.
12673         (image_instance_hash): ditto.
12674         (decode_image_instance_type): ditto.
12675         (encode_image_instance_type): ditto.
12676         (image_instantiate): ditto.
12677         (allocate_glyph): ditto.
12678         (Fimage_instance_height): ditto.
12679         (Fimage_instance_width): ditto.
12680         (update_subwindow): ditto.
12681
12682         * redisplay-x.c (x_output_display_block): recode for layouts as
12683         widgets.
12684
12685         * redisplay-output.c (redisplay_output_layout): recode for layouts
12686         as widgets.
12687         (compare_runes): remove layout references.
12688
12689         * redisplay-msw.c (mswindows_output_display_block): recode for
12690         layouts as widgets.
12691
12692         * glyphs-widget.c (image_instantiator_layout): remove
12693         layout_possible_dest_types.
12694         (layout_possible_dest_types): deleted.
12695
12696         * glyphs.h (image_instance_type): remove layout references.
12697         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12698         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12699         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12700
12701 2000-04-25  Andy Piper  <andy@xemacs.org>
12702
12703         * glyphs-widget.c (image_instantiator_buttons):
12704         (image_instantiator_edit_fields):
12705         (image_instantiator_combo_box):
12706         (image_instantiator_scrollbar):
12707         (image_instantiator_progress_guage):
12708         (image_instantiator_tree_view):
12709         (image_instantiator_tab_control):
12710         (image_instantiator_labels):
12711         (image_instantiator_layout): call default post_instantiate method.
12712         (widget_post_instantiate): new function. Simply lays out the
12713         widgets.
12714
12715         * glyphs.h (struct image_instantiator_methods): add
12716         post_instantiate method.
12717
12718         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12719         method calls.
12720
12721 2000-04-23  Andy Piper  <andy@xemacs.org>
12722
12723         * glyphs.h (struct image_instantiator_methods): add
12724         decode_domain_method.
12725         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12726         derived from the domain.
12727         (IMAGE_INSTANCE_FRAME): new accessor.
12728         (XIMAGE_INSTANCE_FRAME): ditto.
12729
12730         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12731         instead of _SUBWINDOW_FRAME.
12732         (finalize_image_instance): ditto.
12733         (Fimage_instance_foreground): ditto.
12734         (Fimage_instance_background): ditto.
12735         (image_instantiate): ditto.
12736         (update_subwindow_cachel): ditto.
12737         (update_subwindow): ditto.
12738         (unmap_subwindow): ditto.
12739         (map_subwindow): ditto
12740         (subwindow_instantiate): ditto.
12741         * glyphs-msw.c (mswindows_update_widget): ditto.
12742         (mswindows_progress_gauge_instantiate): ditto.
12743         (mswindows_tab_control_update): ditto.
12744         * glyphs-x.c (x_update_widget): ditto.
12745         (x_widget_instantiate): ditto.
12746         (x_tab_control_instantiate): ditto.
12747         (x_tab_control_update): ditto.
12748         * event-msw.c (mswindows_wnd_proc): ditto
12749
12750         * glyphs-widget.c (image_instantiator_layout): use
12751         subwindow_decode_domain.
12752         (image_instantiator_buttons): ditto.
12753         (image_instantiator_edit_fields): ditto.
12754         (image_instantiator_combo_box): ditto.
12755         (image_instantiator_scrollbar): ditto.
12756         (image_instantiator_progress_guage): ditto.
12757         (image_instantiator_tree_view): ditto.
12758         (image_instantiator_tab_control): ditto.
12759         (image_instantiator_labels): ditto.
12760         (image_instantiator_layout): ditto.
12761
12762         * glyphs.c: add instance error checking to many functions.
12763         (instantiate_image_instantiator): decode device from cache_domain.
12764         (image_instantiate): partially rewrite by using
12765         decode_image_instantiator_domain to determine what domain the
12766         instance needs to be cached in.
12767         (decode_image_instantiator_domain): new function. Determine what
12768         domain the image needs to be cached in.
12769         (check_window_subwindow_cache): new error checking function.
12770         (check_instance_cache_mapper): ditto.
12771         (check_image_instance_structure): ditto.
12772         (subwindow_decode_domain): new function. Encodes a window as a
12773         subwindow's cache domain.
12774         (image_instantiator_format_create): use it for text and
12775         subwindows.
12776
12777 2000-04-21  Andy Piper  <andy@xemacs.org>
12778
12779         * glyphs.c (image_instance_device): new function.
12780         (image_instance_frame): new function.
12781         (image_instance_window): new function.
12782         (image_instance_live_p): new function.
12783
12784         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12785         cache to nil.
12786
12787         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12788         (IMAGE_INSTANCE_DOMAIN): new accessor.
12789         (XIMAGE_INSTANCE_DOMAIN): ditto.
12790
12791         * glyphs-x.c (x_finalize_image_instance): device->domain.
12792
12793         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12794         (mswindows_finalize_image_instance): ditto.
12795
12796         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12797         (gif_instantiate): ditto.
12798         (png_instantiate): ditto.
12799         (tiff_instantiate): ditto.
12800
12801         * glyphs.c (instantiate_image_instantiator): use domain rather
12802         than device.
12803         (mark_image_instance): device -> domain.
12804         (print_image_instance): ditto.
12805         (finalize_image_instance): ditto.
12806         (image_instance_equal): ditto.
12807         (allocate_image_instance): ditto.
12808         (Fcolorize_image_instance): ditto.
12809         (query_string_geometry): ditto.
12810         (image_instantiate): ditto
12811         (query_string_font): ditto.
12812         (image_instantiate): ditto.
12813         (update_subwindow): ditto.
12814         (unmap_subwindow): ditto.
12815         (map_subwindow): ditto.
12816         (subwindow_instantiate): ditto.
12817
12818         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12819         (DOMAIN_FRAME): ditto.
12820         (DOMAIN_WINDOW): ditto.
12821         (DOMAIN_LIVE_P): ditto.
12822         (XDOMAIN_DEVICE): ditto.
12823         (XDOMAIN_FRAME): ditto.
12824         (XDOMAIN_WINDOW): ditto.
12825
12826         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12827         a valid specifier domain.
12828
12829 2000-04-19  Andy Piper  <andy@xemacs.org>
12830
12831         * glyphs-widget.c (syms_of_glyphs_widget): remove
12832         widget-callback-current-channel.
12833         (vars_of_glyphs_widget): ditto.
12834         * glyphs.h: ditto
12835
12836         * gui.c (get_gui_callback): revert to previous behaviour.
12837
12838 2000-04-18  Andy Piper  <andy@xemacs.org>
12839
12840         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12841         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12842         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12843
12844         * glyphs.c (image_instance_equal): add margin_width.
12845         (image_instance_hash): ditto.
12846
12847         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12848         (layout_query_geometry): ditto.
12849         (layout_layout): ditto.
12850         (syms_of_glyphs_widget): add margin-width.
12851         (image_instantiator_layout): allow margin-width.
12852
12853         * glyphs.c (update_widget_instances): make a normal function.
12854         (syms_of_glyphs): remove Qupdate_widget_instances.
12855         * glyphs.h: ditto.
12856
12857         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12858         so that we don't corrupt ideas about the last event or
12859         command. Remove widget-callback-current-channel fiddling.
12860         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12861
12862 2000-05-01  Martin Buchholz <martin@xemacs.org>
12863
12864         * XEmacs 21.2.33 is released.
12865
12866 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12867
12868         * make-src-depend: Allow dots in header file name.
12869
12870 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12871
12872         * mule-charset.h (struct charset_lookup): Add
12873         next_allocated_1_byte_leading_byte and
12874         next_allocated_2_byte_leading_byte.
12875         * mule-charset.c: Move above two variables so that those values
12876         will be dumped.
12877
12878 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12879
12880         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12881         when string length is zero.
12882         (find_charsets_in_emchar_string): Ditto.
12883
12884 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12885
12886         * lisp.h: extern Qdialog and Qmenubar.
12887
12888         * gui-x.c: added events.h.
12889                 also fixed typo which made the file uncompilable.
12890
12891         * general.c: Added Qmenubar and Qdialog
12892
12893 2000-04-28  Ben Wing  <ben@xemacs.org>
12894
12895         * frame-msw.c (mswindows_init_frame_1):
12896         * frame-msw.c (mswindows_mark_frame):
12897         * event-msw.c (mswindows_enqueue_dispatch_event):
12898         * console-msw.h:
12899         * console-msw.h (struct mswindows_frame):
12900         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12901         there are now three hash tables for callbacks.
12902         mswindows_enqueue_dispatch_event is no longer static.
12903
12904         * dialog-x.c (maybe_run_dbox_text_callback):
12905         * dialog-x.c (dbox_descriptor_to_widget_value):
12906         switch to new cons3 form for callbacks.
12907
12908         * glyphs-msw.c (mswindows_register_gui_item):
12909         * glyphs-msw.c (mswindows_widget_instantiate):
12910         * glyphs-msw.c (add_tree_item):
12911         * glyphs-msw.c (add_tab_item):
12912         new image instance parameter, so it can be passed to callback-ex.
12913         respect :callback-ex as well as :callback.
12914
12915         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12916         add :callback-ex.
12917
12918         * glyphs.c (print_image_instance):
12919         prettify, e.g. now prints widget type.
12920
12921         * gui-x.h:
12922         certain funs have new image instance parameter.
12923
12924         * gui.c:
12925         * gui.c (get_gui_callback):
12926         * gui.c (gui_item_add_keyval_pair):
12927         * gui.c (gui_item_init):
12928         * gui.c (gui_add_item_keywords_to_plist):
12929         * gui.c (mark_gui_item):
12930         * gui.c (gui_item_hash):
12931         * gui.c (gui_item_equal):
12932         * gui.c (copy_gui_item):
12933         * gui.c (syms_of_gui):
12934         recognize callback-ex in a number of places.
12935         also, fix the annoying "can't get out of yes-no dialog" bug.
12936
12937         * gui.h:
12938         * gui.h (struct Lisp_Gui_Item):
12939         recognize callback-ex in a number of places.
12940
12941         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12942         new parameter in button_item_to_widget_value.
12943
12944         * glyphs-x.c (x_update_widget):
12945         * glyphs-x.c (x_button_instantiate):
12946         * glyphs-x.c (x_button_update):
12947         * glyphs-x.c (x_progress_gauge_instantiate):
12948         * glyphs-x.c (x_edit_field_instantiate):
12949         * glyphs-x.c (x_combo_box_instantiate):
12950         * glyphs-x.c (x_tab_control_instantiate):
12951         * glyphs-x.c (x_label_instantiate):
12952         new image instance parameter in various places.
12953
12954         * event-Xt.c:
12955         * event-Xt.c (enqueue_Xt_dispatch_event):
12956         this fun gets exported.
12957
12958         * gui-msw.c:
12959         * gui-msw.c (mswindows_handle_gui_wm_command):
12960         handle both :callback and :callback-ex, and generate our own
12961         event because it's one of the callback-ex arguments.
12962
12963         * gui-x.c:
12964         * gui-x.c (popup_selection_callback):
12965         handle both :callback and :callback-ex, and generate our own
12966         event because it's one of the callback-ex arguments.
12967         * gui-x.c (button_item_to_widget_value):
12968         * gui-x.c (gui_items_to_widget_values_1):
12969         * gui-x.c (gui_item_children_to_widget_values):
12970         * gui-x.c (gui_items_to_widget_values):
12971         new image instance parameter in various places.
12972
12973         * fns.c (Freplace_list):
12974         fix small typo in doc string.
12975
12976         * lisp.h:
12977         declare enqueue_Xt_dispatch_event.
12978
12979 2000-04-28  Ben Wing  <ben@xemacs.org>
12980
12981         * buffer.c:
12982         * buffer.c (Frecord_buffer):
12983         * buffer.c (syms_of_buffer):
12984         delete record-buffer-hook.
12985
12986         * fns.c:
12987         * fns.c (Freplace_list):
12988         * fns.c (syms_of_fns):
12989         new primitive replace-list.
12990
12991         * frameslots.h:
12992         slot for old buffer-alist.
12993
12994         * lisp.h:
12995         exfun replace-list.
12996
12997         * redisplay.c:
12998         * redisplay.c (redisplay_frame):
12999         * redisplay.c (syms_of_redisplay):
13000         * redisplay.c (vars_of_redisplay):
13001         new hook buffer-list-changed-hook.
13002         call it.
13003
13004 2000-04-27  Ben Wing  <ben@xemacs.org>
13005
13006         * extents.h: extern in_modeline_generation.
13007
13008         * redisplay.c (generate_formatted_string_db): set
13009         in_modeline_generation.
13010
13011         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13012         flags if in modeline generation.  otherwise frame-modified-tick
13013         is ticked far too often.
13014         Declare in_modeline_generation.
13015
13016 2000-04-26  Ben Wing  <ben@xemacs.org>
13017
13018         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13019         option.
13020         (vars_of_emacs): add quick-build as an error-checking option.
13021         A bit kludgy, but there doesn't seem much point in creating
13022         a real var for this.
13023
13024         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13025
13026 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13027
13028         * redisplay.h (struct display_line): Add a new variable,
13029         line_continuation.
13030
13031         * redisplay.c (create_text_block): Set dl->line_continuation if
13032         the line continues.
13033         (create_string_text_block): Ditto.
13034         (regenerate_window_incrementally): Use line_continuation instead
13035         of searching continuation glyph.
13036         (add_margin_runes): Call add_glyph_rune.
13037         (add_glyph_rune): Handle margin glyph.
13038
13039 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13040
13041         * filelock.c (fill_in_lock_file_name):
13042         ANSIfy.
13043         Check for IS_ANY_SEP instead of '/'.
13044         (lock_file_1):
13045         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13046         Never check errno without first seeing that system call failed.
13047         (unlock_file): Add GCPRO.
13048         (Flock_buffer): Fix docstring.
13049         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13050
13051 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13052
13053         * sysdep.c (get_pty_max_bytes):
13054         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13055         strings longer than 252 bytes.
13056
13057         * md5.c: Unconditionally include ANSI header <limits.h>
13058
13059         * glyphs-x.c (convert_EImage_to_XImage):
13060         * lisp-union.h (union Lisp_Object):
13061         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13062
13063 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13064
13065         * filelock.c (current_lock_owner): Remove unused variable o, p.
13066
13067 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13068
13069         * callint.c: Remove multiply defined symbol Qlet
13070         (syms_of_callint): ditto.
13071
13072 2000-04-14  Andy Piper  <andy@xemacs.org>
13073
13074         * general.c (syms_of_general): add last-command, this-command, let
13075         and funcall.
13076
13077         * lisp.h: declare various symbols.
13078
13079         * glyphs.h: declare Qwidget_callback_current_channel;
13080
13081         * glyphs-widget.c (syms_of_glyphs_widget): add
13082         Qgui_callback_current_channel.
13083         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13084
13085         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13086         widget-callback-current-channel when invoking the interactive
13087         arg. Also bind last-command and next-command when invoking the
13088         widget updates.
13089         * gui-x.c (popup_selection_callback): ditto.
13090
13091         * gui.c (get_gui_callback): massage args so that we are always
13092         calling eval. This allows us to add our own variable bindings
13093         outside.
13094
13095         * glyphs-x.c (x_button_instantiate): use
13096         gui_items_to_widget_values since this is GC safe.
13097         (x_progress_gauge_instantiate): ditto.
13098         (x_edit_field_instantiate): ditto.
13099         (x_label_instantiate): ditto.
13100
13101         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13102         (emacs_Xt_event_widget_focus_out): new function
13103         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13104         focus.
13105         (emacs_Xt_event_add_widget_actions): new function. add focus
13106         functions as actions.
13107         (init_event_Xt_late): use it.
13108
13109 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13110
13111         * event-stream.c (Fdispatch_event): Doc fix.
13112
13113 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13114
13115         * postgresql.c: Remove all references to PQsetenv*.
13116
13117         * postgresql.h: Remove references to PGsetenvHandler object.
13118         * lrecord.h (lrecord_type): Ditto.
13119
13120 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13121
13122         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13123         real_heigh and real_width members, and accessor macros for these.
13124
13125         * glyphs-msw.c (init_image_instance_geometry): New function.
13126         (init_image_instance_from_dibitmap): Use it.
13127         (mswindows_resource_instantiate): Use it.
13128         (init_image_instance_from_xbm_inline): Use it.
13129         (mswindows_initialize_image_instance_mask): Use real bitmap
13130         geometry.
13131         (mswindows_create_resized_bitmap): Ditto.
13132         (mswindows_create_resized_mask): Ditto.
13133
13134         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13135         and bitmap to their surface size.
13136
13137 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13138
13139         * process-unix.c (unix_send_process): Guard against process MIA
13140         after Faccept_process_output.
13141
13142 2000-04-11  Ben Wing  <ben@xemacs.org>
13143
13144         * eval.c (unbind_to_hairy): fix brokenness introduced by
13145         nanosecond speed improvements.
13146
13147 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13148
13149         * sunplay.c (init_device): To play sounds correctly, the device
13150         apparently needs to be initialized at least once by XEmacs.  Make
13151         it so.
13152
13153 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13154
13155         * redisplay.c (add_margin_runes): Add text image glyph
13156           handling.
13157
13158 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13159
13160         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13161         gcc is newer than 2.5.
13162
13163 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13164
13165         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13166
13167         * fns.c (size_bit_vector):
13168         * alloc.c (size_vector):
13169         (make_vector_internal):
13170         (make_bit_vector_internal):
13171         (sweep_bit_vectors_1):
13172         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13173
13174 2000-04-06  Andy Piper  <andy@xemacs.org>
13175
13176         * gmalloc.c (malloc): undo previous change.
13177         (malloc): ditto.
13178         (free): ditto.
13179         (realloc): ditto.
13180
13181 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13182
13183         * line-number.c (buffer_line_number): Revert to former version.
13184
13185 2000-04-06  Andy Piper  <andy@xemacs.org>
13186
13187         * gmalloc.c (malloc): add error checking.
13188         (malloc): ditto.
13189         (free): ditto.
13190         (realloc): ditto.
13191
13192         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13193         button_item_to_widget_value arg.
13194
13195         * glyphs-x.c (x_button_instantiate): add extra
13196         button_item_to_widget_value arg.
13197         (x_progress_gauge_instantiate): ditto.
13198         (x_edit_field_instantiate): ditto.
13199         (x_label_instantiate): ditto.
13200
13201         * gui-x.c (gui_items_to_widget_values_1): add extra
13202         button_item_to_widget_value arg.
13203         (button_item_to_widget_value): add extra menu_item_p arg.
13204
13205         * gui-x.h: change signature of button_item_to_widget_value.
13206
13207         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13208         button_item_to_widget_value arg.
13209
13210 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13211
13212         * buffer.h (struct buffer): auto_save_modified should be long.
13213
13214 2000-04-05  Andy Piper  <andy@xemacs.org>
13215
13216         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13217         type.
13218         (button_query_geometry): give a little more room so that athena
13219         buttons fit.
13220
13221 2000-04-05  Andy Piper  <andy@xemacs.org>
13222
13223         * faces.c (complex_vars_of_faces): The widget face should inherit
13224         the font of the gui-element face.
13225
13226 2000-04-04  Andy Piper  <andy@xemacs.org>
13227
13228         * glyphs-x.c (x_button_update): new function. unconditionally
13229         update a button's state when the instance is dirty.
13230         (image_instantiator_format_create_glyphs_x): add x_button_update.
13231         (x_widget_instantiate): remove old resize cruft.
13232
13233 2000-04-02  Andy Piper  <andy@xemacs.org>
13234
13235         * frame.c (change_frame_size_1): The introduction of gutters means
13236         that we need to allow 0 as a potential frame dimension.
13237
13238 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13239
13240         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13241         image glyph if allow_cursor.
13242         (add_hscroll_rune): Don't allow cursor to border glyph.
13243         (create_text_block): Ditto.
13244
13245         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13246         text not in buffer.
13247         (redisplay_output_layout): Call ensure_face_cachel_complete for
13248         text image glyph.
13249
13250
13251 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13252
13253         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13254
13255         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13256         not in buffer
13257
13258         * redisplay-tty.c (tty_output_display_block): Delete the routine
13259         for text image glyph
13260         * redisplay-x.c (x_output_display_block): ditto
13261         * redisplay-msw.c (mswindows_output_display_block): ditto
13262
13263 2000-02-02  Mike Alexander  <mta@arbortext.com>
13264
13265         Note: Some of these were committed by accident as part of other
13266         patches.
13267
13268         * regex.c (regex_compile): Avoid compiler warnings.
13269
13270         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13271
13272         * nt.h: Declare term_ntproc correctly.
13273
13274         * nt.c: Remove incorrect declaration of get_home_directory which
13275         is declared correctly in lisp.h.
13276
13277         * keymap.c (get_keyelt): Avoid compiler warnings.
13278         (raw_lookup_key_mapper): Avoid compiler warnings.
13279
13280         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13281
13282         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13283
13284         * filemode.c (mode_string): Avoid compiler warnings.
13285
13286         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13287         avoid warning.
13288
13289         * events-mod.h: Undef some things that winuser.h defines differently.
13290
13291         * data.c (Faset): Avoid compiler warnings.
13292
13293         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13294
13295 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13296
13297         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13298         Fall through to simple beep on error.
13299         Replace "extern" by real header file.
13300
13301         * linuxplay.c: Use nativesound.h
13302         (play_sound_data): Return error code. Be less verbose on error.
13303
13304         * sunplay.c: Use nativesound.h
13305         (play_sound_data): Return error code. Be less verbose on error.
13306
13307         * ntplay.c: Use nativesound.h
13308         (play_sound_data): Return fake error code
13309
13310         * sgiplay.c: Use nativesound.h
13311         (play_sound_data): Return error code
13312
13313         * hpplay.c: Use nativesound.h, partially implement
13314         new error code. Break compilation until finished.
13315         (play_sound_data): error code.
13316
13317         * nativesound.h (play_sound_file):
13318           (play_sound_data): Prototype in new header.
13319
13320 2000-03-31  Andy Piper  <andy@xemacs.org>
13321
13322         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13323         for toggle and radio buttons.
13324         (image_instantiator_buttons): use it.
13325
13326 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13327
13328         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13329         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13330         found. Scrollbar event probably belonged to some old config.
13331
13332 2000-03-31  Andy Piper  <andy@xemacs.org>
13333
13334         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13335         than 1.
13336         (initialize_widget_image_instance): default layout to
13337         LAYOUT_HORIZONTAL rather than 0.
13338         (widget_instantiate): reverse the item list at the end rather than
13339         every iteration.
13340         (layout_layout): re-code for the border text at the front of the
13341         item list rather than at the end.
13342         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13343         provided by the user.
13344         (widget_query_geometry): comment.
13345
13346 2000-03-30  Andy Piper  <andy@xemacs.org>
13347
13348         * glyphs-widget.c (image_instantiator_layout): allow standard
13349         widget keywords in layouts.
13350
13351         * gutter.c (output_gutter): cope with nil gutter contents.
13352
13353         * frame.c (Fset_frame_properties): add gutter docs.
13354
13355 2000-03-29  Andy Piper  <andy@xemacs.org>
13356
13357         * toolbar-msw.c (TBSTYLE_FLAT): add.
13358         (mswindows_output_toolbar): minor fiddling.
13359
13360 2000-03-29  Andy Piper  <andy@xemacs.org>
13361
13362         * gutter.c (output_gutter): force gutter size recalculation if
13363         what we are trying to display won't fit.
13364         (update_gutter_geometry): new function. A per-gutter version of
13365         update_frame_gutter_geometry.
13366         (update_frame_gutter_geometry): use it.
13367         (redraw_exposed_gutter): add extra debugging output.
13368
13369 2000-03-28  Mike Alexander  <mta@arbortext.com>
13370
13371         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13372         (pdump_file_unmap): Implement it on Windows
13373         (pdump_file_get): Save alocated handles for pdump_file_unmap
13374
13375 2000-03-28  Andy Piper  <andy@xemacs.org>
13376
13377         * gui.c (get_gui_callback): treat Quit specially.
13378
13379 2000-03-27  Andy Piper  <andy@xemacs.org>
13380
13381         * glyphs.c (image_instantiate): be careful to check in the same
13382         way we assigned.
13383
13384 2000-03-27  Didier Verna  <didier@xemacs.org>
13385
13386         * config.h.in: define the proper SMART_INCLUDE macro.
13387         handle renaming of `foo_h_path' to `foo_h_file'.
13388
13389         * database.c: ditto.
13390
13391         * emacs.c: ditto.
13392
13393         * linuxplay.c: ditto.
13394
13395         * terminfo.c: ditto.
13396
13397         * tooltalk.h: ditto.
13398
13399 2000-03-27  Andy Piper  <andy@xemacs.org>
13400
13401         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13402         gets updated whenever the face might have changed.
13403
13404 2000-03-26  Mike Alexander  <mta@arbortext.com>
13405
13406         * dumper.c (pdump_resource_free): Fix the comment.
13407
13408 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13409
13410         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13411
13412 2000-03-22  Mike Alexander  <mta@arbortext.com>
13413
13414         * dumper.c: Include Windows headers on Windows
13415         (pdump_resource_free): Add a body to the function
13416         (pdump_load): exe_name -> exe_path and add some comments.
13417
13418 2000-03-25  Mike Alexander  <mta@arbortext.com>
13419
13420         * gui.c (copy_gui_item_tree): Return a value in all cases
13421
13422 2000-03-21  Didier Verna  <didier@xemacs.org>
13423
13424         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13425         lwlib/config.h.in.
13426         (SMART_INCLUDE): new macro.
13427         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13428         the proper location.
13429
13430         * postgresql.c: use it.
13431
13432         * inline.c: ditto.
13433
13434 2000-03-24  Andy Piper  <andy@xemacs.org>
13435
13436         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13437         do this.
13438
13439 2000-03-24  Andy Piper  <andy@xemacs.org>
13440
13441         * redisplay-output.c (compare_runes): use image_instance_changed
13442         to detect changes. Do not depend on glyphs_changed, only depend on
13443         dirtiness.
13444          (redisplay_output_layout): add debug messages.
13445         (compare_runes): ditto.
13446
13447         * glyphs.h: declare new functions.
13448         (struct Lisp_Image_Instance): remove percent and associated
13449         accessors.
13450
13451         * gui.h: declare new copying functions.
13452
13453         * gui.c (copy_gui_item_tree): new function.
13454         (copy_gui_item): new function.
13455         (gui_item_id_hash): revert to standard hash.
13456         (gui_item_hash): ditto.
13457         (gui_item_hash_internal): deleted.
13458         (mark_gui_item): mark value.
13459         (gui_item_add_keyval_pair): add value.
13460         (gui_item_init): ditto.
13461         (gui_add_item_keywords_to_plist): ditto.
13462         (gui_item_equal): ditto.
13463         (syms_of_gui): add Q_value.
13464
13465         * glyphs-x.c (x_progress_gauge_update): use pending items and
13466         value for setting the state.
13467         (x_update_widget): don't set items from pending here.
13468
13469         * glyphs-widget.c (update_widget): update items here.
13470         (progress_gauge_set_property): use items for storing value. Put
13471         new value in pending items.
13472
13473         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13474         items for new value. Convert percent -> value.
13475         (mswindows_tab_control_update): don't update items here.
13476
13477         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13478         (update_subwindow): ditto.
13479         (image_instance_changed): new function. Compare hash values and
13480         past and present widget items.
13481         (image_instantiate): We more careful about where we instantiate
13482         things.
13483         (image_instantiate): add error checking.
13484
13485         * gutter.c (syms_of_gutter): use -hook.
13486
13487 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13488
13489         * console-tty.c (Fset_console_tty_input_coding_system): Use
13490         Qkeyboard.
13491         (Fset_console_tty_output_coding_system): Use Qterminal.
13492         (tty_init_console): Use Qkeyboard and Qterminal.
13493
13494 2000-03-21  Ben Wing  <ben@xemacs.org>
13495
13496         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13497         From Mike Alexander <mta@arbortext.com>.
13498
13499 2000-03-21  Ben Wing  <ben@xemacs.org>
13500
13501         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13502         process brokenness.  Proper implementation to come.
13503         * callproc.c:
13504         Rename call-process-internal to old-call-process-internal.
13505         New impl. in process.el.
13506
13507 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13508
13509         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13510
13511 2000-03-20  Andy Piper  <andy@xemacs.org>
13512
13513         * glyphs.c (full_list_hash): make hashes of the same elements in
13514         different orders return different values.
13515
13516 2000-03-20  Martin Buchholz <martin@xemacs.org>
13517
13518         * XEmacs 21.2.32 is released.
13519
13520 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13521
13522         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13523         (DFC_MALLOC_USE_CONVERTED_DATA):
13524         Add aliasing-safe casts to allow use with char* or unsigned char*
13525         lvalues.
13526
13527         * eldap.c (Fldap_open):
13528         (Fldap_search_basic):
13529         (Fldap_add):
13530         (Fldap_modify):
13531         Make C++-compilable.
13532         Make sure GCPRO'ed variables are initialized.
13533         Use temp variables to avoid repeated calls to Flength.
13534
13535 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13536
13537         * sysfile.h:
13538         Make sure PATH_MAX is always defined.
13539         Include limits.h for PATH_MAX.
13540         Deprecate use of MAXPATHLEN.
13541
13542 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13543
13544         * emacs.c: Add reinit_vars_of_fileio.
13545         * symsinit.h: Add reinit_vars_of_fileio.
13546         * fileio.c (reinit_vars_of_fileio): New.
13547         * fileio.c (Fmake_temp_name):
13548         Initialize temp_name random number from microseconds to make
13549         collisions even less likely.  Initialize always at process startup
13550         time.  (make-temp-name) used to return the same file name twice in
13551         a row when PDUMP.
13552         Random stylistic fiddling.
13553         Comment fixes.
13554
13555 2000-03-20  Andy Piper  <andy@xemacs.org>
13556
13557         * glyphs.c (image_instantiate): allow text glyphs to be
13558         instantiated in the minibuffer window.
13559
13560 2000-03-19  Andy Piper  <andy@xemacs.org>
13561
13562         * glyphs.c (image_instance_hash): be careful about which items we
13563         hash on.
13564
13565         * glyphs-widget.c (tab_control_set_property): record into pending
13566         items rather than the actual items.
13567
13568         * glyphs-x.c (x_update_widget): use pending items to update with.
13569
13570         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13571         to update with.
13572
13573         * glyphs.c (mark_image_instance): mark pending items.
13574
13575         * window.c (Fset_window_configuration): record the buffer.
13576         (Fselect_window): totally revert previous change which breaks many
13577         things.
13578
13579 2000-03-18  Andy Piper  <andy@xemacs.org>
13580
13581         * glyphs-msw.c (mswindows_tab_control_update): force selected
13582         item.
13583
13584         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13585         window domain cache, otherwise we get inconsistencies at
13586         startup. There is something fishy at startup which can lead to the
13587         minibuffer being the selected window when the gutter content is
13588         instantiated.
13589
13590         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13591         gcpros.
13592         (parse_gui_item_tree_children): ditto.
13593         (parse_gui_item_tree_item): ditto.
13594
13595         * glyphs.c (Fupdate_widget_instances): return something.
13596
13597 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13598
13599         * window.c (Fselect_window): Undo 2000-03-17 change.
13600
13601 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13602
13603         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13604         against v7.0 libraries.  Insta-coredump city until the postgres
13605         folks fix it.
13606
13607 2000-03-17  Andy Piper  <andy@xemacs.org>
13608
13609         * faces.c (complex_vars_of_faces): don't give the widget face an
13610         inherited background pixmap.
13611
13612         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13613         selected item.
13614
13615         * event-stream.c (Fdispatch_non_command_events): return something.
13616
13617         * gutter.c (output_gutter): use widget face.
13618         (clear_gutter): ditto.
13619
13620         * NEWS: adjust again.
13621
13622         * window.c (Fselect_window): make sure this runs to completion to
13623         avoid oddities with Fset_window_configuration.
13624         (Fcurrent_window_configuration): in general do not save the
13625         minibuffer as the selected window.
13626
13627         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13628
13629 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13630
13631         * emacs.c (Frunning_temacs_p): Revert previous patch.
13632         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13633
13634 2000-03-16  Andy Piper  <andy@xemacs.org>
13635
13636         * glyphs-x.c (x_tab_control_update): if no widget values then
13637         return.
13638
13639         * NEWS: update for new features.
13640
13641         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13642         synthetic event to the native system.
13643         (reinit_vars_of_event_Xt): set force_event_pending to
13644         emacs_Xt_force_event_pending.
13645
13646         * events.h (struct event_stream): add force_event_pending.
13647
13648         * specifier.c (recompute_one_cached_specifier_in_window): add
13649         comment.
13650
13651         * redisplay.c (redisplay_frame): don't call
13652         update_frame_subwindows. Reset subwindow cachels when
13653         subwindows_changed, removing this was an optimization too far.
13654
13655         * redisplay-output.c (compare_runes): reorganize so that we catch
13656         glyph changes when we want them. Set optimize_output when this
13657         would help layouts.
13658         (redisplay_output_layout): remove frame_really_changed, use
13659         optimize_output instead.
13660
13661         * redisplay-msw.c (mswindows_output_display_block): reset
13662         optimize_output after outputting a glyph.
13663         * redisplay-x.c (x_output_display_block): ditto.
13664         * redisplay-tty.c (tty_output_display_block): ditto.
13665
13666         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13667         functions.
13668         (gutter_specs_changed): do specific gutter positions.
13669         (top_gutter_specs_changed): new function. Only update the
13670         specified gutter specs.
13671         (bottom_gutter_specs_changed): ditto.
13672         (left_gutter_specs_changed): ditto.
13673         (right_gutter_specs_changed): ditto.
13674
13675         * gui.c (gui_item_hash_internal): new function, does a real hash.
13676         (gui_item_id_hash): use it.
13677         (gui_item_hash): hash the eval'ed gui_item.
13678
13679         * gui-x.c (popup_selection_callback): send an eval event to call
13680         Fupdate_widget_instances.
13681
13682         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13683         to call Fupdate_widget_instances.
13684
13685         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13686         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13687
13688         * glyphs.c: (update_frame_subwindows): deleted.
13689         (Fupdate_widget_instances): new function for updating the dirty
13690         state of widgets that might have changed.
13691         (syms_of_glyphs): add Qupdate_widget_instances.
13692         (full_list_hash): hash a list completely.
13693         (image_instance_hash): use it for items and properties.
13694
13695         * frame-msw.c (mswindows_size_frame_internal): remove unused
13696         variable.
13697
13698         * faces.h (struct face_cachel): fix comment.
13699
13700         * event-stream.c (Fdispatch_non_command_events): new
13701         function. Process non-command events, forcing an event cycle
13702         beforehand.
13703         (syms_of_event_stream): declare.
13704         (event_stream_force_event_pending): new function. Force an event
13705         on the native event queue so that an event cycle will occur next
13706         time we check.
13707
13708         * event-msw.c:
13709         (struct ntpipe_shove_stream):
13710         (mswindows_enqueue_dispatch_event):
13711         (mswindows_dequeue_dispatch_event):
13712         (mswindows_cancel_dispatch_event):
13713         (mswindows_pump_outstanding_events):
13714         (mswindows_drain_windows_queue):
13715         (mswindows_handle_paint):
13716         (mswindows_wnd_proc):
13717         (mswindows_key_to_emacs_keysym):
13718         (get_process_input_waitable):
13719         (emacs_mswindows_delete_stream_pair): re-indent file.
13720         (mswindows_need_event): do not process further fds if the windows
13721         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13722         fixes the 100% cpu problem.
13723         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13724
13725 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13726
13727         * alloc.h: New.
13728         * dumper.h: New.
13729         * dumper.c: New.
13730
13731         * emacs.c: Moved dump file searching to dumper.c.
13732         (Frunning_temacs_p): Fixed.
13733
13734         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13735         last_lrecord_type_index_assigned.
13736
13737 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13738
13739         * symsinit.h: Added reinit parameter to init_console_stream
13740         declaration.
13741
13742         * lisp.h: Added file parameter to pdump_load declaration.
13743
13744         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13745         support.  Added dump file searching.
13746
13747         * config.h.in: Added EMACS_PROGNAME.
13748
13749         * console-stream.c (init_console_stream): Fix reinitialisation
13750         when running from temacs.
13751
13752         * alloc.c (pdump): Add id support.
13753         (pdump_load): Add file parameter and signature/id support.
13754
13755         * Makefile.in.in: Add full pdump support.
13756
13757 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13758
13759         * postgresql.c: Update documentation to reflect latest code
13760         status.
13761         (print_result): Show tuple counts in printed representation when
13762         appropriate.
13763         (Fpq_put_nbytes): MULE-ize.
13764         (Fpq_get_line_async): Ditto.
13765
13766 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13767
13768         * postgresql.c (Fpq_lo_import): Fix return value.
13769         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13770
13771 2000-03-13  Ben Wing  <ben@xemacs.org>
13772
13773         * alloc.c (pdump_load):
13774         Fix compile warning under mswin.
13775
13776 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13777
13778         * postgresql.c: Mule-ization, bug fixes.
13779         Use PG_CODING to encapsulate coding system name changes.
13780         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13781         (pg-coding-system): Create.
13782
13783         (Fpq_conn_defaults): Mule-ize.
13784         (Fpq_connectdb): Mule-ize & bug fix.
13785         (Fpq_connect_start): Mule-ize.
13786         (Fpq_set_client_encoding): Mule-ize.
13787         (Fpq_finish): Document `DEAD' connection status.
13788         (Fpq_clear): Ditto.
13789         (Fpq_pgconn): Mule-ize.
13790         (Fpq_exec): Mule-ize & bug fix.
13791         (Fpq_send_query): Ditto.
13792         (Fpq_get_result): Ditto.
13793         (Fpq_res_status): Mule-ize.
13794         (Fpq_result_error_message): Mule-ize.
13795         (Fpq_ntuples): fix comments.
13796         (Fpq_fname): Mule-ize.
13797         (Fpq_fnumber): Mule-ize.
13798         (Fpq_ftype): fix comments.
13799         (Fpq_get_value): Mule-ize.
13800         (Fpq_cmd_status): Ditto.
13801         (Fpq_cmd_tuples): Ditto.
13802         (Fpq_oid_value): Ditto.
13803         (Fpq_notifies): Ditto.
13804         (Fpq_lo_import): Ditto.
13805         (Fpq_lo_export): Ditto.
13806         (Fpq_get_line): Ditto.
13807         (Fpq_put_line): Mule-ize and bug fix.
13808         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13809
13810 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13811
13812         * postgresql.c (vars_of_postgresql): Mule-ize.
13813         (Fpq_conn_defaults): Ditto.
13814
13815 2000-03-12  Ben Wing  <ben@xemacs.org>
13816
13817         * alloc.c (Fmake_byte_code):
13818         * alloc.c (debug_string_purity_print):
13819         * alloc.c (pdump_backtrace):
13820         * alloc.c (pdump_get_indirect_count):
13821         * alloc.c (pdump_register_sub):
13822         * alloc.c (pdump_register_object):
13823         * alloc.c (pdump_register_struct):
13824         * alloc.c (pdump_dump_data):
13825         * alloc.c (pdump_reloc_one):
13826         Minor cleanups.
13827
13828         * console-msw.c:
13829         * console-msw.c (GetConsoleHwnd):
13830         * console-msw.c (msw_hide_console):
13831         * console-msw.c (msw_show_console):
13832         * console-msw.c (msw_ensure_console_buffered):
13833         * console-msw.c (msw_output_console_string):
13834         * console-msw.c (console_type_create_mswindows):
13835
13836         a) Added functions to manipulate the console window for use with
13837         shell support.
13838
13839         b) Added support for writing text to the console, which is now
13840         used under Windows when xemacs is not being run non-interactively,
13841         to write text that would otherwise be destined for stdout because
13842         under these circumstances, text written to stdout tends to
13843         disappear and not be seen.
13844
13845         * console-msw.h:
13846         * event-Xt.c:
13847         * event-Xt.c (x_event_to_emacs_event):
13848         * event-Xt.c (describe_event_window):
13849         * events-mod.h (XEMACS_MOD_CONTROL):
13850         * events.c:
13851         * events.c (Fmake_event):
13852         * events.c (character_to_event):
13853         * events.c (event_to_character):
13854         * events.c (format_event_object):
13855         * events.c (Fevent_modifiers):
13856         * events.h:
13857         * events.h (struct key_data):
13858         * events.h (struct button_data):
13859         * events.h (struct misc_user_data):
13860         * frame-x.c (Fcde_start_drag_internal):
13861         * frame-x.c (Foffix_start_drag_internal):
13862         * gpmevent.c (Freceive_gpm_event):
13863         * keymap.c:
13864         * keymap.c (bucky_sym_to_bucky_bit):
13865         * keymap.c (control_meta_superify):
13866         * keymap.c (make_key_description):
13867         * keymap.c (keymap_lookup_directly):
13868         * keymap.c (create_bucky_submap):
13869         * keymap.c (keymap_store):
13870         * keymap.c (define_key_check_and_coerce_keysym):
13871         * keymap.c (define_key_parser):
13872         * keymap.c (define_key_alternate_name):
13873         * keymap.c (Fdefine_key):
13874         * keymap.c (raw_lookup_key_mapper):
13875         * keymap.c (struct map_keymap_unsorted_closure):
13876         * keymap.c (map_keymap_unsorted_mapper):
13877         * keymap.c (map_keymap_sort_predicate):
13878         * keymap.c (map_keymap_sorted):
13879         * keymap.c (accessible_keymaps_mapper_1):
13880         * keymap.c (where_is_recursive_mapper):
13881         * keymap.c (describe_map_mapper):
13882         * keymap.c (describe_map_sort_predicate):
13883         * keymap.c (describe_map):
13884         * keymap.c (complex_vars_of_keymap):
13885         And a number of other files, the key modifier preprocessor
13886         constants that xemacs uses have names that conflict with constants
13887         defined under MS Windows for other purposes, so they were renamed
13888         to begin with the prefix XEMACS_. The variables that hold such
13889         modifiers were changed to consistently be of type int to fix
13890         various compile warnings.
13891
13892         * console.c (complex_vars_of_console):
13893         * device.c:
13894         * device-msw.c:
13895         * device-msw.c (mswindows_finish_init_device):
13896         * device-msw.c (msw_get_workspace_coords):
13897         * device-msw.c (mswindows_device_system_metrics):
13898         and various other files, added support for a new
13899         device property called offset-workspace which returns the position
13900         of the upper left corner of the workspace area and goes along with
13901         the existing size-workspace property.
13902
13903         * dialog-msw.c:
13904         * dialog-msw.c (push_bufbyte_string_as_unicode):
13905         * dialog-msw.c (mswindows_popup_dialog_box):
13906         Added support for XEmacs-style accelerator specifications in
13907         button text.  Note: I didn't add support for this under X Windows,
13908         and somebody needs to do this.
13909
13910         * dialog.c:
13911         * dialog.c (Fpopup_dialog_box):
13912         Documented the support for accelerators that was just mentioned.
13913
13914         editfns.c (get_home_directory): Changed behavior under Windows
13915         when HOME not defined; former behavior was irretrievably broken.
13916
13917         * emacs.c:
13918         * emacs.c (main_1):
13919         * emacs.c (main):
13920         * minibuf.c (clear_echo_area_internal):
13921         * minibuf.c (echo_area_append):
13922         * print.c:
13923         * print.c (std_handle_out_external):
13924         * print.c (std_handle_out_va):
13925         * print.c (fatal):
13926         * print.c (write_string_to_stdio_stream):
13927         * print.c (output_string):
13928         * print.c (debug_print):
13929         * print.c (debug_backtrace):
13930         * print.c (debug_short_backtrace):
13931         Cleaned up the code that prints text to stdout so that this can be
13932         changed to output into a console window instead under MS Windows,
13933         as described above.
13934
13935         * eval.c:
13936         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13937         * eval.c (internal_catch):
13938         * eval.c (unwind_to_catch):
13939         * eval.c (throw_or_bomb_out):
13940         * eval.c (condition_case_1):
13941         * eval.c (signal_1):
13942         * eval.c (check_error_state_sanity):
13943         * eval.c (call_with_suspended_errors_1):
13944         * eval.c (call_with_suspended_errors):
13945         * eval.c (reinit_vars_of_eval):
13946         Added code to catch throw loops and check for a pesky bug that may
13947         be gone now.
13948
13949         * event-msw.c:
13950         * event-msw.c (key_needs_default_processing_p):
13951         * event-msw.c (mswindows_wnd_proc):
13952         * event-msw.c (mswindows_modifier_state):
13953         * event-msw.c (emacs_mswindows_quit_p):
13954         * event-msw.c (vars_of_event_mswindows):
13955         a) Added support for using the alt key to select menu items as is
13956         standard under MS Windows.  This is controlled using the variable
13957         menu-accelerator-enabled, just like under X Windows.  There is an
13958         option on the options menu to turn this support on.  I really
13959         think that it should be on by default under Windows, but I'm not
13960         going to make this change yet.
13961
13962         b)  Added support for dynamic display size changes under Windows.
13963
13964         * event-stream.c:
13965         * event-stream.c (maybe_echo_keys):
13966         * event-stream.c (Fnext_event):
13967         * event-stream.c (command_builder_find_leaf):
13968         * event-stream.c (lookup_command_event):
13969         * event-stream.c (execute_command_event):
13970         * event-stream.c (pre_command_hook):
13971         * event-stream.c (post_command_hook):
13972         * event-stream.c (syms_of_event_stream):
13973         * event-stream.c (vars_of_event_stream):
13974         * event-stream.c (complex_vars_of_event_stream):
13975         * events.h (struct command_builder):
13976
13977         a) Tried to clean up a little bit the horribly written x-specific
13978         accelerator code that crept into this file.  I moved this code
13979         into menubar-x.c where it belongs. I also needed to move the
13980         command builder structure into the file events.h because it is
13981         accessed directly by this accelerator code.  What I didn't do, but
13982         which should be done at some point, is to properly abstract this
13983         code using device methods instead of the kludgy way that it
13984         currently hooks into the event code.
13985
13986         b) Added the lisp variables this-command-properties and
13987         last-command- properties, which should be used to synchronize two
13988         adjacent commands in preference to playing games with the variable
13989         this-command, which is typically what happens.
13990
13991         c) Added some slightly nasty code to hook into the lisp support
13992         for shifted- motion-key selection.  This is actually necessary for
13993         somewhat complicated reasons, which are described in
13994         simple.el. (NB: I think the proper thing would be to have the code
13995         that calls the pre and post command hooks also call out to generic
13996         lisp functions in simple.el, where all built-in stuff could be
13997         added.  I will think about this more.)
13998
13999         * event-unixoid.c (poll_fds_for_input):
14000         * lread.c (readchar):
14001         * redisplay-tty.c (tty_clear_frame):
14002         * redisplay-x.c (x_get_gc):
14003         * signal.c (interrupt_signal):
14004         And a whole bunch of other files: fixed up places that printed
14005         directly to stderr to instead call the function stderr_out so that
14006         the changes I made under Windows work correctly.
14007
14008         * filemode.c (mode_string):
14009         Warning fixes.
14010
14011         * frame-msw.c:
14012         * frame-msw.c (mswindows_size_frame_internal):
14013         Fixed the computation of frame size and position to keep the frame
14014         within the workspace area, rather than within the physical
14015         dimensions of the screen, so that the frame doesn't overlap window
14016         manager decorations, such as the start menu and toolbar, typically
14017         at the bottom of the screen.
14018
14019         * frame.c (vars_of_frame):
14020         Changed the default frame title format under MS Windows to consist
14021         of buffername-XEmacs, which is standard under MS Windows.  I think
14022         it might be a good idea to change this everywhere because I think
14023         it is superior to the current frame title format, but this is the
14024         kind of change that is likely to cause some people to get annoyed,
14025         so I'm not making it.
14026
14027         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14028
14029         * gui-msw.c (mswindows_handle_gui_wm_command):
14030         Fixed compile warnings.
14031
14032         * gui-x.c:
14033         * gui-x.c (strdup_and_add_accel):
14034         * gui-x.c (button_item_to_widget_value):
14035         * gui-x.h:
14036         Added code to automatically put an accelerator onto the beginning
14037         of menu items that don't have one as is now the standard, and is
14038         described more later.  Also fixed things so that the menu item
14039         name can be an evaluated expression, again a new standard.
14040
14041         * gui.c:
14042         * gui.c (gui_item_add_keyval_pair):
14043         * gui.c (make_gui_item_from_keywords_internal):
14044         * gui.c (gui_add_item_keywords_to_plist):
14045         * gui.c (gui_item_accelerator):
14046         * gui.c (gui_name_accelerator):
14047         * gui.c (gui_item_included_p):
14048         * gui.c (gui_item_display_flush_left):
14049         * gui.c (gui_item_display_flush_right):
14050         * gui.c (parse_gui_item_tree_item):
14051         * gui.c (parse_gui_item_tree_children):
14052         * gui.c (parse_gui_item_tree_list):
14053         Mule-ized.  Cleanup.  GCPRO addition.
14054
14055         * line-number.c (buffer_line_number):
14056         * lisp.h:
14057         * lisp.h (EMACS_INT_MAX):
14058         Added the manifest constant EMACS_INT_MIN corresponding to the
14059         existing constant EMACS_INT_MAX.  This is partially to fix compile
14060         warnings under Windows, and partly for cleanliness.
14061
14062         * menubar-msw.c:
14063         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14064         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14065         * menubar-msw.c (displayable_menu_item):
14066         * menubar-msw.c (populate_menu_add_item):
14067         * menubar-msw.c (populate_or_checksum_helper):
14068         * menubar-msw.c (populate_menu):
14069         * menubar-msw.c (update_frame_menubar_maybe):
14070         * menubar-msw.c (prune_menubar):
14071         * menubar-msw.c (msw_char_is_accelerator):
14072         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14073         * menubar-msw.c (mswindows_handle_wm_command):
14074         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14075         * menubar-msw.c (mswindows_handle_wm_initmenu):
14076         * menubar-msw.c (mswindows_update_frame_menubars):
14077         * menubar-msw.c (mswindows_free_frame_menubars):
14078         * menubar-msw.c (mswindows_popup_menu):
14079         Fixed a bug in handling accelerators where an extra character
14080         would be displayed in the menu item.  Also generalized the
14081         function displayable_menu_item because it is now used by the
14082         dialog box code as well.  And finally, added code in the functions
14083         that create the menubar to extract a list of accelerators for the
14084         top level menubar, which is used in the event code to determine
14085         whether a particular alt-key combination should be used to invoke
14086         a menu item, or should be passed through to access the standard
14087         XEmacs keymap binding for this key combination.
14088
14089         Much needed GCPROing.
14090
14091         * menubar-x.c:
14092         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14093         * menubar-x.c (menu_item_descriptor_to_widget_value):
14094         * menubar-x.c (restore_in_menu_callback):
14095         * menubar-x.c (x_popup_menu):
14096         * menubar-x.c (menu_move_up):
14097         * menubar-x.c (menu_move_down):
14098         * menubar-x.c (menu_move_left):
14099         * menubar-x.c (menu_move_right):
14100         * menubar-x.c (menu_select_item):
14101         * menubar-x.c (command_builder_operate_menu_accelerator):
14102         * menubar-x.c (menu_accelerator_junk_on_error):
14103         * menubar-x.c (command_builder_find_menu_accelerator):
14104         * menubar-x.c (Faccelerate_menu):
14105         * menubar.h:
14106         Moved a whole bunch of code here that was previously in
14107         event-stream.c as described above.  There is also code connected
14108         to the new standard of adding an accelerator to the beginning of
14109         menu items that don't have one as described above and below.
14110
14111         * menubar.c:
14112         * menubar.c (menu_parse_submenu_keywords):
14113         * menubar.c (Fmenu_find_real_submenu):
14114         * menubar.c (Fnormalize_menu_item_name):
14115         * menubar.c (syms_of_menubar):
14116         * menubar.c (vars_of_menubar):
14117         * menubar.c (complex_vars_of_menubar):
14118
14119         a) Cleaned up a bunch of documentation and improved it.
14120
14121         b) XEmacs now automatically adds an accelerator onto the beginning
14122         of any menu items that don't have one.  I did this because there
14123         will inevitably be some menu items on the main menubar that don't
14124         have accelerators on them because the package that adds that
14125         particular menu item hasn't yet been fixed up to have accelerators
14126         in them and it looked rather strange to have some items with and
14127         some items without accelerators, especially since even in items
14128         without accelerators, you can, at least under windows, still
14129         access the item through an accelerator corresponding to the first
14130         character in the item's name.  If people don't like this behavior,
14131         I can add a variable to turn it off optionally, but I'm not sure
14132         this is a good idea because we really do need to have accelerators
14133         on all of the menu items, and if a package doesn't like the
14134         accelerators being put on the first character, then it should put
14135         the accelerators where they belong.
14136
14137         c) I made a behavior change, which is that the descriptor that
14138         specifies the text of the menu item, which formerly was just a
14139         string, can now also be an evaluated expression.  This makes this
14140         descriptor parallel with all of the others, which could also be
14141         evaluated expressions.  This also obviates the need for the
14142         keyword :label, which was previously listed in the documentation
14143         as unimplemented, and which was for the same purpose.
14144
14145         d) GCPROing.
14146
14147         * ntproc.c:
14148         * ntproc.c (new_child):
14149         * ntproc.c (sys_spawnve):
14150         * ntproc.c (find_child_console):
14151         * ntproc.c (sys_kill):
14152         Fixed compile warnings.  By the way, this file should really go
14153         away entirely, and this will happen as soon as Kirill makes his
14154         final round of process cleanups, which affect the function
14155         call-process.
14156
14157         * process-nt.c:
14158         * process-nt.c (struct nt_process_data):
14159         * process-nt.c (find_process_from_pid):
14160         * process-nt.c (send_signal_the_nt_way):
14161         * process-nt.c (enable_child_signals):
14162         * process-nt.c (find_child_console):
14163         * process-nt.c (send_signal_the_95_way):
14164         * process-nt.c (nt_finalize_process_data):
14165         * process-nt.c (ensure_console_window_exists):
14166         * process-nt.c (nt_create_process):
14167         * process-nt.c (nt_kill_child_process):
14168         * process-nt.c (nt_kill_process_by_pid):
14169         * process-nt.c (nt_open_network_stream):
14170         * process-nt.c (vars_of_process_nt):
14171         Copied over code from Emacs 20.5 to correctly send signals to sub-
14172         processes under Windows 95.  Also added code to automatically
14173         create and hide console window when a sub-process is created under
14174         Windows 95, which obviates the need for the separate runemacs.exe
14175         executable, and finally implemented some variables that were
14176         implemented in Emacs 20.5, but previously not in XEmacs.  These
14177         include mswindows- start-process-share-console and
14178         mswindows-start-process-inherit-error-mode. (Both of these only
14179         apply to Windows 95.)
14180
14181         * regex.c (regex_compile): Fixed a compile warning.
14182
14183         * select-msw.c:
14184         * select-msw.c (mswindows_own_selection):
14185         * select-msw.c (mswindows_get_foreign_selection):
14186         * select-msw.c (mswindows_disown_selection):
14187         * select-msw.c (console_type_create_select_mswindows):
14188         * select-msw.c (syms_of_select_mswindows):
14189         Cleaned up the file and implemented the device method
14190         selection_exists_p, which had accidentally been left out.  Also
14191         removed four lisp functions that were remnants from before the
14192         time when the selection code was properly device abstracted.
14193         These functions are no longer needed because there are generic
14194         equivalents, and because they were added recently and don't exist
14195         in FSF Emacs, I don't think there's any problem with just deleting
14196         them.
14197
14198         * sysdep.c:
14199         * sysdep.c (sys_subshell):
14200         Fixed a compile warning, although in this case there's probably
14201         something wrong with this code, and it ought to be looked into
14202         more thoroughly by somebody who understands it.
14203
14204         * window.c:
14205         * window.c (Fwindow_text_area_height):
14206         * window.c (Fwindow_width):
14207         * window.c (Fwindow_full_width):
14208         * window.c (Fwindow_pixel_width):
14209         * window.c (debug_print_window):
14210         * window.c (syms_of_window):
14211         Added functions window-text-area-height and window-full-width,
14212         which are functions for returning various width and height
14213         characteristics of a window. (One of these functions is necessary
14214         for making the file dialog box work correctly, and the other one
14215         was added for completeness.)  Also added a table to the
14216         documentation for window-height which describes the entire scheme
14217         for accessing width and height characteristics of a window.
14218
14219 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14220
14221         * nt.c (fstat): Added a comment for another problem with
14222         non-encapsulated [f]stat(), reported by Adrian Aichner
14223         <aichner@ecf.teradyne.com>.
14224
14225 2000-03-11  Andy Piper  <andy@xemacs.org>
14226
14227         * window.c (make_dummy_parent): initialize subwindow instance
14228         cache.
14229         (Fset_window_configuration): zero extent_modiff.
14230
14231 2000-03-10  Andy Piper  <andy@xemacs.org>
14232
14233         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14234         more changes can be triggered.
14235         (Fredisplay_frame): ditto.
14236         (Fredraw_device): ditto.
14237         (Fredisplay_device): ditto.
14238         (redisplay_frame): make non-static.
14239         (redisplay_frame): call update_frame_gutter_geometry outside of
14240         display proper.
14241
14242         * gutter.h: declare update_frame_gutter_geometry.
14243
14244         * redisplay.h: declare redisplay_frame.
14245
14246         * gutter.c (update_frame_gutter_geometry): move geometry changes
14247         in update_frame_gutters here. Geometry changes can only occur
14248         outside of redisplay.
14249         (update_frame_gutters): remove geometry change code.
14250         (Fredisplay_gutter_area): make sure that we are in display when we
14251         update and that we have flushed any size changes.
14252
14253 2000-03-11  Andy Piper  <andy@xemacs.org>
14254
14255         * alloc.c (pdump_dump_data): remove i & count shadows.
14256
14257 2000-02-27  Mike Alexander  <mta@arbortext.com>
14258
14259         * sysdep.h: Declare pdump_read_file
14260
14261         * sysdep.c (pdump_read_file): New function
14262
14263         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14264         dump data
14265
14266 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14267
14268         * lrecord.h: add `lrecord_type_pgsetenv'.
14269
14270 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14271
14272         * symsinit.h: declare (vars|syms)_of* functions.
14273         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14274
14275 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14276
14277         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14278
14279         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14280         GCCs.
14281
14282         * emacs.c (main_1): Call postgres initialization code.
14283
14284         * postgresql.h: New file.  PostgreSQL RDBMS support.
14285         * postgresql.c: New file.
14286
14287 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14288
14289         * redisplay-output.c (redisplay_output_display_block): Disable
14290         redundant code.
14291
14292 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14293
14294         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14295         (Fcanna_henkan_next): Ditto.
14296         (Fcanna_bunsetu_henkou): Ditto.
14297         (Fcanna_henkan_kakutei): Ditto.
14298         (Fcanna_henkan_end): Ditto.
14299         (Fcanna_henkan_quit): Ditto.
14300         (Fcanna_henkan_next): Set retun value correctly.
14301         (c2mu): Use unsigned char instead of signed char.
14302
14303 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14304
14305         * emacs.c (main_1): Always call syms_of_gui.
14306         * inline.c: include gui.h
14307
14308 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14309
14310         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14311         converted to Lisp_Object.
14312         (Qtop_bottom): New variable.
14313         (syms_of_redisplay): Initialize it.
14314         * redisplay.h (Vvisible_bell): Ditto.
14315         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14316         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14317         only flash top and bottom.
14318
14319 2000-03-08  Andy Piper  <andy@xemacs.org>
14320
14321         * buffer.c (Frename_buffer): record new buffer name the right way.
14322
14323 2000-03-08  Andy Piper  <andy@xemacs.org>
14324
14325         * glyphs.c (update_subwindow): increase hash depth so that widget
14326         items get picked up properly.
14327
14328         * redisplay-output.c (compare_runes): increase hash depth so that
14329         widget items get picked up properly.
14330
14331 2000-03-08  Andy Piper  <andy@xemacs.org>
14332
14333         * gutter.c (output_gutter): add some debug.
14334
14335         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14336         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14337         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14338
14339         * redisplay-output.c (compare_runes): use display_hash to
14340         determine if glyphs really are not the same.
14341
14342         * glyphs.c (update_subwindow): check display_hash to see if
14343         anything really needs to be updated. If not then do
14344         nothing. Record the display_hash after updating.
14345         (image_instance_equal): compare the image_instance face also.
14346
14347 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14348
14349         * redisplay.h: Fix comment style.
14350
14351 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14352
14353         * consle-msw.h (struct mswindows_frame):
14354         Added new member paint_pending to indicate whether a WM_PAINT
14355         magic event has been queued for this frame.
14356
14357         * event-msw.c (mswindows_drain_windows_queue):
14358         Don't queue a WM_PAINT magic event if one is already queued.
14359         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14360
14361         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14362
14363 2000-03-07  Didier Verna  <didier@xemacs.org>
14364
14365         * dired.c: #include `regex.h' after `sysfile.h'.
14366
14367 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14368
14369         * sound.c (init_nas_sound): Fix compiler warning.
14370
14371         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14372         (FREE_STRUCT_P):
14373         (MARK_STRUCT_AS_FREE):
14374         (MARK_STRUCT_AS_NOT_FREE):
14375         Make `gcc -fstrict-aliasing' work properly.
14376
14377 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14378
14379         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14380         (mswindows_delete_device): Call CoUnnitialize().
14381
14382         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14383
14384 2000-02-25    <CraigL@DyCon.com>
14385
14386         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14387         <errno.h>.
14388
14389         * sysdep.c: This extern declaration for environ prevents MinGW
14390         from finding the variable in CRTDLL.DLL.
14391
14392         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14393         windows headers.
14394         (SHGFI_EXETYPE): ..
14395         (WM_MOUSEWHEEL): ..
14396         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14397         definitions.
14398         (MMRESULT): Removed, now defined in cygwin's windows headers.
14399         (TIMECAPS): ..
14400         (uid_t,gid_t,pid_t,ssize_t): ..
14401         (_timeb): Removed, MinGW defines both _timeb and timeb.
14402         (HAVE_H_ERRNO): Added.
14403         (HAVE_TZNAME): Added, configure is not detecting this.
14404
14405 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14406
14407         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14408         * syntax.c (syntax_match): Use it.
14409
14410         * cmds.c: Import auto-fill-chars from FSF Emacs.
14411         (Vauto_fill_chars): New variables.
14412         (internal_self_insert): Check Vauto_fill_chars.
14413         (vars_of_cmds):
14414         Declare auto-fill-chars as a Lisp variable and initialize it.
14415
14416 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14417
14418         * fileio.c (Fmake_symbolic_link):
14419         (Ffile_symlink_p):
14420         Run handlers even if local machine doesn't have symlinks.
14421
14422 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14423
14424         * event-msw.c (mswindows_drain_windows_queue):
14425         Don't generate paint magic events for non-XEmacs frames.
14426
14427 2000-03-05  Andy Piper  <andy@xemacs.org>
14428
14429         * redisplay.c (redisplay_frame): generate_displayable_area and
14430         friends assumes that we are not in GC, we therefore have to make
14431         sure that this doesn't happen.
14432
14433         * gutter.c (calculate_gutter_size): generate_displayable_area
14434         assumes that we are not in GC, we therefore have to make sure that
14435         this doesn't happen.
14436
14437 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14438
14439         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14440
14441 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14442
14443         * redisplay.c (regenerate_window): Make sure we set a sane value
14444         for end_pos even if we jump out of the loop.
14445         (regenerate_window): Answer Ben's question :-).
14446         (start_end_of_last_line): Add may_error argument.
14447         (start_of_last_line):
14448         (end_of_last_line): Pass may_error = 0.
14449         (end_of_last_line_may_error): New function.
14450         (pixel_to_glyph_translation): Use it, so we don't crash in
14451         event_to_glyph.
14452
14453 2000-03-04  Andy Piper  <andy@xemacs.org>
14454
14455         * window.h (struct window): add gutter_extent_modiff.
14456
14457         * window.c (allocate_window): zero out gutter_extent_modiff.
14458
14459         * redisplay.h: declare sync_display_line_structs.
14460
14461         * redisplay.c (add_glyph_rune): add a better comment.
14462
14463         * redisplay-output.c (sync_display_line_structs): made non-static.
14464         (compare_runes): remove unneccesary glyph cachel access.
14465
14466         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14467
14468         * gutter.c (output_gutter): don't output the gutter if extent
14469         changes only involve extents in buffers. use 4 sets of display
14470         lines.
14471         (gutter_extent_signal_changed_region_maybe): new function. Mark
14472         extents in gutters as changed.
14473         (update_frame_gutters): use 4 sets of display lines.
14474         (reset_gutter_display_lines): ditto.
14475         (free_frame_gutters): ditto.
14476         (redraw_exposed_gutter): force output of gutters.
14477
14478         * frame.h (struct frame): add 4 sets of gutter display lines.
14479
14480         * extents.c: (extent_changed_for_redisplay): signal changes to
14481         extents in strings in the gutter as well as extents in buffers.
14482
14483 2000-03-02  Andy Piper  <andy@xemacs.org>
14484
14485         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14486
14487         * frame.c (Fmake_frame): make sure the gutters get initialized
14488         after the frame is visible.
14489         (set_frame_selected_window): re-arrange compilation macros a
14490         little.
14491         (change_frame_size_1): mark gutters changed.
14492
14493         * device.c (Fset_device_class): mark gutters changed.
14494
14495 2000-03-01  Andy Piper  <andy@xemacs.org>
14496
14497         * window.c (window_top_frame_gutter_height): deleted.
14498         (window_bottom_frame_gutter_height): ditto.
14499         (window_left_frame_gutter_height): ditto.
14500         (window_right_frame_gutter_height): ditto.
14501         (window_top_gutter_height): don't use them.
14502         (window_bottom_gutter_height): ditto.
14503         (window_left_gutter_width): ditto.
14504         (window_right_gutter_width): ditto.
14505         (Fsplit_window): ditto.
14506         (Fwindow_pixel_edges): don't use border dimensions here.
14507
14508         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14509         (update_scrollbar_instance): ditto.
14510
14511         * redisplay.c (generate_modeline): don't take gutters into account.
14512         (generate_modeline): ditto.
14513         (redisplay_frame): small gutter display optimization.
14514
14515         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14516
14517         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14518         gutters into account.
14519
14520         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14521         for window position and type.
14522
14523         * gutter.c (get_gutter_coords): fix for frame gutters.
14524         (update_frame_gutters): update frame geometry if the gutters have
14525         changed.
14526         (init_frame_gutters): record current gutter geometries.
14527
14528         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14529         var.
14530         (mswindows_widget_instantiate): ditto.
14531
14532         * frame.h (struct frame): add current_gutter_bounds.
14533
14534         * frame.c (change_frame_size_1): position window and minibuffer
14535         appropriately taking into account the frame gutters.
14536
14537         * frame-x.c: (x_initialize_frame_size): take into account the
14538         frame gutters.
14539
14540 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14541
14542         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14543
14544 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14545
14546         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14547
14548 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14549
14550         * file-coding.c (reset_decoding_stream): Clear previous
14551         detection state when autodetect.
14552
14553 2000-02-29  Didier Verna  <didier@xemacs.org>
14554
14555         * extents.c (set_extent_glyph_1): don't require extents to be
14556         attached.
14557
14558 2000-02-27  Andy Piper  <andy@xemacs.org>
14559
14560         * gutter.c (Fset_default_gutter_position): don't default left and
14561         right gutter visibility to t.
14562         (Fset_default_gutter_position): run
14563         default-gutter-position-changed-hook.
14564         (syms_of_gutter): add default-gutter-position-changed-hook.
14565
14566 2000-02-26  Andy Piper  <andy@xemacs.org>
14567
14568         * specifier.c (Fmake_specifier): add gutter references.
14569
14570         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14571
14572         * lisp.h: declare Fvalid_plist_p.
14573
14574         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14575         as changed.
14576         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14577         well as its visibility so that it gets reconstructed.
14578         (construct_window_gutter_spec): new function. Construct a string
14579         to be displayed in the gutter from a plist of strings. Take care
14580         to only use elements that are declared as visible.
14581         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14582         WINDOW_GUTTER.
14583         (gutter_validate): allow plists of strings in the specifier.
14584         (gutter_specs_changed): construct the real_gutter from the gutter
14585         specs using construct_window_gutter_spec.
14586         (gutter_visible_validate): gutter-visible is a new specifier type.
14587         (Fgutter_visible_specifier_p): new function for the new specifier.
14588         (syms_of_gutter): declare gutter-visible and
14589         Fgutter_visible_specifier_p.
14590         (specifier_type_create_gutter): intitalize new gutter-visible
14591         specifier.
14592         (reinit_specifier_type_create_gutter): ditto.
14593         (specifier_vars_of_gutter): use new specifier type for gutter
14594         visibility.
14595         (init_frame_gutters): construct real_gutter correctly.
14596         (Fgutter_specifier_p): beef up documentation.
14597         (Fgutter_size_specifier_p): ditto.
14598
14599         * winslots.h: add real_gutter slots.
14600
14601 2000-02-25  Andy Piper  <andy@xemacs.org>
14602
14603         * device-msw.c: Be kind to older cygwin versions. From Raymond
14604         Toy <toy@rtp.ericsson.se>.
14605
14606         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14607         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14608
14609 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14610
14611         * elhash.c (MARK_OBJ): Practice macro hygiene.
14612
14613 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14614
14615         * miscplay.c: s/__inline__/inline/g;
14616         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14617         (get_device_compdc): INLINE ==> static inline
14618         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14619         find -name '*.h' | \
14620         xargs global-replace \
14621         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14622
14623 2000-02-25  Andy Piper  <andy@xemacs.org>
14624
14625         * window.c (window_top_frame_gutter_height): new function.
14626         (window_top_window_gutter_height): ditto.
14627         (window_top_gutter_height): use them.
14628         (window_bottom_frame_gutter_height): new function.
14629         (window_bottom_window_gutter_height): ditto.
14630         (window_bottom_gutter_height): use them.
14631         (window_left_window_gutter_width): new function.
14632         (window_left_frame_gutter_width): ditto.
14633         (window_left_gutter_width): use them.
14634         (window_right_window_gutter_width): new function.
14635         (window_right_frame_gutter_width): ditto.
14636         (window_right_gutter_width): use them.
14637         (window_pixel_height): new function. calulate window pixel height
14638         with frame gutter involvement.
14639         (Fsplit_window): calculate new sizes taking frame gutters into
14640         account.
14641         (window_char_height_to_pixel_height): don't include frame gutters.
14642         (window_char_height): use window_pixel_height.
14643         (window_pixheight): rename from window_pixel_height.
14644         (change_window_height): use it.
14645         (window_pixel_height_to_char_height): don't include frame gutters.
14646         (window_char_width_to_pixel_width): ditto.
14647
14648 2000-02-25  Andy Piper  <andy@xemacs.org>
14649
14650         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14651         if it is.
14652
14653 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14654
14655         * alloc.c (staticpro):
14656         (staticpro_nodump):
14657         (dumpstruct):
14658         (dumpopaque):
14659         (pdump_wire):
14660         (pdump_wire_list):
14661         (compact_string_chars):
14662         (pdump_dump_wired):
14663         Convert:  if (foo) abort();  ==>  assert (! foo);
14664
14665         * eldap.c (Fldap_search_basic):
14666         (Fldap_add):
14667         (Fldap_modify):
14668         (Fldap_delete):
14669         Fix compiler warnings, and possible crashes if (random) return
14670         value were to be used.
14671
14672 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14673
14674         * device-msw.c: Workaround ResetDC failure.
14675
14676         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14677         applying a devmode.
14678
14679         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14680         (mswindows_text_width): Do not start printer page.
14681
14682         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14683
14684         * glyphs-msw.c: Added image methods to msprinter console and
14685         msprinter-specific image instantiation.
14686
14687 2000-02-20  Mike Alexander  <mta@arbortext.com>
14688
14689         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14690         to avoid crashes when selection-sets-clipboard is on
14691         (mswindows_own_selection): ditto
14692
14693 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14694
14695         * glyphs-msw.c:
14696         * redisplay-msw.c (get_frame_dc):
14697         (get_frame_compdc):
14698         * console-msw.h:
14699         * device-msw.c (mswindows_init_device):
14700         (mswindows_delete_device):
14701         (msprinter_init_device):
14702         (msprinter_delete_device):
14703         * frame-msw.c (mswindows_init_frame_1):
14704         (mswindows_delete_frame):
14705         (msprinter_init_frame_3):
14706         (msprinter_delete_frame): Move compatible DC to device object from
14707         frame object, for both mswindows and msprinter. Only one at a time
14708         is needed, it is a real waste to have one per frame!
14709
14710 2000-02-23  Andy Piper  <andy@xemacs.org>
14711
14712         * glyphs.c: add dynamic width and height elements.
14713         (image_instance_equal): ditto.
14714
14715         * glyphs-widget.c (widget_query_geometry): calculate width and
14716         height dynamically if required.
14717         (initialize_widget_image_instance): initialize dynamic dimensions.
14718         (widget_instantiate): pick-up dynamic dimensions.
14719
14720         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14721         dynamic determination. Add appropriate macros.
14722
14723         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14724         dimensions safe.
14725         (WINDOW_GUTTER_SIZE): ditto.
14726         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14727
14728         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14729         inline.
14730         (get_frame_dc): ditto.
14731
14732         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14733         here.
14734
14735 2000-02-23  Martin Buchholz <martin@xemacs.org>
14736
14737         * XEmacs 21.2.31 is released.
14738
14739 2000-02-22  Ben Wing <ben@xemacs.org>
14740
14741         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14742
14743 2000-02-22  Andy Piper  <andy@xemacs.org>
14744
14745         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14746
14747 2000-02-21  Mike Sperber <mike@xemacs.org>
14748
14749         * .dbxrc:
14750         * .gdbinit:
14751         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14752         variables.
14753
14754 2000-02-21  Mike Sperber <mike@xemacs.org>
14755
14756         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14757
14758 2000-02-21  Martin Buchholz <martin@xemacs.org>
14759
14760         * XEmacs 21.2.30 is released.
14761
14762 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14763
14764         Performance hacking.
14765         * *.c (syms_of_*):
14766         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14767         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14768         * emacs.c (main_1):
14769         * lisp.h (DEFUN):
14770         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14771         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14772         * symeval.h (DEFVAR_SYMVAL_FWD):
14773         * symbols.c (guts_of_unbound_marker):
14774         Make all c_readonly objects also lisp_readonly and marked for life.
14775         * lrecord.h (struct lrecord_implementation):
14776         Document flags better.
14777         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14778         * lrecord.h (DECLARE_LRECORD):
14779         * lrecord.h (XSETRECORD):
14780         * lrecord.h (RECORDP):
14781         * lrecord.h (RECORD_TYPEP):
14782         * lrecord.h (RECORD_MARKER): New.
14783         * lrecord.h (error_check_*):
14784         * lrecord.h (CONCHECK_NONRECORD):
14785         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14786         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14787         * lrecord.h (set_lheader_implementation):
14788         * lrecord.h (enum lrecord_type): New.
14789         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14790         * alloc.c (disksave_object_finalization_1):
14791         * alloc.c (mark_object):
14792         * alloc.c (lrecord_type_index):
14793         * alloc.c (tick_lcrecord_stats):
14794         * alloc.c (Fgarbage_collect):
14795         * alloc.c (init_alloc_once_early):
14796         * alloc.c (pdump_load):
14797         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14798         * alloc.c (lrecord_type_index): Delete.
14799         Make lisp object type indexes be constant.
14800           Makes (byte-compile) 5% faster.
14801         Put all marker functions into their own array.
14802           Makes (garbage-collect) 5% faster.
14803         Optimize SYMBOL_VALUE_MAGIC_P.
14804           Makes (byte-compile) 2-3% faster.
14805         * config.h.in (gc_checking_assert): New.
14806         * alloc.c: Use gc_checking_assert().
14807         * .dbxrc: Make compatible with new object type implementation.
14808         * .gdbinit: Make compatible with new object type implementation.
14809         * alloc.c: Delete all symbols defined only for debugging, such as
14810         Lisp_Type_Vector and lrecord_charset.
14811
14812 2000-02-21  Andy Piper  <andy@xemacs.org>
14813
14814         * gui-msw.c (Fmswindows_shell_execute): fix file location
14815         problems.
14816
14817         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14818         unshowing so that set_window_buffer doesn't undo
14819         kill_buffer_hook's hard work.
14820
14821         * glyphs-widget.c (tab_control_query_geometry): don't count the
14822         first item when calculating geometry.
14823
14824         * glyphs.c (map_subwindow): remove redundant code.
14825         (update_frame_subwindows): be more circumspect about when to
14826         update subwindows.
14827
14828         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14829         when items haven't changed. Update faces if faces have changed as
14830         well as just the widget face.
14831         (x_tab_control_update): Update faces if faces have changed as well
14832         as just the widget face.
14833
14834 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14835
14836         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14837         registration.
14838         (build_syscolor_string): Use mswindows_color_to_string to try to
14839         get a named color.
14840         (mswindows_device_system_metrics): Reverse the foreground and
14841         background colors so that they match the documentation.
14842
14843         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14844         they match the default Windows palette.
14845         (mswindows_color_to_string): New function.
14846
14847 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14848
14849         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14850
14851 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14852
14853         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14854         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14855
14856         * symbols.c (init_symbols_once_early): Removed obsolete
14857         DATA_SEG_BITS related kludge.
14858         (defvar_magic): Ditto.
14859
14860         * malloc.c: Removed obsolete DATA_SEG_BITS
14861         * ralloc.c: Ditto.
14862         * mem-limits.h: Ditto.
14863
14864         * Makefile.in.in: Removed obsolete HAVE_SHM
14865         * emacs.c: Ditto.
14866
14867 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14868
14869         *  device-msw.c (mswindows_delete_device): Free DDE string
14870         handles.
14871
14872 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14873
14874         * keymap.c (get_keyelt):
14875         * unexnt.c (unexec):
14876         * vm-limit.c (memory_warnings):
14877         * ntheap.c (recreate_heap):
14878         * ntheap.h (UNINIT_PTR):
14879         * select-msw.c (Fmswindows_get_clipboard):
14880         (Fmswindows_set_clipboard):
14881         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14882         * objects-msw.c:
14883         * menubar-msw.c (displayable_menu_item):
14884         * glyphs-msw.c:
14885         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14886         * sysdep.c (sys_subshell):
14887         * process-nt.c (nt_create_process):
14888         * nt.c (normalize_filename):
14889         (dostounix_filename):
14890         (unixtodos_filename):
14891         * ntproc.c (win32_executable_type):
14892         * ntplay.c (play_sound_data_1):
14893         (play_sound_file):
14894         * editfns.c (get_home_directory):
14895         * event-msw.c (struct winsock_stream):
14896         (mswindows_dde_callback):
14897         * device-msw.c (msprinter_init_device):
14898         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14899
14900         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14901         mswindows_clear_toolbar were swapped!
14902
14903         * objects-msw.c:(colormap_t):
14904         (fontmap_t):
14905         * emacs.c (struct standard_args): Fixed const jumble.
14906
14907         * glyphs-widget.c (update_widget): Fixed comparison notation.
14908
14909         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14910
14911         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14912         __declspec(noreturn) syntax.
14913
14914 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14915
14916         * eldap.c (Fldap_open):
14917         (Fldap_search_basic):
14918         (Fldap_add):
14919         (Fldap_modify):
14920         Use new coding system conversion macros.
14921
14922 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14923
14924         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14925
14926 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14927
14928         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14929         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14930
14931         * eldap.c (Qadd, Qreplace): New constant symbols
14932         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14933         interruptions by XEmacs signals
14934         Remove unnecessary calls to slow_down_interrupts and
14935         speed_up_interrupts
14936         (Fldap_search_basic): Renamed from Fldap_search_internal
14937         Added new optional parameter VERBOSE that triggers the
14938         display of progress messages
14939         Remove unnecessary calls to slow_down_interrupts and
14940         speed_up_interrupts
14941         LDAP result code analysis rewritten
14942         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14943         (syms_of_eldap): Define the new symbols and functions
14944
14945
14946 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14947
14948         * realpath.c: Determine PATH_MAX maximally portably.
14949
14950         * insdel.c (bytecount_to_charcount): Optimize.
14951         The function used to be optimized for entirely ASCII sequences.
14952         Now it is optimized for successive characters from the same
14953         charset.  This also wins big for _mostly_ ASCII sequences.
14954
14955         * fileio.c (Ffile_truename): convert return from realpath() using
14956         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14957         - Rewrite GCPROing slightly.
14958
14959         * sysdep.c (sys_open): Do filename conversion, like all other
14960         sys_* functions.  Fixes bug:
14961         (let ((file-name-coding-system 'iso-8859-2))
14962            (write-region x y latin2-name))
14963         ==> writes filename using internal encoding.
14964
14965 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14966
14967         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14968         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14969         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14970         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14971         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14972         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14973         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14974         (CONST_IF_NOT_DEBUG): Delete.
14975         * alloc.c (this_one_is_unmarkable): Delete.
14976         (mark_object): Don't check for this_one_is_unmarkable. Use the
14977         c_readonly flag instead.
14978         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14979
14980 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14981
14982         * event-msw.c (mswindows_drain_windows_queue):
14983         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14984         away redundant repaint events.
14985
14986 2000-02-17  Andy Piper  <andy@xemacs.org>
14987
14988         * redisplay.h: declare mark_redisplay_structs.
14989
14990         * redisplay.c (redisplay_window):
14991         (redisplay_frame): don't check subwindows_state_changed.
14992         (mark_redisplay): mark gutters here.
14993
14994         * glyphs.c: (instantiate_image_instantiator): always layout if we
14995         haven't done so already.
14996         (allocate_image_instance): don't mark as dirty.
14997         (update_subwindow): bind inhibit_quit.
14998
14999         * gutter.c (mark_gutters): new function.
15000
15001         * glyphs-x.c (x_update_widget): Always resize to get round a
15002         widget bug.
15003
15004         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15005         breaking absolutely everything.
15006
15007         * gutter.h: declare mark_gutters.
15008
15009 2000-02-16  Martin Buchholz <martin@xemacs.org>
15010
15011         * XEmacs 21.2.29 is released.
15012
15013 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15014
15015         * fns.c (size_bit_vector): Fix computation of the size.
15016
15017 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15018
15019         * *.[ch]: Change CONST to const globally.
15020         find -name '*.[ch]' | \
15021         xargs global-replace \
15022         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15023         - Remove vestigial references to CONST_IS_LOSING
15024
15025 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15026
15027         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15028         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15029         events instead of dispatching them directly.
15030         (mswindows_handle_paint): New function to do repainting.
15031         (mswindows_wnd_proc):
15032         (emacs_mswindows_handle_magic_event): Call above function.
15033
15034 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15035
15036         * objects-msw.c (mswindows_create_font_variant): Return the new
15037         font handle.
15038         (initialize_font_instance): Get font metrics from the underlined
15039         variant of the font to cope with the case where the underlined
15040         font has a bigger descent.
15041
15042 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15043
15044         * gui.c (gui_item_accelerator): Return the first underlined
15045         character in item name.
15046
15047 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15048
15049         * lisp.h: Added Qprinter.
15050
15051         * general.c (syms_of_general): Initialized it.
15052
15053         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15054         (get_frame_dc):
15055         (get_frame_compdc): Made inline.
15056
15057         * console.h (struct console_methods): Added eject_page method.
15058
15059         * frame.h: Added FRAME_DISPLAY_P and friends.
15060         Aligned backslahes in many macros in more readable fashion.
15061         Added page_number to struct frame, and an accessor macro
15062         for it.
15063
15064         * defice.h: Added DEVICE_DISPLAY_P and friends.
15065
15066         * device.c (Fdevice_printer_p): Used these.
15067
15068         * frame.c (allocate_frame_core): Initialize page number.
15069         (Fprint_job_page_number):
15070         (Fprint_job_eject_page): Implemented.
15071
15072         * frame-msw.c (msprinter_eject_page): Added method.
15073         (msprinter_start_page): Added.
15074
15075         * window.c (Fwindow_truncated_p): Fixed docstring.
15076         (Fwindow_last_line_visible_height): Implemented.
15077
15078 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15079
15080         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15081
15082 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15083
15084         * syntax.c (scan_words): Always advance at least one character.
15085
15086 2000-02-13  Andy Piper  <andy@xemacs.org>
15087
15088         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15089         to make sure the glyph is in the cachels.
15090
15091         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15092         global image instance flag.
15093         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15094         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15095
15096         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15097         (Fset_image_instance_property): mark layout as changed.
15098         (invalidate_glyph_geometry_maybe): mark layout as changed.
15099         (glyph_width): use new NEEDS_LAYOUT macro.
15100         (glyph_ascent): ditto.
15101         (glyph_descent): ditto.
15102         (glyph_height): ditto.
15103         (image_instance_layout): mark layout as clean after laying out.
15104         (update_subwindow): don't mark layout as clean here.
15105
15106         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15107         should no longer be needed.
15108
15109         * glyphs-x.c (x_update_widget): sanitize asserts.
15110         (x_finalize_image_instance): sanitize assignment to widgets.
15111
15112         * glyphs-widget.c (widget_instantiate): don't need to clear the
15113         layout flag here.
15114
15115 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15116
15117         * sysdep.c (getcwd): Use standard prototype.
15118         * sysdep.h (getcwd): Use standard prototype.
15119
15120         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15121         (sequence, start, end).
15122         Remove redundant type checking.
15123         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15124         view of `caller-protects') to avoid a crash where the real fix was
15125         found elsewhere.
15126
15127 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15128
15129         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15130
15131         * s/sol2.h: Remove feature macro initialization.
15132
15133         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15134         (vector_hash): New.  Code from internal_hash.
15135         * lrecord.h:
15136         Fix up allocation subsystem comments.
15137
15138         * config.h.in: Add __EXTENSIONS__ for Solaris.
15139
15140         * systime.h (EMACS_GETTIMEOFDAY): New.
15141         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15142         Remove Solaris-specific code.
15143         Use void* for the (ignored) second arg for gettimeofday().
15144
15145         * elhash.c (hash_table_hash): Implement it, finally.
15146         * elhash.c:  Use hashcode_t.
15147
15148         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15149         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15150
15151         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15152         * fns.c (size_bit_vector):
15153         * alloc.c (size_vector):
15154         (make_vector_internal):
15155         (make_bit_vector_internal):
15156         (sweep_bit_vectors_1):
15157         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15158
15159 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15160
15161         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15162         Include strings.h to avoid warnings for bzero and strcasecmp.
15163
15164 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15165
15166         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15167         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15168
15169         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15170         sequence.
15171
15172 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15173
15174         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15175         use a value field instead.
15176         (symbol_value_forward_forward): Use value field.
15177         (DEFVAR_SYMVAL_FWD): Use value field.
15178         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15179         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15180         (DEFVAR_CONST_INT): Ditto.
15181         (DEFVAR_BOOL): Ditto.
15182         (DEFVAR_CONST_BOOL): Ditto.
15183         (DEFVAR_INT_MAGIC): Ditto.
15184         (DEFVAR_BOOL_MAGIC): Ditto.
15185
15186         * symbols.c (guts_of_unbound_marker): Use value field.
15187         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15188         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15189
15190         * lisp.h: Declare dumpopaque and noninteractive1.
15191
15192         * alloc.c (dumpopaque): Added.
15193         (pdump_dump_opaquevec): Added.
15194         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15195         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15196         noninteractive.
15197
15198 2000-02-10  Andy Piper  <andy@xemacs.org>
15199
15200         * glyphs.c (image_instance_layout): if the size changes, mark it
15201         as such.
15202
15203         * redisplay-output.c (redisplay_output_layout): Update the
15204         subwindow here.
15205         (redisplay_output_subwindow): ditto.
15206
15207         * glyphs.c (update_subwindow): make sure we reset flags for
15208         layouts as well as everything else.
15209
15210         * glyphs-widget.c (layout_layout): don't need to set the instances
15211         dimensions here.
15212
15213 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15214
15215         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15216         not HAVE_DLOPEN, which is a lower-level thing.
15217
15218         * .cvsignore: Ignore gmon.out
15219
15220 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15221
15222         * .cvsignore: Ignore portable dumper xemacs.dmp file
15223
15224 2000-02-09  Andy Piper  <andy@xemacs.org>
15225
15226         * redisplay-output.c (redisplay_output_layout): be more clever
15227         about when we output based on the changed flags.
15228
15229         * glyphs.h (struct image_instantiator_methods): add update_method.
15230         (struct Lisp_Image_Instance): add changed flags. Declare new
15231         macros for manipulating them.
15232
15233         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15234         (image_instance_parent_glyph): find an image_instance's parent
15235         glyph or image_instance.
15236         (image_instance_layout): mark the size as changed.
15237         (set_image_instance_dirty_p): new function. mark an image
15238         instance, plus all of its parents, as dirty.
15239         (Fset_image_instance_property): use it.
15240         (Fglyph_animated_timeout_handler): use it.
15241         (update_subwindow): call update_widget and device methods for
15242         update_subwindow. Mark all changed flags as clean.
15243         (Fresize_subwindow): mark size as changed.
15244
15245         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15246         failures.
15247         (x_update_subwindow): only resize subwindows here.
15248         (x_update_widget): new function. Update all changed properties of
15249         a widget.
15250         (x_resize_subwindow): deleted.
15251         (x_widget_set_property): deleted.
15252         (x_progress_gauge_set_property): deleted.
15253         (x_progress_gauge_update): new function. Implement recorded
15254         changes.
15255         (x_tab_control_update): ditto.
15256         (x_tab_control_set_property): deleted.
15257         (console_type_create_glyphs_x): declare new functions.
15258         (image_instantiator_format_create_glyphs_x): ditto.
15259
15260         * glyphs-widget.c (widget_set_property): mark text changed.
15261         (update_widget): new function. Update properties of a widget.
15262         (widget_instantiate): for layouts make sure we set their
15263         children's parent correctly.
15264         (tab_control_set_property): new function. Record changes that will
15265         take place under redisplay's control.
15266         (progress_gauge_set_property): ditto.
15267         (image_instantiator_progress_guage): declare new functions.
15268         (image_instantiator_tab_control): ditto.
15269
15270         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15271         now.
15272         (mswindows_update_widget): new function. Update all properties on
15273         a widget that have changed.
15274         (mswindows_button_update): new function. Update a button's set
15275         state.
15276         (mswindows_tab_control_update): new function. Update the items in
15277         a tab.
15278         (mswindows_tab_control_set_property): deleted.
15279         (mswindows_progress_gauge_update): new function. Update the
15280         progress gauge's progress.
15281         (mswindows_widget_set_property): deleted. This is all done
15282         asynchronously now.
15283         (mswindows_progress_gauge_set_property): ditto.
15284         (console_type_create_glyphs_mswindows): declare new methods.
15285         (image_instantiator_format_create_glyphs_mswindows): ditto.
15286
15287         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15288         (msprinter_set_frame_properties): ditto.
15289
15290         * console.h (struct console_methods): Add update_widget_method.
15291
15292 2000-02-09  Andy Piper  <andy@xemacs.org>
15293
15294         * gui-msw.c (Fmswindows_shell_execute): Make
15295         mswindows-shell-execute industrial strength.
15296
15297 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15298
15299         * lrecord.h: Make macro argument `props' match member function `plist'.
15300         * fns.c (Fget):
15301         * fns.c (Fput):
15302         * fns.c (Fremprop):
15303         * fns.c (Fobject_plist):
15304         * alloc.c:
15305         * symbols.c:
15306         Object property list frobbing cleanup.
15307         - Allow any lisp object (compared with `eq'), not just symbols, as
15308           keys in object plists.
15309         - Move symbol plist frobbing into symbols.c, where it belongs.
15310         - Move string plist frobbing into alloc.c, where it belongs.
15311         - Everything's an lrecord now, so no need to test for symbolp, etc.
15312         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15313
15314         * extents.c: Reorder code to remove declarations.
15315
15316         * frame.h (store_in_alist): Remove useless declaration.
15317
15318 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15319
15320         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15321         * config.h.in: Add HAVE_XCONVERTCASE.
15322
15323 2000-02-07  Andy Piper  <andy@xemacs.org>
15324
15325         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15326         it breaks many things.
15327
15328 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15329
15330         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15331         actually can start a common comment type.
15332         * src/syntax.h (SYNTAX_END_P): ditto for end.
15333
15334 2000-02-07  Martin Buchholz <martin@xemacs.org>
15335
15336         * XEmacs 21.2.28 is released.
15337
15338 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15339
15340         * event-Xt.c (x_keysym_to_character): New.
15341         (maybe_define_x_key_as_self_inserting_character): New.
15342         (x_has_keysym): New.
15343         Auto-define all keys on the keyboard as self-insert-key.
15344
15345 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15346
15347         * menubar.c (vars_of_menubar): A small code simplification.
15348
15349         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15350
15351         * ExternalShell.c:
15352         * ExternalClient.c:
15353         * EmacsShell-sub.c:
15354         * EmacsManager.c:
15355         * EmacsFrame.c:
15356         Use consistent style for specifying X resources.
15357
15358         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15359         This makes (dontusethis-set-symbol-value-handler) actually usable.
15360
15361         * lrecord.h (lrecord_decription_type):
15362         * alloc.c (pdump_register_sub):
15363         (pdump_dump_data):
15364         (pdump_reloc_one):
15365         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15366         Comply with XEmacs coding style.
15367         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15368         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15369
15370         * keymap.c (Faccessible_keymaps):
15371         Make (accessible-keymaps map "\C-h") do the Right Thing.
15372         Make (accessible-keymaps map []) do the Right Thing.
15373         Make (accessible-keymaps map "") do the Right Thing.
15374         (check_keymap_definition_loop): New function.
15375         (keymap_store_internal): Keep luser from shooting self in foot,
15376           via (define-key ctl-x-4-map "p" global-map).
15377         Remove fullness slot from struct Lisp_Keymap, since hash tables
15378         are now reliable.
15379         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15380
15381 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15382
15383         * redisplay.c (init_redisplay): Fix small memory leak.
15384         * elhash.h:
15385         * elhash.c (pdump_reorganize_hash_table):
15386         Rename from reorganize_hash_table. Change prototype.
15387         Reuse the original memory for hentries.  Save 100k.
15388         * alloc.c (PDUMP_READ): new macro.
15389         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15390         * alloc.c: No need to #ifndef before #undef.
15391
15392         * print.c: Allow debug_print() to print readably by modifying
15393         debug_print_readably.  Use consistent variable names.
15394
15395         * .dbxrc: Try to get things to work even if stopped in a function
15396         without source available by explicitly specifying source files.
15397 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15398
15399         * unexnt.c (_start): Removed bogus code which caused loading heap
15400         from differrent executable file.
15401         Removed bogus assignment to _fmode, which caused inconsistencies.
15402
15403 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15404
15405         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15406         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15407         Do not preliminary `#define signal sigset'.
15408
15409         * systime.h: Do not prototype environ on windows nt and cygwin,
15410         this conflicts with system header.
15411
15412         * syssignal.h: Use correct define for WINDOWSNT
15413
15414         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15415         with system header.
15416
15417         * sysdep.c (near start of file): Fixed commentary and rearranged
15418         ifdefs in readable order.
15419         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15420         (start_of_text):
15421         (end_of_text):
15422         (end_of_data): Do not compile in if using PDUMP.
15423
15424         * symsinit.h: Prototyped vars_of_nt().
15425
15426         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15427         (find_child_console): Use it.
15428         (sys_kill): Use it.
15429
15430         * ntheap.h: Do not extern os_subtype.
15431
15432         * ntheap.c (cache_system_info): Do not cache unneeded:
15433         nt_major_version, nt_minor_version and os_subtype.
15434         (recreate_heap): Do not compile in when PDUMPing.
15435
15436         * nt.c (geteuid and friends): Use the new varibale
15437         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15438         (init_user_info): Removed the above mentioned hackery.
15439         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15440         stat has been fixed in the C runtime.
15441         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15442
15443         * file-coding.c (struct file_coding_dump): Do not define
15444         ucs_to_mule_table in the struct if not MULE.
15445         (struct struct lrecord_description fcd_description_1): Do not dump
15446         the above.
15447
15448         * emacs.c (main_1): Call vars_of_nt().
15449         (right before Fdump_emacs_data): Don't need lastfile if using both
15450         portabe dumper and system malloc.
15451
15452         * alloc.c (Fmemory_limit): Conditionalized out.
15453         (pdump): Use OPEN_BINARY for the portable dump file.
15454         (pdump_load): Ditto.
15455
15456 2000-02-02  Mike Alexander  <mta@arbortext.com>
15457
15458         * nt.c (convert_time): Set tm_isdst before calling mktime and
15459         avoid calling it at all if the compiler supports 64 bit integers.
15460         Also initialize utc_base_ft before using it.
15461
15462 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15463
15464         * frame.c (change_frame_size_1): Take f->internal_border_width
15465         into consideration when calculating the width of the frame.
15466
15467 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15468
15469         * window.c (frame_min_height):
15470         (frame_size_valid_p):
15471         (frame_pixsize_valid_p): Added.
15472         (check_frame_size): Generalized.
15473
15474         * window.h: Prototyped the above.
15475
15476         * lisp.h:
15477         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15478         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15479         Deleted Vwin32_* and Vbinary_process_* unused variables.
15480
15481         * device-msw.c (msprinter_init_device): Do not get printer font
15482         list; Added DEVMODE functions.
15483
15484         * frame-msw.c: Added lots of printer code.
15485
15486         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15487         general.c.
15488
15489         * console-msw.h: Added more msprinter device private slots.
15490
15491 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15492
15493         * event-msw.c (key_needs_default_processing_p): Added.
15494         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15495
15496 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15497
15498         * glyphs.c (image_instance_layout): Mark image instance as clean
15499         after layout.
15500         (glyph_dirty_p): Removed redundant function.
15501         (invalidate_glyph_geometry_maybe): Added.
15502         (update_glyph_cachel_data): Call it.
15503
15504         * glyphs.h: Prototyped it.
15505
15506         * redisplay.c (add_glyph_rune): Call it.
15507         (redisplay_window): Reset glyphs cachels when frame faces have
15508         changed, thus forcing recomputation of built-in border glyphs.
15509
15510 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15511
15512         * Makefile.in.in: Make portable dumper and purify play well together.
15513         Add imperfect, but better than nothing, support for pdump.
15514         Remove xemacs.dmp when temacs is re-generated.
15515         Don't ignore errors when dumping xemacs.
15516
15517         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15518
15519 2000-01-28  Andy Piper  <andy@xemacs.org>
15520
15521         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15522         (setup_normal_frame): ditto.
15523         (setup_frame_without_minibuffer): ditto.
15524         (setup_minibuffer_frame): ditto.
15525         (delete_frame_internal): ditto.
15526         (Fmake_frame_invisible): ditto.
15527         (Ficonify_frame): ditto.
15528
15529         * window.h: change Fset_window_buffer signature.
15530
15531         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15532         (Fset_window_buffer): allow recording of buffer if the window is
15533         the selected window.
15534         (window_loop): Use new Fset_window signature.
15535
15536 2000-01-23  Daniel Pittman  <daniel@danann.net>
15537
15538         * config.h.in: Added template for `HAVE_ATHENA_3D'
15539
15540 2000-01-29  Andy Piper  <andy@xemacs.org>
15541
15542         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15543
15544         * gutter.c (output_gutter): Don't output if the window isn't live.
15545
15546 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15547
15548         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15549         of 01/12/00: Moved SetFocus back here where it belongs.
15550
15551 2000-01-23  Andy Piper  <andy@xemacs.org>
15552
15553         * s/cygwin32.h: declare printer things.
15554
15555 2000-01-26  Andy Piper  <andy@xemacs.org>
15556
15557         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15558         Alexander.
15559
15560 2000-01-24  Andy Piper  <andy@xemacs.org>
15561
15562         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15563         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15564
15565         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15566
15567         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15568
15569         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15570
15571         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15572         (mswindows_output_display_block): Avoid local shadows.
15573
15574         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15575         (mswindows_enqueue_mouse_button_event): ditto.
15576         (mswindows_handle_gui_wm_command): remove declaration.
15577
15578         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15579         warnings.
15580
15581         * console-msw.h: Avoid shadows.
15582         (mswindows_get_toolbar_button_text):
15583         (emacs_mswindows_create_stream_pair):
15584         (emacs_mswindows_delete_stream_pair):
15585         (mswindows_handle_toolbar_wm_command): declare.
15586
15587         * device-msw.c (build_syscolor_string): Avoid shadows.
15588
15589 2000-01-23  Andy Piper  <andy@xemacs.org>
15590
15591         * glyphs-widget.c (widget_instantiate): reverse the items for
15592         layouts so that children are in the expected order.
15593
15594 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15595
15596         * ralloc.c: safe_bcopy ==> memmove
15597         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15598         * s/msdos.h: Remove BCOPY macros.
15599         * insdel.c (gap_right): Remove BCOPY conditional code.
15600         * insdel.c (gap_left): Remove BCOPY conditional code.
15601         XEmacs demands a working ANSI C compiler - hence memmove.
15602
15603         * regex.c (regex_compile): Remove accidental use of trigraphs.
15604
15605 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15606
15607         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15608         event timestamp.
15609
15610 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15611
15612         * event-msw.c (mswindows_drain_windows_queue): Added the
15613         parameter.
15614         (mswindows_need_event): Commented the call to
15615         mswindows_drain_windows_queue().
15616         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15617         only.
15618
15619         * console-msw.h: Moved a few function prototypes here from
15620         event-msw.c.
15621
15622         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15623         parameter from unsigned short to unsigned long.
15624         (Fmswindows_shell_execute): Added return value.
15625
15626 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15627
15628         * sysdep.c (init_system_name):
15629           process-unix.c (unix_canonicalized_host_name):
15630         Don't call freeaddrinfo() if getaddrinfo() fails.
15631
15632         * process-unix.c (unix_open_unix_network_stream):
15633         Moved the code to get a port # into address loop.
15634
15635 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15636
15637         * buffer.c (reinit_vars_of_buffer):
15638         The right place to initialize conversion_in_dynarr and
15639         conversion_out_dynarr.
15640
15641         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15642
15643         * process-unix.c (unix_canonicalize_host_name): Muleize.
15644         (unix_open_network_stream): Muleize.
15645
15646         * buffer.h: Fix up prototypes for ralloc.c functions.
15647
15648 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15649         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15650         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15651                 instead of gethostbyname()
15652         * process-unix.c: In unix_canonicalize_host_name() and
15653                 unix_open_network_stream(), add code to use getaddrinfo()
15654                 instead of gethostbyname().
15655
15656 2000-01-27  Daniel Pittman <daniel@danann.net>
15657
15658         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15659         libs when built with flat Athena.
15660
15661 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15662
15663         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15664         Use coding standards for function prototypes.
15665
15666 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15667
15668         * dialog-msw.c (push_lisp_string_as_unicode):
15669         * doc.c (unparesseuxify_doc_string):
15670         * dired.c (Fuser_name_completion_1):
15671         * dired.c (Fuser_name_all_completions):
15672         * dired.c (free_user_cache):
15673         * dired.c (user_name_completion):
15674         * console-x.c (get_display_arg_connection):
15675         * minibuf.c (clear_echo_area_internal):
15676         * minibuf.c (echo_area_append):
15677         * eldap.c (Fldap_open):
15678         * eldap.c (Fldap_search_internal):
15679         * frame-x.c (x_set_frame_text_value):
15680         * frame-x.c (x_set_frame_properties):
15681         * frame-x.c (x_create_widgets):
15682         * redisplay-tty.c (term_get_fkeys_1):
15683         * objects-x.c (x_parse_nearest_color):
15684         * objects-x.c (x_valid_color_name_p):
15685         * objects-x.c (x_initialize_font_instance):
15686         * objects-x.c (x_list_fonts):
15687         * objects-x.c (x_find_charset_font):
15688         * tooltalk.c (Fadd_tooltalk_message_arg):
15689         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15690         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15691         * process-unix.c (unix_create_process):
15692         * ntproc.c (sys_spawnve):
15693         * sound.c (Fplay_sound_file):
15694         * sound.c (Fplay_sound):
15695         * buffer.c (init_initial_directory):
15696         * buffer.c (init_buffer):
15697         * editfns.c (init_editfns):
15698         * editfns.c (Ftemp_directory):
15699         * editfns.c (Fuser_full_name):
15700         * editfns.c (uncache_home_directory):
15701         * editfns.c (get_home_directory):
15702         * editfns.c (Fuser_home_directory):
15703         * editfns.c (Fformat_time_string):
15704         * editfns.c (Fcurrent_time_string):
15705         * gui-x.c (button_item_to_widget_value):
15706         * database.c (Fopen_database):
15707         * event-Xt.c (x_to_emacs_keysym):
15708         * event-Xt.c (x_event_to_emacs_event):
15709         * event-Xt.c (describe_event_window):
15710         * event-msw.c (mswindows_wnd_proc):
15711         * glyphs-eimage.c (jpeg_instantiate):
15712         * glyphs-eimage.c (gif_instantiate):
15713         * glyphs-eimage.c (png_instantiate):
15714         * glyphs-eimage.c (tiff_instantiate):
15715         * glyphs-x.c (xbm_instantiate_1):
15716         * glyphs-x.c (x_xbm_instantiate):
15717         * glyphs-x.c (x_xface_instantiate):
15718         * glyphs-x.c (autodetect_instantiate):
15719         * glyphs-x.c (cursor_font_instantiate):
15720         * glyphs-x.c (x_widget_instantiate):
15721         * glyphs-x.c (x_widget_set_property):
15722         * glyphs-x.c (x_widget_property):
15723         * glyphs-x.c (BUILD_GLYPH_INST):
15724         * print.c (write_string_to_stdio_stream):
15725         * print.c (output_string):
15726         * print.c (Falternate_debugging_output):
15727         * print.c (Fexternal_debugging_output):
15728         * glyphs-msw.c (extract_xpm_color_names):
15729         * glyphs-msw.c (mswindows_xpm_instantiate):
15730         * glyphs-msw.c (bmp_instantiate):
15731         * glyphs-msw.c (resource_name_to_resource):
15732         * glyphs-msw.c (mswindows_resource_instantiate):
15733         * glyphs-msw.c (xbm_instantiate_1):
15734         * glyphs-msw.c (mswindows_xbm_instantiate):
15735         * glyphs-msw.c (mswindows_xface_instantiate):
15736         * glyphs-msw.c (mswindows_widget_instantiate):
15737         * glyphs-msw.c (add_tree_item):
15738         * glyphs-msw.c (add_tab_item):
15739         * glyphs-msw.c (mswindows_combo_box_instantiate):
15740         * glyphs-msw.c (mswindows_widget_property):
15741         * glyphs-msw.c (mswindows_combo_box_property):
15742         * glyphs-msw.c (mswindows_widget_set_property):
15743         * console.c (stuff_buffered_input):
15744         * objects-msw.c (mswindows_initialize_color_instance):
15745         * objects-msw.c (mswindows_valid_color_name_p):
15746         * objects-msw.c (mswindows_list_fonts):
15747         * objects-msw.c (mswindows_font_instance_truename):
15748         * bytecode.c (optimize_compiled_function):
15749         * select-x.c (symbol_to_x_atom):
15750         * select-x.c (x_atom_to_symbol):
15751         * select-x.c (hack_motif_clipboard_selection):
15752         * select-x.c (selection_data_to_lisp_data):
15753         * select-x.c (lisp_data_to_selection_data):
15754         * select-x.c (Fx_get_cutbuffer_internal):
15755         * select-x.c (Fx_store_cutbuffer_internal):
15756         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15757         * buffer.h (TO_INTERNAL_FORMAT): New function.
15758         * emacs.c (make_arg_list_1):
15759         * emacs.c (make_argc_argv):
15760         * emacs.c (main_1):
15761         * emacs.c (Fdump_emacs):
15762         * emacs.c (split_string_by_emchar_1):
15763         * file-coding.h:
15764         * lisp.h:
15765         * lstream.h:
15766         * symsinit.h:
15767         * device-x.c (x_init_device):
15768         * device-x.c (Fx_valid_keysym_name_p):
15769         * device-x.c (Fx_get_font_path):
15770         * device-x.c (Fx_set_font_path):
15771         * glyphs.c (bitmap_to_lisp_data):
15772         * glyphs.c (pixmap_to_lisp_data):
15773         * alloc.c (make_ext_string): Use coding system arguments.  Update
15774         all callers.
15775         * alloc.c (build_string):
15776         * callproc.c (child_setup):
15777         * callproc.c (init_callproc):
15778         * fileio.c (lisp_strerror):
15779         * fileio.c (directory_file_name):
15780         * fileio.c (Fexpand_file_name):
15781         * fileio.c (Ffile_truename):
15782         * fileio.c (Fsysnetunam):
15783         * fileio.c (Fdo_auto_save):
15784         * sysdep.c (sys_readdir):
15785         * tests.c: New file.  Allow adding C tests.
15786         Replace GET_* macros with a more comprehensible and flexible
15787         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15788         Modify all calls.
15789         Any coding system can be used to do format conversion.
15790         Eliminate enum external_data_format.
15791         Eliminate convert_to_external_format.
15792         Eliminate convert_to_internal_format.
15793         Make sure file-name, keyboard, terminal, and ctext are always
15794         defined as coding systems or aliases.  Make
15795         file-name-coding-system, terminal-coding-system, and
15796         keyboard-coding-system magical variables that are equivalent to
15797         defining the corresponding coding system aliases.
15798
15799         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15800         * file-coding.c (Fcoding_system_alias_p): New function.
15801         * file-coding.c (Fcoding_system_aliasee): New function.
15802         * file-coding.c (append_suffix_to_symbol): New function.
15803         * file-coding.c (dangling_coding_system_alias_p): New function.
15804         * file-coding.c (Ffind_coding_system):
15805         * file-coding.c (Fcopy_coding_system):
15806         * file-coding.c (encode_coding_no_conversion):
15807         * file-coding.c (syms_of_file_coding):
15808         * file-coding.c (vars_of_file_coding):
15809         Rewrite coding system alias code.
15810         Allow nested aliases, like symbolic links.
15811         Allow redefinition of coding system aliases.
15812         Prevent existence of dangling coding system aliases.
15813
15814         * dired.c (Fuser_name_completion_1):
15815         * dired.c (Fuser_name_all_completions):
15816         A crash would happen if user did QUIT in the middle of building
15817         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15818
15819         * lisp.h:
15820         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15821
15822         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15823         an unsigned char *.  Update all callers.
15824
15825 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15826
15827         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15828
15829 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15830
15831         * elhash.c (hentry_description): Use more portable definition.
15832         (resize_hash_table): Initialize new hentries using
15833         xnew_array_and_zero, thereby simplifying the code.
15834
15835         * mule-charset.c (make_charset): Make sure entire object is
15836         initialized, to avoid Purify warnings.
15837
15838         * alloc.c (resize_string): Fix unlikely crash with big strings.
15839
15840 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15841
15842         * realpath.c (xrealpath):
15843         Don't call getwd().
15844
15845 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15846
15847         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15848
15849 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15850
15851         * unexelfsgi.c (unexec): Change the way we decide which segment
15852         should be extended.
15853
15854         Assumption that .bss section should be outside the PT_LOADable
15855         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15856         it's present) is inside the 'data' segment. This would fail the
15857         test which was used to find a segment to grow and cover new
15858         heap. Instead of this assumption, I created another one - on IRIX
15859         the segment to grow should start below .bss and it's address
15860         should extent above the end of .bss. Once this segment is
15861         identified, it's grown to accommodate the new heap and new
15862         zero-length .bss section is added at the end of .data2.
15863
15864 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15865
15866         * eval.c (Feval): Wrong number of arguments should use original
15867         function, not the indirect_function version of it.
15868
15869 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15870
15871         * glyphs-x.c (x_button_instantiate): Don't add image if
15872         it is not a pixmap.
15873         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15874         is relative.
15875
15876 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15877
15878         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15879         declaration.
15880         (DEFVAR_INT_MAGIC): Ditto.
15881         (DEFVAR_BOOL_MAGIC): Ditto.
15882         * glyphs.h: Reindent backslash.
15883
15884 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15885
15886         * glyphs-widget.c (layout_query_geometry):
15887         (layout_layout): Use correct types for gheight, gwidth.
15888
15889 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15890
15891         * EmacsManager.c (QueryGeometry): Purified.
15892
15893 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15894
15895         * alloc.c (make_float): Make sure entire object is initialized, to
15896         avoid Purify warnings.
15897         (pdump_register_sub): Remove useless assignment.
15898         (pdump): Use xmalloc, not malloc.
15899         (pdump_load): Use xmalloc, not malloc.
15900
15901 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15902
15903         * callproc.c:
15904         * dired-msw.c:
15905         * fileio.c:
15906         * process-nt.c:
15907         * redisplay-msw.c:
15908         * sysdep.c: Removed redundant #include <windows.h>
15909
15910 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15911
15912         * frame.c (delete_frame_internal): Do not delete device when its
15913         implementation so declares.
15914         (delete_frame_internal): Set device selected frame to nil when
15915         last frame goes away.
15916
15917         * device-msw.c (msprinter_device_system_metrics): Implemented.
15918         (mswindows_device_system_metrics): Added 'device-dpi property.
15919
15920         * device.c: (Fdevice_printer_p): Added.
15921         Added 'offset-workspace device metric.
15922
15923         * console.h (device_metrics): Declared DM_offset_workspace.
15924
15925 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15926
15927         * fileio.c (Ffile_truename): Remove pointless and confusing
15928         initialization of elen.
15929
15930         * glyphs-widget.c: Compiler warning fixes.
15931
15932 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15933
15934         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15935         instead of a Lisp_Object as argument to make it consistent with
15936         the other LIVE_P macros.
15937         (CHECK_LIVE_PROCESS): New macro.
15938
15939         * process.c: Declare Qprocess_live_p.
15940         (Fprocess_live_p): New function.
15941         (create_process): Use PROCESS_LIVE_P.
15942         (read_process_output): Ditto.
15943         (set_process_filter): Ditto.
15944         (Fdelete_process): Ditto.
15945         (kill_buffer_processes): Ditto
15946         (process_send_signal): Use CHECK_LIVE_PROCESS.
15947         (Fprocess_input_coding_system): Check whether process is still
15948         alive (fix PR#1061).
15949         (Fprocess_output_coding_system): Ditto.
15950         (Fprocess_coding_system): Ditto.
15951         (Fset_process_input_coding_system): Ditto.
15952         (Fset_process_output_coding_system): Ditto.
15953
15954 2000-01-23  Andy Piper  <andy@xemacs.org>
15955
15956         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15957         layout and widget.
15958
15959         * glyphs.c (mark_image_instance): take into account changed
15960         image_instance format.
15961         (image_instance_equal): ditto.
15962         (image_instance_hash): ditto.
15963
15964         * glyphs-widget.c (widget_instantiate): Incorporate layout
15965         instantiation here. Delay layout of the layout until later.
15966         (layout_instantiate): deleted.
15967         (layout_query_geometry): new function. get the geometry of a
15968         layout.
15969         (layout_layout): layout a layout dynamically.
15970         (image_instantiator_widget): New function - splitting up
15971         image_instantiator_format_create_glyphs_widget for netwinder
15972         compilation.
15973         (image_instantiator_buttons):
15974         (image_instantiator_edit_fields):
15975         (image_instantiator_combo_box):
15976         (image_instantiator_scrollbar):
15977         (image_instantiator_progress_guage):
15978         (image_instantiator_tree_view):
15979         (image_instantiator_tab_control):
15980         (image_instantiator_labels):
15981         (image_instantiator_layout): ditto.
15982         (image_instantiator_format_create_glyphs_widget): Call preceding
15983         functions.
15984
15985 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15986
15987         * process.c (Fset_process_coding_system):
15988         * device-x.c (Fx_keysym_hash_table):
15989         Docstring fixes.
15990
15991         * lstream.c (Lstream_write): Return documented value, not 0.
15992
15993         * fileio.c (directory_file_name):
15994         (Fsubstitute_in_file_name):
15995         (Fsubstitute_insert_file_contents_internal):
15996         (Fwrite_region_internal):
15997         * emacs.c:
15998         * sysdep.c:
15999         * getloadavg.c:
16000         * systty.h:
16001         Remove vestigial APOLLO-conditional code.
16002
16003 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16004
16005         * getpagesize.h: Add guard macros.
16006         * libsst.h: Add guard macros.
16007         * libst.h: Add guard macros.
16008         * line-number.h: Add guard macros.
16009         * ndir.h: Add guard macros.
16010         * sysfloat.h: Add guard macros.
16011         * sysfile.h: Add guard macros.
16012         * sysproc.h: Add guard macros.
16013         * syswait.h: Add guard macros.
16014         * xintrinsic.h: Add guard macros.
16015         * xintrinsicp.h: Add guard macros.
16016         * xmmanager.h: Add guard macros.
16017         * xmmanagerp.h: Add guard macros.
16018         * xmprimitive.h: Add guard macros.
16019         * xmu.h: Add guard macros.
16020         * gpmevent.h: Add copyright statement. Add guard macros.
16021         * miscplay.h: Add guard macros.
16022         * *.h: Use consistent C-standards-approved guard macro names.
16023
16024         * opaque.c (make_opaque): Switch parameter order.
16025         * opaque.h (make_opaque): Switch parameter order.
16026         Update all callers.
16027         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16028
16029         * config.h.in (type_checking_assert): Added.
16030         (bufpos_checking_assert): Added.
16031
16032 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16033
16034         * alloc.c: Harmless pdump changes.
16035         - Use countof().
16036         - spell alignment correctly.
16037         * sysdep.c: Use countof()
16038
16039 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16040
16041         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16042         initially_selected_for_input() console method, default to 0.
16043         (semi_canonicalize_console_connection): Try to delegate to
16044         canonicalize_console_connection if no such console method.
16045         (canonicalize_console_connection): Vice versa.
16046         (print_console): Do not print nil connection.
16047
16048         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16049         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16050         (XDEVIMPF_FRAMELESS_OK): Added.
16051         (CONSOLE_INHERITS_METHOD): Added.
16052
16053         * console-msw.c (mswindows_canonicalize_console_connection):
16054         Added.
16055         (mswindows_canonicalize_device_connection): Added.
16056
16057         * console-msw.h (struct msprinter_device): Added this struct and
16058         accessor macros.
16059         (mswindows_device): Made fontlist a lisp object.
16060
16061         * device.c (semi_canonicalize_device_connection):  Try to delegate
16062         to canonicalize_device_connection if no such console method.
16063         (canonicalize_device_connection): Vice versa.
16064         (print_device): Do not print nil connection.
16065
16066         * device-msw.c (mswindows_init_device): Call InitCommonControls
16067         when have widgets.
16068         (mswindows_delete_device): Removed fontlist deallocation.
16069         (mswindows_mark_device): Added.
16070
16071         * events.c (event_equal): Added abort() at unreached code.
16072         (event_hash): Ditto.
16073
16074         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16075         fallback tags of Windows devices.
16076
16077         * general.c (syms_of_general): Initialized Qmsprinter.
16078
16079         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16080         of fallback tags of Windows devices.
16081
16082         * lisp.h: Declared Qmsprinter.
16083
16084         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16085         of strings.
16086         (mswindows_list_fonts): Ditto.
16087         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16088         that it can be used by both mswindows and msprinter devices.
16089         (initialize_font_instance): Added.
16090         (mswindows_initialize_font_instance): Use it.
16091         (msprinter_initialize_font_instance): Added.
16092
16093         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16094         and implementation flags check.
16095         (redisplay_without_hooks): Changed the call to the above.
16096         (Fredraw_device): Ditto.
16097         (Fredisplay_device): Ditto.
16098
16099         * redisplay-msw.c (get_frame_dc): Implemented.
16100         (get_frame_compdc): Implemented.
16101         (many functions): Use the two functions above to get device
16102         contexts, ether for a window or a printer.
16103
16104 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16105
16106         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16107         initialization here.
16108         (init_symbols_once_early): Call it.
16109         * emacs.c (main_1): Call it.
16110         * symsinit.h: Declare it.
16111
16112 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16113
16114         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16115         Lisp_Object.
16116         (pdump_backtrace): Ditto.
16117         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16118         (pdump_get_entry): Abort if trying to register a null pointer.
16119         (pdump_dump_data): Cleanup types when relocating.
16120         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16121         (pdump_dump_rtables): Remove bad casts.
16122         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16123         Lisp_Object instead of a EMACS_INT for the hashtable
16124         reorganization.
16125
16126 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16127
16128         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16129
16130         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16131
16132         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16133
16134         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16135
16136 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16137
16138         * faces.h (FACE_STRIKETHRU_P): Added.
16139
16140         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16141         of font variants.
16142
16143         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16144         (mswindows_set_dc_font): New function, aware of font variants,
16145         separated from mswindows_update_dc.
16146
16147         * objects-msw.h (struct mswindows_font_instance_data): Added
16148         definition.
16149
16150         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16151         cached fonts and the data structure.
16152         (mswindows_initialize_font_instance): Added creation of font data
16153         structure.
16154         (mswindows_print_font_instance): Print at least something.
16155         (mswindows_create_font_variant): Implemented.
16156         (mswindows_get_hfont): Implemented.
16157
16158 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16159
16160         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16161         prototyping problem with msvc.
16162
16163         * emacs.c (main_1): added syms_of_gui_mswindows() call
16164
16165         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16166         syms_of_gui_mswindows() function
16167
16168         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16169
16170 2000-01-18  Martin Buchholz <martin@xemacs.org>
16171
16172         * XEmacs 21.2.27 is released.
16173
16174 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16175
16176         * glyphs-eimage.c (struct tiff_error_struct):
16177         (tiff_error_func):
16178         (tiff_warning_func):
16179         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16180
16181         * unexmips.c:
16182         * unexhp9k3.c:
16183         * unexfreebsd.c:
16184         * unexec.c: Remove vestigial Lucid C code.
16185         * unexalpha.c:
16186         * unexaix.c:
16187         * termcap.c:
16188         * libsst.c: Ansify.
16189         Remove declarations of errno and strerror().
16190
16191         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16192
16193         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16194
16195 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16196
16197         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16198         Optimize.
16199
16200 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16201
16202         * md5.c:
16203         * file-coding.c:
16204         * file-coding.h:
16205         Change enum eol_type to eol_type_t.
16206
16207 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16208
16209         * gui.c (get_gui_callback): Check cons before accessing car.
16210
16211 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16212
16213         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16214         (XSETSPECIFIER_TYPE): Ditto.
16215
16216 2000-01-17  Didier Verna  <didier@xemacs.org>
16217
16218         * redisplay.c (generate_fstring_runes): compute string size in
16219         characters, not bytes.
16220
16221 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16222
16223         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16224
16225 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16226
16227         * print.c (print_error_message): Call print_prepare().
16228
16229 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16230
16231         * .dbxrc: Renamed from dbxrc.
16232
16233         * events.c (event_to_character):
16234         Use `assert (foo)' instead of `if (!foo) abort()'
16235
16236         * .gdbinit (xtype): Add documentation.
16237         * .gdbinit (check-temacs): New function.
16238         * .gdbinit (check-xemacs): New function.
16239         * dbxrc (check-xemacs): New function.
16240         * dbxrc (check-xemacs): New function.
16241
16242 2000-01-14  Andy Piper  <andy@xemacs.org>
16243
16244         * glyphs-widget.c (widget_query_geometry): Make sure that we
16245         calculate default dimensions correctly.
16246
16247 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16248
16249         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16250
16251         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16252         pdump_wire'd variable.
16253
16254         * emacs.c: (main_1): Conditionalized calls to
16255         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16256
16257 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16258
16259         * window.c (Fset_window_configuration):
16260         * sysdep.c (_start):
16261         * input-method-motif.c (res):
16262         * event-Xt.c (Xt_process_to_emacs_event):
16263         Simple compiler warning fixes.
16264
16265         * bytecode.c (funcall_compiled_function): Use the original
16266         function symbol on the backtrace list in preference to the
16267         compiled_function object in error messages.
16268
16269 2000-01-13  Andy Piper  <andy@xemacs.org>
16270
16271         * glyphs-x.c (update_widget_face): Make sure we update the widget
16272         background as well as foreground.
16273
16274 2000-01-13  Andy Piper  <andy@xemacs.org>
16275
16276         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16277         fields to subwindow.
16278         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16279         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16280         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16281         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16282
16283         * glyphs-widget.c (check_valid_tab_orientation): new function.
16284         (initialize_widget_image_instance): zero orientation and
16285         justification.
16286         (widget_instantiate): pick up orientation.
16287         (tab_control_query_geometry): return appropriate values for
16288         vertical tabs.
16289
16290         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16291         appropriate creation flags for left, right and bottom tabs.
16292
16293         * s/cygwin32.h: add tab definitions.
16294
16295 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16296
16297         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16298         frame upon hiding a subwindow.
16299         (mswindows_button_instantiate): Changed the push button style to
16300         BS_PUSHBUTTON.
16301         (mswindows_button_instantiate): Removed button BS_NOTIFY
16302         style.
16303         (mswindows_button_instantiate): Removed redundant check for
16304         a disabled gui item.
16305         (mswindows_button_instantiate): Made use of WS_TABSTOP
16306         consistent: "operable" controls (edit, button, tree, scroll) have
16307         this style, "display-only" ones (static, progress gauge) do
16308         not. This style is currently ignored by XEmacs though. Also,
16309         removed the WS_EX_CONTROLPARENT style - it is not for children,
16310         it is for their parents!
16311         (mswindows_edit_field_instantiate): Ditto.
16312         (mswindows_progress_gauge_instantiate): Ditto.
16313         (mswindows_tree_view_instantiate): Ditto.
16314         (mswindows_tab_control_instantiate): Ditto.
16315         (mswindows_scrollbar_instantiate): Ditto.
16316         (mswindows_combo_box_instantiate): Ditto.
16317         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16318         style to the "clip" window.
16319         (mswindows_button_instantiate): Removed compilation warning by
16320         equally typing terms of the ?: operator.
16321
16322 2000-01-12  Didier Verna  <didier@xemacs.org>
16323
16324         * redisplay.c (generate_fstring_runes): new parameter holding the
16325         last modeline-format extent.
16326         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16327         extent, fill the glyph block with it.
16328         (generate_fstring_runes): handle these parameters.
16329         (generate_formatted_string_db): ditto.
16330
16331         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16332         glyphs'extents in the modeline.
16333
16334 1999-01-11  Mike Woolley  <mike@bulsara.com>
16335
16336         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16337         256Mb, as a workaround for the non-starting problem many people
16338         have experienced.
16339
16340 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16341
16342         * console-tty.c (Fset_console_tty_output_coding_system):
16343         Force redrawing tty frame.
16344
16345 2000-01-10  Didier Verna  <didier@xemacs.org>
16346
16347         * redisplay.c (generate_fstring_runes): fix size computation bug.
16348
16349 2000-01-09  William M. Perry <wmperry@aventail.com>
16350
16351         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16352
16353 2000-01-09  Andy Piper  <andy@xemacs.org>
16354
16355         * glyphs-msw.c: index -> i to avoid shadows.
16356         (xbm_create_bitmap_from_data): make static.
16357         (check_valid_string_or_int): deleted.
16358         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16359
16360         * glyphs-x.c (x_update_subwindow): remove unused args.
16361
16362         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16363         back pointer - this is done in allocate_image_instance.
16364         (query_string_font): return Qnil to make the compiler happy.
16365         (unmap_subwindow): set to ~0 to make the compiler happy.
16366         (glyph_query_geometry): comment out until used.
16367         (glyph_layout): ditto.
16368
16369 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16370
16371         * insdel.c (signal_after_change): Remove extraneous unbind_to().