update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Q_same): Deleted.
4         (Q_same_of): Deleted.
5         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
6         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
7         for `{<-|->}same'.
8         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
9
10 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
11
12         * chartab.c (Q_vulgar): Deleted.
13         (Q_vulgar_of): Deleted.
14         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
15         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
16         for `{<-|->}vulgar'.
17         (syms_of_chartab): Don't define `{<-|->}vulgar'.
18
19 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * chartab.c (Fput_char_attribute): Convert char-refs in value of
22         `{<-|->}wrong[^*]*' to characters and put reverse links.
23         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
24         for `{<-|->}wrong[^*]*'.
25
26 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
27
28         * chartab.c (Q_vulgar): New variable.
29         (Q_vulgar_of): New variable.
30         (Fput_char_attribute): Convert char-refs in value of
31         `{->|<-}vulgar' to characters and put reverse links.
32         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
33         for `{->|<-}vulgar'.
34         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
35
36 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * text-coding.c (decode_add_er_char): Must to quote prefix string
39         as regexp.
40
41 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * mule-charset.c (put_char_ccs_code_point): Store characters of
44         =ucs whose code_points >= 0xF0000.
45
46 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
49         CHISE.
50         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
51         CHISE.
52         (complex_vars_of_mule_charset): Add new coded-charset
53         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
54         builtin characters over 0xEFFFF.
55
56         * chartab.c (syms_of_chartab): Don't define symbol
57         `system-char-id' in every case.
58
59         * char-ucs.h (Qsystem_char_id): New extern variable.
60         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
61
62 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * text-coding.c (char_encode_utf8): Try to use entity-references
65         for U-000F0000 ...  U-0010FFFF.
66
67 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
68
69         * text-coding.c (ER_BUF_SIZE): New macro.
70         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
71         `er_buf'.
72         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
73         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
74
75 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
76
77         * chartab.c (find_char_feature_in_family): New function.
78         (Fchar_feature): Use `find_char_feature_in_family' with
79         `->identical', `<-subsumptive' and `<-denotational'.
80
81 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * text-coding.c (char_encode_as_entity_reference): Allow prefix
84         within 8 characters; fix infinite loop.
85
86 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * chartab.c (Q_same): New variable.
89         (Q_same_of): New variable.
90         (Fput_char_attribute): Convert char-refs in value of `{->|<-}same'
91         to characters and put reverse links.
92         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
93         for `{->|<-}same'.
94         (syms_of_chartab): Add new symbols `{->|<-}same'.
95
96 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
97
98         * chartab.c (Q_component): New variable.
99         (Q_component_of): Likewise.
100         (Fput_char_attribute): Convert char-refs in value of
101         `{->|<-}ideographic-component-forms' to characters and put reverse
102         links.
103         (syms_of_chartab): Add new symbols
104         `{->|<-}ideographic-component-forms'.
105
106 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
107
108         * chartab.c (Q_identical): New variable.
109         (Q_identical_from): New variable.
110         (Fchar_feature): Regard `->identical' as a feature to find
111         ancestors.
112         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
113         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
114         for `{->|<-}identical'.
115         (syms_of_chartab): Add new symbols `{->|<-}identical'.
116
117 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
118
119         * char-ucs.h (encode_char_2): New inline function.
120         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
121
122 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
123
124         * chartab.c (Fput_char_attribute): Convert char-specs to
125         characters in value of `ideographic-structure'.
126         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
127         for `{<-|->}simplified(@...)'.
128         (Fdefine_char): bTry to use predefined character's id.
129
130 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
131
132         * fns.c (simplify_char_spec): Try to convert builtin chars to
133         defined chars.
134
135 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
136
137         * chartab.c (Fput_char_attribute): Convert char-refs in value of
138         `<-simplified[^*]*' to characters and put reverse links.
139
140 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
141
142         * chartab.c (Q_subsumptive): Renamed from Q_unified.
143         (Q_subsumptive_from): Renamed from Q_unified_from.
144         (Fchar_feature): Use `Q_subsumptive_from' instead of
145         `Q_unified_from'.
146         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
147         `Q_unified'.
148         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
149         `<-unified' to `<-subsumptive'.
150
151 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
154         inheritance itself; fix typo; stop recursive search if cyclic
155         inheritance is found.
156
157 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
158
159         * chartab.c (Q_denotational): New variable.
160         (Q_denotational_from): New variable.
161         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
162         (put_char_attribute): New function.
163         (Fput_char_attribute): Use `put_char_attribute'; regard
164         `->denotational' and `<-denotational' as same as `->unified' and
165         `<-unified'.
166         (syms_of_chartab): Add new symbols `->denotational' and
167         `<-denotational'.
168
169 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
170
171         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
172         `Fget_char_attribute'.
173         (Fchar_variants): Likewise.
174         (get_char_table): Likewise.
175         (Fchar_feature): New function.
176         (put_char_composition): Use `Fchar_feature' instead of
177         `Fget_char_attribute'.
178         (Fput_char_attribute): Likewise; don't put the target character
179         into its `->unified' value.
180         (syms_of_chartab): Add new builtin function `char-feature'.
181
182 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
183
184         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
185         `Fget_char_attribute'.
186         (char_encode_utf8): Likewise.
187
188         * chartab.h: Add an EXFUN for `Fchar_feature'.
189
190 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
191
192         * chartab.c (Vnext_defined_char_id): New variable.
193         (Fput_char_attribute): Accept characters in `->unified'.
194         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
195         new characters which are not related with builtin char-id ranges.
196         (vars_of_chartab): Add new variable `next-defined-char-id'.
197
198 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
199
200         * chartab.c (Q_unified): New variable.
201         (Q_unified_from): New variable.
202         (Fput_char_attribute): Add code for `->unified'.
203         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
204         XEmacs CHISE.
205
206 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * mule-charset.c (decode_ccs_conversion): New function.
209         (decode_defined_char): Use `decode_ccs_conversion'.
210         (decode_builtin_char): Likewise.
211
212 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
213
214         * char-ucs.h: Change some charset-ids of private coded-charsets.
215
216 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
219         (char_encode_as_entity_reference): Likewise.
220         (decode_coding_big5): Modify for `decode_defined_char' and
221         `DECODE_CHAR'.
222         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
223         avoid compiler warning.
224         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
225
226         * mule-charset.c (decode_defined_char): Add new argument
227         `without_inheritance'.
228         (Fdecode_char): Add new optional argument `without_inheritance'.
229         (Fdecode_builtin_char): Modify for `Fdecode_char'.
230
231         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
232         (simplify_char_spec): Likewise.
233
234         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
235         setting.
236
237         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
238         (map_char_table): Likewise.
239         (Fdefine_char): Use `Fdecode_char' without inheritance.
240         (Ffind_char): Modify for `Fdecode_char'.
241
242         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
243
244         * char-ucs.h (decode_defined_char): Add new argument
245         `without_inheritance'.
246         (DECODE_CHAR): Likewise.
247         (MAKE_CHAR): Modify for `DECODE_CHAR'.
248
249 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * chartab.c (Vchise_system_db_directory): New variable.
252         (vars_of_chartab): Add new variable `chise-system-db-directory'.
253
254 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * chartab.c: EXFUN `Fmount_char_attribute_table'.
257         (print_chartab_range): Don't define when `UTF2000' is defined.
258         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
259         `CHISE_DS_open'.
260
261 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
264         and optional argument `rehash' is specified, call
265         `open_chise_data_source_maybe' before
266         `chise_ds_foreach_char_feature_name' is called.
267
268 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * chartab.c (char_attribute_list_reset_map_func): New function
271         when HAVE_LIBCHISE is defined.
272         (Fchar_attribute_list): Add new optional argument `rehash' when
273         HAVE_LIBCHISE is defined.
274         (open_chise_data_source_maybe): Use "chise-db" instead of
275         "char-db".
276         (char_attribute_system_db_file): Likewise.
277         (Fload_char_attribute_table): Use
278         `chise_feature_foreach_char_with_value' instead of
279         `chise_char_feature_value_iterate'.
280
281 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * chartab.c (Vchise_db_directory): New variable.
284         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
285
286 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
287
288         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
289         instead of HAVE_CHISE to specify using with libchise.
290
291         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
292
293         * chartab.h: Don't use HAVE_CHISE_CLIENT.
294
295         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
296         defined or HAVE_LIBCHISE_LIBCHISE is defined.
297         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
298         is defined.
299         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
300         HAVE_CHISE to specify using with libchise.
301         (syms_of_chartab): Don't define symbol `system-char-id' when
302         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
303
304 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
307         specify CHISE DB support.
308         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
309         of `char_attribute_system_db_file' to check feature DB file.
310
311         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
312         HAVE_CHISE_CLIENT to specify CHISE DB support.
313
314         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
315         specify CHISE DB support.
316         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
317         not defined.
318         (Freset_char_attribute_table): Use `chise_feature_setup_db'
319         instead of `char_attribute_system_db_file' to check feature DB
320         file.
321
322 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
325         `HAVE_CHISE_CLIENT'.
326
327 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
328
329         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
330         (Fsave_charset_mapping_table): Don't use
331         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
332
333         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
334         (HAVE_LIBCHISE): New macro.
335
336         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
337
338         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
339         (Fsave_char_attribute_table): Don't use
340         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
341
342 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
343
344         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
345         defined.
346         (save_uint16_byte_table): Likewise.
347         (save_byte_table): Likewise.
348         (char_table_get_db): Use `chise_ds_load_char_feature_value'
349         instead of `chise_char_load_feature_value'.
350         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
351
352 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
353
354         * chartab.h (struct Lisp_Char_Table): Delete member
355         `feature_table' if CHISE is defined.
356
357         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
358         (Fcopy_char_table): Likewise.
359         (char_table_open_db_maybe): Likewise.
360         (char_table_close_db_maybe): Likewise.
361         (char_table_get_db): Likewise.
362         (Fmount_char_attribute_table): Likewise.
363         (Fload_char_attribute_table): Likewise.
364
365 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
366
367         * mule-charset.c (load_char_decoding_entry_maybe): Use
368         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
369         `chise_ccs_decode'.
370
371 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
374         instead of `chise_open_data_source'.
375         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
376         `chise_ds_close'.
377
378 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
381         instead of `chise_ds_open_feature_table'.
382         (char_table_close_db_maybe): Don't use `chise_ft_close'.
383
384 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
385
386         * mule-charset.c (Fsave_charset_mapping_table): Use
387         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
388         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
389         `chise_ccs_sync' instead of `chise_ccst_close'.
390         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
391
392         * chartab.c (open_chise_data_source_maybe): Modify for
393         `chise_open_data_source'.
394         (char_table_open_db_maybe): Modify for
395         `chise_ds_open_feature_table'.
396
397 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
398
399         * mule-charset.c (load_char_decoding_entry_maybe): Use
400         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
401         `chise_ccst_close'.
402
403 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
404
405         * mule-charset.c (Fsave_charset_mapping_table): Use
406         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
407         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
408         `chise_dt_put_char' and `chise_dt_close'.
409         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
410         `chise_ccs_decode' and `chise_ccst_close' instead of
411         `chise_ds_open_decoding_table', `chise_dt_get_char' and
412         `chise_dt_close'.
413
414         * chartab.c (char_table_get_db): Use
415         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
416         (load_char_attribute_table_map_func): Modify for
417         `chise_char_feature_value_iterate'.
418         (Fload_char_attribute_table): Use
419         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
420
421 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
422
423         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
424
425 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
426
427         * chartab.c (put_char_table): Modify for inherited coded-charsets
428         in XEmacs CHISE.
429
430 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
431
432         * chartab.c (Fput_char_table_map_function): Fixed.
433         (word_boundary_p): Don't check charset in XEmacs CHISE.
434
435 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
436
437         * mule-charset.c (Fsave_charset_mapping_table): Use
438         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
439         instead of `chise_open_decoding_table'; refer
440         `default_chise_data_source'; use `chise_dt_close' instead of
441         `chise_close_decoding_table'.
442         (load_char_decoding_entry_maybe): Likewise.
443
444         * chartab.c (default_chise_data_source): New variable when `CHISE'
445         is defined.
446         (Fcopy_char_table): `ct->ds' is deleted.
447         (open_chise_data_source_maybe): New function.
448         (Fclose_char_data_source): New function.
449         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
450         use `chise_ds_open_feature_table' instead of
451         `chise_open_feature_table'.
452         (char_table_close_db_maybe): Use `chise_ft_close' instead of
453         `chise_close_feature_table'; `cit->ds' is deleted.
454         (syms_of_chartab): Add new builtin function
455         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
456
457         * chartab.h (default_chise_data_source): New extern variable.
458         (open_chise_data_source_maybe): New prototype.
459         (struct Lisp_Char_Table): Delete `ds'.
460
461 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
462
463         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
464         `CHISE' is defined.
465
466 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
467
468         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
469         not defined; add code for non-libchise setting.
470         (char_table_close_db_maybe): Likewise.
471         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
472         defined.
473         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
474         even if `CHISE' is not defined.
475         (Freset_char_attribute_table): Likewise.
476         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
477         `char_table_close_db_maybe' even if `CHISE' is not defined; use
478         `char_table_get_db'.
479         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
480         `char_table_close_db_maybe' even if `CHISE' is not defined.
481
482 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
483
484         * chartab.c (char_table_open_db_maybe): New function.
485         (char_table_close_db_maybe): New function.
486         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
487         (Freset_char_attribute_table): Likewise.
488         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
489         `char_table_close_db_maybe'.
490         (Fload_char_attribute_table): Likewise.
491
492 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
493
494         * chartab.c: Don't include <chise.h> because it is included in
495         chartab.h.
496         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
497         defined.
498         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
499         `CHISE' is defined.
500         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
501         `CHISE' is defined.
502         (Fclose_char_attribute_table): Close `ct->feature_table' and
503         `ct->ds' when `CHISE' is defined.
504         (Freset_char_attribute_table): Likewise.
505         (load_char_attribute_maybe): Use `cit->ds' and
506         `cit->feature_table' when `CHISE' is defined.
507         (Fload_char_attribute_table): Likewise.
508
509         * chartab.h: Include <chise.h> when `CHISE' is defined.
510         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
511         when `CHISE' is defined.
512
513 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
514
515         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
516         is defined.
517         (char_table_description): Likewise.
518         (Fmake_char_table): Likewise.
519         (Fcopy_char_table): Likewise.
520         (Fmount_char_attribute_table): Likewise.
521         (Fclose_char_attribute_table): Likewise.
522         (Freset_char_attribute_table): Likewise.
523         (load_char_attribute_maybe): Likewise.
524         (Fload_char_attribute_table): Likewise.
525
526         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
527         defined.
528
529 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
530
531         * chartab.c (load_char_attribute_table_map_func): New function
532         when CHISE is defined.
533         (Qload_char_attribute_table_map_function): Don't define when CHISE
534         is defined.
535         (Fload_char_attribute_table_map_function): Likewise.
536         (Fload_char_attribute_table): Use libchise when `CHISE' is
537         defined.
538         (syms_of_chartab): Don't define
539         `load-char-attribute-table-map-function' when CHISE is defined.
540
541 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
542
543         * chartab.c: Include <chise.h> when `CHISE' is defined.
544         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
545
546 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
547
548         * mule-charset.c (charset_code_point): Fix problem when searching
549         in mother CCS fails with `defined_only' mode.
550
551 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
552
553         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
554         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
555         (put_char_composition): Likewise.
556         (Fput_char_attribute): Likewise.
557         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
558
559 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
560
561         * chartab.c (Q_ucs): Deleted.
562         (Fput_char_attribute): Don't refer `->ucs'.
563         (Fdefine_char): Likewise.
564         (Ffind_char): Likewise.
565         (syms_of_chartab): Delete `->ucs'.
566
567 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
568
569         * mule-charset.c (Qmap_cns11643_2): Renamed from
570         `Qchinese_cns11643_2'.
571         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
572         `chinese-cns11643-2'.
573         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
574         `=cns11643-2'.
575
576 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
577
578         * mule-charset.c (Qmap_cns11643_1): Renamed from
579         `Qchinese_cns11643_1'.
580         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
581         `chinese-cns11643-1'.
582         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
583         `=cns11643-1'.
584
585 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
586
587         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
588         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
589         `chinese-gb12345'.
590         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
591         `=gb12345'.
592
593 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
594
595         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
596         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
597         `chinese-gb2312'.
598         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
599         `=gb2312'.
600
601 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
602
603         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
604         (syms_of_mule_charset): Add new symbol `=big5' instead of
605         `chinese-big5'.
606         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
607
608 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
609
610         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
611         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
612         `korean-ksc5601'.
613         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
614         `=ks-x1001'.
615
616 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
617
618         * mule-charset.c (Qmap_jis_x0212): Renamed from
619         `Qjapanese_jisx0212'.
620         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
621         `japanese-jisx0212'.
622         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
623         `=jis-x0212'.
624
625 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
626
627         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
628         `Qjapanese_jisx0208'.
629         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
630         of `japanese-jisx0208'.
631         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
632         `=jis-x0208-1983'.
633
634 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
637         `Qjapanese_jisx0208_1978'.
638         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
639         of `japanese-jisx0208-1978'.
640         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
641         `=jis-x0208-1978'.
642
643 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
644
645         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
646         only for XEmacs CHISE.
647
648 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
649
650         * char-ucs.h: Compact non-ISO-IR charset-ids.
651         (LEADING_BYTE_UCS): Changed to -177.
652         (LEADING_BYTE_CONTROL_1): Changed to -77.
653         (LEADING_BYTE_UCS_BMP): Changed to -176.
654         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
655
656 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
657
658         * mule-charset.c (Qiso_ir): New variable.
659         (Fmake_charset): Recognise new property `iso-ir'.
660         (syms_of_mule_charset): Add new symbol `iso-ir'.
661
662 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
663
664         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
665         n to -n; charset-id of non ISO-IR sets are changed to positive
666         numbers.
667
668 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
669
670         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
671         for &MCS-XXXXXXXX; values.
672
673 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
674
675         * mule.c (Vxemacs_chise_version): Renamed from
676         `Vutf_2000_version'.
677         (vars_of_mule): Add new variable `xemacs-chise-version'; define
678         `utf-2000-version' as an alias for `xemacs-chise-version'.
679
680 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
681
682         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
683         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
684         defined.
685
686         * config.h.in (CHISE): New macro.
687
688 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
689
690         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
691         of `ucs'.
692         (Qmap_ucs): New variable.
693         (syms_of_mule_charset): Add new symbol `=ucs'.
694         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
695
696         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
697         (simplify_char_spec): Likewise.
698
699         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
700
701         * char-ucs.h (Qmap_ucs): New extern variable.
702
703 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
706         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
707         don't define it when UTF2000 is not defined.
708         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
709         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
710         when UTF2000 is not defined.
711         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
712         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
713
714 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
715
716         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
717
718         * mule-charset.c (Vcharset_ucs_gb): Deleted.
719         (Qucs_gb): Deleted.
720         (syms_of_mule_charset): Delete `ucs-gb'.
721         (complex_vars_of_mule_charset): Likewise.
722
723 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
724
725         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
726
727         * mule-charset.c (Vcharset_ucs_cns): Deleted.
728         (Qucs_cns): Deleted.
729         (syms_of_mule_charset): Delete `ucs-cns'.
730         (complex_vars_of_mule_charset): Likewise.
731
732 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
735
736         * mule-charset.c (Vcharset_ucs_jis): Deleted.
737         (Qucs_jis): Deleted.
738         (syms_of_mule_charset): Delete `ucs-jis'.
739         (complex_vars_of_mule_charset): Likewise.
740
741 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
742
743         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
744
745         * mule-charset.c (Vcharset_ucs_ks): Deleted.
746         (Qucs_ks): Deleted.
747         (syms_of_mule_charset): Delete `ucs-ks'.
748         (complex_vars_of_mule_charset): Likewise.
749
750 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
751
752         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
753         (Qideograph_daikanwa_2): Deleted.
754         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
755         (complex_vars_of_mule_charset): Likewise.
756
757         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
758         (LEADING_BYTE_DAIKANWA_1): Deleted.
759         (LEADING_BYTE_DAIKANWA_2): Deleted.
760         (MIN_CHAR_DAIKANWA): Deleted.
761         (MAX_CHAR_DAIKANWA): Deleted.
762
763 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
764
765         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
766         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
767         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
768
769         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
770         (Vcharset_ideograph_daikanwa): Deleted.
771         (Qideograph_hanziku_{1..12}): Deleted.
772         (Qideograph_daikanwa): Deleted.
773         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
774         Vcharset_ideograph_daikanwa.
775         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
776         `ideograph-hanziku-{1..12}'.
777         (complex_vars_of_mule_charset): Likewise.
778
779 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
780
781         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
782
783         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
784         (Qideograph_gt_pj_{1..11}): Deleted.
785         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
786         (complex_vars_of_mule_charset): Likewise.
787
788 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * mule-charset.c (Vcharset_ucs_big5): Deleted.
791         (Vcharset_ideograph_gt): Deleted.
792         (Qucs_big5): Deleted.
793         (Qideograph_gt): Deleted.
794         (syms_of_mule_charset): Delete symbol `ucs-big5' and
795         `ideograph-gt'.
796         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
797         and `ideograph-gt'.
798
799         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
800         (LEADING_BYTE_GT): Deleted.
801         (MIN_CHAR_GT): Deleted.
802         (MAX_CHAR_GT): Deleted.
803
804 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
805
806         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
807
808 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
809
810         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
811         (save_uint16_byte_table): Likewise.
812         (save_byte_table): Likewise; convert values by it.
813         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
814         for `ideographic-structure'.
815         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
816         as the filter for `ideographic-structure'.
817
818 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
819
820         * chartab.c (put_char_composition): New function.
821         (Fput_char_attribute): Use `put_char_composition'; use
822         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
823
824         * fns.c (simplify_char_spec): New function.
825         (char_ref_simplify_spec): New function.
826         (Fchar_refs_simplify_char_specs): New function.
827         (syms_of_fns): Add new builtin function
828         `char-refs-simplify-char-specs'.
829
830 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
831
832         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
833         (Qideograph_cbeta): Deleted.
834         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
835         (complex_vars_of_mule_charset): Likewise.
836
837         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
838         (MIN_CHAR_CBETA): Comment out.
839         (MAX_CHAR_CBETA): Likewise.
840
841 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
842
843         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
844         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
845         CHISE client feature.
846
847 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
848
849         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
850
851 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
852
853         * mule-charset.c (charset_lookup_description_1): Use
854         `NUM_LEADING_BYTES' in UTF-2000.
855
856 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
857
858         * char-ucs.h (GC_CHARSETP): Deleted.
859
860 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * char-ucs.h (MAX_CHAR_GT): Updated.
863
864 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
865
866         * text-coding.c: Sync with XEmacs 21.4.10.
867
868 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
869
870         * mule-charset.c (Vcharset_china3_jef): Deleted.
871         (Qchina3_jef): Deleted.
872         (syms_of_mule_charset): Don't define `china3-jef'.
873         (complex_vars_of_mule_charset): Likewise.
874
875         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
876         (MIN_CHAR_CHINA3_JEF): Comment out.
877         (MAX_CHAR_CHINA3_JEF): Comment out.
878
879 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
880
881         * mule-charset.c (Vcharset_ucs_gb): New variable.
882         (Qucs_gb): New variable.
883         (syms_of_mule_charset): Add new symbol `ucs-gb'.
884         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
885
886         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
887
888 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * mule-charset.c (charset_code_point): if a coded-charset has a
891         final-byte, don't inherit the builtin range of the mother CCS.
892
893 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * mule-charset.c (charset_code_point): Fix problem about
896         inheritance.
897
898 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
899
900         * mule-charset.c (decode_builtin_char): Reorganized.
901
902 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
903
904         * text-coding.c (char_encode_as_entity_reference): Modify for
905         `charset_code_point'.
906         (char_encode_shift_jis): Likewise.
907         (char_encode_big5): Likewise.
908         (char_encode_utf8): Likewise.
909         (char_encode_iso2022): Likewise.
910
911         * mule-charset.c (charset_code_point): Add new argument
912         `defined_only'.
913         (Fencode_char): Add new optional argument `defined_only'.
914
915         * chartab.c (put_char_table): Modify for `charset_code_point'.
916
917         * char-ucs.h (charset_code_point): Add new argument
918         `defined_only'.
919         (encode_char_1): Modify for `charset_code_point'.
920
921 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
922
923         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
924         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
925
926 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
927
928         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
929         (Qjis_x0208): Likewise.
930         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
931         XCHARSET_FINAL(charset).
932         (charset_code_point): Modify condition for final-byte based
933         builtin-chars.
934         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
935         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
936         in UTF-2000; specify `=jis-x0208' as the mother of
937         `japanese-jisx0208-1978', `japanese-jisx0208' and
938         `japanese-jisx0208-1990' in UTF-2000.
939
940 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
941
942         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
943
944 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * text-coding.c (decode_coding_utf16): Support UTF-16.
947         (char_encode_utf16): Fixed.
948
949 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * text-coding.c (Qutf16): New variable in MULE.
952         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
953         (Fcoding_system_type): Add `utf-16' in MULE.
954         (struct detection_state): Add a structure for utf16 in MULE.
955         (detect_coding_type): Setup st->utf16.mask in MULE.
956         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
957         MULE.
958         (reset_encoding_stream): Use `char_encode_utf16' and
959         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
960         (detect_coding_utf16): New function [incomplete].
961         (decode_coding_utf16): New function [support only UCS-2].
962         (char_encode_utf16): New function.
963         (char_finish_utf16): New function.
964         (syms_of_file_coding): Add new symbol `utf-16'; setup
965         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
966
967         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
968         UTF-2000.
969         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
970         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
971
972 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
973
974         * chartab.c (put_char_table): When a charset is specified as a
975         range in UTF-2000, don't support builtin characters.
976
977 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
978
979         * mule-charset.c (decode_defined_char): Don't refer external
980         database if Qunbound or Qnil are found.
981         (Fsave_charset_mapping_table): Don't define it if
982         HAVE_CHISE_CLIENT is not defined.
983         (Freset_charset_mapping_table): New function.
984         (load_char_decoding_entry_maybe): Store Qnil if a character is not
985         found in external database.
986         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
987         if HAVE_CHISE_CLIENT is not defined; add new builtin function
988         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
989
990 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
991
992         * text-coding.c (decode_coding_utf8): Check CCS is specified or
993         not.
994
995 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
996
997         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
998         Q_lowercase, Q_uppercase in UTF-2000.
999
1000         * chartab.c (get_char_table): Add special code for the standard
1001         case table to use character attribute `->downcase' and
1002         `->uppercase' for case operations in UTF-2000.
1003
1004         * casetab.c (Qflippedcase): New variable in UTF-2000.
1005         (Q_lowercase): Likewise.
1006         (Q_uppercase): Likewise.
1007         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1008         and `->uppercase' in UTF-2000.
1009         (complex_vars_of_casetab): Assign attribute name `downcase' to
1010         downcase and CANON table of Vstandard_case_table in UTF-2000;
1011         assign attribute name `flippedcase' to upcase and EQV table of
1012         Vstandard_case_table in UTF-2000.
1013
1014 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1015
1016         * text-coding.c (decode_add_er_char): Support isolated-chars.
1017         (char_encode_as_entity_reference): Likewise.
1018
1019 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1020
1021         * emacs.c (Vutf_2000_lisp_directory): New variable.
1022         (Vconfigure_utf_2000_lisp_directory): Likewise.
1023         (complex_vars_of_emacs): Add new variable
1024         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1025
1026 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1027
1028         * char-ucs.h (DECODE_CHAR): Delete special code for
1029         `chinese-big5-1' and `chinese-big5-2'.
1030
1031         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1032         (Qbig5_2): Likewise.
1033         (decode_defined_char): Support CONVERSION_BIG5_1 and
1034         CONVERSION_BIG5_2.
1035         (decode_builtin_char): Likewise.
1036         (charset_code_point): Likewise.
1037         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1038         'conversion in UTF-2000.
1039         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1040         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1041         `chinese-big5-2' as children of `chinese-big5'.
1042
1043         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1044         (CONVERSION_BIG5_2): New macro.
1045
1046 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1047
1048         * text-coding.c (char_encode_big5): Support entity-reference.
1049
1050 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1051
1052         * text-coding.c (char_encode_as_entity_reference): New function.
1053         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1054
1055 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1056
1057         * text-coding.c (decode_coding_big5): Support entity-reference
1058         decoding feature.
1059
1060 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1061
1062         * text-coding.c (allocate_coding_system): Initialize initial
1063         charsets for CODESYS_UTF8.
1064         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1065         charset-g2 for CODESYS_UTF8.
1066         (decode_coding_utf8): Use charset-g0.
1067         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1068         to force variants to map to UCS.
1069
1070 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1071
1072         * text-coding.c (Qutf_8_mcs): New variable.
1073         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1074         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1075         instead of `utf-8' in UTF-2000.
1076
1077 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1078
1079         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1080         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1081         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1082         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1083         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1084         CONVERSION_96x96x96x96 are introduced.
1085         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1086         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1087         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1088
1089         * char-ucs.h (CONVERSION_94): New macro.
1090         (CONVERSION_96): New macro.
1091         (CONVERSION_94x94): New macro.
1092         (CONVERSION_96x96): New macro.
1093         (CONVERSION_94x94x94): New macro.
1094         (CONVERSION_96x96x96): New macro.
1095         (CONVERSION_94x94x94x60): New macro.
1096         (CONVERSION_94x94x94x94): New macro.
1097         (CONVERSION_96x96x96x96): New macro.
1098
1099 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1100
1101         * chartab.c (Vcharacter_variant_table): Deleted.
1102         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1103         of `Vcharacter_variant_table'.
1104         (Fput_char_attribute): Likewise.
1105         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1106         (complex_vars_of_chartab): Likewise.
1107
1108 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1109
1110         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1111
1112         * fns.c (Qideographic_structure): New variable.
1113         (Qkeyword_char): New variable.
1114         (ids_format_unit): New function.
1115         (Fideographic_structure_to_ids): New function.
1116         (syms_of_fns): Add new symbols `ideographic-structure' and
1117         `:char'; add new builtin function `ideographic-structure-to-ids'.
1118
1119         * data.c (Fchar_ref_p): New function.
1120         (syms_of_data): Add new builtin function `char-ref-p'.
1121
1122         * chartab.h: Add an EXFUN for `Ffind_char'.
1123
1124 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1125
1126         * text-coding.c (Vcharacter_composition_table): Deleted.
1127         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1128         in every UTF-2000.
1129
1130         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1131         UTF-2000.
1132         (Vcharacter_composition_table): Deleted.
1133         (Fget_composite_char): Use the implementation for external-DB
1134         support in every UTF-2000.
1135         (Fput_char_attribute): Likewise.
1136         (char_attribute_system_db_file): Don't define if external-DB
1137         feature is not available.
1138         (Fsave_char_attribute_table): Likewise.
1139         (Fmount_char_attribute_table): Likewise.
1140         (Fclose_char_attribute_table): Likewise.
1141         (Freset_char_attribute_table): Likewise.
1142         (Fload_char_attribute_table): Likewise.
1143         (syms_of_chartab): Don't define `save-char-attribute-table',
1144         `mount-char-attribute-table', `reset-char-attribute-table',
1145         `close-char-attribute-table' and `load-char-attribute-table' if
1146         external-DB feature is not available.
1147         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1148
1149 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1150
1151         * text-coding.c (Qcomposition): Add extern if external-DB feature
1152         is supported.
1153         (Vcharacter_composition_table): Don't add extern if external-DB
1154         feature is supported.
1155         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1156         character composition rule if external-DB feature is supported.
1157
1158         * chartab.c (Vcharacter_composition_table): Don't define if
1159         external-DB feature is supported.
1160         (Qcomposition): New variable.
1161         (Fget_composite_char): New implementation for external-DB support.
1162         (Fput_char_attribute): Use `composition' property of each
1163         character instead of `Vcharacter_composition_table' to store
1164         character-composition rules if external-DB feature is supported.
1165         (syms_of_chartab): Add new symbol `composition'.
1166         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1167         external-DB feature is supported.
1168
1169 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1170
1171         * chartab.c (Vchar_db_stingy_mode): New variable.
1172         (load_char_attribute_maybe): Close database if
1173         Vchar_db_stingy_mode is not NIL.
1174         (Fload_char_attribute_table_map_function): Use
1175         `get_char_id_table_0' instead of `get_char_id_table'.
1176         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1177
1178         * chartab.h (get_char_id_table_0): New inline function.
1179         (get_char_id_table): Use `get_char_id_table_0'.
1180
1181 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1182
1183         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1184         and `COMPOSE_ADD_CHAR'.
1185         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1186
1187 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1188
1189         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1190         instead of `DECODE_ADD_UCS_CHAR'.
1191         (COMPOSE_ADD_CHAR): Likewise.
1192
1193 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1194
1195         * text-coding.c (decode_flush_er_chars): New inline function.
1196         (decode_add_er_char): New function.
1197         (decode_coding_utf8): Use `decode_flush_er_chars' and
1198         `decode_add_er_char'.
1199
1200 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1201
1202         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1203         done before `decode_output_utf8_partial_char'.
1204
1205         * mule-charset.c (complex_vars_of_mule_charset): Specify
1206         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1207         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1208
1209 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1210
1211         * mule-charset.c (decode_defined_char): New function; search
1212         mother.
1213         (decode_builtin_char): Don't search mother if
1214         XCHARSET_MAX_CODE(charset) == 0.
1215         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1216         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1217         (Fdecode_char): Use `decode_defined_char' instead of
1218         `DECODE_DEFINED_CHAR'.
1219         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1220         mother of `Vcharset_ucs_jis'.
1221
1222         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1223         instead of `DECODE_DEFINED_CHAR'.
1224
1225         * char-ucs.h (decode_defined_char): Renamed from
1226         `DECODE_DEFINED_CHAR'; changed to normal function.
1227         (DECODE_CHAR): Use `decode_defined_char' instead of
1228         `DECODE_DEFINED_CHAR'.
1229
1230         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1231
1232 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1233
1234         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1235
1236         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1237         variable.
1238         (Quse_entity_reference): New variable.
1239         (Qd): New variable.
1240         (Qx): New variable.
1241         (QX): New variable.
1242         (coding_system_description): Add description for
1243         `ccs_priority_list'.
1244         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1245         (allocate_coding_system): Initialize `ccs_priority_list' in
1246         UTF-2000.
1247         (Fmake_coding_system): Add description about
1248         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1249         (codesys).
1250         (Fcoding_system_property): Accept `disable-composition' and
1251         `use-entity-reference' in UTF-2000.
1252         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1253         in UTF-2000.
1254         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1255         (decode_coding_utf8): Decode entity-reference if
1256         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1257         (char_encode_utf8): Encode non-Unicode characters as
1258         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1259         (str->codesys).
1260         (syms_of_file_coding): Add new symbols `use-entity-reference',
1261         `d', `x', `X'.
1262         (vars_of_file_coding): Add new variable
1263         `coded-charset-entity-reference-alist'.
1264         (complex_vars_of_file_coding): Declare `disable-composition' and
1265         `use-entity-reference' to be coding-system-properties in UTF-2000.
1266
1267         * file-coding.h (struct Lisp_Coding_System): Add new member
1268         `use_entity_reference' and `ccs_priority_list'.
1269         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1270         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1271         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1272
1273 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1274
1275         * chartab.c (save_uint8_byte_table): Don't clear the table.
1276         (save_uint16_byte_table): Likewise.
1277         (save_byte_table): Likewise.
1278         (Fmount_char_attribute_table): New function.
1279         (syms_of_chartab): Add new builtin function
1280         `mount-char-attribute-table'.
1281
1282 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1285         "w+" mode.
1286         (load_char_decoding_entry_maybe): Open database as read-only mode.
1287
1288         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1289         open database as "w+" mode.
1290         (load_char_attribute_maybe): Open database as read-only mode.
1291         (Fload_char_attribute_table): Likewise.
1292
1293 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1294
1295         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1296         (char_table_description): Delete member `db_file'.
1297         (Fmake_char_table): Don't refer `ct->db_file'.
1298         (Fcopy_char_table): Likewise.
1299         (Fsave_char_attribute_table): Likewise.
1300         (Fclose_char_attribute_table): Likewise.
1301         (Freset_char_attribute_table): Likewise.
1302         (load_char_attribute_maybe): Likewise.
1303         (Fload_char_attribute_table): Likewise.
1304
1305         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1306
1307 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1308
1309         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1310         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1311         `ct->db' is living.
1312         (load_char_attribute_maybe): Likewise.
1313         (Fload_char_attribute_table): Likewise.
1314
1315 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1316
1317         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1318         `ct->db_file' unconditionally.
1319
1320 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1321
1322         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1323         UTF-2000.
1324         (char_table_description): Add description for `db_file' and `db'
1325         in UTF-2000.
1326         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1327         UTF-2000.
1328         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1329         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1330         (Fclose_char_attribute_table): New function.
1331         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1332         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1333         and `cit->db'.
1334         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1335         (syms_of_chartab): Add new builtin function
1336         `Fclose_char_attribute_table'.
1337
1338 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1339
1340         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1341         `db' in UTF-2000.
1342         (load_char_attribute_maybe): Change interface.
1343         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1344
1345 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1346
1347         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1348
1349 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1350
1351         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1352         instead of `DECODE_CHAR' for mother; don't use special code for
1353         chinese-big5 to use code space of chinese-big5-1 and
1354         chinese-big5-2.
1355         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1356         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1357
1358         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1359         (MAX_CHAR_BIG5_CDP): Revival.
1360
1361 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1362
1363         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1364         the XLFD registry-encoding name of `chinese-big5'.
1365
1366 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1367
1368         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1369         (Qchinese_big5_cdp): Deleted.
1370         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1371         (complex_vars_of_mule_charset): Delete coded-charset
1372         `chinese-big5-cdp'.
1373
1374         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1375         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1376         `CHARSET_ID_OFFSET - n' for private CCS.
1377         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1378         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1379         of `MIN_LEADING_BYTE'.
1380         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1381         `(CHARSET_ID_OFFSET - 97)'.
1382         (MIN_CHAR_BIG5_CDP): Deleted.
1383         (MAX_CHAR_BIG5_CDP): Deleted.
1384
1385 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1386
1387         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1388
1389 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1390
1391         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1392         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1393         chartab.c].
1394
1395         * chartab.c (Vutf_2000_version): Moved to mule.c.
1396         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1397
1398 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1399
1400         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1401         when HAVE_CHISE_CLIENT is not defined.
1402
1403         * mule.c (vars_of_mule): Provide feature `chise' when
1404         HAVE_CHISE_CLIENT is defined.
1405
1406 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1407
1408         * config.h.in (UTF2000): Add comment.
1409         (HAVE_CHISE_CLIENT): New macro.
1410
1411 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1412
1413         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1414         CONSP.
1415         (Fput_char_attribute): Likewise.
1416         (char_attribute_system_db_file): Encode file-name of attribute.
1417         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1418         the initial value.
1419
1420 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1421
1422         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1423         (Fsave_charset_mapping_table): Use
1424         `char_attribute_system_db_file'.
1425         (load_char_decoding_entry_maybe): Likewise.
1426
1427         * chartab.h (Qsystem_char_id): New external variable.
1428         (char_attribute_system_db_file): New prototype.
1429
1430         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1431         (char_attribute_system_db_file): New function.
1432         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1433         (Freset_char_attribute_table): Likewise.
1434         (load_char_attribute_maybe): Likewise.
1435         (Fload_char_attribute_table): Likewise.
1436         (syms_of_chartab): Add new symbol `system-char-id'.
1437
1438 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1439
1440         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1441         `XCHARSET_GRAPHIC(ccs)'.
1442
1443 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1444
1445         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1446
1447 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1448
1449         * chartab.c (Q_ucs_variants): New variable.
1450         (syms_of_chartab): Add new symbol `->ucs-variants'.
1451         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1452         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1453         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1454
1455         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1456
1457         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1458         `HAVE_DATABASE' is defined.
1459         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1460         `HAVE_DATABASE' is defined.
1461
1462 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1463
1464         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1465         attribute-table.
1466         (Freset_char_attribute_table): New function.
1467         (syms_of_chartab): Add new builtin function
1468         `reset-char-attribute-table'.
1469
1470 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1471
1472         * chartab.c (load_char_attribute_maybe): Don't make directories.
1473
1474 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1475
1476         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1477
1478         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1479         for decoding-table.
1480
1481 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1482
1483         * mule-charset.c (Fsave_charset_mapping_table): Use
1484         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1485
1486         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1487         instead of `XCHARSET_CHARS'.
1488
1489 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1490
1491         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1492         (XCHARSET_BYTE_SIZE): Likewise.
1493
1494         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1495         mule-charset.c].
1496         (XCHARSET_BYTE_SIZE): Likewise.
1497
1498 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1499
1500         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1501         data-directory to store database.
1502         (Fsave_char_attribute_table): Likewise.
1503         (load_char_attribute_maybe): Likewise.
1504         (Fload_char_attribute_table): Likewise.
1505
1506 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1507
1508         * mule-charset.c (Fsave_charset_mapping_table): New function.
1509         (syms_of_mule_charset): Add new builtin function
1510         `save-charset-mapping-table'.
1511
1512 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1513
1514         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1515         (get_ccs_octet_table): New inline function.
1516         (put_ccs_octet_table): Likewise.
1517         (decoding_table_put_char): Use `get_ccs_octet_table' and
1518         `put_ccs_octet_table'.
1519         (decoding_table_remove_char): Use `decoding_table_put_char'.
1520         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1521
1522         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1523         into encoding_table.
1524         (make_charset): Use Qunbound instead Qnil as initial value of
1525         decoding_table.
1526
1527 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1528
1529         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1530         element is Qunloaded.
1531         (map_over_uint16_byte_table): Likewise.
1532         (map_over_byte_table): Likewise.
1533         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1534         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1535         database support, load encoding-table of the specified
1536         coded-charset if it is not loaded yet.
1537         (save_uint8_byte_table): New function of UTF-2000 with external
1538         database support.
1539         (save_uint16_byte_table): Likewise.
1540         (save_byte_table): Likewise.
1541         (Fput_char_attribute): Don't store value into external database
1542         even if the external database feature is supported in UTF-2000;
1543         set `attribute' as name of char-table if the external database
1544         feature is supported.
1545         (Fsave_char_attribute_table): New function in UTF-2000.
1546         (syms_of_chartab): Add new builtin function
1547         `save-char-attribute-table' in UTF-2000.
1548
1549 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1550
1551         * chartab.c (char_attribute_table_to_put): New variable in
1552         UTF-2000.
1553         (Qput_char_table_map_function): Likewise.
1554         (value_to_put): Likewise.
1555         (Fput_char_table_map_function): New function in UTF-2000.
1556         (put_char_table): Use `Fmap_char_attribute' for
1557         CHARTAB_RANGE_CHARSET in UTF-2000.
1558         (Fput_char_attribute): Store symbol instead of string in
1559         `XCHAR_TABLE_NAME (table)'.
1560         (load_char_attribute_maybe): Likewise.
1561         (syms_of_chartab): Add new symbol/function
1562         `put-char-table-map-function'.
1563
1564 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1565
1566         * database.h: Add new EXFUN for `Fmap_database'.
1567
1568         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1569         (syms_of_database): Likewise.
1570
1571         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1572         UTF-2000.
1573         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1574         (XCHAR_TABLE_UNLOADED): Likewise.
1575
1576         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1577         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1578         HAVE_DATABASE is defined.
1579         (char_attribute_table_to_load): New variable of UTF-2000 with
1580         external database support.
1581         (Qload_char_attribute_table_map_function): Likewise.
1582         (Fload_char_attribute_table_map_function): New function of
1583         UTF-2000 with external database support.
1584         (Fload_char_attribute_table): New function of UTF-2000.
1585         (Fmap_char_attribute): Call Fload_char_attribute_table if
1586         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1587         (syms_of_chartab): Add new symbol and function
1588         `load-char-attribute-table-map-function' in UTF-2000 with external
1589         database support; add new function `load-char-attribute-table' in
1590         UTF-2000.
1591
1592 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1593
1594         * chartab.h (load_char_attribute_maybe): New prototype for
1595         UTF-2000 with DATABASE support.
1596         (get_char_id_table): Use `load_char_attribute_maybe' if
1597         HAVE_DATABASE is defined.
1598
1599         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1600         with DATABASE support.
1601
1602 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1603
1604         * chartab.c (Fput_char_attribute): Use S-expression as key of
1605         external database.
1606
1607         * chartab.h (get_char_id_table): Use S-expression as key of
1608         external database.
1609
1610 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1611
1612         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1613         if an element is not loaded, load the corresponding attributes
1614         from an external database.
1615         (map_over_uint16_byte_table): Likewise.
1616         (map_over_byte_table): Likewise.
1617         (map_char_table): Modify for `map_over_uint8_byte_table',
1618         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1619         element is not loaded, load the corresponding attributes from an
1620         external database.
1621         (Fput_char_attribute): Change initial values to Qunloaded.
1622
1623         * chartab.h (get_char_id_table): If a character attribute is not
1624         loaded and the attribute value is not found in an external
1625         database, store Qunbound as the attribute value.
1626
1627 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1628
1629         * chartab.c (BT_UINT8_unloaded): New macro.
1630         (UINT8_VALUE_P): Accept Qunloaded.
1631         (UINT8_ENCODE): Likewise.
1632         (UINT8_DECODE): Likewise.
1633         (BT_UINT16_unloaded): New macro.
1634         (UINT16_VALUE_P): Accept Qunloaded.
1635         (UINT16_ENCODE): Likewise.
1636         (UINT16_DECODE): Likewise.
1637         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1638         BT_UINT16_unloaded.
1639         (mark_char_table): Mark `ct->name' in UTF-2000.
1640         (char_table_description): Add `name' in UTF-2000.
1641         (Fmake_char_table): Initialize `ct->name'.
1642         (Fcopy_char_table): Copy `ct->name'.
1643         (Fput_char_attribute): Store value into an external database if
1644         HAVE_DATABASE is defined.
1645
1646         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1647         UTF-2000.
1648         (CHAR_TABLE_NAME): New macro in UTF-2000.
1649         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1650         (get_char_id_table): Try to read an external database if Qunloaded
1651         is stored in a table.
1652
1653         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1654         Qunloaded.
1655
1656 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1657
1658         * database.h: Add EXFUN definitions for Fopen_database,
1659         Fput_database, Fget_database and Fclose_database.
1660
1661         * data.c (Qunloaded): New variable in UTF-2000.
1662
1663         * lisp.h (Qunloaded): New variable in UTF-2000.
1664
1665 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1666
1667         * mule-charset.c (put_char_ccs_code_point): Modify for
1668         `decoding_table_remove_char' and `decoding_table_put_char'.
1669         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1670
1671         * char-ucs.h (decoding_table_remove_char): Change arguments to
1672         hide decoding_table vector.
1673         (decoding_table_put_char): Likewise.
1674
1675 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1676
1677         * mule-charset.c (decoding_table_remove_char): Moved to
1678         char-ucs.h.
1679         (decoding_table_put_char): Likewise.
1680
1681         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1682         from mule-charset.c].
1683         (decoding_table_remove_char): New inline function [moved from
1684         mule-charset.c].
1685         (decoding_table_put_char): Likewise.
1686
1687 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1688
1689         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1690         extension.
1691
1692 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1693
1694         * mule-charset.c (decode_builtin_char): Support mother charsets.
1695
1696 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1697
1698         * mule-charset.c (Q94x94x60): New variable.
1699         (charset_code_point): Support conversion `94x94x60'.
1700         (Fmake_charset): Likewise.
1701         (syms_of_mule_charset): Add new symbol `94x94x60'.
1702
1703         * char-ucs.h (CONVERSION_94x94x60): New macro.
1704
1705 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1706
1707         * mule-charset.c (charset_code_point): Unify code about
1708         `code-offset'.
1709
1710 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1711
1712         * mule-charset.c (charset_code_point): Merge code about builtin
1713         characters into code about mother charsets; don't use
1714         `range_charset_code_point'.
1715         (range_charset_code_point): Deleted.
1716
1717 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1718
1719         * mule-charset.c (Qcode_offset): New variable.
1720         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1721         `max-code'; accept new property `code-offset'.
1722         (syms_of_mule_charset): Add new symbol `code-offset'.
1723
1724 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1725
1726         * mule-charset.c (range_charset_code_point): Fixed.
1727
1728 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1729
1730         * mule-charset.c (decode_builtin_char): Change semantics of
1731         code-offset of coded-charset.
1732         (charset_code_point): Likewise.
1733         (range_charset_code_point): Likewise.
1734         (complex_vars_of_mule_charset): Modify for the change.
1735
1736 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1737
1738         * mule-charset.c (Fencode_char): Reverse arguments.
1739
1740         * mule-charset.c (charset_code_point): Fixed.
1741
1742 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1743
1744         * mule-charset.c (Vcharset_mojikyo): Deleted.
1745         (Vcharset_mojikyo_2022_1): Deleted.
1746         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1747         (Qmin_code): New variable in UTF-2000.
1748         (Qmax_code): Likewise.
1749         (Qmother): Likewise.
1750         (Qconversion): Likewise.
1751         (Q94x60): Likewise.
1752         (Qmojikyo): Deleted.
1753         (Qmojikyo_2022_1): Deleted.
1754         (Qmojikyo_pj_{1..22}): Deleted.
1755         (mark_charset): Mark `cs->mother'.
1756         (charset_description): Add description for `mother'.
1757         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1758         new arguments `mother' and `conversion'; use
1759         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1760         (charset_code_point): Moved from char-ucs.h; support `mother'
1761         charset feature.
1762         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1763         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1764         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1765         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1766         allow 2 as the value of `graphic' in UTF-2000; add new properties
1767         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1768         require `final' in UTF-2000; modify for `make_charset'.
1769         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1770         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1771         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1772         (Fencode_char): New function.
1773         (syms_of_mule_charset): Add new builtin function `encode-char' in
1774         UTF-2000; add new symbols `min-code', `max-code', `mother',
1775         `conversion' and `94x60'; delete symbols `mojikyo',
1776         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1777         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1778         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1779         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1780
1781         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1782         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1783
1784         * char-ucs.h (Vcharset_mojikyo): Deleted.
1785         (Vcharset_mojikyo_2022_1): Deleted.
1786         (LEADING_BYTE_MOJIKYO): Deleted.
1787         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1788         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1789         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1790         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1791         add new member `mother'; add new member `conversion'.
1792         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1793         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1794         (CHARSET_MOTHER): New macro.
1795         (CHARSET_CONVERSION): New macro.
1796         (CONVERSION_IDENTICAL): New macro.
1797         (CONVERSION_94x60): New macro.
1798         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1799         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1800         (XCHARSET_MOTHER): New macro.
1801         (XCHARSET_CONVERSION): New macro.
1802         (MIN_CHAR_MOJIKYO): Deleted.
1803         (MAX_CHAR_MOJIKYO): Deleted.
1804         (DECODE_MOJIKYO_2022): Deleted.
1805         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1806         (charset_code_point): Changed to non-inline function.
1807         (encode_char_1): Use `charset_code_point'.
1808         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1809
1810 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1811
1812         * lread.c (read_compiled_function): Fix prototype.
1813         (read_vector): Likewise.
1814
1815 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1816
1817         * lrecord.h (struct lrecord_header): Delete `older'.
1818         (set_lheader_implementation): Delete code for `older'.
1819         (set_lheader_older_implementation): Deleted.
1820         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1821         (OLDER_RECORD_P): Deleted.
1822         (OLDER_RECORD_HEADER_P): Deleted.
1823         (alloc_older_lcrecord): Deleted.
1824         (alloc_older_lcrecord_type): Deleted.
1825
1826         * alloc.c (all_older_lcrecords): Deleted.
1827         (alloc_older_lcrecord): Deleted.
1828         (disksave_object_finalization_1): Delete code for older objects.
1829         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1830         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1831
1832 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1833
1834         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1835         instead of `make_older_vector'.
1836         (put_char_ccs_code_point): Likewise.
1837         (mark_charset): Mark `cs->decoding_table'.
1838         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1839
1840         * lisp.h (make_older_vector): Deleted.
1841         (make_vector_newer): Deleted.
1842
1843         * config.h.in (HAVE_GGC): Deleted.
1844
1845         * alloc.c (make_older_vector): Deleted.
1846         (make_vector_newer_1): Deleted.
1847         (make_vector_newer): Deleted.
1848
1849 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1850
1851         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1852         (Qideograph_daikanwa_2): New variable.
1853         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1854         (complex_vars_of_mule_charset): Add new coded-charset
1855         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1856         `LEADING_BYTE_DAIKANWA'.
1857
1858         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1859         (LEADING_BYTE_DAIKANWA_1): New macro.
1860         (LEADING_BYTE_DAIKANWA_2): New macro.
1861         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1862
1863 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * mule-charset.c (complex_vars_of_mule_charset): Change
1866         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1867         the second revised version.
1868
1869 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1870
1871         * mule-charset.c (Vcharset_ucs_smp): New variable.
1872         (Vcharset_ucs_sip): New variable.
1873         (Qucs_smp): New variable.
1874         (Qucs_sip): New variable.
1875         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1876         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1877         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1878         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1879         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1880         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1881
1882         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1883         (LEADING_BYTE_UCS_SIP): New macro.
1884         (MIN_CHAR_SMP): New macro.
1885         (MAX_CHAR_SMP): New macro.
1886         (MIN_CHAR_SIP): New macro.
1887         (MAX_CHAR_SIP): New macro.
1888
1889 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1890
1891         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1892         utf-2000.
1893
1894 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1895
1896         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1897         value; don't store value into `encoding_table' of `Lisp_Charset'.
1898         (mark_charset): `encoding_table' was deleted.
1899         (charset_description): Likewise.
1900         (make_charset): Likewise.
1901         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1902         `put_char_ccs_code_point'.
1903
1904         * chartab.h (Fput_char_attribute): New EXFUN.
1905
1906         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1907         is unified with normal symbol space.
1908         (Fget_char_attribute): Likewise.
1909         (Fput_char_attribute): Likewise; behavior of
1910         `put_char_ccs_code_point' is changed.
1911
1912         * char-ucs.h: Include "elhash.h".
1913         (Vchar_attribute_hash_table): New external variable.
1914         (struct Lisp_Charset): Delete `encoding_table'.
1915         (CHARSET_ENCODING_TABLE): New implementation; refer
1916         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1917         `Lisp_Charset'.
1918
1919 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1920
1921         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1922         (cs) == 0.
1923
1924 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1925
1926         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1927         `chinese-big5'.
1928
1929 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1930
1931         * chartab.c (uint8_byte_table_description): New constant.
1932         (uint8-byte-table): Use `uint8_byte_table_description'.
1933         (uint16_byte_table_description): New constant.
1934         (uint16-byte-table): Use `uint16_byte_table_description'.
1935
1936 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1939         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1940
1941 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1942
1943         * mule-charset.c (Vcharset_ucs_ks): New variable.
1944         (Qucs_ks): New variable.
1945         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1946         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1947
1948         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1949
1950 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1951
1952         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1953         (Fdecode_char): Likewise.
1954
1955         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1956         chartab.h.
1957         (Fdefine_char): Modify for Fdecode_char.
1958         (Ffind_char): Likewise.
1959
1960         * mule-charset.c (Fdecode_char): Add new optional argument
1961         `defined-only'.
1962         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1963
1964 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1965
1966         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1967         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1968         (allocate_coding_system): Initialize initial-charsets of
1969         CODESYS_BIG5 in XEmacs UTF-2000.
1970         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1971         CODESYS_BIG5 in XEmacs UTF-2000.
1972         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1973         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1974
1975         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1976         variables.
1977         (Qideograph_hanziku_{1 .. 12}): Likewise.
1978         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1979         .. 12}'.
1980         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1981         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1982         `ideograph-hanziku-{1 .. 12}'.
1983
1984         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1985         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1986         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1987         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1988         (DECODE_DEFINED_CHAR): New inline function.
1989         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1990
1991 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1992
1993         * mule-charset.c (Vcharset_china3_jef): Renamed from
1994         `Vcharset_japanese_jef_china3'.
1995         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1996         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1997         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1998         (syms_of_mule_charset): Rename `china3-jef' from
1999         `japanese-jef-china3'.
2000         (complex_vars_of_mule_charset): Likewise; rename
2001         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2002
2003         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2004         `LEADING_BYTE_JEF_CHINA3'.
2005         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2006         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2007
2008 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2009
2010         * mule-charset.c (encode_builtin_char_1): Comment out special code
2011         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2012
2013         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2014         (MAX_CHAR_MOJIKYO_0): Comment out.
2015         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2016         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2017         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2018         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2019
2020 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2021
2022         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2023         (Qideograph_cbeta): New variable.
2024         (encode_builtin_char_1): Comment out special code for
2025         coded-charset `mojikyo' and `japanese-jef-china3'.
2026         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2027         (complex_vars_of_mule_charset): Add new coded-charset
2028         `ideograph-cbeta'.
2029
2030         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2031         (MIN_CHAR_CBETA): New macro.
2032         (MAX_CHAR_CBETA): New macro.
2033
2034 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2035
2036         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2037         (LEADING_BYTE_JEF_CHINA3): New macro.
2038         (MIN_CHAR_JEF_CHINA3): New macro.
2039         (MAX_CHAR_JEF_CHINA3): Likewise.
2040         (DECODE_CHAR): Fixed.
2041
2042 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2043
2044         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2045         (Qjapanese_jef_china3): New variable.
2046         (encode_builtin_char_1): Support `japanese-jef-china3'.
2047         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2048         (complex_vars_of_mule_charset): Add new coded-charset
2049         `japanese-jef-china3'.
2050
2051 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2052
2053         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2054         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2055         94^4, 96^3, 96^4, 128^n and 256^n set.
2056         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2057         (map_char_table): Likewise.
2058
2059 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2060
2061         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2062         UTF-2000.
2063
2064 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2065
2066         * chartab.h (get_char_id_table): New inline function.
2067
2068         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2069         function.
2070
2071 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2072
2073         * chartab.h (decode_char_table_range): New prototype in XEmacs
2074         UTF-2000.
2075         (put_char_id_table): New inline function in XEmacs UTF-2000.
2076
2077         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2078         function.
2079         (decode_char_table_range): Delete static declaration in XEmacs
2080         UTF-2000.
2081
2082 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2083
2084         * chartab.c (put_char_id_table): Use `put_char_table'.
2085
2086 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2087
2088         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2089         (map_over_uint16_byte_table): Likewise.
2090         (map_over_byte_table): Likewise.
2091         (map_char_table): Modify for `map_over_uint8_byte_table',
2092         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2093         UTF-2000.
2094
2095 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2096
2097         * chartab.c (struct map_char_table_for_charset_arg): New
2098         structure.
2099         (map_char_table_for_charset_fun): New function.
2100         (map_char_table): Use `map_char_table' for encoding_table of
2101         `range->charset'.
2102
2103 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2104
2105         * chartab.c (map_char_table): Check a character is found in
2106         range->charset instead of non default value is defined in
2107         char-table when range is CHARTAB_RANGE_ROW.
2108
2109 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2110
2111         * chartab.c (map_char_id_table): Deleted.
2112         (Fmap_char_attribute): Use `map_char_table' instead of
2113         `map_char_id_table'.
2114
2115 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2116
2117         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2118         UTF-2000.
2119         (update_syntax_table): Deleted in XEmacs UTF-2000.
2120
2121         * syntax.c (find_defun_start): Use `syntax_table' instead of
2122         `mirror_syntax_table' in XEmacs UTF-2000.
2123         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2124         UTF-2000.
2125         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2126         XEmacs UTF-2000.
2127         (Fmatching_paren): Likewise.
2128         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2129         in XEmacs UTF-2000.
2130         (find_start_of_comment): Likewise.
2131         (find_end_of_comment): Likewise.
2132         (Fforward_comment): Likewise.
2133         (scan_lists): Likewise.
2134         (char_quoted): Likewise.
2135         (Fbackward_prefix_chars): Likewise.
2136         (scan_sexps_forward): Likewise.
2137         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2138         (update_syntax_table): Likewise.
2139
2140         * search.c (skip_chars): Use `syntax_table' instead of
2141         `mirror_syntax_table' in XEmacs UTF-2000.
2142         (wordify): Likewise.
2143         (Freplace_match): Likewise.
2144
2145         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2146         `mirror_syntax_table' in XEmacs UTF-2000.
2147         (WORDCHAR_P_UNSAFE): Likewise.
2148         (re_match_2_internal): Likewise.
2149
2150         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2151         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2152
2153         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2154         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2155
2156         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2157         XEmacs UTF-2000.
2158
2159         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2160         UTF-2000.
2161         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2162         (char_table_description): Delete `mirror_table' in XEmacs
2163         UTF-2000.
2164         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2165         UTF-2000.
2166         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2167         (Fcopy_char_table): Likewise.
2168         (put_char_table): Don't call `update_syntax_table' in XEmacs
2169         UTF-2000.
2170
2171         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2172         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2173         (casify_region_internal): Likewise.
2174
2175         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2176
2177         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2178         `mirror_syntax_table' in XEmacs UTF-2000.
2179
2180         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2181         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2182         (Fexpand_abbrev): Likewise.
2183
2184 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2185
2186         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2187
2188 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2189
2190         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2191         (map_over_uint16_byte_table): Likewise.
2192         (map_over_byte_table): Likewise.
2193         (get_char_id_table): Refer `cit->default_value'.
2194         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2195         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2196         of character-id ranges.
2197         (mark_char_table): Mark `ct->default_value'.
2198         (char_table_description): Add `default_value'.
2199         (fill_char_table): Use `default_value'.
2200         (decode_char_table_range): Decode `nil' as
2201         `CHARTAB_RANGE_DEFAULT'.
2202         (get_char_id_table): Refer `cit->default_value'.
2203         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2204         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2205         temporary hack; check value of char-table is bound or not.
2206         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2207
2208         * chartab.h (struct Lisp_Char_Table): Add new member
2209         `default_value' in XEmacs UTF-2000.
2210         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2211         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2212         UTF-2000.
2213
2214 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2215
2216         * chartab.h (Lisp_Char_ID_Table): Deleted.
2217
2218         * chartab.c (char_table_description): Fix typo.
2219         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2220         `Lisp_Char_ID_Table'.
2221
2222 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2223
2224         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2225         `CHAR_ID_TABLE_P'.
2226
2227         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2228         `CHAR_ID_TABLE_P'.
2229
2230         * chartab.h (XCHAR_ID_TABLE): Deleted.
2231         (XSETCHAR_ID_TABLE): Deleted.
2232         (CHAR_ID_TABLE_P): Deleted.
2233
2234         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2235         `CHAR_ID_TABLE_P'.
2236         (Fget_composite_char): Likewise.
2237         (put_char_table): Likewise.
2238         (add_char_attribute_alist_mapper): Fixed.
2239         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2240         `CHAR_ID_TABLE_P'.
2241         (Fget_char_attribute): Likewise.
2242         (Fget_char_attribute): Likewise.
2243         (Fmap_char_attribute): Likewise.
2244
2245         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2246         `CHAR_ID_TABLE_P'.
2247         (encode_char_1): Likewise.
2248
2249 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2250
2251         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2252         `XCHAR_ID_TABLE'.
2253
2254         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2255         instead of `XCHAR_ID_TABLE'.
2256         (remove_char_ccs): Likewise.
2257
2258         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2259         `XCHAR_ID_TABLE'.
2260         (Fget_composite_char): Likewise.
2261         (Fchar_variants): Likewise.
2262         (put_char_table): Likewise.
2263         (add_char_attribute_alist_mapper): Likewise.
2264         (Fchar_attribute_alist): Likewise.
2265         (Fget_char_attribute): Likewise.
2266         (Fput_char_attribute): Likewise.
2267         (Fmap_char_attribute): Likewise.
2268         (Fmap_char_attribute): Likewise.
2269
2270         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2271         `XCHAR_ID_TABLE'.
2272         (encode_char_1): Likewise.
2273
2274 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2275
2276         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2277         `Lisp_Char_ID_Table'.
2278         (mark_char_id_table): Deleted.
2279         (print_char_id_table): Likewise.
2280         (char_id_table_equal): Likewise.
2281         (char_id_table_hash): Likewise.
2282         (char_id_table_description): Likewise.
2283         (char_id_table): Likewise.
2284         (make_char_id_table): Use `Fmake_char_table' and
2285         `fill_char_table'.
2286         (get_char_id_table): Use `Lisp_Char_Table' instead of
2287         `Lisp_Char_ID_Table'.
2288         (put_char_id_table): Likewise.
2289         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2290         `XCHAR_ID_TABLE'.
2291         (Fremove_char_attribute): Likewise.
2292         (syms_of_chartab): Don't define type `char-id-table'.
2293
2294         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2295         (char_id_table): Likewise.
2296         (GC_CHAR_ID_TABLE_P): Likewise.
2297         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2298         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2299         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2300         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2301         (get_char_id_table): Use `Lisp_Char_Table' instead of
2302         `Lisp_Char_ID_Table'.
2303         (put_char_id_table_0): Likewise.
2304         (put_char_id_table): Likewise.
2305
2306 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2307
2308         * chartab.h: Lisp_Byte_Table related codes are moved from
2309         chartab.h.
2310
2311         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2312
2313 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2314
2315         * chartab.h: Don't include "chartab.h".
2316         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2317         (Lisp_Char_ID_Table): Likewise.
2318         (char_id_table): Likewise.
2319         (XCHAR_ID_TABLE): Likewise.
2320         (XSETCHAR_ID_TABLE): Likewise.
2321         (CHAR_ID_TABLE_P): Likewise.
2322         (GC_CHAR_ID_TABLE_P): Likewise.
2323         (get_char_id_table): Likewise.
2324
2325         * char-ucs.h: Include "chartab.h".
2326         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2327         (Lisp_Char_ID_Table): Likewise.
2328         (char_id_table): Likewise.
2329         (XCHAR_ID_TABLE): Likewise.
2330         (XSETCHAR_ID_TABLE): Likewise.
2331         (CHAR_ID_TABLE_P): Likewise.
2332         (GC_CHAR_ID_TABLE_P): Likewise.
2333         (get_char_id_table): Likewise.
2334
2335 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2336
2337         * chartab.c (copy_uint8_byte_table): New function.
2338         (copy_uint16_byte_table): New function.
2339         (copy_byte_table): New function.
2340         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2341         characters to call.
2342         (map_over_uint16_byte_table): Likewise.
2343         (map_over_byte_table): Likewise.
2344         (get_byte_table): Move prototype to chartab.h.
2345         (put_byte_table): Likewise.
2346         (put_char_id_table_0): Moved to chartab.h.
2347         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2348         (char_table_entry_equal): Likewise.
2349         (char_table_entry_hash): Likewise.
2350         (char_table_entry_description): Likewise.
2351         (char_table_entry): Likewise.
2352         (make_char_table_entry): Likewise.
2353         (copy_char_table_entry): Likewise.
2354         (get_non_ascii_char_table_value): Likewise.
2355         (map_over_charset_ascii): Likewise.
2356         (map_over_charset_control_1): Likewise.
2357         (map_over_charset_row): Likewise.
2358         (map_over_other_charset): Likewise.
2359         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2360         (print_char_table): Likewise.
2361         (char_table_equal): Likewise.
2362         (char_table_hash): Likewise.
2363         (char_table_description): Likewise.
2364         (fill_char_table): Likewise.
2365         (Fcopy_char_table): Likewise.
2366         (get_char_table): Likewise.
2367         (Fget_range_char_table): Likewise.
2368         (put_char_table): Likewise.
2369         (map_char_table): Likewise.
2370         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2371         UTF-2000.
2372
2373 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2374
2375         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2376         `Vauto_fill_chars' in XEmacs UTF-2000.
2377
2378         * chartab.h (get_byte_table): New prototype [moved from
2379         chartab.c].
2380         (put_byte_table): Likewise [moved from chartab.c].
2381         (put_char_id_table_0): New inline function [moved from chartab.c].
2382         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2383         (Lisp_Char_Table_Entry): Likewise.
2384         (char_table_entry): Likewise.
2385         (XCHAR_TABLE_ENTRY): Likewise.
2386         (XSETCHAR_TABLE_ENTRY): Likewise.
2387         (CHAR_TABLE_ENTRYP): Likewise.
2388         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2389         (NUM_ASCII_CHARS): Likewise.
2390         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2391         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2392
2393 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2394
2395         * chartab.c (get_char_id_table): Change interface.
2396         (put_char_id_table_0): New function.
2397         (put_char_id_table): Change interface; new implementation.
2398         (Fget_composite_char): Modify for interface change of
2399         `get_char_id_table'.
2400         (Fchar_variants): Likewise.
2401         (add_char_attribute_alist_mapper): Likewise.
2402         (Fchar_attribute_alist): Likewise.
2403         (Fget_char_attribute): Likewise.
2404         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2405         as same as character as the first argument like `put-char-table';
2406         modify for interface change of `put_char_id_table'.
2407         (Fremove_char_attribute): Modify for interface change of
2408         `put_char_id_table'.
2409
2410 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2411
2412         * text-coding.c: Sync up with XEmacs 21.2.41.
2413         (COMPOSE_ADD_CHAR): Modify for interface change of
2414         `get_char_id_table'.
2415
2416         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2417         change of `put_char_id_table'.
2418         (remove_char_ccs): Likewise.
2419
2420         * chartab.h (put_char_id_table): Change interface.
2421
2422         * char-ucs.h (get_char_id_table): Change interface.
2423         (charset_code_point): Modify for interface change of
2424         `get_char_id_table'.
2425         (encode_char_1): Likewise.
2426
2427 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2428
2429         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2430         argument `ccs'.
2431         (map_over_uint16_byte_table): Likewise.
2432         (map_over_byte_table): Likewise.
2433         (map_char_id_table): Add new argument `range' like
2434         `map_char_table'.
2435         (Fmap_char_attribute): Add new argument `range' like
2436         `Fmap_char_table'.
2437
2438 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2439
2440         * chartab.c (map_over_uint8_byte_table): Change interface of
2441         mapping function to use struct chartab_range instead of Emchar.
2442         (map_over_uint16_byte_table): Likewise.
2443         (map_over_byte_table): Likewise.
2444         (map_char_id_table): Likewise.
2445         (struct slow_map_char_id_table_arg): Deleted.
2446         (slow_map_char_id_table_fun): Deleted.
2447         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2448         function `slow_map_char_table_fun' instead of struct
2449         `slow_map_char_id_table_arg' and function
2450         `slow_map_char_id_table_fun'.
2451
2452 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2453
2454         * mule-charset.c: Move char-it-table related codes to chartab.c.
2455         (Vutf_2000_version): Moved to chartab.c.
2456         (Fdefine_char): Likewise.
2457         (Ffind_char): Likewise.
2458         (syms_of_mule_charset): Move types `uint8-byte-table',
2459         `uint16-byte-table', `byte-table' and `char-id-table' to
2460         chartab.c; move functions `char_attribute_list,
2461         `find_char_attribute_table, `char_attribute_alist,
2462         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2463         `map_char_attribute, `define_char, `find_char, `char_variants and
2464         `get_composite_char to chartab.c; move symbols `=>ucs',
2465         `->decomposition', `compat', `isolated', `initial', `medial',
2466         `final', `vertical', `noBreak', `fraction', `super', `sub',
2467         `circle', `square', `wide', `narrow', `small' and `font' to
2468         chartab.c.
2469         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2470         setting codes for `Vcharacter_composition_table' and
2471         `Vcharacter_variant_table' to chartab.c.
2472         (complex_vars_of_mule_charset): Move setting code for
2473         `Vchar_attribute_hash_table' to chartab.c.
2474
2475         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2476         (make_char_id_table): New prototype.
2477         (put_char_id_table): Likewise.
2478         (Fget_char_attribute): Likewise.
2479
2480         * chartab.c: Move char-id-table related code from mule-charset.c.
2481         (Vutf_2000_version): Moved from mule-charset.c.
2482
2483         * char-ucs.h (Qucs): New external variable.
2484         (put_char_ccs_code_point): New prototype.
2485         (remove_char_ccs): Likewise.
2486
2487 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2488
2489         * mule-charset.c (Vcharset_ucs_jis): New variable.
2490         (Qucs_jis): Likewise.
2491         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2492         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2493
2494         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2495
2496 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2497
2498         * mule-charset.c (map_over_uint8_byte_table): New function.
2499         (map_over_uint16_byte_table): Likewise.
2500         (map_over_byte_table): Likewise.
2501         (map_char_id_table): Likewise.
2502         (slow_map_char_id_table_fun): Likewise.
2503         (Fmap_char_attribute): Likewise.
2504         (syms_of_mule_charset): Add new function `map-char-attribute'.
2505
2506 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2507
2508         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2509         (syms_of_mule_charset): Add new function `find-char'.
2510
2511 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2512
2513         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2514         XEmacs UTF-2000.
2515         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2516         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2517         XEmacs UTF-2000.
2518         (complex_vars_of_mule_charset): Add new coded-charset
2519         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2520         `ideograph-gt-pj-*'.
2521
2522         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2523
2524 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2525
2526         * mule-charset.c (encode_builtin_char_1): Purge codes about
2527         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2528         {MIN|MAX}_CHAR_HEBREW.
2529         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2530         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2531
2532         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2533         (MAX_CHAR_GREEK): Purged.
2534         (MIN_CHAR_CYRILLIC): Purged.
2535         (MAX_CHAR_CYRILLIC): Purged.
2536         (MIN_CHAR_HEBREW): Commented out.
2537         (MAX_CHAR_HEBREW): Likewise.
2538
2539 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2540
2541         * mule-charset.c (Qto_ucs): New variable.
2542         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2543         (Fdefine_char): Likewise.
2544         (syms_of_mule_charset): Add new symbol `=>ucs'.
2545
2546 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2547
2548         * mule-charset.c (Fdecode_char): Fixed.
2549
2550 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2551
2552         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2553         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2554         "tcvn5712-1".
2555
2556 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2557
2558         * mule-charset.c (Vcharset_ucs_big5): New variable.
2559         (Qucs_big5): Likewise.
2560         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2561         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2562
2563         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2564
2565 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2566
2567         * mule-charset.c (decode_builtin_char): Check Big5 code range
2568         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2569
2570 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2571
2572         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2573         (Qchinese_gb12345): Likewise.
2574         (Fdecode_builtin_char): Fixed.
2575         (syms_of_mule_charset): Add `chinese-gb12345'.
2576         (complex_vars_of_mule_charset): Add coded-charset
2577         `chinese-gb12345'.
2578
2579         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2580         (LEADING_BYTE_CHINESE_GB12345): New macro.
2581
2582 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2583
2584         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2585         and `latin-viscii-upper' for `latin-viscii'.
2586
2587 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2588
2589         * mule-charset.c (Fdecode_builtin_char): Comment out
2590         regularization code for ISO-IR GR representation.
2591
2592 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2593
2594         * mule-charset.c (decode_builtin_char): New function; renamed from
2595         `make_builtin_char'; return -1 instead of signal.
2596         (Fdecode_builtin_char): Use `decode_builtin_char'.
2597
2598         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2599         `make_builtin_char'.
2600         (DECODE_CHAR): Use `decode_builtin_char' instead of
2601         `make_builtin_char'; use mapping table of `chinese-big5' for
2602         `chinese-big5-{1,2}'.
2603
2604 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2605
2606         * text-coding.c (char_encode_big5): New function.
2607         (char_finish_big5): Likewise.
2608         (reset_encoding_stream): Use `char_encode_big5' and
2609         `char_finish_big5' for CODESYS_BIG5.
2610         (mule_encode): Don't use `encode_coding_big5'.
2611         (encode_coding_big5): Deleted.
2612
2613 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2614
2615         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2616         0x81- in XEmacs UTF-2000.
2617         (detect_coding_big5): Likewise.
2618
2619 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2620
2621         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2622         generate character-id if the CCS property does not have
2623         corresponding predefined character.
2624         (make_builtin_char): Return -1 if corresponding predefined
2625         character is not found.
2626         (Fdecode_char): Return nil if corresponding character is not
2627         found.
2628         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2629         don't map to builtin ucs space.
2630
2631 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2632
2633         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2634         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2635
2636 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2637
2638         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2639         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2640         (Qideograph_gt): Likewise.
2641         (Qideograph_gt_pj_{1..11}): Likewise.
2642         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2643         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2644         `ideograph-gt-pj-11'.
2645         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2646         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2647         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2648
2649         * char-ucs.h (LEADING_BYTE_GT): New macro.
2650         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2651         (MIN_CHAR_GT): Likewise.
2652         (MAX_CHAR_GT): Likewise.
2653
2654 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2655
2656         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2657         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2658
2659         * doprnt.c (unsigned_int_converters): Add `c'.
2660         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2661
2662         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2663         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2664         `MIN_CHAR_MOJIKYO'.
2665         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2666         (MAX_CHAR_MOJIKYO_0): New macro.
2667         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2668
2669 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2670
2671         * mule-charset.c (Fdefine_char): Delete cemented out code.
2672         (encode_builtin_char_1): Modify for new allocation of builtin
2673         Mojikyo characters.
2674
2675         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2676
2677 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2678
2679         * mule-charset.c (Vcharset_ucs_cns): New variable.
2680         (Qucs_cns): New variable.
2681         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2682         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2683
2684 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2685
2686         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2687
2688 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2689
2690         * search.c (search_buffer): Make `charset_base_code' as
2691         character-id >> 6 to eliminate the corresponding last byte in
2692         UTF-8 representation [I'm not sure it is right thing].
2693         (boyer_moore): Likewise.
2694
2695 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2696
2697         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2698         representation in MULE.
2699
2700 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2701
2702         * text-coding.c (Fmake_coding_system): Use
2703         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2704         `EXTERNAL_PROPERTY_LIST_LOOP'.
2705
2706 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2707
2708         * text-coding.c (decode_output_utf8_partial_char): New function.
2709         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2710
2711 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2712
2713         * text-coding.c (decode_coding_utf8): Output original byte
2714         sequence if it is broken; change order of conditions.
2715
2716         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2717         of conditions.
2718
2719         * mb-multibyte.h (BYTE_ASCII_P):
2720         Use bit ops for char-signedness safety.
2721         (BYTE_C0_P): Use bit ops for char-signedness safety.
2722         (BYTE_C1_P): Use bit ops for char-signedness safety.
2723
2724         * character.h: (XCHAR_OR_CHAR_INT):
2725         Always use inline function.
2726         Remove redundant type checking assert() - XINT will abort quite
2727         nicely.
2728
2729 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2730
2731         * text-coding.c: (Fencode_shift_jis_char):
2732         (Fencode_big5_char):
2733         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2734         Replace 0 with '\0' when working with bytes.
2735         Replace initial "(" with "\(" in docstrings.
2736
2737         (Fmake_coding_system):
2738         When type is ccl and value is vector, register it with a proper
2739         symbol.  And checks whether the given ccl program is valid.
2740         (mule_decode): When calling ccl_driver, if src indicates
2741         NULL pointer, set an empty string instead.
2742         (mule_encode): Likewise.
2743
2744         (detect_eol_type):
2745         (detect_coding_sjis):
2746         (decode_coding_sjis):
2747         (detect_coding_big5):
2748         (decode_coding_big5):
2749         (detect_coding_ucs4):
2750         (decode_coding_ucs4):
2751         (detect_coding_utf8):
2752         (decode_coding_utf8):
2753         (detect_coding_iso2022):
2754         (decode_coding_iso2022):
2755         (decode_coding_no_conversion):
2756         (mule_decode):
2757         Make all detecting and decoding functions take an Extbyte * arg.
2758         (text_encode_generic):
2759         (encode_coding_big5):
2760         (encode_coding_no_conversion):
2761         (mule_encode):
2762         Make all encoding functions take a Bufbyte * arg.
2763         Use size_t instead of unsigned int for memory sizes.
2764         Only cast to unsigned char whenever dereferencing Extbyte *.
2765
2766         (struct lrecord_description fcd_description_1): Use countof.
2767         (complex_vars_of_file_coding):
2768         Use countof instead of sizeof.
2769         Use CHECK_NATNUM instead of CHECK_INT.
2770
2771 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2772
2773         * mule-charset.c (Fget_char_attribute): Add new optional argument
2774         `default-value'.
2775         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2776         (remove_char_ccs): Likewise.
2777
2778 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2779
2780         * text-coding.c (char_encode_shift_jis): New implementation in
2781         UTF-2000.
2782         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2783         ...)'.
2784
2785         * mule-charset.c (Vcharset_chinese_big5): New variable in
2786         UTF-2000.
2787         (Qchinese_big5): New variable in UTF-2000.
2788         (BIG5_SAME_ROW): New macro in UTF-2000.
2789         (make_builtin_char): Use builtin characters of
2790         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2791         characters of `Vcharset_chinese_big5'.
2792         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2793         (complex_vars_of_mule_charset): Add new coded-charset
2794         `chinese-big5' in UTF-2000.
2795
2796         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2797         (Vcharset_chinese_big5): New external variable declaration.
2798         (Vcharset_japanese_jisx0208_1990): Likewise.
2799
2800 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2801
2802         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2803         function.
2804         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2805
2806 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2807
2808         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2809         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2810         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2811         `mojikyo-pj-*'.
2812
2813 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2814
2815         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2816
2817 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2818
2819         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2820         to 0.17.
2821
2822 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2823
2824         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2825         for `CHARSET_BY_ATTRIBUTES'.
2826         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2827         `CHARSET_BY_ATTRIBUTES'.
2828
2829         * text-coding.c (struct decoding_stream): Rename member `CH' to
2830         `CPOS'.
2831         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2832         (decode_coding_sjis): Likewise.
2833         (decode_coding_big5): Likewise.
2834         (decode_coding_ucs4): Likewise.
2835         (decode_coding_utf8): Likewise.
2836         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2837         `CHARSET_BY_ATTRIBUTES'.
2838         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2839         `str->counter'; decode 3, 4 bytes sets.
2840         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2841         sets.
2842         (decode_coding_no_conversion): Use `str->cpos' instead of
2843         `str->ch'.
2844
2845         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2846         (Qmojikyo_2022_1): New variable.
2847         (make_charset): Don't use `CHARSET_TYPE_*'.
2848         (range_charset_code_point): Support coded-charset
2849         `mojikyo-2022-1'.
2850         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2851         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2852         `CHARSET_BY_ATTRIBUTES'.
2853         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2854         `CHARSET_BY_ATTRIBUTES'.
2855         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2856         (complex_vars_of_mule_charset): Add new coded-charset
2857         `mojikyo-2022-1'.
2858
2859         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2860         interface; changed to inline function.
2861
2862         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2863         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2864         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2865         (CHARSET_TYPE_94): Deleted.
2866         (CHARSET_TYPE_94X94): Deleted.
2867         (CHARSET_TYPE_96): Deleted.
2868         (CHARSET_TYPE_96X96): Deleted.
2869         (CHARSET_TYPE_128): Deleted.
2870         (CHARSET_TYPE_128X128): Deleted.
2871         (CHARSET_TYPE_256): Deleted.
2872         (CHARSET_TYPE_256X256): Deleted.
2873         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2874         to inline function.
2875         (DECODE_MOJIKYO_2022): New inline function.
2876         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2877         `Vcharset_mojikyo_2022_1'.
2878
2879 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2880
2881         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2882         instead of `EQ'.
2883         (put_byte_table): Likewise.
2884         (char_id_table_equal): Use `get_byte_table' [new implementation].
2885
2886 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2887
2888         * mule-charset.c: Include <limits.h> in UTF-2000.
2889         (BT_UINT8_MIN): New macro in UTF-2000.
2890         (BT_UINT8_MAX): New macro in UTF-2000.
2891         (BT_UINT8_t): New macro in UTF-2000.
2892         (BT_UINT8_nil): New macro in UTF-2000.
2893         (BT_UINT8_unbound): New macro in UTF-2000.
2894         (INT_UINT8_P): New inline function in UTF-2000.
2895         (UINT8_VALUE_P): New inline function in UTF-2000.
2896         (UINT8_ENCODE): New inline function in UTF-2000.
2897         (UINT8_DECODE): New inline function in UTF-2000.
2898         (mark_uint8_byte_table): New function in UTF-2000.
2899         (print_uint8_byte_table): New function in UTF-2000.
2900         (uint8_byte_table_equal): New function in UTF-2000.
2901         (uint8_byte_table_hash): New function in UTF-2000.
2902         (make_uint8_byte_table): New function in UTF-2000.
2903         (uint8_byte_table_same_value_p): New function in UTF-2000.
2904         (BT_UINT16_MIN): New macro in UTF-2000.
2905         (BT_UINT16_MAX): New macro in UTF-2000.
2906         (BT_UINT16_t): New macro in UTF-2000.
2907         (BT_UINT16_nil): New macro in UTF-2000.
2908         (BT_UINT16_unbound): New macro in UTF-2000.
2909         (INT_UINT16_P): New inline function in UTF-2000.
2910         (UINT16_VALUE_P): New inline function in UTF-2000.
2911         (UINT16_ENCODE): New inline function in UTF-2000.
2912         (UINT16_DECODE): New inline function in UTF-2000.
2913         (UINT8_TO_UINT16): New inline function in UTF-2000.
2914         (mark_uint16_byte_table): New function in UTF-2000.
2915         (print_uint16_byte_table): New function in UTF-2000.
2916         (uint16_byte_table_equal): New function in UTF-2000.
2917         (uint16_byte_table_hash): New function in UTF-2000.
2918         (make_uint16_byte_table): New function in UTF-2000.
2919         (uint16_byte_table_same_value_p): New function in UTF-2000.
2920         (print_byte_table): New function in UTF-2000.
2921         (byte-table): Use `print_byte_table' as printer.
2922         (make_byte_table): Delete second argument `older'.
2923         (byte_table_same_value_p): New function in UTF-2000.
2924         (copy_byte_table): Deleted.
2925         (get_byte_table): New function in UTF-2000.
2926         (put_byte_table): New function in UTF-2000.
2927         (print_char_id_table): New function in UTF-2000.
2928         (char-id-table): Use `print_char_id_table' as printer.
2929         (make_char_id_table): Delete second argument `older'.
2930         (get_char_id_table): Use `get_byte_table [new implementation].
2931         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2932         implementation].
2933         (Ffind_char_attribute_table): New function in UTF-2000.
2934         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2935         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2936         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2937         (syms_of_mule_charset): Add new function
2938         `find-char-attribute-table' in UTF-2000.
2939
2940         * lrecord.h (enum lrecord_type): Add
2941         `lrecord_type_uint16_byte_table' and
2942         `lrecord_type_uint8_byte_table'.
2943
2944         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2945         (Lisp_Uint8_Byte_Table): New type.
2946         (XUINT8_BYTE_TABLE): New macro.
2947         (XSETUINT8_BYTE_TABLE): New macro.
2948         (UINT8_BYTE_TABLE_P): New macro.
2949         (GC_UINT8_BYTE_TABLE_P): New macro.
2950         (struct Lisp_Uint16_Byte_Table): New structure.
2951         (Lisp_Uint16_Byte_Table): New type.
2952         (XUINT16_BYTE_TABLE): New macro.
2953         (XSETUINT16_BYTE_TABLE): New macro.
2954         (UINT16_BYTE_TABLE_P): New macro.
2955         (GC_UINT16_BYTE_TABLE_P): New macro.
2956
2957 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2958
2959         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2960         (Vcharacter_ideographic_strokes_table): Deleted.
2961         (Vcharacter_total_strokes_table): Deleted.
2962         (Vcharacter_morohashi_daikanwa_table): Deleted.
2963         (Vcharacter_decomposition_table): Deleted.
2964         (Qname): Deleted because it is duplicated.
2965         (Qideographic_radical): Deleted.
2966         (Qideographic_strokes): Deleted.
2967         (Qtotal_strokes): Deleted.
2968         (Qmorohashi_daikanwa): Deleted.
2969         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2970         `ideographic-radical', `ideographic-strokes', `total-strokes',
2971         `morohashi-daikanwa' and `->decomposition'.
2972         (Fget_char_attribute): Likewise.
2973         (Fput_char_attribute): Likewise; use `make-vector' instead of
2974         `make_older_vector' for `->decomposition' value.
2975         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2976         `ideograph-daikanwa'.
2977         (syms_of_mule_charset): Delete builtin symbols `name',
2978         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2979         `morohashi-daikanwa'.
2980         (vars_of_mule_charset): Don't setup
2981         `Vcharacter_ideographic_radical_table',
2982         `Vcharacter_ideographic_strokes_table',
2983         `Vcharacter_total_strokes_table',
2984         `Vcharacter_morohashi_daikanwa_table' and
2985         `Vcharacter_decomposition_table'.
2986
2987 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2988
2989         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2990         `make_older_vector', `make_vector_newer_1' and
2991         `make_vector_newer'.
2992
2993         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2994         `make_older_vector' and `make_vector_newer'.
2995
2996         * config.h.in (HAVE_GGC): New macro.
2997
2998 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2999
3000         * mule-charset.c (struct char_attribute_list_closure): New
3001         structure in UTF-2000.
3002         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3003         (Fchar_attribute_list): Likewise.
3004         (Fset_charset_mapping_table): Use `make_vector_newer'.
3005         (Fdecode_builtin_char): New function in UTF-2000.
3006         (syms_of_mule_charset): Add new function `char-attribute-list' and
3007         `decode-builtin-char' in UTF-2000.
3008
3009         * lisp.h (make_vector_newer): New prototype.
3010
3011         * alloc.c (make_vector_newer_1): New function.
3012         (make_vector_newer): New function.
3013
3014 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3015
3016         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3017         50100)'.
3018
3019 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3020
3021         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3022         (Vcharacter_attribute_table): Deleted.
3023         (Vcharacter_name_table): Deleted.
3024         (put_char_attribute): Deleted.
3025         (remove_char_attribute): Deleted.
3026         (struct char_attribute_alist_closure): New structure.
3027         (add_char_attribute_alist_mapper): New function.
3028         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3029         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3030         (Fget_char_attribute): Likewise.
3031         (Fput_char_attribute): Likewise.
3032         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3033         of `remove_char_attribute'.
3034         (Fdefine_char): Return character.
3035         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3036         and `Vcharacter_name_table'.
3037         (complex_vars_of_mule_charset): Likewise
3038         `Vchar_attribute_hash_table'.
3039
3040 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3041
3042         * character.h (CHARC_CHARSET): New macro.
3043         (CHARC_CHARSET_ID): New macro.
3044         (CHARC_CODE_POINT): New macro.
3045         (CHARC_COLUMNS): New macro.
3046         (CHARC_TO_CHAR): New inline function.
3047         (CHARC_EQ): New inline function.
3048         (CHARC_ASCII_EQ): New inline function.
3049         (CHARC_IS_SPACE): New inline function.
3050         (ASCII_TO_CHARC): New inline function.
3051
3052         * char-ucs.h (encode_char_2): Deleted.
3053         (ENCODE_CHAR): Use `encode_char_1' again.
3054         (breakup_char_1): Likewise.
3055         (CHAR_TO_CHARC): New inline function.
3056
3057         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3058
3059 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3060
3061         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3062         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3063         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3064         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3065         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3066         `CHARC_IS_SPACE'.
3067         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3068
3069         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3070         `CHARC_CODE_POINT'.
3071         (x_output_display_block): Use `CHARC_CHARSET' and
3072         `CHARC_ASCII_EQ'.
3073
3074         * redisplay-tty.c (tty_output_display_block): Use
3075         `CHARC_ASCII_EQ'.
3076         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3077
3078         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3079
3080         * insdel.c (find_charsets_in_charc_string): Use
3081         `CHARC_CHARSET_ID'.
3082         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3083         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3084         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3085         (convert_charc_string_into_malloced_string): Likewise.
3086
3087 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3088
3089         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3090         instead of <Emchar_dynarr *> for buf; use
3091         `convert_bufbyte_string_into_charc_dynarr' instead of
3092         `convert_bufbyte_string_into_emchar_dynarr'; use
3093         `find_charsets_in_charc_string' instead of
3094         `find_charsets_in_emchar_string'.
3095
3096         * redisplay.h:
3097         - Include "character.h".
3098         (struct rune): New member `cglyph'; delete member `chr'.
3099
3100         * redisplay.c (redisplay_text_width_charc_string): New function;
3101         delete `redisplay_text_width_emchar_string'.
3102         (rtw_charc_dynarr): New variable; renamed from
3103         `rtw_emchar_dynarr'.
3104         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3105         `rtw_emchar_dynarr'; use
3106         `convert_bufbyte_string_into_charc_dynarr' instead of
3107         `convert_bufbyte_string_into_emchar_dynarr'; use
3108         `redisplay_text_width_charc_string' instead of
3109         `redisplay_text_width_emchar_string'.
3110         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3111         instead of `rtw_emchar_dynarr'; use
3112         `convert_bufbyte_string_into_charc_dynarr' instead of
3113         `convert_bufbyte_string_into_emchar_dynarr'.
3114         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3115         `redisplay_text_width_charc_string' instead of
3116         `redisplay_text_width_emchar_string'.
3117         (create_text_block): Modify for <struct rune> change.
3118         (generate_formatted_string_db): Likewise.
3119         (create_string_text_block): Likewise.
3120         (pixel_to_glyph_translation): Likewise.
3121
3122         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3123         instead of <const Emchar *>.
3124         (x_text_width): Likewise.
3125         (x_output_display_block): Use <Charc_dynarr *> instead
3126         <Emchar_dynarr *>; modify for <structure rune> change.
3127         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3128         *>.
3129
3130         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3131         <const Emchar *>; use `charc_string_displayed_columns' instead of
3132         `emchar_string_displayed_columns'.
3133         (tty_output_display_block): Use <Charc_dynarr *> instead of
3134         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3135         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3136         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3137         `tty_output_emchar_dynarr_dynarr'.
3138         (tty_output_charc_dynarr): New function; delete
3139         `tty_output_charc_dynarr'.
3140
3141         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3142         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3143         <Emchar_dynarr *> for buf; use
3144         `convert_bufbyte_string_into_charc_dynarr' instead of
3145         `convert_bufbyte_string_into_emchar_dynarr'.
3146
3147         * frame.c (title_string_charc_dynarr): New variable; renamed from
3148         `title_string_emchar_dynarr'.
3149         (generate_title_string): Use `title_string_charc_dynarr' instead
3150         of `title_string_emchar_dynarr'; use
3151         `convert_charc_string_into_malloced_string' instead of
3152         `convert_emchar_string_into_malloced_string'.
3153         (init_frame): Use `title_string_charc_dynarr' instead of
3154         `title_string_emchar_dynarr'.
3155
3156         * console.h:
3157         - Include "character.h".
3158         (struct console_methods): Use <const Charc *> instead of <const
3159         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3160         <Emchar_dynarr *> in output_string_method.
3161
3162         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3163         <Emchar_dynarr *>.
3164
3165         * console-stream.c (stream_text_width): Use <const Charc *>
3166         instead of <const Emchar *>.
3167
3168         * character.h (Charc_dynarr): New type.
3169
3170         * char-ucs.h (structure Charc): New structure; define new type
3171         `Charc'.
3172
3173         * char-lb.h (DECODE_CHAR): New inline function.
3174         (encode_char_1): New inline function.
3175         (ENCODE_CHAR): New macro.
3176         (structure Charc): New structure; define new type `Charc'.
3177
3178         * char-1byte.h (Vcharset_control_1): New macro.
3179         (Vcharset_latin_iso8859_1): New macro.
3180         (DECODE_CHAR): New inline function.
3181         (encode_char_1): New inline function.
3182         (ENCODE_CHAR): New macro.
3183         (structure Charc): New structure; define new type `Charc'.
3184
3185         * insdel.c (find_charsets_in_charc_string): New function; delete
3186         `find_charsets_in_emchar_string'.
3187         (charc_string_displayed_columns): New function; delete
3188         `emchar_string_displayed_columns'.
3189         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3190         `convert_bufbyte_string_into_emchar_dynarr'.
3191         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3192         `convert_charc_string_into_bufbyte_dynarr'.
3193         (convert_charc_string_into_malloced_string): New function; delete
3194         `convert_charc_string_into_malloced_string'.
3195
3196         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3197         `find_charsets_in_emchar_string'.
3198         (charc_string_displayed_columns): New prototype; delete
3199         `emchar_string_displayed_columns'.
3200         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3201         `convert_charc_string_into_bufbyte_dynarr'.
3202         (convert_charc_string_into_malloced_string): New prototype; delete
3203         `convert_charc_string_into_malloced_string'.
3204
3205 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3206
3207         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3208
3209 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3210
3211         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3212
3213         * char-ucs.h: Use <short> for <Charset_ID>.
3214
3215         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3216         <Charset_ID>.
3217
3218 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3219
3220         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3221         to 0.16.
3222
3223 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3224
3225         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3226         variable.
3227         (Qmorohashi_daikanwa): New variable.
3228         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3229         for `morohashi-daikanwa' attribute.
3230         (Fget_char_attribute): Likewise.
3231         (Fput_char_attribute): Likewise.
3232         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3233         has the same value of `ideograph-daikanwa'.
3234         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3235         (vars_of_mule_charset): Setup
3236         `Vcharacter_morohashi_daikanwa_table'.
3237
3238 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3239
3240         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3241         attributes.
3242         (add_charset_to_list_mapper): Add `key' instead of
3243         `XCHARSET_NAME (value)' to return aliases.
3244
3245 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3246
3247         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3248         variable.
3249         (Vcharacter_ideographic_strokes_table): New variable.
3250         (Qideographic_radical): New variable.
3251         (Qideographic_strokes): New variable.
3252         (Fchar_attribute_alist): Use
3253         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3254         attribute; use `Vcharacter_ideographic_strokes_table' for
3255         `ideographic-strokes' attribute.
3256         (Fget_char_attribute): Likewise.
3257         (Fput_char_attribute): Likewise.
3258         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3259         `ideographic-strokes'.
3260         (vars_of_mule_charset): Setup
3261         `Vcharacter_ideographic_radical_table' and
3262         `Vcharacter_ideographic_strokes_table'.
3263
3264 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3265
3266         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3267         (Qtotal_strokes): New variable.
3268         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3269         `total-strokes' attribute.
3270         (Fget_char_attribute): Likewise.
3271         (Fput_char_attribute): Likewise.
3272         (syms_of_mule_charset): Add new symbol `total-strokes'.
3273         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3274
3275 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3276
3277         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3278         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3279         are found.
3280         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3281         `->decomposition' attribute.
3282         (Fput_char_attribute): Likewise.
3283         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3284
3285 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3286
3287         * mule-charset.c (decoding_table_check_elements): New function.
3288         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3289
3290 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3291
3292         * mule-charset.c (Fset_charset_mapping_table): Use
3293         `put_char_ccs_code_point'.
3294
3295 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3296
3297         * mule-charset.c (decoding_table_put_char): New inline function.
3298         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3299
3300 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3301
3302         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3303         (XCHARSET_BYTE_SIZE): New macro.
3304         (decoding_table_remove_char): New inline function.
3305         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3306         `decoding_table_remove_char'.
3307         (remove_char_ccs): Use `decoding_table_remove_char'.
3308         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3309
3310 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3311
3312         * mule-charset.c (Vcharacter_name_table): New variable.
3313         (Qname): New variable.
3314         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3315         attribute.
3316         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3317         `Vcharacter_name_table' for `name' attribute.
3318         (Fremove_char_attribute): Use function `remove_char_ccs'.
3319         (put_char_ccs_code_point): New function.
3320         (remove_char_ccs): New function.
3321         (syms_of_mule_charset): Add new symbol `name'.
3322         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3323
3324 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3325
3326         * mule-charset.c (make_byte_table): Add new argument `older'.
3327         (make_char_id_table): Likewise.
3328         (copy_char_id_table): Comment out because it is not used.
3329         (put_char_id_table): Modify for `make_byte_table'.
3330         (Fput_char_attribute): Make encoding_table as older object;
3331         inherit older bit of `Vcharacter_composition_table'.
3332         (mark_charset): Don't mark `cs->encoding_table'.
3333         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3334         normal object; make `Vcharacter_composition_table' as an older
3335         object; delete staticpro for `Vcharacter_composition_table'; make
3336         `Vcharacter_variant_table' as a normal object.
3337
3338         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3339         (mark_object): Don't check older object in UTF-2000.
3340
3341         * lrecord.h (struct lrecord_header): Add new member `older' in
3342         UTF-2000.
3343         (set_lheader_implementation): Setup `SLI_header->older' in
3344         UTF-2000.
3345         (set_lheader_older_implementation): New macro in UTF-2000.
3346         (OLDER_RECORD_P): New macro in UTF-2000.
3347         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3348         (alloc_older_lcrecord): New prototype in UTF-2000.
3349         (alloc_older_lcrecord_type): New macro in UTF-2000.
3350
3351 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3352
3353         * mule-charset.c (byte_table_description): Use
3354         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3355         (char_id_table_description): Delete bogus `, 1'.
3356         (Fget_char_attribute): Refer encoding_table of each coded-charset
3357         to get value of coded-charset attribute of a character.
3358         (Fput_char_attribute): Use `make_older_vector' instead of
3359         `make_vector'; use encoding_table of each coded-charset to store
3360         value of coded-charset attribute of a character.
3361         (Fremove_char_attribute): Use encoding_table of each coded-charset
3362         to store value of coded-charset attribute of a character.
3363         (mark_charset): Mark `cs->encoding_table'; don't mark
3364         `cs->decoding_table'.
3365         (charset_description): Add description of new member
3366         `encoding_table'.
3367         (make_charset): Initialize `encoding_table'.
3368
3369         * char-ucs.h (struct Lisp_Charset): Add new member
3370         `encoding_table'.
3371         (CHARSET_ENCODING_TABLE): New macro.
3372         (XCHARSET_ENCODING_TABLE): New macro.
3373         (charset_code_point): New implementation.
3374         (encode_char_1): Likewise.
3375
3376         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3377         (disksave_object_finalization_1): Call finalizers of
3378         `all_older_lcrecords' in UTF-2000.
3379         (make_older_vector): New function in UTF-2000.
3380         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3381         UTF-2000.
3382
3383         * lisp.h (make_older_vector): New prototype in UTF-2000.
3384
3385 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3386
3387         * lrecord.h (enum lrecord_type): Rename
3388         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3389
3390         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3391         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3392         `get_char_code_table'.
3393
3394         * mule-charset.c (mark_char_id_table): Renamed from
3395         `mark_char_code_table'.
3396         (char_id_table_equal): Renamed from `char_code_table_equal'.
3397         (char_id_table_hash): Renamed from `char_code_table_hash'.
3398         (make_char_id_table): Renamed from `make_char_code_table'.
3399         (copy_char_id_table): Renamed from `copy_char_code_table'.
3400         (get_char_id_table): Renamed from `get_char_code_table'.
3401         (put_char_id_table): Renamed from `put_char_code_table'.
3402         (to_char_id): Renamed from `to_char_code'.
3403
3404         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3405         `Lisp_Char_Code_Table'.
3406         (char_id_table): Renamed from `char_code_table'.
3407         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3408         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3409         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3410         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3411         (get_char_id_table): Renamed from `get_char_code_table'.
3412
3413 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3414
3415         * lrecord.h (enum lrecord_type): Rename
3416         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3417
3418         * mule-charset.c (mark_byte_table): Renamed from
3419         `mark_char_byte_table'.
3420         (byte_table_equal): Renamed from `char_byte_table_equal'.
3421         (byte_table_hash): Renamed from `byte_table_hash'.
3422         (make_byte_table): Renamed from `make_byte_table'.
3423         (copy_byte_table): Renamed from `copy_char_byte_table'.
3424
3425         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3426         `Lisp_Char_Byte_Table'.
3427         (byte_table): Renamed from `char_byte_table'.
3428         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3429         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3430         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3431         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3432
3433 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3434
3435         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3436         (dfc_convert_to_internal_format): Likewise.
3437         
3438         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3439         * text-coding.c (Fcoding_system_alias_p): New function.
3440         * text-coding.c (Fcoding_system_aliasee): New function.
3441         * text-coding.c (append_suffix_to_symbol): New function.
3442         * text-coding.c (dangling_coding_system_alias_p): New function.
3443         * text-coding.c (Ffind_coding_system):
3444         * text-coding.c (Fcopy_coding_system):
3445         * text-coding.c (encode_coding_no_conversion):
3446         * text-coding.c (syms_of_file_coding):
3447         * text-coding.c (vars_of_file_coding):
3448         Rewrite coding system alias code.
3449         Allow nested aliases, like symbolic links.
3450         Allow redefinition of coding system aliases.
3451         Prevent existence of dangling coding system aliases.
3452         Eliminate convert_to_external_format.
3453         Eliminate convert_to_internal_format.
3454         
3455         * text-coding.c: Change enum eol_type to eol_type_t.
3456
3457 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3458
3459         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3460         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3461
3462         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3463         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3464
3465 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3466
3467         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3468         `ideograph-daikanwa'.
3469
3470         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3471         (Vcharset_ucs_bmp): Likewise.
3472         (Vcharset_mojikyo): Add new extern variable definition.
3473         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3474         (Vcharset_latin_iso8859_3): Likewise.
3475         (Vcharset_latin_iso8859_4): Likewise.
3476         (Vcharset_latin_iso8859_9): Likewise.
3477         (Vcharset_latin_viscii_lower): Likewise.
3478         (Vcharset_latin_viscii_upper): Likewise.
3479         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3480         `mojikyo' code-point is used to decode.
3481         (encode_char_2): New function [to convert `mojikyo' code-point to
3482         Mojikyo font encoding].
3483         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3484         (breakup_char_1): Likewise.
3485         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3486
3487 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3488
3489         * text-coding.c (Fmake_coding_system): Add document about
3490         `disable-composition' property.
3491
3492 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3493
3494         * text-coding.c (Qdisable_composition): New variable; delete
3495         `Qcomposite'.
3496         (Fmake_coding_system): Add new property `disable-composite';
3497         delete property `composite'.
3498         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3499         instead of `!CODING_SYSTEM_COMPOSITE'.
3500         (syms_of_file_coding): Add new symbol `disable-composition';
3501         delete symbol `composite'.
3502
3503         * file-coding.h (struct Lisp_Coding_System): Add
3504         `disable_composition'; delete `enable_composition'.
3505         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3506         `CODING_SYSTEM_COMPOSITE'.
3507         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3508         `XCODING_SYSTEM_COMPOSITE'.
3509
3510 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3511
3512         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3513         to 0.15.
3514
3515 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3516
3517         * text-coding.c (Qcomposite): New variable.
3518         (Fmake_coding_system): Add new property `composite'.
3519         (struct decoding_stream): Add `combined_char_count',
3520         `combined_chars' and `combining_table' in UTF-2000.
3521         (COMPOSE_FLUSH_CHARS): New macro.
3522         (COMPOSE_ADD_CHAR): New macro.
3523         (reset_decoding_stream): Reset `str->combined_char_count' and
3524         `str->combining_table' in UTF-2000.
3525         (decode_coding_iso2022): Modify for character-decomposition.
3526         (syms_of_file_coding): Add new symbol `composite'.
3527
3528 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3529
3530         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3531         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3532         of `Vcharacter_composition_table' if `->decomposition' property
3533         has only 1 element.
3534         (Qlatin_tcvn5712): New variable.
3535         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3536         (complex_vars_of_mule_charset): Add new coded-charset
3537         `latin-tcvn5712'.
3538
3539         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3540
3541 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3542
3543         * file-coding.h (struct Lisp_Coding_System): Add
3544         `enable_composition'.
3545         (CODING_SYSTEM_COMPOSITE): New macro.
3546         (XCODING_SYSTEM_COMPOSITE): New macro.
3547
3548 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3549
3550         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3551
3552 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3553
3554         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3555         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3556
3557 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3558
3559         * mule-charset.c (Vcharset_mojikyo): New variable.
3560         (Fdefine_char): Don't use coded-charset which does not have
3561         non-builtin character range to allocate character-id.
3562         (Qmojikyo): New variable.
3563         (syms_of_mule_charset): Add new symbol `mojikyo'.
3564         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3565
3566         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3567         (LEADING_BYTE_MOJIKYO): New macro.
3568         (MIN_CHAR_MOJIKYO): New macro.
3569         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3570         (MAX_CHAR_MOJIKYO): New macro.
3571
3572 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3573
3574         * mule-charset.c (remove_char_attribute): Fixed.
3575
3576 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3577
3578         * mule-charset.c (remove_char_attribute): New function.
3579         (Fremove_char_attribute): New function.
3580         (encode_builtin_char_1): Comment out builtin-support for
3581         greek-iso8859-7 and cyrillic-iso8859-5.
3582         (Fdecode_char): Check `code' is an integer.
3583         (syms_of_mule_charset): Add `remove-char-attribute'.
3584         (MIN_CHAR_GREEK): Deleted.
3585         (MAX_CHAR_GREEK): Likewise.
3586         (MIN_CHAR_CYRILLIC): Likewise.
3587         (MAX_CHAR_CYRILLIC): Likewise.
3588         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3589         MAX_CHAR_GREEK for `greek-iso8859-7'.
3590
3591         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3592         (MAX_CHAR_GREEK): Likewise.
3593         (MIN_CHAR_CYRILLIC): Likewise.
3594         (MAX_CHAR_CYRILLIC): Likewise.
3595
3596 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3597
3598         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3599         format is used without `ucs' property.
3600         (Fdecode_char): Fix problem with GR representation.
3601         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3602         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3603
3604 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3605
3606         * mule-charset.c (make_builtin_char): New function.
3607         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3608         (Fset_charset_mapping_table): Modify for new representation of
3609         code-point.
3610         (Fdecode_char): New function.
3611         (syms_of_mule_charset): Add new builtin function `decode-char' in
3612         UTF-2000.
3613
3614         * char-ucs.h (make_builtin_char): New prototype.
3615         (DECODE_CHAR): New inline function.
3616         (MAKE_CHAR): Use `DECODE_CHAR'.
3617
3618 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3619
3620         * text-coding.c (parse_charset_conversion_specs): Use
3621         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3622         `XCHARSET_TYPE'.
3623         (iso2022_designate): Likewise.
3624
3625         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3626         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3627
3628         * mule-charset.c (Vcharset_ucs): New variable.
3629         (print_charset): Change design; use `CHARSET_CHARS' and
3630         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3631         (make_charset): Change signature to specify `chars' and
3632         `dimension' instead of `type'.
3633         (range_charset_code_point): Modify for 256^n-set.
3634         (encode_builtin_char_1): Encode as `ucs' in default.
3635         (Fmake_charset): Modify for `make_charset'.
3636         (Fmake_reverse_direction_charset): Likewise.
3637         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3638         UTF-2000.
3639         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3640         for `make_charset'.
3641
3642         * char-ucs.h (Vcharset_ucs): New variable.
3643         (LEADING_BYTE_UCS): New macro.
3644         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3645         and `chars' to `unsigned short' from `unsigned int'.
3646         (CHARSET_TYPE): Deleted.
3647         (XCHARSET_TYPE): Deleted.
3648
3649 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3650
3651         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3652
3653         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3654         (ENCODE_CHAR): New macro.
3655
3656 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3657
3658         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3659         to 0.14 (Kawachi-Katakami).
3660
3661 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3662
3663         * text-coding.c (char_encode_shift_jis): Modify for
3664         `charset_code_point'.
3665         (char_encode_iso2022): Likewise.
3666
3667         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3668         (integer) instead of list of <Lisp_Object>s (integers) as the
3669         format of code-point of a coded-charset.
3670         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3671         (encode_builtin_char_1): New function; delete
3672         `split_builtin_char'.
3673         (charset_code_point): Return <int> instead of <Lisp_Object>.
3674         (Fsplit_char): Don't use `SPLIT_CHAR'.
3675
3676         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3677         prototype for `split_builtin_char'.
3678         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3679         (charset_code_point): Likewise.
3680         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3681         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3682
3683 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3684
3685         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3686         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3687
3688 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3689
3690         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3691
3692         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3693         (MAX_CHAR_OBS_94x94): Deleted.
3694
3695 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3696
3697         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3698
3699         * char-ucs.h (MAX_CHAR_BMP): New macro.
3700
3701 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3702
3703         * text-coding.c: Sync with r21-2-24.
3704
3705 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3706
3707         * file-coding.c: Modify for UTF-2000.
3708
3709 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3710
3711         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3712         to 0.13 (Takaida).
3713
3714 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3715
3716         * mule-charset.c (split_builtin_char): Delete builtin support for
3717         `katakana-jisx0201'.
3718         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3719         BMP area in builtin representation.
3720
3721         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3722         `Vcharset_katakana_jisx0201'.
3723
3724 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3725
3726         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3727         (Qisolated): New variable.
3728         (Qinitial): New variable.
3729         (Qmedial): New variable.
3730         (Qfinal): New variable.
3731         (Qvertical): New variable.
3732         (Qsmall): New variable.
3733         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3734         `Qvertical' and `Qsmall'.
3735         (Qmojikyo_pj_[1 .. 21]): New variable.
3736         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3737         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3738         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3739         .. 21]'.
3740
3741 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3742
3743         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3744         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3745         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3746
3747 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3748
3749         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3750         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3751         BMP.
3752         (Qjapanese_jisx0208_1990): New variable.
3753         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3754         (complex_vars_of_mule_charset): Add new coded-charset
3755         `japanese-jisx0208-1990'.
3756
3757         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3758         (MIN_CHAR_JIS_X0208_1990): New macro.
3759         (MAX_CHAR_JIS_X0208_1990): New macro.
3760
3761 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3762
3763         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3764         coded-charset is not found.
3765
3766 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3767
3768         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3769         (Fdefine_char): Use `Fmake_char'.
3770
3771 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3772
3773         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3774         (Vcharset_hiragana_jisx0208): Deleted.
3775         (Vcharset_katakana_jisx0208): Deleted.
3776         (Qideograph_daikanwa): New variable.
3777         (Qhiragana_jisx0208): Deleted.
3778         (Qkatakana_jisx0208): Deleted.
3779         (split_builtin_char): Split `ideograph-daikanwa'.
3780         (Fsplit_char): New implementation for UTF-2000.
3781         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3782         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3783         (complex_vars_of_mule_charset): Add new coded-charset
3784         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3785         `katakana-jisx0208'.
3786
3787         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3788         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3789         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3790         (MIN_CHAR_DAIKANWA): New macro.
3791         (MAX_CHAR_DAIKANWA): New macro.
3792
3793 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3794
3795         * data.c (Fstring_to_number): Don't recognize floating point if
3796         base is not 10.
3797
3798 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3799
3800         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3801
3802 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3803
3804         * mule-charset.c (Qsquare): New variable.
3805         (to_char_code): Add `Qsquare'.
3806         (syms_of_mule_charset): Add new symbol `square'.
3807
3808 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3809
3810         * mule-charset.c (Qcircle): New variable.
3811         (to_char_code): Add `Qcircle'.
3812         (syms_of_mule_charset): Add new symbol `circle'.
3813
3814 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3815
3816         * mule-charset.c (Qfont): New variable.
3817         (to_char_code): Add `Qfont'.
3818         (syms_of_mule_charset): Add new symbol `font'.
3819
3820 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3821
3822         * mule-charset.c (Qsub): New variable.
3823         (to_char_code): Add `Qsub'.
3824         (syms_of_mule_charset): Add new symbol `sub'.
3825
3826 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3827
3828         * mule-charset.c (Fput_char_attribute): Convert each element of
3829         VALUE to GL position if ATTRIBUTE is a GR-set,
3830
3831 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3832
3833         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3834         coded-charset is a GR-set.
3835
3836 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3837
3838         * mule-charset.c (Fput_char_attribute): Check each element of
3839         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3840
3841 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3842
3843         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3844         UTF-2000.
3845         (Qethiopic_ucs): New variable in UTF-2000.
3846         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3847         (complex_vars_of_mule_charset): Add new coded-charset
3848         `ethiopic-ucs' in UTF-2000.
3849
3850         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3851         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3852         9)'.
3853         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3854         10)'.
3855         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3856
3857 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3858
3859         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3860         `ascii'.
3861
3862 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3863
3864         * mule-charset.c (Vcharacter_variant_table): New variable.
3865         (Q_ucs): New variable.
3866         (Fchar_variants): New function.
3867         (Fput_char_attribute): Register `->ucs' value to
3868         `Vcharacter_variant_table'.
3869         (syms_of_mule_charset): Add new function `char-variants' and new
3870         symbol `->ucs'.
3871         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3872
3873 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3874
3875         * mule-charset.c (get_char_code_table): Allow negative character
3876         code.
3877         (put_char_code_table): Likewise.
3878         (Vcharacter_composition_table): New variable.
3879         (Q_decomposition): New variable.
3880         (Qwide): New variable.
3881         (Qnarrow): New variable.
3882         (Qcompat): New variable.
3883         (QnoBreak): New variable.
3884         (Qsuper): New variable.
3885         (Qfraction): New variable.
3886         (to_char_code): New function.
3887         (Fget_composite_char): New function.
3888         (Fput_char_attribute): Register `->decomposition' value to
3889         `Vcharacter_composition_table'.
3890         (syms_of_mule_charset): Add new function `get-composite-char', new
3891         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3892         `super' and `fraction'.
3893         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3894
3895 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3896
3897         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3898         character; copy the return value.
3899
3900 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3901
3902         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3903
3904         * mule-charset.c (range_charset_code_point): Must use make_int.
3905         (split_builtin_char): New function.
3906
3907 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3908
3909         * mule-charset.c (char_byte_table): Change name from
3910         "char-code-table" to "char-byte-table".
3911         (mark_char_code_table): New function.
3912         (char_code_table_equal): New function.
3913         (char_code_table_hash): New function.
3914         (char_code_table_description): New constant.
3915         (char_code_table): New type.
3916         (make_char_code_table): New function.
3917         (copy_char_code_table): New function.
3918         (get_char_code_table): Modify for `char_code_table' type.
3919         (put_char_code_table): Likewise.
3920         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3921         (Kashiwara).
3922
3923         * char-ucs.h (char_code_table): New type.
3924         (XCHAR_CODE_TABLE): New macro.
3925         (XSETCHAR_CODE_TABLE): New macro.
3926         (CHAR_CODE_TABLE_P): New macro.
3927         (GC_CHAR_CODE_TABLE_P): New macro.
3928         (struct Lisp_Char_Code_Table): New structure.
3929
3930 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3931
3932         * mule-charset.c (Fmake_charset): Setup byte_offset for
3933         {94|96}^n-set.
3934
3935 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3936
3937         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3938         character.
3939
3940 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3941
3942         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3943         is found.
3944
3945 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3946
3947         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3948         charset, it is regarded as a charset.
3949         (put_char_attribute): New function in UTF-2000.
3950         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3951         charset, mapping-table of the charset is modified.
3952         (Fdefine_char): New function in UTF-2000.
3953         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3954         `Fput_char_attribute'.
3955         (syms_of_mule_charset): Add new function `define-char' and new
3956         symbol `ucs' in UTF-2000.
3957         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3958
3959 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3960
3961         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3962         non-UTF-2000 configuration.
3963
3964 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3965
3966         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3967         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3968
3969         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3970         deleted.
3971         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3972         (Fset_charset_mapping_table): Likewise.
3973
3974         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3975         (CHARSET_ENCODING_TABLE): Delete.
3976         (XCHARSET_ENCODING_TABLE): Delete.
3977         (charset_code_point): New interface.
3978
3979 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3980
3981         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3982         instead of `charset_get_byte1' and `charset_get_byte2'.
3983
3984         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3985         (charset_get_byte2): Deleted.
3986
3987 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3988
3989         * char-ucs.h (SPLIT_CHAR): New inline function.
3990         (breakup_char_1): Use `SPLIT_CHAR'.
3991
3992         * mule-charset.c (range_charset_code_point): New function.
3993         (charset_code_point): New function.
3994
3995         * char-ucs.h (range_charset_code_point): New interface.
3996         (breakup_char_1): Use `range_charset_code_point'.
3997
3998 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3999
4000         * mule-charset.c (Fmake_charset): Delete unused local variable
4001         `code_offset'.
4002
4003         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4004         (breakup_char_1): Find a charset and code-point in
4005         `Vcharacter_attribute_table'.
4006
4007 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4008
4009         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4010         to 0.10 (Yao).
4011
4012 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4013
4014         * mule-charset.c (Vcharacter_attribute_table): New variable.
4015         (Fchar_attribute_alist): New function.
4016         (Fget_char_attribute): New function.
4017         (Fput_char_attribute): New function.
4018         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4019         too.
4020         (syms_of_mule_charset): Add new function `char-attribute-alist',
4021         `get-char-attribute' and `put-char-attribute'.
4022         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4023
4024 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4025
4026         * mule-charset.c (Fmake_charset): Just use
4027         `get_unallocated_leading_byte'.
4028
4029         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4030         sets; don't use final-byte based number for private sets.
4031
4032 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4033
4034         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4035         integer.
4036
4037 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4038
4039         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4040         to 0.9.
4041
4042 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4043
4044         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4045         of `CHAR_LEADING_BYTE' in UTF-2000.
4046
4047         * insdel.c (find_charsets_in_bufbyte_string): Use
4048         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4049         (find_charsets_in_emchar_string): Likewise.
4050
4051         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4052         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4053
4054         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4055         (CHAR_CHARSET_ID): New macro.
4056
4057 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4058
4059         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4060         charset-id - MIN_LEADING_BYTE.
4061         (put_char_table): Likewise.
4062
4063 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4064
4065         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4066         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4067         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4068         (CHARSET_ID_OFFSET): New macro.
4069         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4070         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4071         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4072         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4073         4).
4074         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4075         5).
4076         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4077         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4078         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4079         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4080         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4081
4082 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4083
4084         * mule-charset.c (next_allocated_leading_byte): New variable in
4085         UTF-2000.
4086         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4087         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4088         (get_unallocated_leading_byte): Simply use
4089         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4090         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4091         UTF-2000.
4092
4093         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4094         (MAX_LEADING_BYTE_PRIVATE): New macro.
4095         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4096         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4097
4098 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4099
4100         * mule-charset.c (Fmake_charset): Allocate final-byte based
4101         charset-id for 94-set, 96-set and 94x94-set.
4102
4103 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4104
4105         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4106         ambiguous `else'.
4107         (Fmake_charset): Likewise.
4108         (complex_vars_of_mule_charset): Modify the font registry of
4109         `ucs-bmp' not to match `Ethiopic-Unicode'.
4110
4111 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4112
4113         * mule-charset.c (complex_vars_of_mule_charset): Add font
4114         registory of `ucs-bmp'.
4115
4116 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4117
4118         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4119         coded-charsets in `default-coded-charset-priority-list' when
4120         breaking up a character.
4121
4122         * mule-charset.c (Vcharset_latin_viscii): New variable.
4123         (Qlatin_viscii): New variable.
4124         (make_charset): Don't use `decoding_table'.
4125         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4126         byte_offset.
4127         (Fset_charset_mapping_table): New implementation.
4128         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4129         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4130         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4131         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4132         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4133         charset `latin_viscii'.
4134
4135         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4136         (CHARSET_TYPE_94X94): Change to 1 from 2.
4137         (CHARSET_TYPE_96): Change to 2 from 1.
4138         (CHARSET_TYPE_128): New macro.
4139         (CHARSET_TYPE_128X128): Change to 5 from 4.
4140         (CHARSET_TYPE_256): New macro.
4141         (CHARSET_TYPE_256X256): Change to 7 from 5.
4142         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4143
4144 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4145
4146         * text-coding.c (char_encode_shift_jis): Refer
4147         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4148         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4149
4150         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4151         (char_byte_table_equal): New function in UTF-2000.
4152         (char_byte_table_hash): New function in UTF-2000.
4153         (char_byte_table_description): New constant in UTF-2000.
4154         (char_byte_table): New type in UTF-2000.
4155         (make_char_byte_table): New function in UTF-2000.
4156         (copy_char_byte_table): New function in UTF-2000.
4157         (make_char_code_table): New macro in UTF-2000.
4158         (get_char_code_table): New function in UTF-2000.
4159         (put_char_code_table): New function in UTF-2000.
4160         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4161         (charset_description): Add setting in UTF-2000.
4162         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4163         `CHARSET_TO_BYTE1_TABLE(cs)'.
4164         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4165         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4166         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4167         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4168         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4169         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4170         `CHARSET_TO_BYTE2_TABLE(cs)'.
4171
4172         * char-ucs.h (char_byte_table): New type.
4173         (XCHAR_BYTE_TABLE): New macro.
4174         (XSETCHAR_BYTE_TABLE): New macro.
4175         (CHAR_BYTE_TABLE_P): New macro.
4176         (GC_CHAR_BYTE_TABLE_P): New macro.
4177         (struct Lisp_Char_Byte_Table): New structure.
4178         (get_char_code_table): New interface.
4179         (Emchar_to_byte_table): Deleted.
4180         (get_byte_from_character_table): Deleted.
4181         (struct Lisp_Charset): Add `encoding_table'; delete
4182         `to_byte1_table' and `to_byte2_table'.
4183         (CHARSET_ENCODING_TABLE): New macro.
4184         (CHARSET_TO_BYTE1_TABLE): Deleted.
4185         (CHARSET_TO_BYTE2_TABLE): Deleted.
4186         (XCHARSET_ENCODING_TABLE): New macro.
4187         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4188         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4189
4190 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4191
4192         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4193         `vietnamese-viscii-*'.
4194
4195 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4196
4197         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4198         (Qvietnamese_viscii_upper): New variable.
4199         (Fdefine_charset_alias): New function.
4200         (syms_of_mule_charset): Add new function `define-charset-alias'.
4201         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4202         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4203         `latin-viscii-*'.
4204
4205 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4206
4207         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4208         (MAX_CHAR_OBS_94x94): New macro.
4209         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4210         for 94x94 sets.
4211
4212         * mule-charset.c (put_byte_from_character_table): Change unit size
4213         from 128 to 256.
4214         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4215         not defined.
4216         (Fmake_reverse_direction_charset): Modify dummy argument of
4217         `make_charset' for non-UTF-2000 environment.
4218
4219 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4220
4221         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4222
4223         * mule-charset.c (destroy_byte_from_character_table): New macro.
4224         (latin_jisx0201_to_ucs): Deleted.
4225         (latin_iso8859_2_to_ucs): Deleted.
4226         (latin_iso8859_3_to_ucs): Deleted.
4227         (latin_iso8859_4_to_ucs): Deleted.
4228         (latin_iso8859_9_to_ucs): Deleted.
4229         (latin_viscii_lower_to_ucs): Deleted.
4230         (latin_viscii_upper_to_ucs): Deleted.
4231         (mark_charset): Mark `cs->decoding_table'.
4232         (Fcharset_mapping_table): Fix DOC-string.
4233         (Fset_charset_mapping_table): New function.
4234         (syms_of_mule_charset): Add nwe function
4235         `set-charset-mapping-table'.
4236         (complex_vars_of_mule_charset): Don't setup and use
4237         `latin_*_to_ucs'.
4238
4239 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4240
4241         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4242         charset.
4243
4244 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4245
4246         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4247         (Vcharset_katakana_jisx0208): New variable.
4248         (Qhiragana_jisx0208): New variable.
4249         (Qkatakana_jisx0208): New variable.
4250         (make_charset): Add new argument `byte_offset'.
4251         (charset_get_byte1): Modify for new coded-charset definition; use
4252         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4253         `XCHARSET_BYTE_OFFSET'.
4254         (Fmake_charset): Modify for `make_charset'.
4255         (Fmake_reverse_direction_charset): Likewise.
4256         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4257         `katakana-jisx0208'.
4258         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4259         `.'  in font registry of charset `katakana-jisx0201',
4260         `latin-jisx0201', `vietnamese-viscii-lower' and
4261         `vietnamese-viscii-upper'; modify DOC-string of charset
4262         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4263         registry of charset `japanese-jisx0208' not to use font for JIS
4264         X0208:1990; add new charset `hiragana-jisx0208' and
4265         `katakana-jisx0208'.
4266
4267         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4268         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4269         (struct Lisp_Charset): Add `byte_offset'.
4270         (CHARSET_BYTE_OFFSET): New macro.
4271         (XCHARSET_UCS_MIN): New macro.
4272         (XCHARSET_UCS_MAX): New macro.
4273         (XCHARSET_CODE_OFFSET): New macro.
4274         (XCHARSET_BYTE_OFFSET): New macro.
4275         (MIN_CHAR_HIRAGANA): New macro.
4276         (MAX_CHAR_HIRAGANA): New macro.
4277         (MIN_CHAR_KATAKANA): New macro.
4278         (MAX_CHAR_KATAKANA): New macro.
4279         (MAKE_CHAR): Modify for new coded-charset definition; use
4280         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4281         `XCHARSET_BYTE_OFFSET'.
4282
4283 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4284
4285         * mule-charset.c (CHAR96): Deleted.
4286         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4287         <Lisp_Object>.
4288         (latin_iso8859_2_to_ucs): Likewise.
4289         (latin_iso8859_3_to_ucs): Likewise.
4290         (latin_iso8859_4_to_ucs): Likewise.
4291         (latin_iso8859_9_to_ucs): Likewise.
4292         (latin_viscii_lower_to_ucs): Likewise.
4293         (latin_viscii_upper_to_ucs): Likewise.
4294         (latin_tcvn5712_to_ucs): Commented out.
4295         (make_charset): Change type of argument `decoding_table' from
4296         <Emchar*> to <Lisp_Object> [vector of characters].
4297         (Fmake_charset): Modify for `make_charset'.
4298         (Fmake_reverse_direction_charset): Likewise.
4299         (Fcharset_mapping_table): New function in UTF-2000.
4300         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4301         UTF-2000.
4302         (complex_vars_of_mule_charset): Modify for type change of
4303         `*_to_ucs'; modify for `make_charset'.
4304
4305         * char-ucs.h (struct Lisp_Charset): Change type of
4306         `decoding_table' from <Emchar*> to <Lisp_Object>.
4307         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4308
4309 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4310
4311         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4312         error with non-UTF-2000-Mule.
4313
4314 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4315
4316         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4317         in lisp again].
4318         (Vcharset_chinese_cns11643_4): Likewise.
4319         (Vcharset_chinese_cns11643_5): Likewise.
4320         (Vcharset_chinese_cns11643_6): Likewise.
4321         (Vcharset_chinese_cns11643_7): Likewise.
4322         (Qchinese_cns11643_3): Likewise.
4323         (Qchinese_cns11643_4): Likewise.
4324         (Qchinese_cns11643_5): Likewise.
4325         (Qchinese_cns11643_6): Likewise.
4326         (Qchinese_cns11643_7): Likewise.
4327         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4328         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4329         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4330         (complex_vars_of_mule_charset): Likewise.
4331
4332 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4333
4334         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4335         96-set.
4336         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4337         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4338
4339 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4340
4341         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4342         0xFF60.
4343         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4344         (breakup_char_1): Likewise.
4345
4346         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4347         one of them includes the specified character.
4348
4349 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4350
4351         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4352
4353 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4354
4355         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4356
4357 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4358
4359         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4360         definition for non-UTF-2000 Mule.
4361         (latin_iso8859_3_to_ucs): Likewise.
4362         (latin_iso8859_4_to_ucs): Likewise.
4363         (latin_iso8859_9_to_ucs): Likewise.
4364         (latin_jisx0201_to_ucs): Likewise.
4365         (MIN_CHAR_THAI): Likewise.
4366         (MAX_CHAR_THAI): Likewise.
4367         (MIN_CHAR_GREEK): Likewise.
4368         (MAX_CHAR_GREEK): Likewise.
4369         (MIN_CHAR_HEBREW): Likewise.
4370         (MAX_CHAR_HEBREW): Likewise.
4371         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4372         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4373         (MIN_CHAR_CYRILLIC): Likewise.
4374         (MAX_CHAR_CYRILLIC): Likewise.
4375
4376 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4377
4378         * char-ucs.h (breakup_char_1): Use
4379         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4380         thai-tis620 and katakana-jisx0201 area.
4381
4382 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4383
4384         * char-ucs.h (breakup_char_1): Use
4385         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4386         area.
4387
4388         * text-coding.c (reset_encoding_stream): Fixed.
4389         (char_encode_ucs4): Delete `& 255'.
4390
4391         * char-ucs.h (breakup_char_1): Use
4392         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4393
4394 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4395
4396         * file-coding.c (Fmake_coding_system): Don't set up
4397         `codesys->fixed.size'.
4398         (encode_coding_no_conversion): Don't refer
4399         `str->codesys->fixed.size'.
4400
4401 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4402
4403         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4404         (latin_a_char_to_byte1): Deleted.
4405         (latin_a_char_to_byte2): Deleted.
4406
4407 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4408
4409         * mule-charset.c (make_charset): Add new argument `ucs_min',
4410         `ucs_max' and `code_offset'.
4411         (charset_get_byte1): New implementation [delete specific charset
4412         depended implementations].
4413         (Fmake_charset): Modify for `make_charset'.
4414         (Fmake_reverse_direction_charset): Likewise.
4415         (complex_vars_of_mule_charset): Likewise.
4416
4417         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4418         `code_offset'.
4419         (CHARSET_UCS_MIN): New macro.
4420         (CHARSET_UCS_MAX): New macro.
4421         (CHARSET_CODE_OFFSET): New macro.
4422         (MAKE_CHAR): Delete charset depended definitions [except
4423         katakana-jisx0201].
4424
4425 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4426
4427         * char-ucs.h (breakup_char_1): Use
4428         `Vdefault_coded_charset_priority_list' for C0-Controls,
4429         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4430
4431 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4432
4433         * char-ucs.h (charset_get_byte1): New function.
4434         (XCHARSET_GET_BYTE1): Deleted.
4435         (charset_get_byte2): New function.
4436         (XCHARSET_GET_BYTE2): Deleted.
4437         (Vdefault_coded_charset_priority_list): New external variable.
4438         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4439         `Vdefault_preferred_coded_charset_list'.
4440
4441         * mule-charset.c (charset_get_byte1): New function.
4442         (charset_get_byte2): New function.
4443         (Vdefault_coded_charset_priority_list): New variable.
4444         (vars_of_mule_charset): Add new variable
4445         `default-coded-charset-priority-list'.
4446
4447 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4448
4449         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4450         (XCHARSET_GET_BYTE2): New inline function.
4451         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4452         `XCHARSET_GET_BYTE2'.
4453
4454 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4455
4456         * mule-charset.c (make_charset): Initialize
4457         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4458         NULL if table is not defined.
4459
4460 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4461
4462         * text-coding.c (char_encode_shift_jis): Use
4463         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4464         `ucs_to_latin_jisx0201'.
4465
4466         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4467         (ucs_to_latin_iso8859_2): Deleted.
4468         (ucs_to_latin_iso8859_3): Deleted.
4469         (ucs_to_latin_iso8859_4): Deleted.
4470         (ucs_to_latin_iso8859_9): Deleted.
4471         (ucs_to_latin_viscii_lower): Deleted.
4472         (ucs_to_latin_viscii_upper): Deleted.
4473         (ucs_to_latin_tcvn5712): Deleted.
4474         (make_charset): Add new argument `decoding_table'; set up
4475         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4476         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4477         `decoding_table' is defined in UTF-2000.
4478         (Fmake_charset): Modify for `make_charset'.
4479         (Fmake_reverse_direction_charset): Likewise.
4480         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4481         and `GENERATE_96_SET'.
4482
4483         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4484         (ucs_to_latin_jisx0201): Deleted.
4485         (latin_iso8859_2_to_ucs): Deleted.
4486         (ucs_to_latin_iso8859_2): Deleted.
4487         (latin_iso8859_3_to_ucs): Deleted.
4488         (ucs_to_latin_iso8859_3): Deleted.
4489         (latin_iso8859_4_to_ucs): Deleted.
4490         (ucs_to_latin_iso8859_4): Deleted.
4491         (latin_iso8859_9_to_ucs): Deleted.
4492         (ucs_to_latin_iso8859_9): Deleted.
4493         (latin_viscii_lower_to_ucs): Deleted.
4494         (ucs_to_latin_viscii_lower): Deleted.
4495         (latin_viscii_upper_to_ucs): Deleted.
4496         (ucs_to_latin_viscii_upper): Deleted.
4497         (struct Lisp_Charset): Renamed `encoding_table' to
4498         `to_byte1_table'; add `to_byte2_table'.
4499         (CHARSET_DECODING_TABLE): New macro.
4500         (CHARSET_TO_BYTE1_TABLE): New macro.
4501         (CHARSET_TO_BYTE2_TABLE): New macro.
4502         (XCHARSET_DECODING_TABLE): New macro.
4503         (XCHARSET_TO_BYTE1_TABLE): New macro.
4504         (XCHARSET_TO_BYTE2_TABLE): New macro.
4505         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4506         tables.
4507         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4508         don't use `ucs_to_*' tables.
4509
4510 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4511
4512         * text-coding.c (Fmake_coding_system): Don't set up
4513         `codesys->fixed.size'.
4514         (encode_coding_no_conversion): Use `if' instead of `switch'.
4515
4516         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4517
4518 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4519
4520         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4521         (Fmake_charset): Modify for `make_charset'.
4522         (Fmake_reverse_direction_charset): Likewise.
4523         (complex_vars_of_mule_charset): Likewise.
4524
4525 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4526
4527         * text-coding.c (char_encode_shift_jis): Use table
4528         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4529
4530 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4531
4532         * text-coding.c (text_encode_generic): Use `if' instead of
4533         `switch'.
4534         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4535         decode JIS-Latin.
4536
4537 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4538
4539         * text-coding.c (encode_coding_sjis): Deleted.
4540         (char_encode_shift_jis): New function.
4541         (char_finish_shift_jis): New function.
4542         (reset_encoding_stream): Set up `encode_char' and `finish' for
4543         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4544         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4545         (char_encode_utf8): Treat `eol_type'.
4546
4547 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4548
4549         * file-coding.c (decode_coding_iso2022): Use
4550         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4551
4552 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4553
4554         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4555         to 0.7 (Hirano).
4556
4557 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4558
4559         * char-lb.h (CHAR_COLUMNS): New macro.
4560
4561 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4562
4563         * text-coding.c (char_encode_ucs4): New function.
4564         (char_finish_ucs4): New function.
4565         (encode_coding_ucs4): Deleted.
4566         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4567         (text_encode_generic): Delete local variable `charset' and `half'.
4568         (ucs_to_mule_table): Deleted.
4569         (mule_to_ucs_table): Deleted.
4570         (Fset_ucs_char): Deleted.
4571         (ucs_to_char): Deleted.
4572         (Fucs_char): Deleted.
4573         (Fset_char_ucs): Deleted.
4574         (Fchar_ucs): Deleted.
4575         (decode_ucs4): Deleted.
4576         (mule_char_to_ucs4): Deleted.
4577         (encode_ucs4): Deleted.
4578         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4579         (decode_coding_utf8): Likewise.
4580         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4581         (char_encode_iso2022): Fixed.
4582         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4583         `Fset_char_ucs' and `Fchar_ucs'.
4584         (complex_vars_of_file_coding): Don't initialize
4585         `ucs_to_mule_table'.
4586
4587         * objects-tty.c (tty_initialize_font_instance): Don't use
4588         `XCHARSET_COLUMNS'.
4589
4590         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4591         UTF-2000.
4592
4593         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4594         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4595
4596         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4597         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4598         (emchar_string_displayed_columns): Likewise.
4599
4600         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4601         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4602         (string_column_at_point): Likewise.
4603         (Fmove_to_column): Likewise.
4604
4605         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4606         `encoding_table' and `decoding_table'.
4607         (CHARSET_REP_BYTES): Deleted.
4608         (XCHARSET_REP_BYTES): Deleted.
4609         (XCHARSET_COLUMNS): Deleted.
4610         (CHAR_COLUMNS): New macro.
4611         (lookup_composite_char): Deleted unconditionally.
4612         (composite_char_string): Likewise.
4613
4614 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4615
4616         * char-ucs.h (Emchar_to_byte_table): New type.
4617         (get_byte_from_character_table): New function interface.
4618         (Vcharset_latin_jisx0201): New variable.
4619         (latin_jisx0201_to_ucs): New variable.
4620         (ucs_to_latin_jisx0201): New variable.
4621         (Vcharset_latin_iso8859_2): New variable.
4622         (latin_iso8859_2_to_ucs): New variable.
4623         (ucs_to_latin_iso8859_2): New variable.
4624         (Vcharset_latin_iso8859_3): New variable.
4625         (latin_iso8859_3_to_ucs): New variable.
4626         (ucs_to_latin_iso8859_3): New variable.
4627         (Vcharset_latin_iso8859_4): New variable.
4628         (latin_iso8859_4_to_ucs): New variable.
4629         (ucs_to_latin_iso8859_4): New variable.
4630         (Vcharset_latin_iso8859_9): New variable.
4631         (latin_iso8859_9_to_ucs): New variable.
4632         (ucs_to_latin_iso8859_9): New variable.
4633         (Vcharset_latin_viscii_lower): New variable.
4634         (latin_viscii_lower_to_ucs): New variable.
4635         (ucs_to_latin_viscii_lower): New variable.
4636         (Vcharset_latin_viscii_upper): New variable.
4637         (latin_viscii_upper_to_ucs): New variable.
4638         (ucs_to_latin_viscii_upper): New variable.
4639         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4640         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4641         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4642         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4643         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4644         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4645         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4646         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4647         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4648         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4649
4650         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4651         (Vcharset_latin_viscii_upper): New variable.
4652         (make_byte_from_character_table): New function.
4653         (put_byte_from_character_table): New function.
4654         (get_byte_from_character_table): New function.
4655         (CHAR96): New macro.
4656         (ucs_to_latin_jisx0201): New variable.
4657         (latin_jisx0201_to_ucs): New variable.
4658         (ucs_to_latin_iso8859_2): New variable.
4659         (latin_iso8859_2_to_ucs): New variable.
4660         (ucs_to_latin_iso8859_3): New variable.
4661         (latin_iso8859_3_to_ucs): New variable.
4662         (ucs_to_latin_iso8859_4): New variable.
4663         (latin_iso8859_4_to_ucs): New variable.
4664         (ucs_to_latin_iso8859_9): New variable.
4665         (latin_iso8859_9_to_ucs): New variable.
4666         (ucs_to_latin_viscii_lower): New variable.
4667         (latin_viscii_lower_to_ucs): New variable.
4668         (ucs_to_latin_viscii_upper): New variable.
4669         (latin_viscii_upper_to_ucs): New variable.
4670         (ucs_to_latin_tcvn5712): New variable.
4671         (latin_tcvn5712_to_ucs): New variable.
4672         (Qlatin_viscii_lower): New variable.
4673         (Qlatin_viscii_upper): New variable.
4674         (syms_of_mule_charset): Set up new symbol
4675         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4676         (complex_vars_of_mule_charset): Set up new charset
4677         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4678         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4679         `ucs_to_<CHARSET>' tables.
4680
4681 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4682
4683         * text-coding.c: New file.
4684
4685 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4686
4687         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4688
4689         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4690         (MAKE_CHAR): Modify for `ucs-bmp'.
4691         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4692         non-MULE characters of BMP.
4693
4694 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4695
4696         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4697         to 0.6.
4698
4699 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4700
4701         * lstream.h:
4702         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4703         - Include character.h for `CHAR_ASCII_P'.
4704
4705         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4706
4707         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4708         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4709
4710         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4711         (BYTE_C0_P): Likewise.
4712         (BYTE_C1_P): Likewise.
4713         (Lstream_get_emchar_1): Likewise.
4714         (Lstream_fput_emchar): Likewise.
4715         (Lstream_funget_emchar): Likewise.
4716         (copy_internal_to_external): Likewise.
4717         (copy_external_to_internal): Likewise.
4718
4719         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4720         (BYTE_C0_P): Likewise.
4721         (BYTE_C1_P): Likewise.
4722         (Lstream_get_emchar_1): Likewise.
4723         (Lstream_fput_emchar): Likewise.
4724         (Lstream_funget_emchar): Likewise.
4725         (copy_internal_to_external): Likewise.
4726         (copy_external_to_internal): Likewise.
4727
4728         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4729         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4730
4731         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4732         (BYTE_ASCII_P): Moved to mb-1byte.h.
4733
4734 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4735
4736         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4737
4738         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4739         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4740         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4741         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4742         (VALIDATE_CHARPTR_FORWARD): Likewise.
4743         (simple_charptr_emchar): Moved to mb-multibyte.h.
4744         (simple_set_charptr_emchar): Likewise.
4745         (simple_charptr_copy_char): Likewise.
4746         (non_ascii_charptr_emchar): Likewise.
4747         (non_ascii_set_charptr_emchar): Likewise.
4748         (non_ascii_charptr_copy_char): Likewise.
4749         (charptr_emchar): Moved to mb-*byte.h.
4750         (set_charptr_emchar): Likewise.
4751         (charptr_copy_char): Likewise.
4752
4753         * mb-1byte.h, mb-multibyte.h: New files.
4754
4755 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4756
4757         * mb-utf-8.h (MULTIBYTE): New macro.
4758         (MAX_EMCHAR_LEN): Moved from buffer.h.
4759         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4760
4761         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4762
4763         * mb-lb.h, multibyte.h: New files.
4764
4765         * char-1byte.h (Charset_ID): Moved from buffer.h.
4766         (MIN_LEADING_BYTE): Likewise.
4767         (LEADING_BYTE_ASCII): Likewise.
4768         (NUM_LEADING_BYTES): Likewise.
4769         (CHARSETP): Likewise.
4770         (CHARSET_BY_LEADING_BYTE): Likewise.
4771         (XCHARSET_LEADING_BYTE): Likewise.
4772         (XCHARSET_GRAPHIC): Likewise.
4773         (XCHARSET_COLUMNS): Likewise.
4774         (XCHARSET_DIMENSION): Likewise.
4775         (CHAR_CHARSET): Likewise.
4776         (CHAR_LEADING_BYTE): Likewise.
4777         (BREAKUP_CHAR): Likewise.
4778         (Vcharset_ascii): Likewise.
4779
4780         * buffer.h: Include multibyte.h unconditionally.
4781         (VALID_CHARPTR_P): Moved to multibyte.h.
4782         (ASSERT_VALID_CHARPTR): Likewise.
4783         (REAL_INC_CHARPTR): Likewise.
4784         (REAL_INC_CHARBYTIND): Likewise.
4785         (REAL_DEC_CHARPTR): Likewise.
4786         (INC_CHARPTR): Likewise.
4787         (INC_CHARBYTIND): Likewise.
4788         (DEC_CHARPTR): Likewise.
4789         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4790         (VALIDATE_CHARPTR_FORWARD): Likewise.
4791         (charptr_n_addr): Likewise.
4792         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4793         (simple_charptr_emchar): Moved to multibyte.h.
4794         (simple_set_charptr_emchar): Likewise.
4795         (simple_charptr_copy_char): Likewise.
4796         (non_ascii_charptr_emchar): Likewise.
4797         (non_ascii_set_charptr_emchar): Likewise.
4798         (non_ascii_charptr_copy_char): Likewise.
4799         (charptr_emchar): Likewise.
4800         (set_charptr_emchar): Likewise.
4801         (charptr_copy_char): Likewise.
4802         (charptr_emchar_n): Likewise.
4803         (Charset_ID): Moved to char-1byte.h.
4804         (Vcharset_ascii): Likewise.
4805         (CHAR_CHARSET): Likewise.
4806         (CHAR_LEADING_BYTE): Likewise.
4807         (LEADING_BYTE_ASCII): Likewise.
4808         (NUM_LEADING_BYTES): Likewise.
4809         (MIN_LEADING_BYTE): Likewise.
4810         (CHARSETP): Likewise.
4811         (CHARSET_BY_LEADING_BYTE): Likewise.
4812         (XCHARSET_LEADING_BYTE): Likewise.
4813         (XCHARSET_GRAPHIC): Likewise.
4814         (XCHARSET_COLUMNS): Likewise.
4815         (XCHARSET_DIMENSION): Likewise.
4816         (BREAKUP_CHAR): Likewise.
4817
4818 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4819
4820         * character.h: Add document about interface for characters.
4821
4822         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4823         (MAKE_CHAR): Delete comment about
4824         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4825         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4826         (BREAKUP_CHAR): Modify name of arguments.
4827         (CHAR_CHARSET): Modify name of argument.
4828
4829         * buffer.h: Delete document about Emchar accessors.
4830
4831 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4832
4833         * character.h (CHAR_INTP): Moved from buffer.h
4834         (CHAR_OR_CHAR_INTP): Likewise.
4835         (XCHAR_OR_CHAR_INT): Likewise.
4836         (CHECK_CHAR_COERCE_INT): Likewise.
4837
4838         * buffer.h (CHAR_INTP): Moved to character.h
4839         (CHAR_OR_CHAR_INTP): Likewise.
4840         (XCHAR_OR_CHAR_INT): Likewise.
4841         (CHECK_CHAR_COERCE_INT): Likewise.
4842
4843 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4844
4845         * character.h:
4846         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4847         - Include char-1byte.h, char-lb.h or char-ucs.h.
4848
4849         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4850
4851         * buffer.h: Include character unconditionally.
4852         (valid_char_p): Moved to char-*.h.
4853         (non_ascii_valid_char_p): Moved to char-lb.h.
4854
4855         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4856
4857 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4858
4859         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4860         in UTF-2000 because it is not ported yet and not to use
4861         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4862         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4863         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4864
4865         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4866         (CHAR_ASCII_P): Moved from character.h.
4867
4868         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4869         (CHAR_ASCII_P): Likewise.
4870         (CHAR_FIELD1_MASK): Deleted.
4871         (CHAR_FIELD2_MASK): Deleted.
4872         (CHAR_FIELD3_MASK): Deleted.
4873         (MAX_CHAR_BASIC_LATIN): New macro.
4874         (CHAR_FIELD1): Deleted.
4875         (CHAR_FIELD2_INTERNAL): Deleted.
4876         (CHAR_FIELD3_INTERNAL): Deleted.
4877         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4878         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4879         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4880         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4881         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4882         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4883         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4884         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4885         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4886         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4887         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4888         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4889         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4890         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4891         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4892         (MIN_CHAR_COMPOSITION): Deleted.
4893         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4894         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4895
4896 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4897
4898         * buffer.h: Include mb-utf-8.h in UTF-2000.
4899
4900         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4901
4902         * mb-utf-8.h: New file.
4903
4904 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4905
4906         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4907         instead of `int'.
4908
4909         * mule-charset.h, buffer.h (Charset_ID): New type.
4910
4911 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4912
4913         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4914         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4915         instead of `MULE_CHAR_PRIVATE_OFFSET',
4916         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4917         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4918         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4919
4920         * character.h (Vcharset_japanese_jisx0212): New variable
4921         definition.
4922
4923 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4924
4925         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4926         (charset_by_attributes): Delete array about direction.
4927         (latin_a_char_to_charset): New variable in UTF-2000.
4928         (latin_a_char_to_byte1): New variable in UTF-2000.
4929         (latin_a_char_to_byte2): New variable in UTF-2000.
4930         (Qucs_bmp): New variable.
4931         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4932         `Bufbyte'.
4933         (next_allocated_2_byte_leading_byte): Likewise.
4934         (non_ascii_set_charptr_emchar): Likewise.
4935         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4936         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4937         `charset_by_attributes'.
4938         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4939         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4940         and `CHARSET_BY_LEADING_BYTE'.
4941         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4942         `utf-2000-version' to `vars_of_mule_charset'.
4943         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4944         define `leading-code-private-11' in UTF-2000; move setting of
4945         `utf-2000-version' from `syms_of_mule_charset'.
4946         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4947         UTF-2000.
4948
4949         * character.h (Charset_ID): New type.
4950         (LEADING_BYTE_UCS_BMP): New macro.
4951         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4952         (CHARSET_ID_OFFSET_94): New macro.
4953         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4954         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4955         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4956         final-byte.
4957         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4958         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4959         (CHARSET_ID_OFFSET_96): New macro.
4960         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4961         CHARSET_ID_OFFSET_96 and final-byte.
4962         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4963         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4964         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4965         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4966         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4967         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4968         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4969         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4970         (LEADING_BYTE_THAI_TIS620): Likewise.
4971         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4972         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4973         (CHARSET_ID_OFFSET_94x94): New macro.
4974         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4975         CHARSET_ID_OFFSET_94x94 and final-byte.
4976         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4977         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4978         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4979         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4980         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4981         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4982         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4983         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4984         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4985         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4986         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4987         (CHARSET_TYPE_128X128): New macro.
4988         (CHARSET_TYPE_256X256): New macro.
4989         (XCHARSET_PRIVATE_P): Delete unconditionally.
4990         (charset_by_attributes): Delete array about direction.
4991         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4992         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4993         (MIN_CHAR_94): New macro.
4994         (MAX_CHAR_94): New macro.
4995         (MIN_CHAR_96): New macro.
4996         (MAX_CHAR_96): New macro.
4997         (MIN_CHAR_94x94): New macro.
4998         (MAX_CHAR_94x94): New macro.
4999         (MIN_CHAR_96x96): New macro.
5000         (MAX_CHAR_96x96): New macro.
5001         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5002         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5003         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5004         - 32)'.
5005         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5006         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5007         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5008         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5009         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5010         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5011         `XCHARSET_LEADING_BYTE' to make code-point.
5012         (latin_a_char_to_charset): New variable.
5013         (latin_a_char_to_byte1): New variable.
5014         (latin_a_char_to_byte2): New variable.
5015         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5016         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5017         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5018
5019         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5020         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5021         (find_charsets_in_emchar_string): Likewise.
5022         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5023
5024         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5025         `int'.
5026         (decode_coding_iso2022): Likewise.
5027
5028         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5029         of `unsigned char'.
5030
5031         * redisplay.c (redisplay_text_width_emchar_string): Use
5032         `Charset_ID' instead of `unsigned char'.
5033         (redisplay_frame_text_width_string): Likewise.
5034
5035         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5036         `unsigned char'.
5037
5038         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5039         instead of `unsigned char'.
5040         (face_cachel_charset_font_metric_info): Likewise.
5041
5042         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5043         (get_non_ascii_char_table_value): Likewise.
5044         (get_char_table): Likewise.
5045         (put_char_table): Likewise.
5046         (map_over_other_charset): Likewise.
5047         (map_char_table): Likewise.
5048
5049         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5050         instead of `unsigned char'.
5051
5052 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5053
5054         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5055         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5056
5057         * mule-charset.c (leading_code_private_11): Don't define in
5058         UTF-2000.
5059
5060         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5061         in UTF-2000 because it is not ported yet and not to use
5062         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5063
5064 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5065
5066         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5067
5068 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5069
5070         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5071         in UTF-2000.
5072
5073         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5074         of unsigned char to store leading-byte.
5075
5076         * chartab.c (get_non_ascii_char_table_value): Don't use
5077         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5078
5079         * file-coding.c (encode_coding_big5): Delete bogus implementation
5080         in UTF2000.
5081
5082         * character.h (LEADING_BYTE_*): Delete definition for
5083         non-UTF-2000.
5084         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5085         (LEADING_BYTE_PREFIX_P): Deleted.
5086         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5087         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5088         (BUFBYTE_LEADING_BYTE_P): Deleted.
5089         (CHARSET_PRIVATE_P): Deleted unconditionally.
5090         (rep_bytes_by_first_byte): Deleted unconditionally.
5091         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5092         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5093         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5094         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5095         (CHAR_FIELD2): Deleted.
5096         (CHAR_FIELD3): Deleted.
5097         (MAKE_CHAR): Delete definition for non-UTF-2000.
5098         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5099         (breakup_char_1): New implementation.
5100         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5101         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5102
5103 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5104
5105         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5106         condition.
5107
5108 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5109
5110         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5111         (CHARSET_PRIVATE_P): Likewise.
5112         (XCHARSET_PRIVATE_P): Likewise.
5113         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5114
5115         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5116         UTF2000.
5117         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5118
5119 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5120
5121         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5122         (NUM_LEADING_BYTES): Changed from 128 to 256.
5123         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5124         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5125         UTF2000.
5126         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5127
5128         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5129         UTF2000.
5130         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5131         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5132         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5133         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5134         (Qchinese_cns11643_3): New variable in UTF2000.
5135         (Qchinese_cns11643_4): New variable in UTF2000.
5136         (Qchinese_cns11643_5): New variable in UTF2000.
5137         (Qchinese_cns11643_6): New variable in UTF2000.
5138         (Qchinese_cns11643_7): New variable in UTF2000.
5139         (syms_of_mule_charset): Define `chinese-cns11643-3',
5140         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5141         and `chinese-cns11643-7' in UTF2000.
5142         (vars_of_mule_charset): Initialize
5143         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5144         + 1 in UTF2000.
5145         (complex_vars_of_mule_charset): Setup charset
5146         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5147         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5148
5149 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5150
5151         * mule-charset.c: Move setting for `leading-code-private-11' from
5152         `syms_of_mule_charset' to `vars_of_mule_charset'.
5153
5154 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5155
5156         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5157         and `NUM_LEADING_BYTES' in assert.
5158
5159 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5160
5161         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5162         instead of 128.
5163         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5164         `NUM_LEADING_BYTES' instead of 128.
5165
5166 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5167
5168         * mule-charset.h (charset_by_leading_byte): Use
5169         `NUM_LEADING_BYTES' instead of 128.
5170         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5171
5172         * mule-charset.c (charset_by_leading_byte): Use
5173         `NUM_LEADING_BYTES' instead of 128.
5174         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5175
5176         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5177         128.
5178
5179 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5180
5181         * mule-charset.c (syms_of_mule_charset): Update to
5182         0.4 (Shin-Imamiya).
5183
5184 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5185
5186         * file-coding.c (encode_coding_sjis): New implementation for
5187         UTF2000.  (decode_coding_sjis): Ditto.
5188
5189 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5190
5191         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5192         Don't define in UTF2000.
5193
5194         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5195         defined.
5196
5197         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5198         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5199         MULE.
5200
5201 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5202
5203         * config.h.in (CHAR_IS_UCS4): New macro.
5204
5205         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5206         conventional MULE representation.
5207         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5208
5209         * mule-charset.h: Reverted to original.
5210
5211         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5212         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5213         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5214
5215         * character.h: New file.
5216
5217         * file-coding.c (Fmake_coding_system): Set 1 to
5218         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5219         defined.
5220         (encode_coding_no_conversion): New implementation for UTF2000.
5221
5222         * file-coding.h (struct Lisp_Coding_System): Add new member
5223         `fixed.size'.
5224
5225 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5226
5227         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5228         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5229         (encode_coding_iso2022): New implementation for UTF2000.
5230
5231 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5232
5233         * mule-canna.c (c2mu): New implementation for UTF2000.
5234         (m2c): Likewise.
5235
5236 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5237
5238         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5239
5240 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5241
5242         * file-coding.c (reset_encoding_stream): Set 0 to
5243         `str->iso2022.current_char_boundary' in UTF2000.
5244         (encode_utf8): Don't define in UTF2000.
5245         (encode_coding_utf8): New implementation for UTF-8 representation
5246         of UTF2000.
5247         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5248
5249 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5250
5251         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5252
5253         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5254         UTF2000.
5255         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5256
5257         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5258
5259         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5260         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5261         as UTF-8 in UTF2000.
5262         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5263         (non_ascii_valid_char_p): Don't define in UTF2000.
5264         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5265         (Lstream_get_emchar_1): Likewise.
5266         (utf-2000-version): New variable in UTF2000.
5267
5268         * lread.c (read_escape): Add new reader `u'.
5269
5270         * insdel.c (three_to_one_table): Don't define in UTF2000.
5271         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5272         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5273         UTF2000.
5274         (bytind_to_bufpos_func): Likewise.
5275         (buffer_mule_signal_inserted_region): Likewise.
5276         (vars_of_insdel): Don't initialize `three_to_one_table'.
5277         (init_buffer_text): Use `buf->text->mule_size' instead of
5278         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5279         UTF2000.
5280
5281         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5282         UTF-8 representation in UTF2000.
5283         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5284         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5285         (decode_coding_iso2022): Don't define local variable `lb' in
5286         UTF2000; don't use LEADING_BYTE in UTF2000; use
5287         `DECODE_ADD_UCS_CHAR' in UTF2000.
5288         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5289
5290         * config.h.in (UTF2000): New macro.
5291
5292         * buffer.h (struct buffer_text): Add new member `mule_size' and
5293         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5294         (valid_char_p): Return always 1 in UTF2000.
5295         (MAX_EMCHAR_LEN): 6 in UTF2000.
5296         (three_to_one_table): Don't define in UTF2000.
5297         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5298         UTF2000.
5299         (real_bytind_to_bufpos): Likewise.
5300
5301         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5302
5303 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5304
5305         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5306         representation change.
5307         (Vutf_2000_version): New variable.
5308         (leading_code_private_11): New variable.
5309         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5310         `leading-code-private-11'.
5311
5312         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5313         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5314         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5315         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5316         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5317         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5318         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5319         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5320         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5321         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5322         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5323         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5324         (MIN_CHAR_GREEK): New macro.
5325         (MAX_CHAR_GREEK): New macro.
5326         (MIN_CHAR_CYRILLIC): New macro.
5327         (MAX_CHAR_CYRILLIC): New macro.
5328         (MIN_CHAR_HEBREW): New macro.
5329         (MAX_CHAR_HEBREW): New macro.
5330         (MIN_CHAR_THAI): New macro.
5331         (MAX_CHAR_THAI): New macro.
5332         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5333         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5334         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5335         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5336         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5337         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5338         (CHAR_FIELD2): New inline function.
5339         (CHAR_FIELD3): New inline function.
5340         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5341         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5342         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5343         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5344         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5345         (MIN_CHAR_COMPOSITION): Likewise.
5346         (CHAR_LEADING_BYTE): Modified for character representation change.
5347         (MAKE_CHAR): Likewise.
5348
5349         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5350         (Vcharset_greek_iso8859_7): Likewise.
5351         (Vcharset_cyrillic_iso8859_5): Likewise.
5352         (Vcharset_hebrew_iso8859_8): Likewise.
5353         (Vcharset_thai_tis620): Likewise.
5354         (Vcharset_katakana_jisx0201): Likewise.
5355
5356 2003-09-03  Vin Shelton <acs@xemacs.org>
5357
5358         * XEmacs 21.4.14 is released
5359
5360 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5361
5362         * config.h.in (REGEX_MALLOC): Make it configure'able.
5363
5364 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5365
5366         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5367         linking.
5368         * sysdll.c (dll_init):
5369         * sysdll.c (dll_open):
5370         * sysdll.c (dll_close):
5371         * sysdll.c (dll_function):
5372         * sysdll.c (dll_variable):
5373         * sysdll.c (dll_error):
5374         Add support for loading bundles using Darwin/MacOSX
5375         native API.
5376
5377 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5378
5379         * process.c (start-process-internal): Document coding systems.
5380
5381 2003-07-30  Jerry James  <james@xemacs.org>
5382
5383         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5384
5385 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5386
5387         * event-msw.c (mswindows_enqueue_mouse_button_event):
5388         * event-msw.c (mswindows_wnd_proc):
5389           enqueue button event when scrollwheel event isn't handled by 
5390           mswindows_handle_mousewheel_event, such as when the scrollbars
5391           are not showing.
5392
5393 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5394
5395         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5396
5397 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5398
5399         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5400
5401 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5402
5403         * regex.c (re_match_2_internal): Fix matching degenerate word
5404         boundaries.
5405
5406 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5407
5408         * XEmacs 21.4.13 is released
5409
5410 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5411
5412         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5413         * lisp.h (<inttypes.h>):
5414         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5415         the definition.
5416
5417 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5418
5419         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5420         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5421         Result: "temacs can only be run in -batch mode."
5422         Fix: Check xemacs executable candidate for directory-ness.
5423
5424 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5425
5426         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5427           they conflict with <sys/types.h>.
5428
5429 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5430
5431         * database.c: Berkeley DB wants __STDC__ to be defined.
5432
5433 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5434
5435         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5436
5437 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5438
5439         * process-unix.c (unix_send_process): Fix C++ compile error.
5440
5441 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5442
5443         * Added .dylib as an acceptable shared library file extension
5444         * to support MacOSX.
5445
5446 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5447
5448         * EmacsFrameP.h (EmacsFramePart):
5449         Kludge to allow compiling with Motif1, but linking with Motif2.
5450
5451 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5452
5453         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5454
5455
5456 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5457
5458         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5459
5460 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5461
5462         * sysdll.c: Included lisp.h to define needed alloca_array.
5463
5464 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5465
5466         Make XEmacs redisplay 10 times faster.
5467         If, that is, you're using a slow X connection and MoveOpaque.
5468         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5469         Use compress_motion = TRUE.
5470         * EmacsFrame.c (emacsFrameClassRec): 
5471         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5472         * EmacsManager.c (emacsManagerClassRec):
5473         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5474
5475 2003-01-30  Vin Shelton  <acs@xemacs.org>
5476
5477         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5478
5479 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5480
5481         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5482         Patch by Martin Buchholz.
5483
5484 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5485
5486         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5487         Thanks to icc for warning and Martin Buchholz for reporting.
5488
5489 2003-01-29  Vin Shelton <acs@xemacs.org>
5490
5491         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5492
5493         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5494         remember to multiply by the element size.
5495
5496 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5497
5498         * XEmacs 21.4.12 "Portable Code" is released.
5499
5500 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5501
5502         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5503         * s/cygwin.sc: new linker file.
5504
5505 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5506
5507         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5508
5509         * redisplay-x.c (x_output_string): Use X11-specified types.
5510         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5511         * emacs.c (__free_hook): Use typeof with Intel compiler.
5512         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5513
5514 2003-01-08  Andy Piper  <andy@xemacs.org>
5515
5516         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5517         reserve size during unexec().
5518
5519 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5520
5521         * process-unix.c (unix_create_process): Don't let outchannel block.
5522
5523 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5524
5525         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5526         Needed for IsBadReadPtr().
5527
5528 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5529
5530         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5531
5532 2002-12-14  Ben Wing  <ben@xemacs.org>
5533
5534         * callint.c: Declaration error.
5535         * dumper.c (pdump):
5536         * dumper.c (pdump_load): Warning fix.
5537         * process.c: GCPRO error.
5538         * glyphs.c (unmap_subwindow):
5539         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5540         * event-stream.c (maybe_kbd_translate): Wrong argument to
5541         character_to_event().
5542
5543         * alloc.c (garbage_collect_1):
5544         * emacs.c:
5545         * emacs.c (debug_can_access_memory):
5546         * emacs.c (fatal_error_signal):
5547         * emacs.c (mswindows_handle_hardware_exceptions):
5548         * emacs.c (main_1):
5549         * emacs.c (main):
5550         * emacs.c (assert_failed):
5551         * emacs.c (syms_of_emacs):
5552         * lisp.h:
5553         * print.c:
5554         * print.c (std_handle_out_va):
5555         * print.c (write_string_to_stdio_stream):
5556         * print.c (write_fmt_string):
5557         * print.c (printing_badness):
5558         * print.c (printing_major_badness):
5559         * print.c (print_internal):
5560         * print.c (debug_print_no_newline):
5561         * print.c (debug_backtrace):
5562         Be more defensive in handling bad values when printing.  Add code
5563         from trunk involving inhibit_non_essential_printing_operations.
5564         When going down or in debug_print(), don't do external conversion
5565         and such and try really, really hard when printing to avoid core
5566         dumping.  Add force-debugging-signal, debug_break().
5567
5568 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5569
5570         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5571         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5572
5573 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5574
5575         * database.c: Fix open_database. Berkeley DB API has changed in
5576         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5577
5578 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5579
5580         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5581
5582 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5583
5584         * event-Xt.c (Xt_timeout):
5585         (Xt_timeout_callback):
5586         (emacs_Xt_add_timeout):
5587         (emacs_Xt_remove_timeout):
5588         (Xt_timeout_to_emacs_event):
5589         Turn completed_timeouts from a stack into a queue.  Fixes
5590         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5591
5592 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5593
5594         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5595         * emacs.c (main): Assert that mmap'd allocation is disabled.
5596
5597 2002-10-14  Andy Piper  <andy@xemacs.org>
5598
5599         * glyphs-widget.c (layout_query_geometry): add in fiddle
5600         factor. Include border text in width layout calculation.
5601         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5602
5603 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5604
5605         * XEmacs 21.4.10 "Military Intelligence" is released.
5606
5607 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5608
5609         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5610         using the NAS private array SoundFileInfo that no longer exists in
5611         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5612         and earlier.  This is broken for some versions between 1.5a and
5613         1.5f.
5614
5615 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5616
5617         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5618
5619         * emacs.c (shut_down_emacs): Improve crash message.
5620
5621 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5622
5623         * file-coding.c (determine_real_coding_system): Check for coding
5624         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5625         shebangs and Python PEP 263.
5626
5627 2002-10-08  Andy Piper  <andy@xemacs.org>
5628
5629         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5630         if static sizes haven't been set.
5631
5632 2002-08-30  Mike Alexander  <mta@arbortext.com>
5633
5634         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5635         to close a socket.
5636
5637 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5638
5639         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5640
5641 2002-09-20  Mike Sperber <mike@xemacs.org>
5642
5643         (This partially gets back my patch from 2002-07-20 without the
5644         bug.)
5645         * callproc.c (child_setup): Remove Ben's comment noting confusion
5646         over the file descriptors >= 3: close_process_descs() doesn't
5647         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5648         * process-unix.c (unix_create_process): Call
5649         begin_dont_check_for_quit to inhibit unwanted interaction (and
5650         thus breaking of X event synchronicity) in the child.
5651
5652 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5653
5654         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5655         widget.
5656
5657 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5658
5659         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5660         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5661         the xemacs process did not exit, but looped infinitely here.  This
5662         fixes that problem.
5663
5664 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5665
5666         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5667         (find_context): Improve comments.
5668
5669         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5670         (re_match_2): An XCHAR_TABLE operation was missing.
5671
5672         Many of the following changes were inspired by Andy Piper's (now
5673         obsolete) patch to make syntax-table text property lookup optional.
5674
5675         [Documentation]
5676
5677         * syntax.h (top level): Document semantics of syntax flags.
5678         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5679         * syntax.c, syntax.h (top level): Document syntax cache better in
5680         comments.
5681
5682         [Instrument syntax caching (temporary change)]
5683
5684         * syntax.h (enum syntax_cache_statistics_functions, struct
5685         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5686         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5687         * syntax.c (scan_words, Fforward_comment, scan_lists,
5688         Fbackward_prefix_characters):
5689         * font-lock.c (find_context):
5690         Use them to instrument syntax caching. 
5691         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5692         syntax_cache_statistics_function_names): New type and variables.
5693         * syntax.c (update_syntax_cache): Update and report statistics.
5694
5695         [Major syntax cache optimizations]
5696
5697         syntax.c (lookup_syntax_properties): Default off.
5698
5699         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5700         * syntax.c (update_syntax_cache):
5701         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5702
5703         [Minor syntax cache optimizations and code clarifications]
5704
5705         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5706         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5707         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5708         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5709         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5710         (Code clarification.)
5711
5712         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5713         scan_lists): Compute code from syncode, use Boolean macros instead
5714         of redundant masking operations.  (Code clarification; any decent
5715         compiler can do this optimization.)
5716
5717         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5718         for clarity.
5719
5720         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5721         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5722         use F*_single_property_change instead of F*_extent_change.
5723         Currently F*_single_property_change is _much_ less efficient.
5724
5725         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5726         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5727         syntax_cache.object properly, don't leave Qt or Qnil.
5728         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5729         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5730         tests for Qt or Qnil.
5731
5732 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5733
5734         * redisplay.c (point_in_line_start_cache): 
5735         * extents.c (print_extent_1):
5736         Fix warnings.
5737
5738         * extents.c (Fset_extent_property): Document `syntax-table' property.
5739
5740         * extents.h (Fnext_single_property_change): EXFUN it.
5741
5742 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5743
5744         * search.c (clear_unused_search_regs): New static function.
5745         (search_buffer): 
5746         (simple_search): 
5747         (boyer_moore):
5748         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5749         Minor clarifications in comments.
5750
5751         * regex.c (re_match_2_internal): Ensure no stale submatches.
5752
5753 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5754
5755         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5756
5757 2002-08-29  Jerry James  <james@xemacs.org>
5758
5759         * lisp.h: structrures -> structures.
5760
5761 2002-06-03  Andy Piper  <andy@xemacs.org>
5762
5763         * frame.c (frame_conversion_internal): add conversion appropriate
5764         for setting frame dimensions in pixels.
5765
5766         * console.h (struct console_methods): add device-specific widget
5767         layout functions.
5768
5769         * emacs.c (main_1): initialize glyph vars.
5770
5771         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5772         (handle_focus_event_2): new function. Allow focus to
5773         be set to a particular window and widget.
5774         (enqueue_focus_event): new function. Create a
5775         synthetic focus event.
5776         (emacs_Xt_handle_magic_event): call
5777         handle_focus_event_2.
5778
5779         * frame.c (Fset_frame_pixel_height): new function. Allow
5780         pixel-based sizing. Does the right thing on character-oriented
5781         displays.
5782         (Fset_frame_pixel_width): ditto.
5783         (Fset_frame_pixel_size): ditto.
5784         (syms_of_frame): declare.
5785
5786         * general-slots.h: add :vertically-justify and
5787         :horizontally-justify.
5788
5789         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5790         (mswindows_widget_border_width): new function.
5791         (mswindows_combo_box_instantiate): set border widths.
5792         (console_type_create_glyphs_mswindows): declare.
5793
5794         * glyphs-widget.c:
5795         (check_valid_justification): allow vertical and horizontal
5796         justification.
5797         (widget_border_width): new function. Call device methods.
5798         (widget_instance_border_width): ditto.
5799         (logical_unit_height): new function. Determine the height of a
5800         logical-unit. Logical units are intended to provide grid-like
5801         layout for subcontrols in a layout. If the layout is
5802         :vertically-justify top then subcontrols will be positioned on
5803         logical-unit boundaries, thus allowing adjacent subcontrols to
5804         line up.
5805         (widget_logical_unit_height): ditto for widgets.
5806         (redisplay_widget): misc cleanup.
5807         (widget_spacing): new function. Call device specific
5808         methods. Intended to be the default gap between adjacent widgets.
5809         (widget_query_geometry): use new spacing functions to determine
5810         appropriate geometry.
5811         (initialize_widget_image_instance): initialize horizontal and
5812         vertical justification.
5813         (widget_instantiate): use logica-units where appropriate for
5814         sizing large widgets.
5815         (button_query_geometry): use widget_instance_border_width.
5816         (tree_view_query_geometry): ditto.
5817         (tab_control_query_geometry): ditto.
5818         (edit_field_query_geometry): new function.
5819         (layout_update): pick up :justify, :horizontally-justify and
5820         :vertically-justify none of which worked previously. :justify is
5821         used as a fallback for both horizontal and vertical justification.
5822         (layout_query_geometry): use logical units to size appropriately.
5823         (layout_layout): ditto.
5824         (Fwidget_logical_to_character_width): new function. Allow users to
5825         convert from logical units to characters so that frame sizes can
5826         be set appropriately.
5827         (Fwidget_logical_to_character_height): ditto.
5828         (syms_of_glyphs_widget): declare.
5829         (image_instantiator_edit_fields): add edit_field_query_geometry.
5830         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5831         :horizontally-justify.
5832         (specifier_vars_of_glyphs_widget): new function. Declare
5833         Vwidget_border_width which is not yet used.
5834
5835         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5836         (x_widget_border_width): new function.
5837         (x_widget_instantiate): create a sensible name for widgets.
5838         (console_type_create_glyphs_x): declare x_widget_border_width.
5839
5840         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5841         (struct Lisp_Image_Instance): add :vertically-justify and
5842         :horizontally-justify.
5843         (LAYOUT_JUSTIFY_TOP): new.
5844         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5845         (ROUND_UP): new macro. Round argument up to next integral
5846         interval.
5847
5848         * redisplay-output.c (redisplay_output_layout): misc formatting.
5849
5850         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5851
5852 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5853
5854         * XEmacs 21.4.9 "Informed Management" is released.
5855
5856 2002-08-19  Andy Piper  <andy@xemacs.org>
5857
5858         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5859         win32 format.
5860
5861         * realpath.c (xrealpath): normalize drive spec also so that dir
5862         sep chars are not mixed on cygwin.
5863
5864 2002-08-06  Jerry James  <james@xemacs.org>
5865
5866         * window.c (Fsplit_window): Count only half of the divider width
5867         against the left window when splitting horizontally. 
5868
5869 2002-06-24  Andy Piper  <andy@xemacs.org>
5870
5871         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5872         toolbar was cleared.
5873
5874         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5875         function. Split out from mswindows_output_frame_toolbars.
5876         (mswindows_output_frame_toolbars): move clear pieces to
5877         mswindows_output_frame_toolbars.
5878
5879         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5880         out from gtk_output_frame_toolbars.
5881         (gtk_output_frame_toolbars): move clear pieces to
5882         gtk_clear_frame_toolbars.
5883
5884         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5885         the frame is cleared. How this ever worked before is a mystery.
5886         (x_output_frame_toolbars): Only output toolbars.
5887         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5888
5889         * gutter.c (update_gutter_geometry):
5890         Mark frame layout changed.
5891         (update_frame_gutter_geometry, update_frame_gutters):
5892         Respect frame_layout_changed.
5893
5894         * console.h (struct console_methods): add
5895         clear_frame_toolbars_method.
5896
5897         * redisplay.c (redisplay_frame): call
5898         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5899
5900         * toolbar.h: declare update_frame_toolbars_geometry.
5901
5902         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5903         out from update_frame_toolbars.  Call clear_frame_toolbars.
5904         (update_frame_toolbars): only output, do not change geometry.
5905
5906         * redisplay.c: add frame_layout_changed.
5907
5908         * redisplay.h: add frame_layout_changed.
5909         (CLASS_RESET_CHANGED_FLAGS): set it.
5910         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5911         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5912         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5913
5914         * device.h (struct device): add frame_layout_changed.
5915         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5916
5917         * frame.h (struct frame): add frame_layout_changed.
5918         (MARK_FRAME_LAYOUT_CHANGED): new.
5919
5920 2002-06-30  Mike Alexander  <mta@arbortext.com>
5921
5922         * event-msw.c (mswindows_need_event): Don't wait for a new message
5923         if the queue is not empty.  Suggested by Paul Moore.
5924
5925 2002-06-12  Andy Piper  <andy@xemacs.org>
5926
5927         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5928         for printing on accurately.
5929
5930 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5931
5932         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5933         WM_ACTIVATE message. Make sure that the frame is visible if the
5934         window is visible. This seemss to fix the problem where XEmacs
5935         appears to freeze after switching desktops with certain virtual
5936         window managers.
5937         (debug_output_mswin_message): Added code to output message
5938         parameters for WM_WINDOWPOSCHANGED, 
5939         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5940
5941 2002-05-25  Andy Piper  <andy@xemacs.org>
5942
5943         * select-x.c (vars_of_select_x): Fix docstring of
5944         x-selection-strict-motif-ownership
5945
5946 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5947
5948         * keymap.c (get_keymap):
5949         Add comment about do_autoload GCPROs own args.
5950
5951 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5952
5953         * bytecode.c (execute_optimized_program): check_opcode ifdef
5954         ERROR_CHECK_BYTE_CODE.
5955
5956 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5957
5958         Thanks to Ben Wing and Michael Sperber.
5959
5960         * eval.c (Fcommand_execute):
5961         (Feval):
5962         (Ffuncall):
5963         (Fmacroexpand_internal):
5964         (function_argcount):
5965         callint.c (Fcall_interactively):
5966         Add comment about do_autoload GCPROs own args.
5967
5968         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5969
5970         * eval.c (Ffuncall): Extra braces to placate GCC.
5971
5972 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5973
5974         * backtrace.h (grow_specpdl):
5975         (SPECPDL_RESERVE):
5976         * EmacsFrame.c (EmacsFrameSetValues):
5977         * eval.c (grow_specpdl):
5978         * ExternalShell.c (hack_event_masks_1):
5979         * glyphs-x.c (convert_EImage_to_XImage): 
5980         (x_finalize_image_instance):
5981         * ralloc.c (page_size):
5982         (r_alloc_sbrk):
5983         * xgccache.c (gc_cache_hash):
5984         Fix unsigned comparison warnings.
5985
5986 2002-07-29  Jerry James  <james@xemacs.org>
5987
5988         * lread.c (locate_file): Any nonnegative return value indicates
5989         success if MODE is nonnegative.
5990
5991 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5992
5993         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5994         argument. 
5995
5996 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5997
5998         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5999
6000         * dumper.c (pdump_get_indirect_count):
6001         (pdump_scan_by_alignment):
6002         (pdump_dump_root_struct_ptrs):
6003         (pdump_dump_rtables):
6004         (pdump_dump_root_objects):
6005         (pdump):
6006         * nas.c (WaveOpenDataForReading):
6007         * fns.c (print_bit_vector):
6008         * font-lock.c (SINGLE_SYNTAX_STYLE):
6009         * glyphs.c (check_for_ignored_expose):
6010         (find_matching_subwindow):
6011         * glyphs-eimage.c:
6012         * imgproc.c (get_histogram):
6013         * redisplay.c (point_in_line_start_cache):
6014         * redisplay-output.c (redisplay_unmap_subwindows):
6015         * symbols.c (defsymbol_massage_name_1):
6016         (defkeyword_massage_name):
6017         (deferror_massage_name_and_message):
6018         * redisplay-x.c (x_output_string): 
6019         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6020         * frame.h (struct frame):
6021         * filelock.c (current_lock_owner):
6022         * doprnt.c (emacs_doprnt_1):
6023         * lisp.h (struct Lisp_Bit_Vector):
6024         (DO_REALLOC):
6025         Fix warnings.
6026
6027 2002-02-13  Ben Wing  <ben@xemacs.org>
6028
6029         * event-stream.c (reset_key_echo):
6030         * event-stream.c (reset_this_command_keys):
6031         * event-stream.c (execute_command_event):
6032         If console is dead as a result of C-x 5 0, then post-command stuff
6033         needs to be careful and do only non-console-specific stuff.
6034
6035 2002-07-01  Mike Sperber <mike@xemacs.org>
6036
6037         * process-unix.c (unix_send_process): Mark coding_outstream as
6038         non-open upon SIGPIPE.
6039
6040         * event-stream.c (Fnext_event): Reorder switch cases to something
6041         that makes sense.
6042
6043 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6044
6045         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6046         Don't bogusly reinitialize ascii_character property.
6047
6048 2002-07-08  Mike Sperber <mike@xemacs.org>
6049
6050         * process.c (Fstart_process_internal): Do error checking before we
6051         fork off the child, so the child can't muck with the state of the
6052         parent.
6053
6054 2002-07-08  Mike Sperber <mike@xemacs.org>
6055
6056         * ralloc.c (init_ralloc): Allocate properly for pdump.
6057
6058 2002-06-12  Andy Piper  <andy@xemacs.org>
6059
6060         * glyphs.c (query_string_geometry): check the string.
6061
6062         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6063         widget names.
6064
6065 2002-06-17  Jerry James  <james@xemacs.org>
6066
6067         * sysdll.c: Remove RTLD_GLOBAL initialization.
6068         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6069
6070 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6071
6072         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6073
6074 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6075
6076         * sysdep.c (sys_rename): Make sys_rename work for the case where
6077         Windows rename sets errno to EACCES if target file exists.
6078
6079 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6080
6081         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6082         Fix detection of metric units to work on Win95
6083
6084 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6085
6086         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6087
6088 2002-04-25  Andy Piper  <andy@xemacs.org>
6089
6090         * redisplay.c (create_text_block): Remove extra comment trailer.
6091
6092 2002-04-24  Andy Piper  <andy@xemacs.org>
6093
6094         * redisplay.c (create_text_block): Don't actually add propagation
6095         data if the line ends after we have added a glyph.
6096
6097 2002-04-22  Andy Piper  <andy@xemacs.org>
6098
6099         * extents.c (extent_fragment_update): check for glyphs we have
6100         previously displayed.
6101         * extents.c (print_extent_1): warning removal.
6102         * extents.h: change prototype.
6103         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6104         widths correctly for wide glyphs.
6105         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6106         * redisplay.c (prop_type): add PROP_GLYPH.
6107         * redisplay.c (struct prop_block): add glyph type
6108         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6109         to the propagation data.
6110         * redisplay.c (create_text_block): if there is a glyph in the
6111         propagation data use it to salt extent_fragment_update.
6112         * redisplay.c (create_string_text_block): ditto.
6113
6114 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6115
6116         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6117         * redisplay-output.c (compare_runes): Compare them.
6118         * redisplay.c: Update copyright date.
6119         * redisplay.c (pos_data): Add need_baseline_computation field.
6120         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6121         need_baseline_computation; zero yoffset. Set max_pixmap_height
6122         for all pixmaps, not just automatically positioned ones.
6123         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6124         * redisplay.c (calculate_baseline): New, compute textual baseline.
6125         * redisplay.c (add_glyph_rune): Call them.
6126         * redisplay.c (create_text_block): Likewise.
6127         * redisplay.c (create_overlay_glyph_block): Likewise.
6128         * redisplay.c (add_margin_runes): Likewise.
6129         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6130
6131         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6132         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6133         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6134         * redisplay-msw.c (mswindows_output_string): Likewise.
6135         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6136         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6137         * redisplay-x.c (x_output_display_block): Likewise.
6138
6139 2002-03-28  Ben Wing  <ben@xemacs.org>
6140
6141         * redisplay.c: Fixed bug in redisplay
6142         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6143         and down of the lines, since they're bigger than the line
6144         size. (It was seen most obviously when there's a horizontal scroll
6145         bar, e.g. do C-h a glyph or something like that.) The problem was
6146         that the glyph-contrib-p setting on glyphs was ignored even if it
6147         was set properly, which it wasn't until now.
6148
6149 2002-04-24  Andy Piper  <andy@xemacs.org>
6150
6151         * lisp.h (Dynarr_end): Fix definition.
6152
6153 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6154
6155         * redisplay.c (mark_redisplay): Remove call to
6156         update_frame_window_mirror.
6157
6158 2001-11-15  Andy Piper  <andy@xemacs.org>
6159
6160         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6161         cygwin (again).
6162
6163 2002-02-13  Andy Piper  <andy@xemacs.org>
6164
6165         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6166         we did in fact enqueue the XM_MAPFRAME event.
6167
6168 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6169
6170         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6171         to fix problem switching between virtual desktops under virtuawin
6172         virtual window manager.
6173
6174 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6175
6176         * event-msw.c: Typo fix.
6177         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6178         magic XM_MAPFRAME event has been sent.
6179
6180 2001-11-23  Andy Piper  <andy@xemacs.org>
6181
6182         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6183
6184 2001-11-21  Andy Piper  <andy@xemacs.org>
6185
6186         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6187         mouse events outside the frame.
6188
6189 2002-03-20  Andy Piper  <andy@xemacs.org>
6190
6191         * menubar-msw.c (mswindows_popup_menu): warning removal.
6192         * dialog-msw.c (dialog_popped_down): ditto.
6193
6194 2001-12-11  Andy Piper  <andy@xemacs.org>
6195
6196         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6197         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6198         popup_up_p.
6199         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6200         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6201         * menubar-msw.c (mswindows_popup_menu): ditto.
6202
6203 2001-10-29  Andy Piper  <andy@xemacs.org>
6204
6205         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6206         cancels.
6207
6208 2002-01-03  Andy Piper  <andy@xemacs.org>
6209
6210         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6211         letters.
6212         (xrealpath): ditto.
6213
6214 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6215
6216         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6217         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6218         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6219         Detect and handle case where machine is set up for metric units
6220
6221 2002-04-02  Andy Piper  <andy@xemacs.org>
6222
6223         * dired-msw.c (mswindows_get_files): 
6224         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6225         completely handled by XEmacs. Suggested by Thomas Vogler
6226         <mail@thomas-vogler.de>.
6227
6228 2001-11-14  Andy Piper  <andy@xemacs.org>
6229
6230         * nt.c (REG_ROOT): change registry key to XEmacs.
6231
6232 2002-04-27  Andy Piper  <andy@xemacs.org>
6233
6234         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6235
6236 2002-04-26  Andy Piper  <andy@xemacs.org>
6237
6238         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6239         behavior.
6240
6241 2002-03-14  Mike Alexander  <mta@arbortext.com>
6242
6243         * event-msw.c (mswindows_unwait_process): New, remove process from
6244         wait list
6245         * process-nt.c (nt_finalize_process_data): Call
6246         mswindows_unwait_process
6247         * console-msw.h: Declare mswindows_unwait_process
6248
6249 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6250
6251         * editfns.c (Fdecode_time):
6252         (Fformat_time_string):
6253         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6254         (make_time): Warning elimination (change arg name).
6255
6256 2001-11-24  Andy Piper  <andy@xemacs.org>
6257
6258         * window.c (Fsplit_window): Doc return type.
6259
6260 2002-04-01  Andy Piper  <andy@xemacs.org>
6261
6262         * emacs.c (Fkill_emacs): Only output message box in interactive
6263         mode.
6264
6265 2002-04-26  Andy Piper  <andy@xemacs.org>
6266  
6267         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6268         cygwin.
6269
6270 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6271
6272         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6273         bit platform.
6274
6275 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6276
6277         * XEmacs 21.4.8 "Honest Recruiter" is released.
6278
6279 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6280
6281         Supersedes 2002-04-17 patch.
6282
6283         * process.h (PROCESS_LIVE_P): Use the process status as
6284         evidence of health, not the state of the input stream.
6285         (PROCESS_READABLE_P): Say if the process is readable
6286         from. (It may be dead nonetheless.)
6287         (CHECK_READABLE_PROCESS): Test for that condition.
6288
6289         * process.c (create_process): Use PROCESS_READABLE_P.
6290         (read_process_output, set_process_filter): Likewise.
6291
6292         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6293         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6294
6295         This code is #if 0'd, this is not the time to add new functions:
6296
6297         * process.c (Fprocess_readable_p): Report readability status.
6298         * process.c (Qprocess_readable_p): New, associated symbol...
6299         * process.c (syms_of_process): ... initialize it.
6300
6301 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6302
6303         * XEmacs 21.4.7 "Economic Science" is released.
6304
6305 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6306
6307         * process.h (PROCESS_LIVE_P): Use the process status as
6308         evidence of health, not the state of the input stream.
6309
6310 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6311
6312         * sysdep.c (sys_siglist): change "signum" to "signal"
6313
6314 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6315
6316         * s/darwin.h: New file.
6317         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6318         
6319 2002-04-23  Andreas Jaeger  <aj@suse.de>
6320
6321         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6322         which use lib64 for 64-bit libs.
6323         (START_FILES): Likewise.
6324
6325 2002-02-11  Mike Sperber  <mike@xemacs.org>
6326
6327         * device-x.c: 
6328         (x_IO_error_handler):
6329         (x_init_device): Temporarily keep device in static variable
6330         `device_being_initialized' so we can recover gracefully from
6331         internal XOpenDevice failure.  (XOpenDevice is documented to
6332         return NULL on failure, but sometimes calls the IO error handler
6333         instead.)
6334
6335 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6336
6337         * dired.c (Ffile_name_all_completions): Change documentation --
6338         remove reference to completion-ignored-extensions.
6339         * dired.c (vars_of_dired): Change documentation for
6340         completion-ignored-extensions -- remove reference to
6341         file-name-all-completions.
6342
6343 2002-03-06  Jerry James  <james@xemacs.org>
6344
6345         * emodules.c (emodules_load): Fix multiple loading of same module.
6346
6347 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6348         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6349         RTLD_LAZY to avoid incorrect symbol binding when using nested
6350         shared libraries on Solaris.
6351
6352 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6353
6354         * fileio.c (Ffind_file_name_handler): Improve docstring.
6355
6356 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6357
6358         * fns.c (Fmapconcat): Improve docstring.
6359
6360 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6361
6362         * device-gtk.c: Add prototype for
6363         emacs_gtk_selection_clear_event_handle.
6364         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6365         selection.  Setup signal handler for "selection_clear_event"
6366         (emacs_gtk_selection_clear_event_handle).
6367
6368         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6369         other applications owning the clipboard (based on
6370         x_handle_selection_clear).
6371
6372 2001-12-23  William M. Perry  <wmperry@gnu.org>
6373
6374         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6375         
6376 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6377
6378         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6379
6380 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6381
6382         * XEmacs 21.4.6 "Common Lisp" is released.
6383
6384 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6385
6386         * search.c (Freplace_match): Add missing sub-expression functionality.
6387
6388         * buffer.c (decode_buffer): Add a check for pointer type to
6389         decode_buffer, before gcc's CSE optimization reorders a
6390         dereference in front of the allow_string test.
6391
6392 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6393
6394         * window.c (window_loop): Fix bug that sometimes prevented
6395         window_loop() from iterating across multiple devices.  Also, at
6396         Ben's request, changed infloop-detecting code to abort() instead
6397         of silently terminating window_loop().
6398
6399 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6400
6401         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6402         * editfns.c (make_time): New function.
6403         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6404         * lisp.h (make_time): Prototype and comment it.
6405         * dired.c (wasteful_word_to_lisp): Deprecate.
6406         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6407
6408 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6409
6410         * fileio.c (auto_save_1): Use current coding system, not
6411         escape-quoted.
6412
6413 2001-11-13  Ben Wing  <ben@xemacs.org>
6414
6415         * window.c:
6416         * window.c (window_truncation_on):
6417         * window.c (syms_of_window):
6418         truncate-partial-width-windows should respect the buffer being
6419         displayed, like other redisplay vars.
6420
6421 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6422
6423         * event-stream.c (Fread_key_sequence): save current buffer.
6424
6425 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6426
6427         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6428
6429 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6430
6431         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6432
6433 2001-10-26  Mike Alexander  <mta@arbortext.com>
6434
6435         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6436
6437 2001-10-25  Andy Piper  <andy@xemacs.org>
6438
6439         * ChangeLog:
6440         * dialog-msw.c (handle_directory_proc): new function.
6441          (handle_directory_dialog_box): new fucntion.
6442          (handle_file_dialog_box): use new directory dialog support.
6443          (mswindows_make_dialog_box_internal): ditto.
6444         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6445         handling.
6446         (mswindows_find_frame): make global.
6447         * fileio.c (Fexpand_file_name): build fix.
6448         * general-slots.h: add Qdirectory.
6449         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6450         handling.
6451         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6452         cygwin not leaving win32 paths unchanged.
6453         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6454         cygwin runtime to do path conversion.
6455         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6456         (syms_of_win32): add new function.
6457         * window.c (window_loop): build fix.
6458
6459 2001-10-15  Andy Piper  <andy@xemacs.org>
6460
6461         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6462
6463 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6464
6465         * XEmacs 21.4.5 "Civil Service" is released.
6466
6467 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6468
6469         * glyphs-x.c: Force buffer-tab highlight update when moving the
6470         buffer, avoiding an ugly black border, used for keyboard focus
6471         indication, on a widget that can never have keyboard focus, the
6472         buffer tab.
6473
6474 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6475
6476         * process-unix.c (unix_open_multicast_group): Remove too much
6477         conversion between host and network byte order.
6478
6479 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6480
6481         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6482         before replacing them.
6483
6484         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6485         operation.
6486
6487         * src/window.c (undedicate_windows): Use it.
6488         * src/window.h: Add prototype.
6489
6490 2001-09-17  Ben Wing  <ben@xemacs.org>
6491
6492         * fileio.c (normalize_filename):
6493         * fileio.c (Fexpand_file_name):
6494         Fix various C++ compile errors in Andy's recent code.
6495         
6496         * callint.c (Fcall_interactively):
6497         * editfns.c (Ftemp_directory):
6498         * editfns.c (Fuser_full_name):
6499         * emacs.c (argmatch):
6500         * lread.c (locate_file_map_suffixes):
6501         * redisplay-x.c (x_ring_bell):
6502         Fix sign-compare warnings.
6503         
6504 2001-09-08  Andy Piper  <andy@xemacs.org>
6505
6506         * fileio.c (normalize_filename): copied from nt.c
6507         * (Ffile_name_directory): enable win32 paths under cygwin.
6508         * (Ffile_name_nondirectory): ditto.
6509         * (directory_file_name): ditto.
6510         * (Fexpand_file_name): ditto.
6511         * (Ffile_truename): ditto.
6512         * (Fsubstitute_in_file_name): ditto.
6513         * (Ffile_name_absolute_p): ditto.
6514         * (Ffile_readable_p): ditto.
6515
6516 2001-09-08  Andy Piper  <andy@xemacs.org>
6517
6518         * device-msw.c (mswindows_finish_init_device): remove dde
6519         initialization.
6520         * device-msw.c (mswindows_init_dde): factor out from
6521         mswindows_finish_init_device()
6522         * device-msw.c (init_mswindows_very_early): new function
6523         initialize but don't enable dde.
6524         * emacs.c (main_1): call init_mswindows_very_early.
6525         * event-msw.c:
6526         * event-msw.c (mswindows_dde_callback): only execute when we are
6527         ready.
6528         * symsinit.h: declare init_mswindows_very_early.
6529
6530 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6531
6532         [sjt: This has been in 21.5 for months with no complaints.]
6533
6534         * console.h (struct console_methods): Added flags member.
6535         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6536         (CONMETH_IMPL_FLAG):
6537         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6538         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6539
6540         * device.c (window_system_pixelated_geometry): Use the above macros.
6541
6542         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6543         implememntation flag.
6544         * device.h (DEVICE_DISPLAY_P): Use it.
6545
6546         * frame.c (delete_frame_internal): Use the above macro.
6547
6548         * redisplay.c (redisplay_device): Use it.
6549         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6550         (redisplay_frame): Ditto.
6551
6552         * device-msw.c (mswindows_device_implementation_flags): Removed.
6553         (msprinter_device_implementation_flags): Removed.
6554         (console_type_create_device_mswindows): Removed references to
6555         implementation_flags methods, set implementation flags here.
6556         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6557
6558         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6559         (console_type_create_device_gtk): Removed method declaration.
6560         Added commented out statement which semantically matches the
6561         commented out statement in the above removed method.
6562
6563 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6564
6565         The attached patch fixes a few warnings. 
6566
6567         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6568         * src/frame-gtk.c: guard against GNOME calls in GTK only
6569         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6570         * src/select-gtk.c: prototype lisp_to_time
6571
6572 2001-06-08  Ben Wing  <ben@xemacs.org>
6573
6574         ------ gc-in-window-procedure fixes ------
6575         
6576         * alloc.c:
6577         * alloc.c (struct post_gc_action):
6578         * alloc.c (register_post_gc_action):
6579         * alloc.c (run_post_gc_actions):
6580         * alloc.c (garbage_collect_1):
6581         Create "post-gc actions", to avoid those dreaded "GC during window
6582         procedure" problems.
6583
6584         * event-msw.c:
6585         Abort, clean and simple, when GC in window procedure.  We want
6586         to flush these puppies out.
6587
6588         * glyphs-msw.c:
6589         * glyphs-msw.c (finalize_destroy_window):
6590         * glyphs-msw.c (mswindows_finalize_image_instance):
6591         Use a post-gc action when destroying subwindows.
6592
6593         * lisp.h:
6594         Declare register_post_gc_action().
6595
6596         * scrollbar-msw.c:
6597         * scrollbar-msw.c (unshow_that_mofo):
6598         Use a post-gc action when unshowing scrollbar windows, if in gc.
6599
6600         * redisplay.c (mark_redisplay):
6601         Add comment about the utter evilness of what's going down here.
6602
6603         ------ cygwin setitimer fixes ------
6604         
6605         * Makefile.in.in (sheap_objs):
6606         * Makefile.in.in (profile_objs):
6607         * Makefile.in.in (objs):
6608         Compile profile.c only when HAVE_SETITIMER.
6609         
6610         * nt.c (mswindows_sigset):
6611         * nt.c (mswindows_sighold):
6612         * nt.c (mswindows_sigrelse):
6613         * nt.c (mswindows_sigpause):
6614         * nt.c (mswindows_raise):
6615         * nt.c (close_file_data):
6616         Style fixes.
6617         
6618         * nt.c:
6619         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6620         
6621         * profile.c:
6622         * profile.c (Fstart_profiling):
6623         * profile.c (Fstop_profiling):
6624         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6625         instead of just plain setitimer().
6626         
6627         * signal.c:
6628         * signal.c (set_one_shot_timer):
6629         * signal.c (alarm):
6630         Define qxe_setitimer() as an encapsulation around setitimer() --
6631         call setitimer() directly unless Cygwin or MS Win, in which case
6632         we use our simulated version in win32.c.
6633         
6634         * systime.h:
6635         * systime.h (struct itimerval):
6636         * systime.h (ITIMER_REAL):
6637         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6638         comment about "qxe" and the policy regarding encapsulation.
6639
6640         * win32.c:
6641         * win32.c (setitimer_helper_proc):
6642         * win32.c (setitimer_helper_period):
6643         * win32.c (setitimer_helper):
6644         * win32.c (mswindows_setitimer):
6645         Move setitimer() emulation here, so Cygwin can use it.
6646         Rename a couple of functions and variables to be longer and more
6647         descriptive.  In setitimer_helper_proc(), send the signal
6648         using either mswindows_raise() or (on Cygwin) kill().  If for
6649         some reason we are still getting lockups, we'll change the kill()
6650         to directly invoke the signal handlers.
6651
6652         ------ windows shell fixes ------
6653         
6654         * callproc.c:
6655         * ntproc.c:
6656         Comments about how these two files must die.
6657
6658         * callproc.c (init_callproc):
6659         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6660         not just COMSPEC. (more correct and closer to FSF.) Don't
6661         force a value for SHELL into the environment. (Comments added
6662         to explain why not.)
6663         
6664         * nt.c (init_user_info):
6665         Don't shove a fabricated SHELL into the environment.  See above.
6666
6667 2001-06-01  Ben Wing  <ben@xemacs.org>
6668
6669         * Makefile.in.in (ldflags):
6670         eliminate that pesky "defaulting to 00401000" warning.
6671         * nt.h:
6672         eliminate warnings.
6673
6674 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6675
6676         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6677         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6678
6679 2001-04-24  Jerry James <james@xemacs.org>
6680
6681         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6682         correct order.
6683
6684 2001-06-01  Ben Wing  <ben@xemacs.org>
6685
6686         * event-msw.c (debug_mswin_messages):
6687         conditionalize the messages that were causing compile errors.
6688         (if only macros could generate #ifdef statements ...)
6689
6690 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6691
6692         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6693
6694 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6695
6696         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6697
6698 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6699
6700         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6701         * process-unix.c (unix_canonicalize_host_name):
6702         sysdep.c (init_system_name):
6703         Use it to conditionally support IPv6 canonicalization.
6704
6705 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6706
6707         * event-msw.c:
6708         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6709
6710 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6711
6712         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6713         attempt is made to scroll when no scroll bar is available.
6714
6715 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6716
6717         * input-method-motif.c (XIM_delete_frame): New callback.
6718         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6719         got deleted from 21.4.3.)
6720
6721 2001-06-01  Ben Wing  <ben@xemacs.org>
6722
6723         * nt.c (mswindows_utime):
6724         * nt.c (close_file_data):
6725         fix off-by-one-indirection error.
6726
6727 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6728
6729         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6730         because set_file_times() now takes Lisp_Object path, instead of
6731         char*.
6732         * nt.c: Include buffer.h.
6733         * nt.c (convert_from_time_t): New.
6734         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6735         not set mtime correctly.
6736         * nt.h: Declare mswindows_utime().
6737         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6738         path, instead of char*.
6739         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6740
6741 2001-05-30  Ben Wing  <ben@xemacs.org>
6742
6743         For 21.4:
6744
6745         (Stephen, just take all event-msw.c patches.  This includes
6746         the "iconify" fix below.)
6747
6748         * event-msw.c:
6749         * event-msw.c (mswindows_dequeue_dispatch_event):
6750         * event-msw.c (assert):
6751         * event-msw.c (emacs_mswindows_quit_p):
6752         * event-msw.c (debug_mswin_messages):
6753         * event-msw.c (debug_output_mswin_message):
6754         * event-msw.c (vars_of_event_mswindows):
6755         Fix yet more problems with C-g handling.
6756         Implement debug-mswindows-events.
6757         
6758 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6759
6760         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6761         
6762 2001-05-23  Ben Wing  <ben@xemacs.org>
6763
6764         * event-msw.c (winsock_writer):
6765         * event-msw.c (winsock_closer):
6766         prior kludgy code was clobbering the buffer, thinking it was
6767         "unused" space to store an unneeded return value; instead, use
6768         the variable we've already got staring us in the face.
6769
6770 2001-05-17  Andy Piper  <andy@xemacs.org>
6771
6772         * sysfile.h: don't assume that file attributes are boolean
6773
6774 2001-05-23  Ben Wing  <ben@xemacs.org>
6775
6776         * device-msw.c (msprinter_init_device):
6777         signal an error rather than crash with an unavailable network
6778         printer (from Mike Alexander).
6779         
6780         * event-msw.c:
6781         * event-msw.c (struct winsock_stream):
6782         * event-msw.c (winsock_writer):
6783         * event-msw.c (winsock_closer):
6784         * event-msw.c (make_winsock_stream_1):
6785         cleanup headers.  fix (hopefully) an error with data corruption
6786         when sending to a network connection.
6787
6788         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6789         to handle the ~user prefix by (a) always assuming we're referencing
6790         ourselves and not even verifying the user -- hence any file with
6791         a tilde as its first char is invalid! (b) if there wasn't a slash
6792         following the filename, the pointer was set *past* the end of
6793         file and we started reading from uninitialized memory.  Now we
6794         simply treat these as files, always.
6795
6796         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6797         
6798 2001-05-19  Ben Wing  <ben@xemacs.org>
6799
6800         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6801
6802         * process-nt.c:
6803         * process-nt.c (vars_of_process_nt):
6804         remove unused mswindows-quote-process-args.  rec for 21.4.
6805         
6806 2001-05-12  Ben Wing  <ben@xemacs.org>
6807
6808         * event-msw.c (mswindows_dde_callback):
6809         * event-msw.c (mswindows_wnd_proc):
6810         eliminate cygwin warnings.
6811
6812 2001-05-06  Ben Wing  <ben@xemacs.org>
6813
6814         * console-msw.h:
6815         * device-msw.c:
6816         * device-msw.c (print_dialog_worker):
6817         * device-msw.c (mswindows_handle_print_dialog_box):
6818         * device-msw.c (syms_of_device_mswindows):
6819         * dialog-msw.c (mswindows_make_dialog_box_internal):
6820         * general-slots.h:
6821         implement printing the selection when it's selected.
6822
6823 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6824
6825         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6826
6827 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6828
6829         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6830         EMACS_INT is signed.
6831
6832 2001-04-15  Michael Lausch  <mla@1012surf.net>
6833
6834         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6835         gtk_widget_request_size() to give scrollbar >0 width for
6836         GTK >1.2.8.
6837
6838 2001-05-30  William M. Perry  <wmperry@gnu.org>
6839
6840         * event-gtk.c: Check for buttons as modifier keys.
6841
6842 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6843
6844         * s\mingw32.h:
6845         Properly find MinGW's <process.h> inside Cygwin's restructured
6846         include directories.  Don't try to include <cygwin/version.h>
6847         since we are dropping support for MinGW in versions of Cygwin
6848         earlier than b21.
6849         * nt.c:
6850         Drop support for MinGW in versions of Cygwin before b21.
6851         * sysdep.c:
6852         Properly find MinGW's <process.h> inside Cygwin's restructured
6853         include directories.
6854         * syswindows.h:
6855         Drop support for MinGW in versions of Cygwin before b21.
6856         * unexcw.c:
6857         Even though a.out.h is no longer detected by configure, allow
6858         MinGW to use it until we figure out how to do the job with Win32.
6859
6860 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6861
6862         * syntax.c (find_start_of_comment):
6863         Fix `unbalanced parentheses' bug when dealing with mixed comment
6864         styles in c++/java/etc. mode
6865
6866 2001-05-29  Mike Alexander  <mta@arbortext.com>
6867
6868         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6869         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6870
6871 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6872
6873         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6874
6875 2001-03-31  Mike Sperber <mike@xemacs.org>
6876
6877         * search.c (Freplace_match): Support FSF-style specification of
6878         match subexpression when applied to a buffer.
6879
6880 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6881
6882         * event-stream.c (is_scrollbar_event): add missing semicolon
6883
6884 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6885
6886         * Makefile.in.in: Use TAR macro instead of hardcoding
6887           tar.  Allows use of GNU tar instead of system tar
6888
6889 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6890
6891         * event-stream.c (is_scrollbar_event): add missing semicolon
6892
6893 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6894
6895         * XEmacs 21.4.3 "Academic Rigor" is released.
6896
6897 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6898
6899         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6900
6901 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6902
6903         * buffer.c (Vcase_fold_search): Remove obsolete
6904           comment about non ASCII case-fold-search.  This
6905           bug has been fixed by case-table changes.
6906
6907 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6908
6909         * event-msw.c: Restore include of events-mod.h.
6910
6911 2001-04-22   zhaoway  <zw@debian.org>
6912
6913         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6914         !HAVE_SCROLLBARS.
6915
6916 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6917
6918         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6919
6920 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6921
6922         * mule-charset.c (Fmake_charset): Add missing else.
6923
6924 2001-04-23  Ben Wing  <ben@xemacs.org>
6925
6926         * event-msw.c (FAKE_MOD_QUIT):
6927         * event-msw.c (mswindows_dequeue_dispatch_event):
6928         * event-msw.c (mswindows_wnd_proc):
6929         * event-msw.c (emacs_mswindows_quit_p):
6930         Get critical quit working.
6931
6932 2001-05-05  Ben Wing  <ben@xemacs.org>
6933
6934         * console-msw.h:
6935         * device-msw.c:
6936         * device-msw.c (mswindows_get_default_margin):
6937         * frame-msw.c (mswindows_size_frame_internal):
6938         * frame-msw.c (msprinter_init_frame_1):
6939         * frame-msw.c (vars_of_frame_mswindows):
6940         Change top/bottom margin defaults to 0.5 inches.
6941
6942 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6943
6944         Fix link error with gcc 3.0 on Linux.
6945         * terminfo.c (UP): Remove.
6946         * terminfo.c (BC): Remove.
6947         * terminfo.c (PC): Remove.
6948         They weren't used, and in any case, these symbols should be
6949         defined in the *library*.
6950
6951 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6952
6953         * s/aix4.h: Fix crash with xlc -O3.
6954         Improve comment explaining how -O3 works.
6955
6956 2001-04-15  Ben Wing  <ben@xemacs.org>
6957
6958         * event-stream.c:
6959         * event-stream.c (Fnext_event):
6960         * event-stream.c (is_scrollbar_event):
6961         * event-stream.c (execute_command_event):
6962         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6963         crash' problem.  His fix introduces other problems.  We filter
6964         out scrollbar events specifically, making them somewhat invisible
6965         to command-building, and not appearing in `this-command-keys'.
6966         More work is still needed (see comments in event-stream.c), but
6967         this fixes all the major problems.
6968
6969 2001-04-20  Ben Wing  <ben@xemacs.org>
6970
6971         * .cvsignore: Added stuff for Windows.
6972
6973 2001-04-28  Ben Wing  <ben@xemacs.org>
6974
6975         * buffer.c (Ferase_buffer):
6976         * editfns.c (buffer_insert1):
6977         * editfns.c (Finsert_before_markers):
6978         * editfns.c (Finsert_string):
6979         * editfns.c (Finsert_char):
6980         * editfns.c (Fdelete_region):
6981         * editfns.c (Fwiden):
6982         * editfns.c (Fnarrow_to_region):
6983         remove bogus lines setting zmacs_region_stays to 0.
6984         
6985 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6986
6987         * process-unix.c (unix_open_network_stream): If connect() fails
6988         invalidate file descriptor after closing it.
6989
6990 2001-03-08  Mike Alexander  <mta@arbortext.com>
6991
6992         * event-msw.c (mswindows_need_event_in_modal_loop):
6993         Don't dispatch a message if we didn't get one.
6994         (mswindows_need_event):
6995         Terminate the correct process when one exits instead of the first
6996         one on Vprocess_list and look for process termination when in
6997         mswindows_protect_modal_loop.
6998
6999 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7000
7001         * XEmacs 21.4.1 "Copyleft" is released.
7002
7003 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7004
7005         * input-method-motif.c (XIM_delete_frame): New callback.
7006         (XIM_init_frame): Register it.
7007
7008 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7009
7010         * XEmacs 21.4.0 "Solid Vapor" is released.
7011
7012 2001-04-15  Ben Wing  <ben@xemacs.org>
7013
7014         * cmdloop.c (call_command_loop):
7015         Fix braino in bit-rotting code.
7016         
7017 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7018
7019         * extents.c (Fset_extent_endpoints): Force creation of extent info
7020         in buffer_or_string.
7021
7022         * extents.c (process_extents_for_insertion_mapper): Correctly
7023         check for open-open zero-length extents.
7024
7025 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7026
7027         * lisp.h: New typedefs Memory_count, Element_count.
7028         * regex.c:
7029         * regex.h:
7030         Sign-compare warning elimination: several unsigned -> signed.
7031         Based on work by Ben Wing <ben@xemacs.org>.
7032
7033 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7034
7035         * XEmacs 21.2.47 "Zephir" is released.
7036
7037 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7038
7039         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7040
7041 2001-04-03  Mike Sperber <mike@xemacs.org>
7042
7043         * search.c: Revert previous patch due because of release.
7044
7045 2001-03-30  Ben Wing  <ben@xemacs.org>
7046
7047         * s\cygwin32.h:
7048         Add missing killpg prototype.
7049
7050         * elhash.c:
7051         Add a comment about fixing problems when a new entry is added
7052         while mapping.
7053
7054         * frame-msw.c (mswindows_init_frame_1):
7055         Fix compile warnings.
7056
7057         * menubar.c (vars_of_menubar):
7058         Provide `menu-accelerator-support' to indicate that we properly
7059         support %_ in menu specifications, so that package code can
7060         conditionalize on this (and remove %_ from menu specifications
7061         on older versions).
7062
7063         * event-msw.c:
7064         * scrollbar-msw.c:
7065         * scrollbar-msw.c (can_scroll):
7066         * scrollbar-msw.h:
7067         Fix handling of mouse wheel under Windows to follow standards --
7068         now scrolls window under pointer, not selected window.
7069
7070 2001-03-31  Mike Sperber <mike@xemacs.org>
7071
7072         * search.c (Freplace_match): Support FSF-style specification of
7073         match subexpression when applied to a buffer.
7074
7075 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7076
7077         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7078         function to modify KEYMAP, so map over a copy of the hash table.
7079
7080 2001-03-21  Martin Buchholz <martin@xemacs.org>
7081
7082         * XEmacs 21.2.46 "Urania" is released.
7083
7084 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7085
7086         * realpath.c (xrealpath): Make file-truename work with symlinks to
7087         /cygdrive paths on cygwin. Always lowercase drive-letters on
7088         native windows.
7089         (cygwin_readlink): Don't try to find canonical filename unless
7090         file exists.
7091
7092 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7093
7094         * ChangeLog: Log GTK merge.
7095
7096         * dumper.c:
7097         * select-x.c:
7098         * specifier.c:
7099         * symeval.h:
7100         Revert gratuitous whitespace changes from GTK merge.
7101
7102         * emacs.c: Document end of complex #ifdef @ l. 1495.
7103
7104
7105 2001-03-12  Andy Piper  <andy@xemacs.org>
7106
7107         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7108         have to do likewise.
7109
7110 2001-03-12  Andy Piper  <andy@xemacs.org>
7111
7112         * sysdep.c: we only support mingw now.
7113
7114 2001-03-09  Andy Piper  <andy@xemacs.org>
7115
7116         * unexcw.c (copy_executable_and_dump_data_section): making approx
7117         overrun a warning only.
7118
7119 2001-03-10  William M. Perry  <wmperry@aventail.com>
7120
7121         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7122         satisfy Stephen's identical-after-cpp plea.
7123
7124 2001-03-02  Ben Wing  <ben@xemacs.org>
7125
7126         * cmds.c:
7127         * cmds.c (Fforward_char):
7128         * syntax.c:
7129         * window.c:
7130
7131         Augment documentation of the most common motion commands to make
7132         note of the shifted-motion support.
7133         
7134 2001-03-02  Ben Wing  <ben@xemacs.org>
7135
7136         * nt.c (mswindows_fstat):
7137         * nt.c (mswindows_stat):
7138         * search.c (boyer_moore):
7139         Fix compile warnings under Windows.
7140         
7141         * sysdep.c (sys_readdir):
7142         Fix buggy filename-conversion code under Mule.
7143
7144 2001-03-09  William M. Perry  <wmperry@aventail.com>
7145
7146         * Makefile.in.in:
7147         * config.h.in:
7148         * console.c:
7149         * console.h:
7150         * device.c:
7151         * device.h:
7152         * dragdrop.c:
7153         * emacs.c:
7154         * event-stream.c:
7155         * events.c:
7156         * events.h:
7157         * faces.c:
7158         * frame.h:
7159         * general-slots.h:
7160         * glyphs.c:
7161         * gutter.c:
7162         * inline.c:
7163         * lisp.h:
7164         * lrecord.h:
7165         * make-src-depend:
7166         * redisplay-output.c:
7167         * redisplay.c:
7168         * symsinit.h:
7169         * sysfile.h:
7170         * toolbar.c:
7171         * window.c:
7172         The Great GTK Merge.
7173
7174         * ChangeLog.GTK:
7175         * console-gtk.c:
7176         * console-gtk.h:
7177         * device-gtk.c:
7178         * emacs-marshals.c:
7179         * emacs-widget-accessors.c:
7180         * event-gtk.c:
7181         * frame-gtk.c:
7182         * gccache-gtk.c:
7183         * gccache-gtk.h:
7184         * glade.c:
7185         * glyphs-gtk.c:
7186         * glyphs-gtk.h:
7187         * gtk-glue.c:
7188         * gtk-xemacs.c:
7189         * gtk-xemacs.h:
7190         * gui-gtk.c:
7191         * gui-gtk.h:
7192         * menubar-gtk.c:
7193         * native-gtk-toolbar.c:
7194         * objects-gtk.c:
7195         * objects-gtk.h:
7196         * redisplay-gtk.c:
7197         * scrollbar-gtk.c:
7198         * scrollbar-gtk.h:
7199         * select-gtk.c:
7200         * toolbar-gtk.c:
7201         * ui-byhand.c:
7202         * ui-gtk.c:
7203         * ui-gtk.h:
7204         The Great GTK Merge: new files.
7205
7206 2001-02-26  Ben Wing  <ben@xemacs.org>
7207
7208         Reapplied Lstream change.
7209
7210 2001-02-26  Ben Wing  <ben@xemacs.org>
7211
7212         Undid the last change, since it is more controversial than I
7213         thought.  It should be back in at some point soon.
7214         
7215 2001-02-25  Ben Wing  <ben@xemacs.org>
7216
7217         * buffer.c:
7218         * callproc.c (Fold_call_process_internal):
7219         * event-msw.c (ntpipe_slurp_reader):
7220         * event-msw.c (ntpipe_shove_writer):
7221         * event-msw.c (winsock_reader):
7222         * event-msw.c (winsock_writer):
7223         * file-coding.c:
7224         * file-coding.c (detect_eol_type):
7225         * file-coding.c (detect_coding_type):
7226         * file-coding.c (determine_real_coding_system):
7227         * file-coding.c (Fdetect_coding_region):
7228         * file-coding.c (decoding_reader):
7229         * file-coding.c (decoding_writer):
7230         * file-coding.c (mule_decode):
7231         * file-coding.c (Fdecode_coding_region):
7232         * file-coding.c (encoding_reader):
7233         * file-coding.c (encoding_writer):
7234         * file-coding.c (mule_encode):
7235         * file-coding.c (Fencode_coding_region):
7236         * file-coding.c (detect_coding_sjis):
7237         * file-coding.c (decode_coding_sjis):
7238         * file-coding.c (encode_coding_sjis):
7239         * file-coding.c (detect_coding_big5):
7240         * file-coding.c (decode_coding_big5):
7241         * file-coding.c (encode_coding_big5):
7242         * file-coding.c (detect_coding_ucs4):
7243         * file-coding.c (decode_coding_ucs4):
7244         * file-coding.c (encode_coding_ucs4):
7245         * file-coding.c (detect_coding_utf8):
7246         * file-coding.c (decode_coding_utf8):
7247         * file-coding.c (encode_coding_utf8):
7248         * file-coding.c (detect_coding_iso2022):
7249         * file-coding.c (decode_coding_iso2022):
7250         * file-coding.c (encode_coding_iso2022):
7251         * file-coding.c (decode_coding_no_conversion):
7252         * file-coding.c (encode_coding_no_conversion):
7253         * glyphs-x.c (write_lisp_string_to_temp_file):
7254         * gpmevent.c (tty_get_foreign_selection):
7255         * lisp.h:
7256         * lstream.c:
7257         * lstream.c (Lstream_flush_out):
7258         * lstream.c (Lstream_adding):
7259         * lstream.c (Lstream_write_1):
7260         * lstream.c (Lstream_write):
7261         * lstream.c (Lstream_raw_read):
7262         * lstream.c (Lstream_read_more):
7263         * lstream.c (Lstream_read):
7264         * lstream.c (Lstream_unread):
7265         * lstream.c (Lstream_fputc):
7266         * lstream.c (stdio_reader):
7267         * lstream.c (stdio_writer):
7268         * lstream.c (filedesc_reader):
7269         * lstream.c (filedesc_writer):
7270         * lstream.c (lisp_string_reader):
7271         * lstream.c (struct fixed_buffer_stream):
7272         * lstream.c (make_fixed_buffer_input_stream):
7273         * lstream.c (make_fixed_buffer_output_stream):
7274         * lstream.c (fixed_buffer_reader):
7275         * lstream.c (fixed_buffer_writer):
7276         * lstream.c (struct resizing_buffer_stream):
7277         * lstream.c (resizing_buffer_writer):
7278         * lstream.c (dynarr_writer):
7279         * lstream.c (lisp_buffer_reader):
7280         * lstream.c (lisp_buffer_writer):
7281         * lstream.h:
7282         * lstream.h (lstream_implementation):
7283         * lstream.h (struct lstream):
7284         * md5.c (Fmd5):
7285         * process-nt.c (nt_send_process):
7286         * process-unix.c (unix_send_process):
7287         
7288         Correct Lstream lossage due to mixing of signed and unsigned
7289         quantities.  All Lstream uses of size_t and ssize_t are now a
7290         single signed data type Lstream_data_count.  This fixes problems
7291         under Windows with sending large quantities of data to a process,
7292         and may well fix other subtle bugs.
7293
7294 2001-02-23  Martin Buchholz <martin@xemacs.org>
7295
7296         * XEmacs 21.2.45 "Thelxepeia" is released.
7297
7298 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7299
7300         * lisp-union.h (XSETINT): 
7301         (XSETCHAR):
7302         (XSETOBJ): 
7303         Reverse previous change of 2001-02-06.
7304
7305 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7306
7307         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7308         buffers.
7309         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7310         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7311         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7312         * regex.c (POS_AS_IN_BUFFER): removed
7313         * regex.c (re_search_2):
7314         * regex.c (re_match_2):
7315         Don't use an offset of 1 when calculating buffer positions, since
7316         `BI_BUF_BEGV' does it already.
7317
7318 2001-02-18  Wim Dumon  <wim@easics.be>
7319
7320         * insdel.c (prepare_to_modify_buffer): Also check for
7321         supersession when clash-detection is enabled. 
7322
7323 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7324
7325         * regex.c (re_match_2_internal):
7326         Convert temp characters from 'const unsigned char' to 're_char'.
7327         Fix crashing bug with extended characters under mule.
7328         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7329         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7330         font-lock, pdump, and new syntax-table code.
7331         * syntax.c (find_start_of_comment):
7332         (find_end_of_comment):
7333         (forward-comment):
7334         Fix crashing bugs involving moving beyond end of buffer.
7335         * syntax.c (find_start_of_comment):
7336         Fixed logic to allow proper detection of cases where the same
7337         character is used to end both a two-char comment start and a
7338         two-char comment end sequence. Fixes `(forward-comment -1)'.
7339         * syntax.c (find_start_of_comment):
7340         Return position just past last comment-end character for all cases
7341         (previously was only done for two-char comment-end sequences).
7342         * syntax.c (forward-comment):
7343         Take value returned from `find_end_of_comment', rather than
7344         incrementing it.
7345         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7346         Properly deal with BUFFERP (syntax_cache.object)
7347
7348 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7349
7350         * alloc.c (Fgarbage_collect): 
7351         * alloc.c (make_bit_vector_from_byte_vector):
7352         -Wsign-compare-correctness.
7353
7354 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7355
7356         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7357         (XSETCHAR): Likewise.
7358         (XSETOBJ): Likewise.
7359
7360 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7361
7362         * mule-canna.c (canna-func-delete_previous): 
7363         Rename to canna-func-delete-previous.
7364
7365 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7366
7367         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7368
7369 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7370
7371         * font-lock.c (find_context): Fix C++ compile errors introduced by
7372         recent patch
7373
7374 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7375
7376         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7377         pragma, but earlier ones barf on the same pragma.
7378
7379 2001-02-06  Mike Sperber <mike@xemacs.org>
7380
7381         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7382         `configure-mule-lisp-directory'.
7383
7384 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7385
7386         Make sure dump-id.c is compiled in the same way as other .c's.
7387         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7388         * dump-id.h: Remove.
7389         * emacs.c: Move dump-id.h into dumper.h.
7390         * dumper.h: Move dump-id.h into dumper.h.
7391         * Makefile.in.in:
7392         Use standard .c.o rule for building dump-id.o.
7393         Remove preprocessor flags from link command.
7394         Add dump-id.o to ${otherobjs} if PDUMP.
7395
7396 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7397
7398         Port FSF 20.7 syntax table improvements.
7399         * syntax.c.
7400         * syntax.h.
7401
7402         Fixups for new syntax table stuff.
7403         * dired.c: Include syntax.c.
7404         (Fdirectory_files): Initialize regex_match_object and
7405         regex_emacs_buffer.
7406         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7407         and Fget_char_property.
7408
7409         Use ported FSF 20.7 syntax table improvements.
7410         * font-lock.c.
7411         * regex.c.
7412         * search.c.
7413         
7414 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7415
7416         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7417         Unixware's enum boolean from sys/types.h.
7418
7419 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7420
7421         Fix support for building with latest Purify.
7422         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7423         (PURIFY_FLAGS): Likewise.
7424
7425 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7426
7427         * fileio.c (lisp_string_set_file_times): New.
7428         * fileio.c (Fcopy_file): Use it.
7429         Fixes bug:
7430         (copy-file filename non-ascii-filename t t)
7431         ==> No such file or directory, non-ascii-filename
7432
7433 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7434
7435         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7436         USHRT_MAX seems clearer than ~0 anyways.
7437
7438 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7439
7440         dumper improvements.  Inspired by Olivier.
7441         * dumper.c (pdump_max_align): New.
7442         * dumper.c (pdump_add_entry): Use pdump_max_align.
7443         * dumper.c (pdump_get_entry_list): Likewise.
7444         * dumper.c (pdump_scan_by_alignment): Likewise.
7445         Don't iterate through unnecessary alignments.
7446         * dumper.c (pdump_file_get): No need to align result of malloc().
7447         * dumper.c (pdump_mallocadr): Remove.  
7448         The result of malloc() is guaranteed to be maximally aligned.
7449         * dumper.c: s/elmt/elt/g;
7450         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7451         * dumper.c (pdump_alert_undump_object): Likewise.
7452         * dumper.c (pdump_align_table): 
7453         Don't support alignments > 64.
7454         Store ALIGNOF's, not shift counts, in table.
7455
7456 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7457
7458         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7459         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7460         * systime.h: Use HAVE_UTIME.
7461         * sysdep.c (struct utimbuf): Remove.
7462         * sysdep.c (set_file_times): Prefer utime() to utimes().
7463         * config.h.in (HAVE_UTIME): New.
7464         * config.h.in (HAVE_UTIME_H): Remove.
7465         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7466
7467 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7468
7469         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7470
7471 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7472
7473         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7474
7475 2001-02-08  Martin Buchholz <martin@xemacs.org>
7476
7477         * XEmacs 21.2.44 "Thalia" is released.
7478
7479 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7480
7481         Fixes crashes in kill-emacs on some systems.
7482         * process-unix.c (unix_kill_child_process):
7483         It's OK for kill() to fail with ESRCH.
7484
7485 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7486
7487         Contortions to make .gdbinit tricks work on most systems.
7488         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7489         * alloc.c (dbg_valmask): Make non-const.
7490         * alloc.c (dbg_typemask): Make non-const.
7491         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7492         * alloc.c (dbg_valbits): Make non-const.
7493         * alloc.c (dbg_gctypebits): Make non-const.
7494         * .gdbinit (decode_object): Make it work with AIX cc.
7495
7496 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7497
7498         * elhash.c (make_general_lisp_hash_table):
7499         Use simpler and more efficient calloc to clear entries.
7500
7501 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7502
7503         * window.c (window_scroll): Work around an AIX C compiler bug.
7504         Fixes 'scroll-up' does nothing problem with xlC.
7505
7506 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7507
7508         * .gdbinit: Remove obsolete comment.
7509
7510 2001-01-31  Mike Alexander  <mta@arbortext.com>
7511
7512         * select.c (Fown_selection_internal): Set owned_p for device
7513         method correctly.
7514
7515 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7516
7517         Port to g++ 2.97.
7518         "not" cannot be used as a macro name as it is an operator in C++
7519         * config.h.in: Stop #defining `not'.
7520         * chartab.c (check_category_char): not ==> not_p
7521         * chartab.h: Likewise.
7522         * regex.c (re_match_2_internal): Likewise.
7523
7524 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7525
7526         * lisp-disunion.h: Fix up comments.
7527
7528 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7529
7530         * keymap.c (define_key_check_and_coerce_keysym):
7531         (syms_of_keymap):
7532         Support mouse-6 and mouse-7 bindings in the obvious way.
7533
7534 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7535
7536         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7537
7538 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7539
7540         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7541         Previous patch missed DEFVAR_INT_MAGIC.
7542         Make sure future DEFVAR_foo use correct types.
7543         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7544         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7545         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7546         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7547         * (DEFVAR_INT): Likewise.
7548         * redisplay.c (vertical_clip): Should be of type Fixnum.
7549         * redisplay.c (horizontal_clip): Likewise.
7550         * lisp.h (dump_add_opaque_int): New.
7551         (dump_add_opaque_fixnum): New.
7552
7553 2001-01-29  Andy Piper  <andy@xemacs.org>
7554
7555         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7556         since they can be eval'ed
7557
7558 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7559
7560         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7561         Oops, XEmacs redefines `class'.  Use `typename' instead.
7562
7563 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7564
7565         * dumper.c: Fix C++ compile errors.
7566
7567 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7568
7569         * tparam.c: Use correct prototypes.
7570
7571 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7572
7573         * sysproc.h: #include util.h for NetBSD's openpty.
7574
7575 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7576
7577         More 64-bit correctness.
7578         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7579         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7580         Fix up comments.
7581         This finally finishes the 64-bit SGI port.
7582         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7583         * symbols.c: Fix up comments and type casts.
7584         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7585         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7586         * symeval.h (Fixnum): New type.
7587         * symeval.h (symbol_value_type): Fix up comment.
7588
7589         * commands.h:
7590         * nt.c:
7591         * emacs.c:
7592         * data.c:
7593         * redisplay.c:
7594         * abbrev.c:
7595         * dired-msw.c:
7596         * event-Xt.c:
7597         * eldap.c:
7598         * window.c:
7599         * sound.c:
7600         * event-stream.c:
7601         * eval.c:
7602         * buffer.c:
7603         * mule-canna.c: A million DEFVAR_INTs here...
7604         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7605         * extents.c:
7606         * cmdloop.c:
7607         * lisp.h:
7608         * select-x.c:
7609         * console-x.h:
7610         * event-msw.c:
7611         * mule-wnnfns.c:
7612         * hpplay.c:
7613         * ralloc.c:
7614         * alloc.c:
7615         * keymap.c:
7616         * profile.c:
7617         s/int/Fixnum/g in DEFVAR_INT declarations.
7618
7619 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7620
7621         Port pdump to SGI alignment-sensitive environment.
7622         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7623         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7624         properly aligned.
7625         Define and use aligned reading and writing macros.
7626         Use buffered stdio instead of posix i/o for faster dumping.
7627         Eliminate kludgy 256 byte space for header.
7628         Read and write from dump file using structs for alignment safety.
7629         * dumper.c (pdump_align_stream): New.
7630         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7631         * dumper.c (PDUMP_READ_ALIGNED): New.
7632         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7633         * dumper.c (pdump_static_Lisp_Object): New struct.
7634         * dumper.c (pdump_static_pointer): New struct.
7635         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7636         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7637         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7638         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7639
7640         * dumper.c (pdump_backtrace):
7641         * dumper.c (pdump_get_indirect_count):
7642         * dumper.c (pdump_register_object):
7643         * dumper.c (pdump_register_struct):
7644         * dumper.c (pdump_reloc_one):
7645         * dumper.c (pdump_scan_by_alignment):
7646         * dumper.c (pdump_dump_from_root_struct_ptrs):
7647         * dumper.c (pdump_dump_opaques):
7648         * dumper.c (pdump_dump_rtables):
7649         * dumper.c (pdump_dump_from_root_objects):
7650         * dumper.c (pdump):
7651         * dumper.c (pdump_load_finish):
7652         Use aligned reading and writing.
7653
7654         * dumper.c (pdump_free): Make static.
7655         * dumper.c (pdump_hFile): Likewise.
7656         * dumper.c (pdump_hMap): Likewise.
7657
7658 2001-01-26  Martin Buchholz <martin@xemacs.org>
7659
7660         * XEmacs 21.2.43 "Terspichore" is released.
7661
7662 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7663
7664         Type fiddling for window_config.saved_windows_count
7665         * window.c (struct window_config): 
7666         Make saved_windows_count member unsigned.
7667         * window.c (sizeof_window_config_for_n_windows): 
7668         Make parameter unsigned.
7669         * window.c (mark_window_config):
7670         * window.c (window_config_equal):
7671         * window.c (free_window_configuration):
7672         * window.c (Fset_window_configuration):
7673         * window.c (count_windows):
7674         * window.c (Fcurrent_window_configuration):
7675         * window.c (reinit_vars_of_window):
7676         Update all callers and users.
7677
7678 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7679
7680         Alignment correctness for flexible arrays.
7681         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7682         Make alignment-correct. Add interesting comments.
7683         * alloc.c (size_vector):
7684         * alloc.c (make_vector_internal):
7685         * alloc.c (make_bit_vector_internal):
7686         * alloc.c (sweep_bit_vectors_1):
7687         * fns.c (size_bit_vector):
7688         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7689         * window.c (sizeof_window_config_for_n_windows): 
7690         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7691
7692 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7693
7694         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7695
7696 2001-01-23  Andy Piper  <andy@xemacs.org>
7697
7698         * select.c (Fown_selection_internal): pass owned_p
7699
7700         * select-msw.c (mswindows_own_selection): New Signature.
7701
7702         * console.h (struct console_methods): add owned_p to
7703         _own_selection.
7704
7705         * select-x.c (x_own_selection): pass owned_p
7706         (hack_motif_clipboard_selection): use owned_p
7707         (vars_of_select_x): new variable -
7708         x_selection_strict_motif_ownership.
7709
7710 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7711
7712         * specifier.h (specifier_data_offset): Remove pointless parens.
7713         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7714
7715 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7716
7717         Make Lisp_Object sizeof methods be alignment-correct.
7718         pdump must restore objects to the same alignment as the C compiler
7719         assumes.  It really matters on SGIs.
7720         * lstream.c (aligned_sizeof_lstream): New.
7721         (sizeof_lstream): Use aligned_sizeof_lstream.
7722         (Lstream_new): Likewise.
7723         * opaque.c (aligned_sizeof_opaque): New.
7724         (sizeof_opaque): Use aligned_sizeof_opaque.
7725         (make_opaque): Likewise.
7726         * specifier.c (aligned_sizeof_specifier): New.
7727         (sizeof_specifier): Use aligned_sizeof_specifier.
7728         (make_specifier_internal): Likewise.
7729
7730 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7731
7732         * lstream.h (struct lstream): Use max_align_t for trailing data.
7733         * specifier.h (struct Lisp_Specifier): Likewise.
7734
7735 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7736
7737         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7738         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7739         (CCL_SUSPEND): Likewise.
7740         (CCL_INVALID_CMD): Likewise.
7741         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7742         (ccl_driver): Likewise.
7743         (CCL_WRITE_CHAR): Macro hygiene.
7744         (CCL_WRITE_STRING): Macro hygiene.
7745
7746 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7747
7748         Port "portable" dumper to SunOS 4 and HP-UX.
7749         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7750         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7751         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7752
7753 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7754
7755         * lisp.h (ALIGNOF): A better definition for C++.
7756
7757 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7758
7759         Macro hygiene.
7760         Fix printf warnings: int format, long int arg.
7761         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7762         (PUSH_FAILURE_POINT): Use correct printf formats.
7763         (POP_FAILURE_POINT): Use correct printf formats.  
7764         Use do {...} while (0)
7765
7766 2001-01-20  Martin Buchholz <martin@xemacs.org>
7767
7768         * XEmacs 21.2.42 "Poseidon" is released.
7769
7770 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7771
7772         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7773
7774 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7775
7776         De-kludgify FIXED_TYPE free list frobbing.
7777         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7778         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7779         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7780         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7781         * alloc.c (LRECORD_FREE_P): New.
7782         * alloc.c (MARK_LRECORD_AS_FREE): New.
7783         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7784         * alloc.c (STRUCT_FREE_P): Deleted.
7785         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7786         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7787         * alloc.c (STRING_CHARS_FREE_P): New.
7788         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7789         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7790         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7791         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7792         * alloc.c (resize_string): Use new definitions.
7793         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7794         * alloc.c (verify_string_chars_integrity): Use new definitions.
7795         * alloc.c (compact_string_chars): Use new definitions.
7796         * alloc.c: Update monster comments.
7797         * lrecord.h (lrecord_type): Add some new lrecord types for
7798         alloc.c's use.
7799
7800 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7801
7802         Improve alignment hackery.
7803         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7804         (max_align_t): Moved from opaque.h - general purpose.
7805         (ALIGN_PTR): Use size_t, not long.
7806         * opaque.h (max_align_t): Move to lisp.h.
7807
7808 2001-01-18  Norbert Koch  <nk@LF.net>
7809
7810         * gui.h: Fix and add prototypes to fix build problems.
7811
7812 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7813
7814         temacs is going away, so `dump-temacs' is now a bad name.
7815         * .dbxrc (dump-temacs): Rename to `dmp'.
7816         * .gdbinit (dump-temacs): Rename to `dmp'.
7817
7818 2001-01-17  Andy Piper  <andy@xemacs.org>
7819
7820         * glyphs.c (print_image_instance): comment to make martin happy.
7821
7822         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7823         change.
7824
7825         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7826         activation.
7827         (mswindows_tab_control_redisplay): warning suppression.
7828
7829         * glyphs-widget.c (widget_update): re-write to cope with updated
7830         items.
7831         (widget_instantiate): use new gui_item functions.
7832         (tab_control_update): deleted.
7833         (progress_gauge_update): deleted.
7834         (image_instantiator_progress_guage): take out update reference.
7835         (image_instantiator_tree_view): ditto.
7836         (image_instantiator_tab_control): ditto.
7837
7838         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7839         Right the new way.
7840         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7841         return whether anything was changed.
7842         (update_gui_item_keywords): as it sounds.
7843
7844         * gui.h: declare widget_gui_parse_item_keywords.
7845
7846         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7847         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7848
7849 2001-01-17  Martin Buchholz <martin@xemacs.org>
7850
7851         * XEmacs 21.2.41 "Polyhymnia" is released.
7852
7853 2001-01-16  Didier Verna  <didier@xemacs.org>
7854
7855         * glyphs.c (image_instantiate): don't use fallbacks when
7856         instantiating a face's background pixmap by inheritance.
7857
7858 2001-01-14  Mike Sperber <mike@xemacs.org>
7859
7860         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7861         Conditionalize accordingly.
7862
7863 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7864
7865         * dumper.c (pdump_file_get): Fix a compiler warning.
7866
7867 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7868
7869         Make Purify happy when pdumping.
7870         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7871         iniitalizing all bits of new lisp object memory.
7872         * symbols.c (Fmake_local_variable): Likewise.
7873         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7874         * symbols.c (Fdefvaralias): Likewise.
7875         * mule-charset.c (vars_of_mule_charset): Likewise.
7876
7877 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7878         Add the `-nd' flag when running pre-dump operations under the debugger.
7879         * .dbxrc (run-temacs): Add `-nd'.
7880         * .dbxrc (update-elc): Likewise.
7881         * .dbxrc (dump-temacs): Likewise.
7882         * .gdbinit (run-temacs): Likewise.
7883         * .gdbinit (check-temacs): Likewise.
7884         * .gdbinit (update-elc): Likewise.
7885         * .gdbinit (dump-temacs): Likewise.
7886
7887 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7888
7889         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7890         export OBJECT_MODE=64
7891         configure --pdump --use-union-type=no
7892         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7893         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7894
7895         * miscplay.c (sndcnv8U_2mono):
7896         Avoid two uses of `++' in the same expression.
7897         Suppresses a GCC warning.
7898
7899 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7900
7901         Make sure future compilers don't miscompile alloc.c.
7902         * alloc.c:
7903         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7904         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7905
7906 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7907
7908         * dumper.c: A little post-pdump-rename comment fixup.
7909
7910 2001-01-09  Jerry James  <james@eecs.ku.edu>
7911
7912         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7913
7914 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7915
7916         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7917         script:
7918         #!/bin/sh
7919         replace_symbol () {
7920           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7921         }
7922
7923         replace_symbol pdump_wire_lists pdump_weak_object_chains
7924         replace_symbol pdump_wire_list dump_add_weak_object_chain
7925
7926         replace_symbol pdump_wires pdump_root_objects
7927         replace_symbol pdump_wire dump_add_root_object
7928
7929         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7930         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7931
7932         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7933         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7934         replace_symbol dumpstructinfo pdump_root_struct_ptr
7935         replace_symbol dumpstruct dump_add_root_struct_ptr
7936
7937         replace_symbol dumpopaque dump_add_opaque
7938         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7939         replace_symbol dumpopaqueinfos pdump_opaques
7940         replace_symbol dumpopaqueinfo pdump_opaque
7941
7942         replace_symbol nb_structdump nb_root_struct_ptrs
7943         replace_symbol nb_opaquedump nb_opaques
7944
7945         replace_symbol align_table pdump_align_table
7946         replace_symbol dump_header pdump_header
7947
7948         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7949         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7950
7951
7952 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7953
7954         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7955         optimizing bytecount_to_charcount().
7956
7957 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7958
7959         * config.h.in:
7960         (HAVE_DLFCN_H): Removed.
7961         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7962
7963 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7964
7965         Portable dumper maintainability improvements.
7966         * alloc.c (staticpro):
7967         * alloc.c (staticpro_nodump):
7968         * alloc.c (garbage_collect_1):
7969         * alloc.c (reinit_alloc_once_early):
7970         * alloc.c (init_alloc_once_early):
7971         * alloc.c: Move dumper functions to alloc.c.
7972         * dumper.c (pdump_backtrace):
7973         * dumper.c (pdump_dump_structs):
7974         * dumper.c (pdump_dump_opaques):
7975         * dumper.c (pdump_dump_rtables):
7976         * dumper.c (pdump_dump_wired):
7977         * dumper.c (pdump):
7978         * dumper.c (pdump_load_check):
7979         * dumper.c (pdump_load_finish):
7980         * dumper.c (pdump_file_unmap):
7981         * dumper.c (pdump_file_get):
7982         * dumper.c (pdump_resource_free):
7983         * dumper.c (pdump_resource_get):
7984         * dumper.c (pdump_file_free):
7985         * dumper.c (pdump_file_try):
7986         * dumper.c (pdump_load):
7987         Remove fixed size limits on staticpro(), staticpro_nodump(),
7988         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7989         Remove custom code for dumping lrecord_implementations_table - use
7990         dumpopaque instead.
7991         Remove (most of the) custom code for dumping staticpros - dump it
7992         like any other dynarr.
7993
7994         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7995         * dumper.c: Moved functions from alloc.c.
7996         * alloc.c (dumpstruct): Moved to dumper.c.
7997         * alloc.c (dumpopaque): Likewise.
7998         * alloc.c (pdump_wire): Likewise.
7999         * alloc.c (pdump_wire_list): Likewise.
8000
8001         * lisp.h (Dynarr_sizeof): New.
8002         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8003         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8004         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8005
8006         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8007         * lisp.h (dumpopaque): ditto.
8008         * lisp.h (pdump_wire): ditto.
8009         * lisp.h (pdump_wire_list): ditto.
8010
8011 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8012
8013         * make-src-depend (PrintPatternDeps):
8014         Use `sort' to make output independent of perl version.
8015
8016 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8017
8018         Port to Netbsd 1.5.
8019         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8020         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8021
8022 2001-01-03  Didier Verna  <didier@xemacs.org>
8023
8024         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8025         that `focus_frame' is alive before thinking of calling
8026         `redisplay_redraw_cursor' on it.
8027
8028 2001-01-08  Martin Buchholz <martin@xemacs.org>
8029
8030         * XEmacs 21.2.40 is released.
8031
8032 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8033
8034         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8035
8036 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8037
8038         * alloc.c (dbg_valmask): Make const.
8039         * alloc.c (dbg_typemask): Make const.
8040         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8041         * alloc.c (dbg_valbits): Make const.
8042         * alloc.c (dbg_gctypebits): Make const.
8043
8044 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8045
8046         * redisplay-x.c (x_bevel_area):
8047         redisplay.h (struct rune):
8048         Typo fixes in comments.
8049
8050 2001-01-05  Andy Piper  <andy@xemacs.org>
8051
8052         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8053         adjustment.
8054
8055         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8056
8057 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8058
8059         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8060
8061         * mule-ccl.c (stack_idx_of_map_multiple):
8062         Non const global data must not be initialized!
8063         Found by MIYASHITA Hisashi.
8064
8065 2001-01-02  Andy Piper  <andy@xemacs.org>
8066
8067         * frame.c (change_frame_size): make sure frame size is always
8068         marked as changed.
8069
8070         * glyphs.c (image_instance_layout): minor code reuse.
8071
8072         * window.c (Fcurrent_window_configuration): revert previous
8073         change.
8074
8075 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8076
8077         * glyphs.h:
8078         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8079
8080 2000-12-31  Andy Piper  <andy@xemacs.org>
8081
8082         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8083         when widget gets unmapped.
8084
8085         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8086         function. Make sure widgets losing focus don't just drop it.
8087         (handle_focus_event_1): record the widget with focus.
8088
8089 2000-12-31  Andy Piper  <andy@xemacs.org>
8090
8091         * window.c (allocate_window): use
8092         make_image_instance_cache_hash_table.
8093         (make_dummy_parent): ditto.
8094         (Fset_window_configuration): ditto.
8095
8096         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8097
8098         * glyphs.c (process_image_string_instantiator): use
8099         INSTANTIATOR_TYPE.
8100         (get_image_instantiator_governing_domain): ditto.
8101         (normalize_image_instantiator): ditto.
8102         (instantiate_image_instantiator): ditto.
8103         (make_image_instance_1): ditto.
8104         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8105         (instantiator_eq_equal): new function for use with instance hash
8106         tables.
8107         (instantiator_eq_hash): ditto.
8108         (make_image_instance_cache_hash_table): create a suitable hash
8109         table for storing image instances.
8110
8111         * elhash.h (hash_table_weakness): new internal weakness type
8112         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8113         declare new functions.
8114
8115         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8116         another weakness type for glyphs.
8117         (make_standard_lisp_hash_table): new function split out from
8118         make_general_lisp_hash_table.
8119         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8120         (hash_table_instantiate): ditto.
8121         (Fmake_hash_table): ditto.
8122
8123 2000-12-31  Martin Buchholz <martin@xemacs.org>
8124
8125         * XEmacs 21.2.39 is released.
8126
8127 2000-12-29  Andy Piper  <andy@xemacs.org>
8128
8129         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8130
8131         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8132         the frame has changed so that we pick up geometry changes such as
8133         menubar visibility.
8134
8135 2000-12-28  Andy Piper  <andy@xemacs.org>
8136
8137         * lastfile.c (my_ebss): make a char array so we can pad the
8138         bss. Fixes cygwin unexec.
8139
8140         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8141
8142 2000-12-26  Andy Piper  <andy@xemacs.org>
8143
8144         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8145         comments and try and be more precise about a non-/SIGIO world.
8146         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8147         SIGIO.
8148
8149         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8150         we don't normalize to zero width or height.
8151
8152 2000-12-24  Andy Piper  <andy@xemacs.org>
8153
8154         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8155
8156 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8157
8158         * s/sco5.h: SCO 5 has pty support.
8159
8160 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8161
8162         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8163         input-method-xlib.c contains whole contents of input-method-xfs.c,
8164         so we can use input-method-xlib.c's code for USE_XFONTSET
8165         using #ifdefs.
8166         * input-method-xfs.c: removed.
8167
8168 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8169
8170         * file-coding.h (enum coding_category_type): reorder enumerators to
8171         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8172         (now one greater than largest real coding_category_type enumerator).
8173         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8174         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8175         Fcoding_category_list, Fset_coding_priority_list,
8176         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8177         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8178
8179 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8180
8181         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8182         * redisplay-output.c (redisplay_output_window): Clear top of window
8183         when face is changed.
8184         * redisplay-x.c (x_redraw_exposed_window): Call
8185         redisplay_clear_top_of_window.
8186         * redisplay.h: Publish redisplay_clear_top_of_window.
8187
8188 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8189
8190         * buffer.c (Fkill_buffer): Map over all devices.
8191         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8192         (list_windows): New function.
8193         (list_all_windows): Ditto.
8194         (Freplace_buffer_in_windows): Use them.
8195
8196 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8197
8198         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8199         (Fopen_database): Use `db_create' instead of `db_open'.
8200         (syms_of_database): Initialize Qqueue.
8201
8202 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8203
8204         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8205         buffer_local_face_property.
8206         * buffer.h (struct buffer): New member buffer_local_face_property.
8207         * window.c (Fset_window_buffer):  Mark window's face as changed
8208         when buffer has buffer local face.
8209         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8210         * objects.c (color_after_change): Set buffer_local_face_property
8211         when locale of face specifier is buffer.
8212         * objects.c (font_after_change): Ditto.
8213         * objects.c (face_boolean_after_change): Ditto.
8214         * glyphs.c (image_after_change): Ditto.
8215
8216 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8217
8218         * nt.c (mswindows_fstat): Report file permissions, volume serial
8219         number, etc. Code adapted from FSF Emacs 20.7.
8220
8221 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8222
8223         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8224         of stat when we don't have symbolic links, to make sure
8225         mswindows_stat is called on mswindows.
8226
8227 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8228
8229         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8230
8231 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8232
8233         * doprnt.c (emacs_doprnt_1): More printing fixes.
8234         Make printing of numbers compatible with libc and FSF Emacs.
8235         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8236         Use the system printf to do most of the hard work of formatting,
8237         instead of doprnt_1().
8238         Calculate memory to allocate for format string.
8239         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8240         (doprnt_1): Cleaner code and documentation.
8241
8242 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8243
8244         * Makefile.in.in: Use the loop variable to install headers.
8245
8246 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8247
8248         * window.c (Fsplit_window): Don't invalidate face cache.
8249
8250 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8251
8252         * minibuf.c (Fall_completions): Undo the previous change
8253         which removed checking elements start with space.
8254
8255 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8256
8257         * mule-canna.c: Didier suppression.
8258
8259 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8260
8261         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8262         (warning suppression).  Add English comment translations.
8263
8264 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8265
8266         * unexelfsgi.c (unexec): Better test for mmap failure.
8267
8268 2000-12-05  Martin Buchholz <martin@xemacs.org>
8269
8270         * XEmacs 21.2.38 is released.
8271
8272 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8273
8274         * redisplay.c (bar-cursor): Make a user variable.
8275
8276         * symsinit.h: Add init_postgresql_from_environment.
8277
8278 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8279
8280         * regex.c: Convert to clean C.
8281
8282 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8283
8284         * realpath.c:
8285         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8286         initialization.
8287         (sys_readlink): renamed to system_readlink to avoid conflict with
8288         the other sys_readlink.
8289
8290 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8291
8292         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8293
8294 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8295
8296         * postgresql.c (init_postgresql_from_environment): new function.
8297         (vars_of_postgresql): Move code initializing Lisp variables out and
8298         into init_postgresql_from_environment.
8299         emacs.c (main_1): Call init_postgresql_from_environment if and only
8300         if running a dumped XEmacs.
8301
8302 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8303
8304         * buffer.c: Make find-file-compare-truenames default to true on
8305         windows.
8306
8307         * realpath.c (win32_abs_start):
8308         (cygwin_readlink):
8309         (win32_readlink): New functions.
8310         (xrealpath): Return really real filenames on windows.
8311
8312         * fileio.c (Ffile_truename): Make file-truename work on windows.
8313
8314 2000-11-29  Didier Verna  <didier@xemacs.org>
8315
8316         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8317         * faces.c (update_face_cachel_data): use it.
8318         * faces.c (add_face_cachel): use it. Complete background pixmap
8319         frobbing in face cache if `update_face_cachel_data' has not done so.
8320
8321 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8322
8323         * search.c (string_match_1): Don't set last_thing_searched
8324         when search failed.
8325
8326 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8327
8328         * buffer.c: Include casetab.h
8329         (common_init_complex_vars_of_buffer): Use new case-table object.
8330         * buffer.h: Include casetab.h
8331         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8332         (DOWNCASE_TABLE_OF): Ditto.
8333         * bufslots.h: Remove char-tables and add case-table.
8334         * casetab.c: Include casetab.h
8335         (CASE_TABLE_P): Removed.
8336         (mark_case_table): New function.
8337         (allocate_case_table): New function.
8338         (Fcase_table_p): Use new case-table.
8339         (case_table_char): New function.
8340         (Fget_case_table): Ditto.
8341         (Fput_case_table): Ditto.
8342         (Fput_case_table_pair): Ditto.
8343         (Fcopy_case_table): Ditto.
8344         (Fcurrent_case_table): Return case-table.
8345         (Fstandard_case_table): Return case-table.
8346         (Fset_case_table): Fix doc-string.
8347         (set_case_table): Use case-table
8348         (syms_of_casetab): DEFSUBR new functions.
8349         (complex_vars_of_casetab): Set up standard case-table.
8350         * casetab.h: New file.
8351         * editfns.c: Include casetab.h
8352         (Fcompare_buffer_substrings): Use case-table.
8353         * inline.c: Include casetab.h
8354         * lisp.h: Remove bogus extern.
8355         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8356         * search.c: Include casetab.h
8357         (TRANSLATE_ASCII): Removed.
8358         (TRANSLATE): Unconditionally translate character.
8359         (looking_at_1): Use case-table.
8360         (string_match_1): Ditto.
8361         (fast_string_match): Ditto.
8362         (search_command): Ditto.
8363         (search_buffer): Separate boyer_moore.  Check whether
8364         boyer_moore is possible.
8365         (simple_search): New function.
8366         (boyer_moore): Separated from search_buffer. Translate char.
8367
8368 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8369
8370         * regex.c (RE_TR_ASCII): Removed.
8371         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8372         (PATFETCH): Call PATFETCH_RAW.
8373         (PATFETCH_RAW): Fetch Emchar.
8374         (PATUNFETCH): Decrement charptr.
8375         (GET_BUFFER_SPACE): Rename b to buf_end.
8376         (BUF_PUSH): Ditto.
8377         (BUF_PUSH_2): Ditto.
8378         (BUF_PUSH_3): Ditto.
8379         (EXTEND_BUFFER): Ditto.
8380         (SET_LIST_BIT): Ditto.
8381         (regex_compile): Ditto.  Translate non ASCII char.
8382         (compile_range): Ditto.
8383         (re_search_2): Ditto.
8384         (re_match_2_internal): Compare Emchar.
8385         (bcmp_translate): Ditto.
8386
8387 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8388
8389         * lisp.h (basic char/int typedefs):  comment improvement.
8390
8391 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8392
8393         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8394         unstomp inhibit_site_lisp.  Improve comments.
8395
8396 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8397
8398         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8399
8400 2000-11-28  Andy Piper  <andy@xemacs.org>
8401
8402         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8403         clipped display for windows in the gutter also.
8404         (redisplay_display_boxes_in_window_p): change semantics of return
8405         codes to be more intuitive.
8406
8407         * gutter.h: declare display_boxes_in_gutter_p.
8408
8409         * gutter.c (display_boxes_in_gutter_p): new function for
8410         redisplay.
8411
8412 2000-11-22  Andy Piper  <andy@xemacs.org>
8413
8414         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8415         autodetect domain.
8416
8417 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8418
8419         * callproc.c (Fold_call_process_internal):
8420         * gpm.c (Freceive_gpm_event):
8421         (tty_get_foreign_selection): Might be just warning supression.
8422         * fileio.c (Fwrite_region_internal):
8423         (Fset_visited_file_modtime):
8424         * keymap.c (event_matches_key_specifier_p):
8425         Initialize GCPROed variable.
8426
8427         * menubar-x.c (command_builder_find_menu_accelerator):
8428         Initialize before use.
8429
8430 2000-11-23  Andy Piper  <andy@xemacs.org>
8431
8432         * unexcw.c (unexec): make the resulting executable executable.
8433
8434 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8435
8436         * doc.c (get_doc_string):
8437         Use size_t, not int, for result of XSTRING_LENGTH.
8438
8439         * cmds.c (Fdelete_char):
8440         * cmds.c (Fpoint_at_eol):
8441         * cmds.c (Fself_insert_command):
8442         Use EMACS_INT, not int, for result of XINT.
8443         Someday, someone will want to insert more than 2**31 identical characters.
8444
8445         * cmds.c (Fdelete_char):
8446         * cmds.c (Fdelete_backward_char):
8447         * syntax.c (Fforward_word):
8448         * syntax.c (Fforward_comment):
8449         Make COUNT argument optional, for consistency with forward-char et al.
8450
8451 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8452
8453         * lisp.h:
8454         * print.c (long_to_string):
8455         Return a useful value: the pointer at end of data written.
8456
8457         * doprnt.c:
8458         Use `static const char * const' for constant strings.
8459         (union printf_arg): Delete `i', `ui' members.
8460         (get_doprnt_args):
8461         (emacs_doprnt_1):
8462         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8463         Do all printf-ing via the `l' specifier.
8464         Use EMACS_INT instead of int.
8465         Optimize.
8466
8467 2000-11-20  Didier Verna  <didier@xemacs.org>
8468
8469         * faces.c (update_face_cachel_data): don't frob the background
8470         pixmap when the window is being created. The face is needed but
8471         does not exist yet.
8472
8473 2000-11-20  Andy Piper  <andy@xemacs.org>
8474
8475         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8476         messing with a debug environment.
8477
8478 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8479
8480         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8481
8482 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8483
8484         * casetab.c (Fcase_table_p): Fix compile error and crash.
8485
8486 2000-11-18  Philip Aston  <philipa@mail.com>
8487
8488         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8489
8490 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8491
8492         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8493         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8494
8495 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8496
8497         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8498         * unexelf.c: Use HAVE_ELF_H.
8499         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8500         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8501         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8502         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8503         for testing.
8504         So this is an unexelfsgi.c from a different line of development.
8505
8506 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8507
8508         * regex.c (RE_TR_ASCII): New function.
8509         (RE_TRANSLATE): Call it.
8510
8511 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8512
8513         * buffer.h (TRT_TABLE_OF): Remove assert.
8514         (IN_TRT_TABLE_DOMAIN): Removed.
8515
8516 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8517
8518         * free-hook.c (log_gcpro):
8519         (show_gcprohist): Add support for GCPRO5.
8520
8521 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8522
8523         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8524
8525 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8526
8527         * symeval.h: Declare flush_all_buffer_local_cache.
8528
8529         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8530         (flush_buffer_local_cache): Added.
8531         (flush_all_buffer_local_cache): Added.
8532
8533         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8534
8535         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8536         (pdump_dump_data): Ditto.
8537         (pdump_reloc_one): Ditto.
8538         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8539         before dumping.
8540
8541
8542 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8543
8544         * buffer.c: Remove if 0'ed entry.
8545         * buffer.h: Rewrite TRT to use char-table.
8546         * bufslots.h: Remove mirror tables.
8547         * casetab.c: Remove mirror tables.
8548         (CASE_TABLE_P): New macro.
8549         (Fcase_table_p): Element of a case table is string or char-table.
8550         (make_mirror_trt_table): Removed.
8551         (set_case_table): Setup char-table from strings for backward
8552         compatibility.
8553         * dired.c (Fdirectory_files):
8554         * dired-msw.c: (mswindows_get_files):
8555         * lisp.h: Change prototype of re_pattern_buffer.
8556         * regex.c: (RE_TRANSLATE): New macro.
8557         (TRANSLATE_P): Ditto.
8558         Change translate to type RE_TRANSLATE_TYPE.
8559         * regex.h: Define RE_TRANSLATE_TYPE
8560         * search.c (TRANSLATE): New macro.
8561         (TRANSLATE_ASCII): New macro.
8562         Translate table is changed to Lisp_Object.
8563         (signal_failure): Inhibit return.
8564
8565 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8566
8567         * device-msw.c:
8568         * eldap.c:
8569         * event-Xt.c:
8570         * event-stream.c:
8571         * print.c:
8572         Do UNGCPRO before return.
8573
8574 2000-11-14  Martin Buchholz <martin@xemacs.org>
8575
8576         * XEmacs 21.2.37 is released.
8577
8578 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8579
8580         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8581         Add comments about discarded return value.
8582
8583 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8584
8585         * callint.c:
8586         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8587
8588 2000-10-27  Andy Piper  <andy@xemacs.org>
8589
8590         * gutter.c (Fset_default_gutter_position): default left and right
8591         gutters to visible.
8592         (calculate_gutter_size): calculate resonable heuristic for left
8593         and right gutter sizes.
8594         (specifier_vars_of_gutter): change left and right gutter sizes to
8595         autodetect.
8596         (calculate_gutter_size_from_display_lines): new function.
8597         (output_gutter): check for resizing on left and right gutters.
8598         (clear_gutter): don't special case top and left gutters.
8599         (specifier_vars_of_gutter): use new signature for
8600         set_specifier_caching.
8601
8602         * glyphs-x.c (x_redisplay_widget): spelling fix.
8603         * glyphs.c (specifier_vars_of_glyphs):
8604         * menubar.c (specifier_vars_of_menubar):
8605         * redisplay.c (specifier_vars_of_redisplay):
8606         * toolbar.c (specifier_vars_of_toolbar):
8607         * window.c (specifier_vars_of_window):
8608         * scrollbar.c (specifier_vars_of_scrollbar):
8609         (complex_vars_of_scrollbar): use new signature for
8610         set_specifier_caching.
8611
8612         * specifier.c (set_specifier_caching): include recompute flag.
8613         (recompute_one_cached_specifier_in_window): always recompute if
8614         flag set.
8615         (recompute_one_cached_specifier_in_frame): ditto.
8616
8617         * specifier.h (struct specifier_caching): add recompute flag.
8618
8619 2000-10-24  Andy Piper  <andy@xemacs.org>
8620
8621         * unexcw.c (copy_executable_and_dump_data_section): add new
8622         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8623         5.0 happy.
8624
8625 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8626
8627         * console-x.h (x_device): New member modifier_release_time.
8628         * event-Xt.c (x_handle_sticky_modifiers):
8629         Bound interval modifier keys are sticky.
8630         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8631         * events.h: extern it.
8632
8633 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8634
8635         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8636
8637 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8638
8639         * event-stream.c (execute_command_event): Preserve current_events
8640         and the like when event is misc-user-event.
8641         Inhibit quit during the call to maybe_echo_keys.
8642
8643 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8644
8645         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8646         symlink when buffer is killed.
8647         (inhibit_clash_detection): New variable.
8648
8649 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8650
8651         * console.c (Fset_input_method): Trigger redisplay on tty.
8652
8653 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8654
8655         * process.c (Fprocess_status): Revert to previous behavior:
8656         (process-status "nosuchprocess") ==> nil
8657
8658 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8659
8660         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8661         Work around another GCC 2.95.2 optimizer bug.
8662
8663 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8664
8665         * process.c (Fget_process): Use LIST_LOOP_2.
8666         (kill_buffer_processes): Use LIST_LOOP_2.
8667
8668         * minibuf.c (Fall_completions):
8669         Delete old non-functional code for FSF fourth argument.
8670
8671         * frame.c (frame_matches_frame_spec):
8672         Renamed from `frame_matches_frametype'.  Update all callers.
8673         (device_matches_device_spec):
8674         Renamed from 'device_matches_console_spec'.  Update all callers.
8675
8676         * doc.c (Fsubstitute_command_keys):
8677         Remove buffer overflow crash.  Small code cleanups.
8678
8679         * casetab.c (check_case_table): Simpler code.
8680
8681         * window.c (Freplace_buffer_in_windows):
8682         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8683         (and similar implementation) as Fdelete_windows_on.
8684         Update all callers.
8685
8686         * alloc.c (Fmake_list):
8687         * alloc.c (make_vector):
8688         * alloc.c (Fmake_vector):
8689         * alloc.c (make_bit_vector):
8690         * alloc.c (Fmake_bit_vector):
8691         * alloc.c (Fbit_vector):
8692         * alloc.c (Fmake_string):
8693         * alloc.c (Fpurecopy):
8694         * alloc.c (Fmemory_limit):
8695         * buffer.c:
8696         * buffer.c (Fget_buffer):
8697         * buffer.c (Fkill_buffer):
8698         * buffer.c (complex_vars_of_buffer):
8699         * bytecode.c (Fcompiled_function_stack_depth):
8700         * callint.c (Fprefix_numeric_value):
8701         * event-stream.c:
8702         * event-stream.c (Fread_key_sequence):
8703         * casetab.c:
8704         * casetab.c (Fcase_table_p):
8705         * casetab.c (check_case_table):
8706         * casetab.c (Fset_case_table):
8707         * casetab.c (Fset_standard_case_table):
8708         * chartab.c:
8709         * chartab.c (Fchar_table_type):
8710         * chartab.c (Freset_char_table):
8711         * chartab.c (Fget_char_table):
8712         * chartab.c (Fget_range_char_table):
8713         * chartab.c (Fput_char_table):
8714         * chartab.c (Fmap_char_table):
8715         * chartab.c (Fcategory_table_p):
8716         * chartab.c (Fcheck_category_at):
8717         * chartab.c (Fchar_in_category_p):
8718         * chartab.c (Fcategory_table):
8719         * chartab.c (Fcopy_category_table):
8720         * chartab.c (Fset_category_table):
8721         * chartab.c (Fcategory_designator_p):
8722         * chartab.c (Fcategory_table_value_p):
8723         * cmds.c (Fdelete_char):
8724         * cmds.c (Fdelete_backward_char):
8725         * cmds.c (Fself_insert_command):
8726         * cmds.c (Fself_insert_internal):
8727         * console.c (Fvalid_console_type_p):
8728         * console.c (Fcdfw_console):
8729         * console.c (Fconsole_type):
8730         * console.c (Fconsole_name):
8731         * console.c (Fconsole_device_list):
8732         * console.c (Fconsole_on_window_system_p):
8733         * data.c:
8734         * data.c (Feq):
8735         * data.c (Fold_eq):
8736         * data.c (Fsubr_interactive):
8737         * data.c (Fchar_to_int):
8738         * data.c (Fint_to_char):
8739         * data.c (Fsetcar):
8740         * data.c (Fsetcdr):
8741         * data.c (Fnumber_to_string):
8742         * data.c (Fstring_to_number):
8743         * data.c (Frem):
8744         * database.c (mark_database):
8745         * database.c (finalize_database):
8746         * database.c (Fdatabase_live_p):
8747         * database.c (Fdatabasep):
8748         * device-x.c (Fx_get_resource):
8749         * device.c (Fdfw_device):
8750         * dired.c:
8751         * dired.c (Ffile_name_completion):
8752         * dired.c (Ffile_name_all_completions):
8753         * dired.c (Fuser_name_completion):
8754         * dired.c (Fuser_name_completion_1):
8755         * dired.c (Fuser_name_all_completions):
8756         * doc.c (Fdocumentation):
8757         * doc.c (Fdocumentation_property):
8758         * doc.c (Fsubstitute_command_keys):
8759         * editfns.c:
8760         * editfns.c (Fchar_to_string):
8761         * editfns.c (Fstring_to_char):
8762         * editfns.c (Ftemp_directory):
8763         * editfns.c (Finsert_char):
8764         * editfns.c (Fbuffer_substring_no_properties):
8765         * editfns.c (Fnarrow_to_region):
8766         * editfns.c (Fchar_equal):
8767         * editfns.c (Fchar_Equal):
8768         * editfns.c (Ftranspose_regions):
8769         * emacs.c (Fdump_emacs):
8770         * eval.c (Fthrow):
8771         * eval.c (Fcommand_execute):
8772         * eval.c (Fautoload):
8773         * eval.c (Fbacktrace):
8774         * eval.c (Fbacktrace_frame):
8775         * events.c:
8776         * events.c (Fcopy_event):
8777         * events.c (Fcharacter_to_event):
8778         * events.c (Fevent_button):
8779         * events.c (Fevent_process):
8780         * extents.c:
8781         * extents.c (Fnext_extent_change):
8782         * extents.c (Fextent_property):
8783         * faces.c (Ffacep):
8784         * faces.c (Fmake_face):
8785         * file-coding.c:
8786         * file-coding.c (Fencode_shift_jis_char):
8787         * file-coding.c (Fencode_big5_char):
8788         * fileio.c (Ffile_name_directory):
8789         * fileio.c (Ffile_name_nondirectory):
8790         * fileio.c (Ffile_name_as_directory):
8791         * fileio.c (Fdirectory_file_name):
8792         * fileio.c (Ffile_truename):
8793         * fileio.c (Fsubstitute_in_file_name):
8794         * fileio.c (Ffile_modes):
8795         * fileio.c (Fset_file_modes):
8796         * fileio.c (Fset_default_file_modes):
8797         * fileio.c (Fverify_visited_file_modtime):
8798         * floatfns.c (Facos):
8799         * floatfns.c (Fasin):
8800         * floatfns.c (Fatan):
8801         * floatfns.c (Fcos):
8802         * floatfns.c (Fsin):
8803         * floatfns.c (Ftan):
8804         * floatfns.c (Fbessel_j0):
8805         * floatfns.c (Fbessel_j1):
8806         * floatfns.c (Fbessel_jn):
8807         * floatfns.c (Fbessel_y0):
8808         * floatfns.c (Fbessel_y1):
8809         * floatfns.c (Fbessel_yn):
8810         * floatfns.c (Ferf):
8811         * floatfns.c (Ferfc):
8812         * floatfns.c (Flog_gamma):
8813         * floatfns.c (Fexp):
8814         * floatfns.c (Fexpt):
8815         * floatfns.c (Flog):
8816         * floatfns.c (Flog10):
8817         * floatfns.c (Fsqrt):
8818         * floatfns.c (Fcube_root):
8819         * floatfns.c (Facosh):
8820         * floatfns.c (Fasinh):
8821         * floatfns.c (Fatanh):
8822         * floatfns.c (Fcosh):
8823         * floatfns.c (Fsinh):
8824         * floatfns.c (Ftanh):
8825         * floatfns.c (Fabs):
8826         * floatfns.c (Ffloat):
8827         * floatfns.c (Flogb):
8828         * floatfns.c (Fceiling):
8829         * floatfns.c (Ffloor):
8830         * floatfns.c (Fround):
8831         * floatfns.c (Ftruncate):
8832         * floatfns.c (Ffceiling):
8833         * floatfns.c (Fffloor):
8834         * floatfns.c (Ffround):
8835         * floatfns.c (Fftruncate):
8836         * fns.c (Fstring_equal):
8837         * fns.c (Fstring_lessp):
8838         * fns.c (concat2):
8839         * fns.c (concat3):
8840         * fns.c (vconcat2):
8841         * fns.c (vconcat3):
8842         * fns.c (Fsubstring):
8843         * fns.c (Fassoc):
8844         * fns.c (Fold_assoc):
8845         * fns.c (assoc_no_quit):
8846         * fns.c (Fassq):
8847         * fns.c (Fold_assq):
8848         * fns.c (assq_no_quit):
8849         * fns.c (Frassoc):
8850         * fns.c (Fold_rassoc):
8851         * fns.c (Frassq):
8852         * fns.c (Fold_rassq):
8853         * fns.c (rassq_no_quit):
8854         * fns.c (Fremassoc):
8855         * fns.c (remassoc_no_quit):
8856         * fns.c (Fremassq):
8857         * fns.c (remassq_no_quit):
8858         * fns.c (Fremrassoc):
8859         * fns.c (Fremrassq):
8860         * fns.c (remrassq_no_quit):
8861         * fns.c (Fsort):
8862         * fns.c (Fplist_get):
8863         * fns.c (Fplist_put):
8864         * fns.c (Fplist_remprop):
8865         * fns.c (Fplist_member):
8866         * fns.c (Flax_plist_get):
8867         * fns.c (Flax_plist_put):
8868         * fns.c (Flax_plist_remprop):
8869         * fns.c (Flax_plist_member):
8870         * fns.c (Fequal):
8871         * fns.c (Fold_equal):
8872         * fns.c (Frequire):
8873         * fns.c (Fbase64_encode_region):
8874         * fns.c (Fbase64_encode_string):
8875         * fns.c (Fbase64_decode_region):
8876         * frame.c:
8877         * frame.c (frame_matches_frame_spec):
8878         * frame.c (device_matches_device_spec):
8879         * frame.c (next_frame):
8880         * frame.c (previous_frame):
8881         * frame.c (Fnext_frame):
8882         * frame.c (Fprevious_frame):
8883         * frame.c (Fframe_property):
8884         * frame.c (Fset_frame_height):
8885         * frame.c (Fset_frame_size):
8886         * frame.h:
8887         * glyphs.c:
8888         * glyphs.c (if):
8889         * glyphs.c (decode_error_behavior_flag):
8890         * glyphs.c (Fmake_image_instance):
8891         * indent.c (Findent_to):
8892         * intl.c (Fignore_defer_gettext):
8893         * keymap.c (Fkeymapp):
8894         * keymap.c (Flookup_key):
8895         * lread.c:
8896         * lread.c (Fload_internal):
8897         * lread.c (Feval_buffer):
8898         * lread.c (Feval_region):
8899         * macros.c (Fexecute_kbd_macro):
8900         * marker.c (set_marker_internal):
8901         * marker.c (Fset_marker):
8902         * marker.c (set_marker_restricted):
8903         * marker.c (Fcopy_marker):
8904         * marker.c (noseeum_copy_marker):
8905         * menubar.c:
8906         * menubar.c (Fpopup_menu):
8907         * minibuf.c:
8908         * mule-charset.c (Fcharset_name):
8909         * mule-charset.c (Fchar_charset):
8910         * mule-charset.c (Fchar_octet):
8911         * mule-charset.c (Fsplit_char):
8912         * mule-wnnfns.c (Fwnn_open):
8913         * mule-wnnfns.c (Fwnn_dict_comment):
8914         * mule-wnnfns.c (Fwnn_quit_henkan):
8915         * mule-wnnfns.c (Fwnn_word_toroku):
8916         * mule-wnnfns.c (Fwnn_word_sakujo):
8917         * mule-wnnfns.c (Fwnn_word_use):
8918         * mule-wnnfns.c (Fwnn_hindo_set):
8919         * objects.c:
8920         * objects.c (Fmake_color_instance):
8921         * objects.c (Fmake_font_instance):
8922         * print.c (Fwrite_char):
8923         * process.c:
8924         * process.c (mark_process):
8925         * process.c (print_process):
8926         * process.c (get_process_from_usid):
8927         * process.c (Fprocessp):
8928         * process.c (Fprocess_live_p):
8929         * process.c (Fget_process):
8930         * process.c (Fget_buffer_process):
8931         * process.c (get_process):
8932         * process.c (Fprocess_id):
8933         * process.c (Fprocess_name):
8934         * process.c (Fprocess_command):
8935         * process.c (init_process_io_handles):
8936         * process.c (start_process_unwind):
8937         * process.c (Fstart_process_internal):
8938         * process.c (Fopen_multicast_group_internal):
8939         * process.c (Fset_process_window_size):
8940         * process.c (read_process_output):
8941         * process.c (send_process):
8942         * process.c (Fprocess_tty_name):
8943         * process.c (Fset_process_buffer):
8944         * process.c (Fprocess_buffer):
8945         * process.c (Fprocess_mark):
8946         * process.c (set_process_filter):
8947         * process.c (Fset_process_filter):
8948         * process.c (Fprocess_filter):
8949         * process.c (Fprocess_send_region):
8950         * process.c (Fprocess_send_string):
8951         * process.c (exec_sentinel):
8952         * process.c (Fset_process_sentinel):
8953         * process.c (Fprocess_sentinel):
8954         * process.c (status_notify):
8955         * process.c (Fprocess_status):
8956         * process.c (Fprocess_exit_status):
8957         * process.c (process_send_signal):
8958         * process.c (Fprocess_send_eof):
8959         * process.c (deactivate_process):
8960         * process.c (remove_process):
8961         * process.c (Fdelete_process):
8962         * process.c (kill_buffer_processes):
8963         * process.c (Fprocess_kill_without_query):
8964         * process.c (Fprocess_kill_without_query_p):
8965         * rangetab.c:
8966         * rangetab.c (Fget_range_table):
8967         * rangetab.c (Fput_range_table):
8968         * rangetab.c (Fremove_range_table):
8969         * rangetab.c (Fclear_range_table):
8970         * search.c:
8971         * search.c (Fskip_chars_forward):
8972         * search.c (Fskip_chars_backward):
8973         * search.c (Fskip_syntax_forward):
8974         * search.c (Fskip_syntax_backward):
8975         * search.c (search_command):
8976         * search.c (Freplace_match):
8977         * search.c (Fregexp_quote):
8978         * select.c (Fown_selection_internal):
8979         * select.c (Fselection_owner_p):
8980         * select.c (Fselection_exists_p):
8981         * select.c (Fget_selection_internal):
8982         * specifier.c:
8983         * symbols.c:
8984         * symbols.c (Fintern):
8985         * symbols.c (Fintern_soft):
8986         * symbols.c (Funintern):
8987         * symbols.c (Fapropos_internal):
8988         * symbols.c (Fset_default):
8989         * syntax.c:
8990         * syntax.c (Fsyntax_table_p):
8991         * syntax.c (Fcopy_syntax_table):
8992         * syntax.c (Fset_syntax_table):
8993         * syntax.c (Fchar_syntax):
8994         * syntax.c (syntax_match):
8995         * syntax.c (Fmatching_paren):
8996         * syntax.c (Fforward_word):
8997         * syntax.c (scan_lists):
8998         * syntax.c (Fscan_lists):
8999         * syntax.c (Fscan_sexps):
9000         * syntax.c (Fparse_partial_sexp):
9001         * toolbar.c (Fcheck_toolbar_button_syntax):
9002         * tooltalk.doc:
9003         * window.c:
9004         * window.c (Fwindowp):
9005         * window.c (Fwindow_live_p):
9006         * window.c (Fwindow_point):
9007         * window.c (Fdelete_window):
9008         * window.c (Fnext_window):
9009         * window.c (Fprevious_window):
9010         * window.c (Fother_window):
9011         * window.c (window_loop):
9012         * window.c (Fget_lru_window):
9013         * window.c (Fsplit_window):
9014         * window.c (Fenlarge_window):
9015         * window.c (Fenlarge_window_pixels):
9016         * window.c (Fshrink_window):
9017         * window.c (Fshrink_window_pixels):
9018         * window.c (change_window_height):
9019         * window.c (Fwindow_configuration_p):
9020         * window.c (Fcurrent_window_configuration):
9021         * window.h:
9022         * casefiddle.c (casify_object):
9023         * casefiddle.c (Fupcase):
9024         * casefiddle.c (Fdowncase):
9025         * casefiddle.c (Fcapitalize):
9026         * casefiddle.c (Fupcase_initials):
9027         * casefiddle.c (casify_region_internal):
9028         * casefiddle.c (casify_region):
9029         * casefiddle.c (Fupcase_region):
9030         * casefiddle.c (Fdowncase_region):
9031         * casefiddle.c (Fcapitalize_region):
9032         * casefiddle.c (Fupcase_initials_region):
9033         * casefiddle.c (Fupcase_word):
9034         * casefiddle.c (Fdowncase_word):
9035         * casefiddle.c (Fcapitalize_word):
9036         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9037         Replace 0 with '\0' when working with bytes.
9038         Replace initial "(" with "\(" in docstrings.
9039
9040 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9041
9042         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9043
9044         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9045
9046 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9047
9048         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9049
9050 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9051
9052         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9053         correctly.
9054
9055 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9056
9057         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9058         (inhibit_auto_save_session): New variable.
9059         (vars_of_fileio): Declare and initialize them.
9060         * fileio.c (Fdo_auto_save): Don't create session file if
9061         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9062
9063 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9064
9065         * sgiplay.c (play_internal): C++ compilability.
9066         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9067         * callproc.c (Fold_call_process_internal):
9068         Remove unused vars `env', `first'.
9069         * scrollbar.c (update_scrollbar_instance):
9070         #### unused var `current_window'.
9071         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9072         etc. within #ifdef NOT_YET.
9073         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9074         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9075         * specifier.c (specifier_instance):
9076         #### unused var `tag'.
9077         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9078
9079 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9080
9081         * fns.c (Fbutlast):
9082         * fns.c (list_sort):
9083         * fns.c (Ffillarray):
9084         * fns.c (bytecode_nconc2):
9085         * fns.c (Fnconc):
9086         * fns.c (mapcar1):
9087         * fns.c (Fmapconcat):
9088         Be pedantically 64-bit correct.  For the time when someone will
9089         want to have a list with length > 2**32.
9090
9091         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9092         Work around MIPSpro compiler bug.
9093
9094         * process-unix.c (unix_kill_child_process): Add snarky comment.
9095         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9096
9097         * config.h.in: Oops, _getpt ==> _getpty
9098
9099 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9100
9101         * config.h.in:
9102         * regex.c:
9103         Use void*, not char*, as return type of alloca().
9104
9105         * alloc.c (free_marker): Side effect inside assert expression!
9106
9107 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9108
9109         * mule-charset.c (Fset_charset_ccl_program): To check
9110         if the given ccl program is valid, use setup_ccl_program()
9111         instead of CHECK_VECTOR().
9112         (Fmake_charset): Likewise.
9113
9114 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9115
9116         * faces.c (get_extent_fragment_face_cache_index):
9117         Fix cachel.merged_faces memory leak.
9118
9119 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9120
9121         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9122         Reset MSB of octets obtained by DECODE_SJIS
9123         because of the incompatibility with Emacs.
9124         (ccl_driver)<CCL_ENCODE_SJIS>:
9125         Set MSB of octets before passing them to
9126         ENCODE_SJIS because of the incompatibility
9127         with Emacs.
9128
9129 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9130
9131         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9132         (DECLARE_LRECORD): Undo the last change.
9133         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9134
9135 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9136
9137         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9138         the implementation to lrecord_implementations_table.
9139
9140 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9141
9142         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9143         initial value of `lrecord_type_##c_name' and
9144         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9145         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9146         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9147         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9148         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9149
9150 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9151
9152         * miscplay.c (sndcnv8S_2mono):
9153         (sndcnv2monounsigned):
9154         (sndcnvULaw_2linear):
9155         (sndcnv16swap):
9156         Remove implementation-defined behavior.
9157
9158 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9159
9160         * input-method-xlib.c: Warning suppression.
9161
9162 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9163
9164         * mule-ccl.c: Sync up with Emacs 21.0.90.
9165         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9166         Do nothing.
9167         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9168         Likewise.
9169         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9170         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9171         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9172         leading char belongs to official 2-dimensional charset.
9173         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9174         write the given character as is.  Otherwise,
9175         if it is a multibyte char, convert it by
9176         non_ascii_set_charptr_emchar, then write it.
9177         (CCL_WRITE_STRING): Likewise.
9178         (ccl_get_compiled_code): New function.
9179         (setup_ccl_program): When ccl_prog is invalid,
9180         return -1.
9181         (Fregister_code_conversion_map): New function.
9182         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9183
9184         * mule-ccl.h: Sync up with Emacs 21.0.90.
9185         (Fregister_ccl_program): export it.
9186
9187         * redisplay-msw.c (separate_textual_runs):
9188         If ccl program is not valid, don't do ccl conversion.
9189
9190         * redisplay-x.c (separate_textual_runs): Ditto.
9191
9192         * file-coding.c (Fmake_coding_system):
9193         When type is ccl and value is vector, register it
9194         with a proper symbol.  And checks whether the
9195         given ccl program is valid.
9196         (mule_decode): When calling ccl_driver, if src indicates
9197         NULL pointer, set an empty string instead.
9198         (mule_encode): Likewise.
9199
9200 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9201
9202         The following large batch of changes gets us back to a state of
9203         C++ compilability.  Extbyte is now a char, which means that
9204         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9205
9206         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9207
9208         * sound.c (Fplay_sound): Type correctness.
9209
9210         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9211         (x_get_window_property): Type correctness.
9212         (receive_incremental_selection): unsigned char ==> Extbyte
9213         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9214         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9215         (Fx_store_cutbuffer_internal): Type correctness.
9216
9217         * process-unix.c (try_to_initialize_subtty): Type correctness.
9218
9219         * objects-x.c (x_print_color_instance): Type correctness.
9220         (x_print_font_instance): Type correctness.
9221         (x_list_fonts): SExtbyte ==> Extbyte.
9222         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9223         (x_find_charset_font): SExtbyte ==> Extbyte.
9224         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9225         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9226         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9227         Use bufbyte_strcmp.
9228
9229         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9230         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9231         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9232         (BYTE_C0_P): Use bit ops for char-signedness safety.
9233         (BYTE_C1_P): Use bit ops for char-signedness safety.
9234         (CHARSET_BY_LEADING_BYTE):
9235         (CHARSET_BY_ATTRIBUTES):
9236         Always use inline function.
9237         Use type_checking_assert.
9238         Hide chlook.
9239
9240         * mule-charset.c (non_ascii_charptr_copy_char):
9241         Modify to work with both ASCII and non-ASCII characters.
9242         Improve docs and variable names.
9243         Replace over-clever fall-through switch with a simple loop.
9244         (Lstream_get_emchar_1):
9245         Replace over-clever fall-through switch with a simple loop.
9246
9247         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9248         Warning suppression.
9249
9250         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9251         the return value of Lstream_getc, which could be EOF as well.
9252
9253         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9254
9255         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9256         APIs can be used on Extbytes without casts.  Risky!
9257         (SExtbyte): Remove.
9258         (UExtbyte): Remove.
9259
9260         * input-method-xlib.c (XIM_init_device):
9261         Use Xlib.h instead of IntrinsicP.h.
9262         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9263         which will break in X11R7.
9264         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9265         to call XRegisterIMInstantiateCallback with correct types.
9266
9267         * gui-x.c (button_item_to_widget_value): Type correctness.
9268
9269         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9270
9271         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9272         (xbm_instantiate_1): Type correctness.
9273         (BUILD_GLYPH_INST):  Type correctness.
9274
9275         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9276
9277         * file-coding.c:
9278         (decode_coding_sjis):
9279         (decode_coding_big5):
9280         (decode_coding_ucs4):
9281         (decode_coding_utf8):
9282         (decode_coding_iso2022):
9283         (decode_coding_no_conversion):
9284         Make all decoding functions take an Extbyte * arg.
9285         (encode_coding_sjis):
9286         (encode_coding_big5):
9287         (encode_coding_ucs4):
9288         (encode_coding_utf8):
9289         (encode_coding_iso2022):
9290         (encode_coding_no_conversion):
9291         Make all encoding functions take a Bufbyte * arg.
9292         Use size_t instead of unsigned int for memory sizes.
9293         Only cast to unsigned char whenever dereferencing Extbyte *.
9294
9295         * doc.c (unparesseuxify_doc_string): Type correctness.
9296
9297         * console-x.c (split_up_display_spec):
9298         Rewrite without using details of internal string representation.
9299         (x_semi_canonicalize_device_connection): Type correctness.
9300
9301         * config.h.in:
9302         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9303         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9304         (HAVE_XFREE386): Removed.
9305
9306         * buffer.h (DEC_CHARPTR): `const' correctness.
9307         (bufbyte_strcmp): New.
9308         (bufbyte_memcmp): New.
9309
9310         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9311
9312         * buffer.h (XCHAR_OR_CHAR_INT):
9313         Always use inline function.
9314         Remove redundant type checking assert() - XINT will abort quite nicely.
9315
9316 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9317
9318         * search.c (Freplace_match): Set newtext to an empty string.
9319
9320 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9321
9322         * s/decosf1-3.h: Remove #include of stropts.h
9323         * s/ptx.h: Remove #include of stropts.h
9324         * s/usg5-4.h: Remove #include of stropts.h
9325         * sysproc.h:
9326         * config.h.in:
9327         Use stropts.h, not sys/stropts.h.
9328         Use strtio.h, not sys/strtio.h.
9329
9330 2000-10-04  Martin Buchholz <martin@xemacs.org>
9331
9332         * XEmacs 21.2.36 is released.
9333
9334 2000-09-21  Andy Piper  <andy@xemacs.org>
9335
9336         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9337         changes still involve copying the widget tree.
9338         (update_widget_face): make sure a change is register in the widget
9339         tree. Call update_tab_widget_face appropriately.
9340         (update_tab_widget_face): ditto.
9341         (x_tab_control_redisplay): make sure non-structural changes still
9342         involve copying the widget tree.
9343
9344 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9345
9346         * lread.c (locate_file): Check the path element is non-nil.
9347
9348 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9349
9350         * lisp.h: Warning suppression for SCO compilers.
9351
9352         * redisplay-tty.c (reset_tty_modes): Fix crash.
9353         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9354
9355 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9356
9357         Big signal/process handling overhaul.  Bugs fixed:
9358         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9359         M-x comint-kill-subjob should work for both values nil and t of
9360         process-connection-type. It was broken on most platforms.
9361         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9362         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9363         * process-unix.c: Signal/Process handling overhaul.
9364         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9365         (allocate_pty): Use all available modern methods of allocating
9366         ptys, falling back to old style BSD allocation as a last resort.
9367         Use allegedly more secure Unix98 pty allocation by default.
9368         (allocate_pty_the_old_fashioned_way): New. the last resort.
9369         (unix_create_process): Push ptem, ldterm, ttcompat where
9370         available.  Autoconfiscate.
9371         (try_to_initialize_subtty): New.
9372         (unix_kill_child_process): Proper signal handling for ptys on most
9373         platforms, using special knowledge of AIX, BSD, etc...
9374         (unix_create_process): Always disconnect_controlling_terminal() for
9375         subprocesses, whether using ptys or not.
9376         * process.h: Remove old getpt-dependent PTY code.
9377         * process.c (Fprocess_send_signal): New, obvious generic function.
9378         (decode_signal): New.
9379         (Finterrupt_process):
9380         (Fkill_process):
9381         (Fquit_process):
9382         (Fstop_process):
9383         (Fcontinue_process):
9384         (Fsignal_process): Use decode_signal.
9385         (process_send_signal):
9386         Many docstring corrections.
9387         Allow any signal to be sent to a process object.
9388         * config.h.in: Add symbols for big signal/process overhaul.
9389         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9390         * sysproc.h: Include process-related headers, where available:
9391         sys/stropts.h sys/strtio.h pty.h libutil.h
9392         * s/irix4-0.h:
9393         * s/irix5-0.h:
9394         * s/cygwin32.h:
9395         * s/gnu.h:
9396         * s/linux.h:
9397         * s/hpux.h:
9398         * s/aix3-1.h:
9399         Remove old S&M pty stuff.
9400         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9401         * systty.h: Simplify cpp hackery, improve comments.
9402         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9403
9404         * editfns.c (Fformat_time_string):
9405         Be a little more paranoid with the return value of ctime.
9406
9407         * fileio.c (check_executable):
9408         (check_writable):
9409         Use symbolic constants X_OK, W_OK.
9410
9411         * console-x.c (split_up_display_spec): Fix a warning.
9412
9413 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9414
9415         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9416         * ntproc.c (sys_spawnve): make_string ==> build_string
9417         Small clarity improvements.
9418
9419 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9420
9421         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9422
9423         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9424
9425         * config.h.in (HAVE_STRCASECMP): Remove.
9426
9427 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9428
9429         * redisplay-output.c (redisplay_output_pixmap):
9430         Cleaner and possibly more 64-bit correct code.
9431
9432 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9433
9434         * dumper.c (pdump_load_finish): move restoration of
9435         `noninteractive1' to emacs.c (main_1).
9436         * emacs.c (main_1): protect LISP-visible command-line flags
9437         from pdump_load().
9438
9439 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9440
9441         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9442         DUMP_TARGET instead of literal program names.
9443
9444 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9445
9446         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9447
9448 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9449
9450         * *: Spelling mega-patch
9451
9452 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9453
9454         * fns.c (bad_bad_turtle):
9455         Delete "Eek!" comment, since we fixed the bug to which it refers.
9456
9457 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9458
9459         * alloca.c: Replace REGISTER with register.
9460
9461 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9462
9463         * file-coding.c (ucs_to_char): Use countof.
9464
9465 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9466
9467         * file-coding.c: (ucs_to_char):
9468         (complex_vars_of_file_coding):
9469         Use countof instead of sizeof.
9470         Use CHECK_NATNUM instead of CHECK_INT.
9471
9472         * sysdep.c (strcasecmp): Remove.
9473         * device-x.c (ascii_strcasecmp): New.
9474         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9475         Avoid using non-standard non-portable strcasecmp.
9476
9477 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9478
9479         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9480         * font-lock.c: remove reference to emacsfns.h.
9481         * search.c: small doc improvement.
9482         * event-Xt.c: correct file names in comments.
9483         * console-x.h Correct file names in comments.
9484         * frame.c: Correct file names in comments.
9485         * event-stream.c: remove Energize from comments.
9486
9487 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9488
9489         * symeval.h (DEFERROR_STANDARD):
9490         (DEFERROR):
9491         (DEFSYMBOL):
9492         (DEFSYMBOL_NO_DUMP):
9493         (DEFSYMBOL_MULTIWORD_PREDICATE):
9494         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9495         (DEFKEYWORD):
9496         The construct &##name is not sensible C.
9497         Fixes compilation errors with Unixware native compiler.
9498
9499 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9500
9501         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9502         (next_frame_internal): Removed.  We now just have next_frame.
9503         (next_frame):
9504         Write a simpler and cleaner one-pass algorithm.
9505         Remove called_from_delete_device arg and #ifdefed-out code.
9506         (previous_frame):
9507         Renamed from prev_frame.  Update callers.
9508         Cleaned up to have an analogous implementation to next_frame.
9509         (other_visible_frames_internal): Remove the
9510         called_from_delete_device bogus arg, and hence, remove this
9511         function.  Just use other_visible_frames().
9512
9513         * window.c (Fnext_window):
9514         Prettify docstring.
9515         Since next_frame() is guaranteed to return a frame, remove check
9516         for nil inserted in previous patch.
9517         (Fprevious_window):
9518         Prettify docstring.
9519         Make code look more like Fnext_window.
9520         (window_loop):
9521         Respect the `console' arg when iterating through windows.
9522         Fixes bug: (get-buffer-window buffer t device) not respecting
9523         the `device' arg.
9524         This function needs more work, as others have pointed out.
9525
9526         * frame.h: Rename prev_frame to previous_frame.
9527         device_matches_console_spec no longer takes a `frame' arg.
9528
9529         * s/gnu.h:
9530         * s/linux.h:
9531         * s/hpux.h:
9532         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9533         From "Golubev I. N." <gin@mo.msk.ru>.
9534
9535         * make-src-depend: Fix typo.
9536
9537 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9538
9539         * window.c (Fnext_window):
9540         next_frame() might return nil, not a frame.
9541         Fixes this crash:
9542         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9543
9544         * frame.c (next_frame_internal):
9545         We've passed a frame if we've passed its device.
9546         Fixes this crash:
9547         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9548 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9549
9550 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9551
9552         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9553         Allow option to suppress accelerators in menu/dialog items.
9554         (populate_or_checksum_helper): Pass dialog title through above.
9555
9556 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9557
9558         * event-msw.c (mswindows_key_to_emacs_keysym):
9559         Add "pause" key, fix "menu" key.
9560
9561 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9562
9563         * eval.c (reinit_vars_of_eval):
9564         Increase max_lisp_eval_depth to 1000,
9565         required for thai-xtis.el to byte-compile under some circumstances.
9566
9567 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9568
9569         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9570         From Kenichi Handa.
9571
9572 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9573
9574         * make-src-depend: Make the generated Makefiles smaller.
9575
9576         * s/hpux.h (SETUP_SLAVE_PTY):
9577         Provide a %d in the format string for the errno argument.
9578
9579         * editfns.c (Ftemp_directory):
9580         Warning fix.
9581         Avoid buffer overrun on very long file name.
9582
9583         * input-method-xlib.c (XIM_init_device):
9584         6th parameter of XRegisterIMInstantiateCallback has different
9585         pointer types on different OSes, so simply cast to (void *).
9586
9587         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9588
9589         * sysdll.c (dll_open):
9590         shl_load will hang hard if passed a NULL filename.
9591         Simply return NULL for compatibility with dlopen.
9592         * sysdll.c: Conform to XEmacs coding standards.
9593
9594         * sysdep.c (get_pty_max_bytes):
9595         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9596
9597 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9598
9599         * tooltalk.c: Add #include <syssignal.h>
9600
9601 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9602
9603         * s/hpux.h: Don't use undefined function sigunblock().
9604
9605 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9606
9607         * config.h.in: Add HAVE_BALLOON_HELP.
9608         * emacs.c: Use HAVE_BALLOON_HELP.
9609         * Makefile.in.in (x_objs):
9610         Make Balloon Help conditional on finding shape.h.
9611
9612 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9613
9614         * syntax.c (regex_emacs_buffer_p): New variable.
9615         * syntax.h (regex_emacs_buffer_p): extern.
9616         * search.c (looking_at_1):
9617         (string_match_1):
9618         (fast_string_match):
9619         (search_buffer): Set regex_emacs_buffer_p.
9620         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9621         when before_dot, at_dot, after_dot.
9622
9623 2000-08-23  Andy Piper  <andy@xemacs.org>
9624
9625         * gui-x.c (popup_selection_callback): Only set action_occurred
9626         when we really have an image instance.
9627         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9628
9629 2000-08-23  Andy Piper  <andy@xemacs.org>
9630
9631         * gui-msw.c (mswindows_handle_gui_wm_command): set
9632         action_occurred.
9633         * gui-x.c (popup_selection_callback): ditto.
9634
9635         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9636         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9637         (struct Lisp_Image_Instance): add action_occurred flag.
9638
9639         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9640         (image_instance_changed): ditto.
9641         (reset_frame_subwindow_instance_cache): only unmap windows - do
9642         not remove them from the cache also.
9643
9644         * glyphs-widget.c (tab_control_update): better debug.
9645         (progress_gauge_update): ditto.
9646         (layout_update): ditto.
9647         (layout_instantiate): ditto.
9648         (tab_control_order_only_changed): cope with null pending items.
9649
9650         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9651         debug. Force selection of an item when an action occurred. Cope
9652         with null pending_items.
9653         (mswindows_progress_gauge_redisplay): better debug.
9654         * glyphs-x.c (x_tab_control_redisplay): ditto.
9655
9656         * redisplay.c (redisplay_frame): reset the frame cache if the
9657         frame is garbaged.
9658
9659         * window.c (Fset_window_configuration): potentially re-enable
9660         frame cache reset.
9661         (window_unmap_subwindows): need to finalize instances here since
9662         it is only used in mark_window_as_deleted.
9663
9664 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9665
9666         * nas.c (SndOpenDataForReading):
9667         nas.c (WaveOpenDataForReading):
9668         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9669         Somehow escaped from the 2000-08-14 patch.
9670
9671 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9672
9673         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9674         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9675
9676 2000-08-21  Andy Piper  <andy@xemacs.org>
9677
9678         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9679         window if it is not already displayed.
9680
9681         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9682         it is not already displayed.
9683
9684         * window.c (Fset_window_configuration): don't reset the frame
9685         cache.
9686
9687         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9688         instances from the frame cache if we are actually finalizing them.
9689         (reset_frame_subwindow_instance_cache): reset frame cache only
9690         after unmapping everything.
9691         (map_subwindow): set displayed flag after mapping.
9692
9693 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9694
9695         * data.c (indirect_function):
9696         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9697
9698         * eval.c (function_argcount):
9699         Use original function when signaling errors.
9700
9701 2000-08-18  Andy Piper  <andy@xemacs.org>
9702
9703         * frame.c (delete_frame_internal): use new
9704         free_frame_subwindow_instances name.
9705
9706         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9707         (add_tab_item): make return type correct.
9708         (mswindows_tab_control_instantiate): assert index of tab.
9709         (mswindows_tab_control_redisplay): Re-code to use
9710         gui_item_equal_sans_selected and gui_item_list_find_selected.
9711
9712         * glyphs-widget.c (tab_control_update): Correct comment.
9713
9714         * window.c (window_unmap_subwindows): use new
9715         unmap_subwindow_instance_cache_mapper.
9716         (window_unmap_subwindows_cache_mapper): deleted.
9717         (Fset_window_configuration): comparisons should now be with
9718         EQ. Preserve the subwindow instance cache across configuration
9719         changes.
9720         (allocate_window): ditto.
9721         (make_dummy_parent): ditto.
9722
9723         * glyphs.c (free_frame_subwindow_instances): rename from
9724         free_frame_subwindow_instance_cache. finalize all instances rather
9725         than just those in the display cache.
9726         (finalize_all_subwindow_instances): walk windows unmapping and
9727         finalizing subwindows.
9728         (unmap_subwindow_instance_cache_mapper): moved from
9729         window.c. Allow finalization as well as unmapping.
9730
9731         * gui.c (gui_item_list_find_selected): new function.
9732
9733         * gui.h (gui_item_list_find_selected): declare.
9734
9735         * glyphs-x.c (x_tab_control_redisplay): pick tab
9736         explicitly. Re-code to use gui_item_equal_sans_selected and
9737         gui_item_list_find_selected.
9738
9739         * glyphs-x.h: add lwlib-utils.h
9740
9741         * buffer.c (Frecord_buffer): undo previous change.
9742
9743 2000-08-09  Vin Shelton  <acs@xemacs.org>
9744
9745         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9746         possible.  Create temporary files more securely.  The patch was
9747         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9748         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9749         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9750         for details.
9751
9752 2000-08-07  Ben Wing  <ben@xemacs.org>
9753
9754         * getloadavg.c: remove duplicate (and windows-breaking)
9755         includes of fcntl.h and sys/file.h.
9756
9757         * nt.c: remove duplicate getloadavg() definition.
9758
9759         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9760         encodings.
9761
9762 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9763
9764         * eval.c (function_argcount): If function needs to be autoloaded
9765         actually use the loaded definition.
9766         GCPRO function.
9767
9768 2000-08-05  Ben Wing  <ben@xemacs.org>
9769
9770         * getloadavg.c: add prototype for getloadavg().  remove
9771         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9772         of the code).  remove duplicate header includes.
9773
9774         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9775
9776         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9777         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9778         useful load average.
9779
9780         * alloc.c (reinit_alloc_once_early): removed references to
9781         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9782         the lisp vars are the only things referencing the malloc_sbrk_*
9783         vars, and they were already if 0'd out.  these vars only exist
9784         in the older malloc.c, which is basically unused, and they're
9785         only for informational purposes.
9786
9787         * m\*.h: removed useless VIRT_ADDR_VARIES.
9788
9789         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9790
9791 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9792
9793         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9794         color if the image is a mono pixmap.
9795
9796 2000-07-30  Ben Wing  <ben@xemacs.org>
9797
9798         * Makefile.in.in (release):
9799         Remove stray @.
9800
9801         * buffer.c (directory_is_current_directory):
9802         * dired-msw.c (mswindows_get_files):
9803         * dired.c:
9804         * dired.c (Fdirectory_files):
9805         * dired.c (file_name_completion_stat):
9806         * dired.c (Ffile_attributes):
9807         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9808         preprocessor tricks, to avoid problems on some machines
9809         (e.g. SCO).
9810
9811         * callproc.c (egetenv): GC docs.
9812
9813         * console-msw.h:
9814         * console-msw.h (struct mswindows_dialog_id):
9815         * lrecord.h (lrecord_type):
9816         New object for use with MSW dialogs.
9817
9818         * console.h (struct console_methods):
9819         New enable/disable frame methods, for proper modal dialogs.
9820
9821         * device-msw.c (msprinter_default_printer): Fix to follow
9822         proper Mule conventions.
9823
9824         * device-msw.c:
9825         * device-msw.c (signal_open_printer_error):
9826         * device-msw.c (msprinter_init_device):
9827         * device-msw.c (ensure_not_printing):
9828         * device-msw.c (plist_get_margin):
9829         * device-msw.c (Fmsprinter_select_settings):
9830         * device-msw.c (finalize_devmode):
9831         * device-msw.c (Fmsprinter_settings_despecialize):
9832         * device-msw.c (signal_enum_priner_error):
9833         * extents.c (decode_extent):
9834         * extents.c (decode_map_extents_flags):
9835         * extents.c (decode_extent_at_flag):
9836         * extents.c (Fextent_at):
9837         * extents.c (Fextents_at):
9838         * extents.c (symbol_to_glyph_layout):
9839         [[[[2]]]] Use structured errors.
9840
9841         * dialog-msw.c:
9842         * dialog-msw.c (mswindows_is_dialog_msg):
9843         * dialog-msw.c (mark_mswindows_dialog_id):
9844         * dialog-msw.c (dialog_proc):
9845         * dialog-msw.c (handle_question_dialog_box):
9846         * dialog-msw.c (syms_of_dialog_mswindows):
9847         Define new object to clean up marking; use it as a dialog identifier.
9848         Call new delete-dialog-box-hook.
9849
9850         * dialog-x.c (dbox_selection_callback):
9851         * dialog-x.c (dbox_descriptor_to_widget_value):
9852         * dialog-x.c (x_make_dialog_box_internal):
9853         Call new delete-dialog-box-hook.
9854         Return an id.
9855
9856         * dialog.c:
9857         * dialog.c (syms_of_dialog):
9858         * dialog.c (vars_of_dialog):
9859         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9860
9861         * eval.c:
9862         * eval.c (signal_call_debugger):
9863         when noninteractive, output stack traces on the console instead
9864         of in a (never-seen) buffer.
9865
9866         * eval.c (signal_type_error):
9867         * eval.c (invalid_argument_2):
9868         * lisp.h:
9869         new funs for use w/structured errors.
9870
9871         * event-Xt.c:
9872         * event-Xt.c (x_to_emacs_keysym):
9873         * event-Xt.c (describe_event):
9874         * event-Xt.c (emacs_Xt_event_handler):
9875         * event-Xt.c (vars_of_event_Xt):
9876         * event-msw.c:
9877         * event-msw.c (mswindows_wnd_proc):
9878         * event-msw.c (vars_of_event_mswindows):
9879         rename {x,mswindows}-debug-events to debug-{}-events for
9880         consistency with other debug-foo variables.
9881
9882         * event-stream.c:
9883         document next-event more clearly.
9884
9885         * fileio.c (Ffile_name_directory):
9886         * fileio.c (Ffile_name_nondirectory):
9887         * fileio.c (Funhandled_file_name_directory):
9888         * fileio.c (file_name_as_directory):
9889         * fileio.c (Ffile_name_as_directory):
9890         * fileio.c (directory_file_name):
9891         * fileio.c (Fdirectory_file_name):
9892         * fileio.c (Fmake_temp_name):
9893         * fileio.c (Ffile_truename):
9894         * fileio.c (Fsubstitute_in_file_name):
9895         * fileio.c (expand_and_dir_to_file):
9896         * fileio.c (barf_or_query_if_file_exists):
9897         * fileio.c (check_executable):
9898         * fileio.c (Ffile_exists_p):
9899         * fileio.c (Ffile_writable_p):
9900         * fileio.c (Ffile_directory_p):
9901         * fileio.c (Ffile_regular_p):
9902         * fileio.c (Ffile_modes):
9903         * fileio.c (Ffile_newer_than_file_p):
9904         * fileio.c (Fverify_visited_file_modtime):
9905         * fileio.c (Fset_visited_file_modtime):
9906         * fileio.c (auto_save_1):
9907         (1). (2).
9908         fix up gcpro's.
9909
9910         * frame-msw.c:
9911         * frame-msw.c (mswindows_init_frame_1):
9912         * frame-msw.c (mswindows_enable_frame):
9913         * frame-msw.c (error_frame_unsizable):
9914         * frame-msw.c (msprinter_init_frame_1):
9915         * frame-msw.c (msprinter_init_frame_3):
9916         * frame-msw.c (console_type_create_frame_mswindows):
9917         (2).
9918         implement new enable/disable frame methods.
9919
9920         * frame-x.c:
9921         * frame-x.c (x_enable_frame):
9922         * frame-x.c (console_type_create_frame_x):
9923         implement new enable/disable frame methods.
9924
9925         * frame.c:
9926         * frame.c (Fdisable_frame):
9927         * frame.c (syms_of_frame):
9928         * frame.h (struct frame):
9929         implement new enable/disable frame methods/functions.
9930
9931         * general-slots.h:
9932         add initial-focus.
9933
9934         * glyphs-msw.c (mswindows_widget_instantiate):
9935         comment that initial-focus should be implemented.
9936
9937         * glyphs-widget.c:
9938         * glyphs-widget.c (check_valid_instantiator):
9939         * glyphs-widget.c (check_valid_orientation):
9940         * glyphs-widget.c (check_valid_tab_orientation):
9941         * glyphs-widget.c (check_valid_justification):
9942         * glyphs-widget.c (check_valid_border):
9943         * glyphs-widget.c (check_valid_callback):
9944         * glyphs-widget.c (check_valid_int_or_function):
9945         * glyphs-widget.c (check_valid_string_or_vector):
9946         * glyphs-widget.c (check_valid_item_list_1):
9947         * glyphs-widget.c (widget_validate):
9948         * glyphs-widget.c (combo_box_validate):
9949         * glyphs-widget.c (widget_instantiate):
9950         * glyphs-widget.c (syms_of_glyphs_widget):
9951         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9952         * glyphs-widget.c (image_instantiator_combo_box):
9953         * glyphs-widget.c (image_instantiator_scrollbar):
9954         * glyphs-widget.c (image_instantiator_tab_control):
9955         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9956         (2).
9957         support (unimplemented) keyword initial-focus.
9958         reindent long macros.
9959
9960         * glyphs-x.c (x_redisplay_widget):
9961         * glyphs-x.c (x_button_instantiate):
9962         * glyphs-x.c (x_button_redisplay):
9963         * glyphs-x.c (x_progress_gauge_instantiate):
9964         * glyphs-x.c (x_edit_field_instantiate):
9965         * glyphs-x.c (x_combo_box_instantiate):
9966         * glyphs-x.c (x_tab_control_instantiate):
9967         * glyphs-x.c (x_label_instantiate):
9968         * gui-x.c:
9969         * gui-x.c (button_item_to_widget_value):
9970         * gui-x.c (gui_items_to_widget_values_1):
9971         * gui-x.c (gui_item_children_to_widget_values):
9972         * gui-x.c (gui_items_to_widget_values):
9973         * gui-x.h:
9974         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9975         add new flag to gui-parsing routines to indicate whether
9976         accelerator specs should be supported.
9977
9978         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9979
9980         * glyphs.h (struct Lisp_Image_Instance):
9981         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9982         add initial-focus flag.
9983
9984         * gui.c:
9985         * gui.c (syms_of_gui):
9986         * gui.c (vars_of_gui):
9987         clean up menu-no-selection-hook.
9988
9989         * gui.h:
9990         support delete-dialog-box-hook.
9991
9992         * lread.c (Fload_internal):
9993         * lread.c (locate_file_in_directory_mapper):
9994         (1).
9995
9996         * lrecord.h:
9997         * lrecord.h (struct toolbar_button):
9998         * lrecord.h (syms_of_toolbar):
9999         document how to create a new object.
10000
10001         * menubar-msw.c (mswindows_char_is_accelerator):
10002         may be called on frames w/o menus.
10003
10004         * menubar.c (vars_of_menubar):
10005         clean up :filter docs.
10006
10007         * nt.c (readdir):
10008         * ntproc.c:
10009         (1).
10010
10011         * process-nt.c:
10012         * process-nt.c (validate_signal_number):
10013         * process-nt.c (signal_cannot_launch):
10014         * process-nt.c (nt_create_process):
10015         * process-nt.c (nt_send_process):
10016         * process-nt.c (nt_kill_child_process):
10017         * process-nt.c (nt_open_network_stream):
10018         * process-nt.c (syms_of_process_nt):
10019         (2).
10020         delete quote-handling.  call new lisp code that does it better.
10021
10022         * process-unix.c (connect_to_file_descriptor):
10023         * process-unix.c (allocate_pty):
10024         * process-unix.c (unix_send_process):
10025         * process-unix.c (unix_kill_child_process):
10026         * process-unix.c (unix_open_network_stream):
10027         * process-unix.c (unix_open_multicast_group):
10028         (1). (2).
10029
10030         * process.c:
10031         * process.c (Fstart_process_internal):
10032         (2).  need to canonicalize process path even if absolute.
10033
10034         * select-msw.c (symbol_to_ms_cf):
10035         * select-msw.c (ms_cf_to_symbol):
10036         * select-msw.c (cf_is_autofreed):
10037         * select-msw.c (mswindows_destroy_selection):
10038         * select.c:
10039         * select.c (syms_of_select):
10040         * select.h:
10041         support dibv5, fix bugs. (from Mike Alexander)
10042
10043         * select.c (Fget_selection_internal):
10044         * select.c (select_convert_out):
10045
10046         * sysdep.c:
10047         * sysdep.c (xemacs_stat):
10048         renamed.
10049
10050         * sysdep.c (mkdir):
10051         * sysdep.c (rmdir):
10052         but keep original stat() here because we provide encapsulation
10053         around these funs.
10054
10055         * sysfile.h:
10056         * sysfile.h (fstat):
10057         remove stat garbage.
10058
10059         * syswindows.h:
10060         fix X/MSW conflict.
10061         don't include tchar.h.  it's inappropriate because it makes
10062         compile-time distinctions when we want runtime distinctions.
10063         (we provide our own tchar replacements)
10064
10065         * toolbar.c:
10066         use default object printer for toolbar-button.
10067
10068         * unexcw.c:
10069         make sure we don't encapsulate.
10070
10071         * window.c (vars_of_window):
10072         emphasize that temp-buffer-show-hook is obsolete.
10073
10074 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10075
10076         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10077         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10078
10079         * events.c (Fevent_timestamp_lessp):
10080         Not 64-bit clean.  Use EMACS_INT, not int.
10081
10082 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10083
10084         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10085         unsigned int and changed the last enum to
10086         lrecord_type_last_built_in_type.
10087         (lrecord_implementations_table): changed prototype to know how
10088         long the array is supposed to be.
10089         (lrecord_type_count): new unsigned int to keep track of the
10090         current number of lisp lrecord types.
10091         (DEFINE_EXTERNAL_LRECORD):
10092         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10093         dynamic-modules to declare new lisp types. They are the same
10094         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10095         int for each new type, and increment lrecord_type_count by 1.
10096
10097         * alloc.c (lrecord_implementations_table): Changed to reference
10098         lrecord_type_last_built_in_type for the size of the array.
10099         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10100
10101 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10102
10103         * glyphs.h (check_valid_item_list): Renamed from
10104         check_valid_item_list_1.
10105
10106 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10107
10108         * select.c (Qselect_coerce): New.
10109         * select.c (Vselection_coercion_alist): New.
10110         * select.c (syms_of_select): Declare.
10111         * select.c (get-selection-internal): Use it.
10112         Use the new select-coerce functionality.
10113
10114         * select.c (select_coerce): New.
10115         * select.h (select_coerce): Declare.
10116         New function to coerce one type of data into another.
10117
10118 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10119
10120         * callproc.c (Fcall_process_internal):
10121         (Fcall_process_internal):
10122         * process-unix.c (unix_create_process):
10123         Save and restore the value of errno, so that error messages are accurate.
10124
10125 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10126
10127         * elhash.c (print_hash_table):
10128         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10129         Prettify docstrings and indentation.
10130
10131 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10132
10133         * window.c (Fwindow_pixel_edges): Subtract frame border and
10134         gutter size.
10135
10136 2000-07-31  Andy Piper  <andy@xemacs.org>
10137
10138         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10139         will acknowledge the change.
10140
10141         * glyphs.h: declare tab_control_order_only_changed.
10142
10143         * glyphs-x.c (x_tab_control_redisplay): use
10144         tab_control_order_only_changed.
10145
10146         * glyphs-widget.c (tab_control_order_only_changed): new function.
10147
10148         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10149         tab_control_order_only_changed.
10150
10151         * gui.c (gui_item_equal_sans_selected): new function.
10152         (gui_item_equal): use it.
10153
10154         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10155         :properties in favor of :items..
10156
10157         * glyphs-widget.c (check_valid_item_list): rename from
10158         check_valid_item_list_1.
10159         (check_valid_item_list_1): renamed.
10160         (combo_box_validate): deprecate :properties in favor of :items.
10161         (widget_instantiate): ditto.
10162         (tab_control_update): ditto.
10163         (image_instantiator_combo_box): ditto.
10164         (image_instantiator_tree_view): ditto.
10165         (image_instantiator_tab_control): ditto.
10166         (layout_post_instantiate): remove dead code.
10167
10168         * print.c (debug_print_no_newline): only write to debugger if in
10169         WIN32_NATIVE.
10170
10171         * elhash.c (Fmake_hash_table): update doc string.
10172
10173         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10174         messages whilst in GC. This at least stops XEmacs crashing but has
10175         the potential for wierd behaviour.
10176
10177 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10178
10179         * config.h.in:
10180         Make existence of s&m files optional.
10181
10182         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10183         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10184         * s/gnu.h: Remove HAVE_GETLOADAVG.
10185         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10186         * s/sol2.h: Remove HAVE_GETLOADAVG.
10187         * lisp.h: Remove getloadavg() declaration.
10188         * fns.c:
10189         Include <sys/loadavg.h> if available.
10190         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10191         * config.h.in:  Group together getloadavg()-related macros.
10192         Use only configure-time tests to detect getloadavg().
10193
10194 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10195
10196         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10197
10198 2000-07-25  Andy Piper  <andy@xemacs.org>
10199
10200         * syswindows.h: add tchar.h for native builds.
10201
10202         * frame.c (syms_of_frame): remove set-glyph-image.
10203
10204         * general-slots.h: add Qset_glyph_image.
10205
10206         * glyphs-widget.c (layout_update): add domain arg to
10207         set-glyph-image.
10208         (syms_of_glyphs_widget): remove set-glyph-image.
10209
10210 2000-07-23  Ben Wing  <ben@xemacs.org>
10211
10212         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10213         Vpopup_frame_list.
10214
10215 2000-07-22  Andy Piper  <andy@xemacs.org>
10216
10217         * symsinit.h: add syms_of_win32().
10218
10219         * gui-msw.c (syms_of_gui_mswindows): remove
10220         Fmswindows_shell_execute.
10221         (Fmswindows_shell_execute): moved to win32.c.
10222
10223         * emacs.c (main_1): add syms_of_win32 ().
10224
10225         * win32.c (init_potentially_nonexistent_functions): rewrite in
10226         compiler-friendly terms.
10227         (Fmswindows_shell_execute): move here from gui-msw.c.
10228         (syms_of_win32): new.
10229
10230         * device-msw.c (Fmswindows_printer_list): clean up args to
10231         EnumPrinters.
10232         Don't include tchar under cygwin or mingw.
10233         (msprinter_default_printer): make cygwin-friendly.
10234
10235 2000-07-21  Andy Piper  <andy@xemacs.org>
10236
10237         * glyphs-widget.c (image_instantiator_tree_view): use tab
10238         control's update function.
10239         (layout_property): new function. Retrieve items.
10240
10241         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10242         function. Re-populate the tree view from the pending items.
10243
10244         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10245         is designated the parent if the domain is an image instance. This
10246         is needed so that dirtiness can be cascade up the hierarchy and
10247         thus for layout children to be redisplayed correctly.
10248         (allocate_image_instance): rename glyph -> parent.
10249
10250         * redisplay.h: change redisplay_output_layout signature.
10251
10252         * redisplay-msw.c (mswindows_output_display_block): use domain
10253         arg.
10254
10255         * redisplay-x.c (x_output_display_block): use domain arg.
10256
10257 2000-07-10  Andy Piper  <andy@xemacs.org>
10258
10259         * window.c (Fset_window_configuration): add comment.
10260
10261         * redisplay-output.c (compare_runes):
10262         (redisplay_output_subwindow): redisplay rather than update subwindow.
10263         (redisplay_output_layout): ditto.
10264
10265         * redisplay-msw.c (mswindows_frame_output_end):
10266         (mswindows_frame_output_end): make defer window pos optional.
10267
10268         * lisp.h: add Flast.
10269
10270         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10271         normalize method. Change update method to be for changed
10272         instantiators. Add redisplay method. Change signature of layout
10273         method.
10274         (struct Lisp_Image_Instance): add instantiator.
10275         (IMAGE_INSTANCE_INSTANTIATOR): new.
10276         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10277         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10278         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10279
10280         * glyphs.c:
10281         (find_instantiator_differences): new function.
10282         (Fset_instantiator_property): new convenience function.
10283         (check_image_instance_structure): strictly check for vector
10284         instantiators.
10285         (normalize_image_instantiator): make non-static.
10286         (instantiate_image_instantiator): pass on dest_mask and use new
10287         signatures for image_instance_layout and friends.
10288         (mark_image_instance): mark the instantiator. Mark the subwindow
10289         face not the widget face.
10290         (image_instance_equal): add instantiator.
10291         (image_instance_hash): ditto.
10292         (allocate_image_instance): ditto.
10293         (Fset_image_instance_property): removed.
10294         (Fimage_instance_file_name): ditto.
10295         (Fcolorize_image_instance): ditto.
10296         (image_instance_layout): add offsets to be set.
10297         (update_image_instance): new function. update an image instance
10298         from its changed instantiator.
10299         (inherit_normalize): add dest_mask.
10300         (xbm_normalize): ditto.
10301         (xface_normalize): ditto.
10302         (xpm_normalize): ditto.
10303         (text_update): set_property -> update.
10304         (image_instantiate): use the glyph identity as a hash key, not the
10305         instantiator.
10306         (glyph_width): use new image_instance_layout signature.
10307         (glyph_ascent): ditto.
10308         (glyph_descent): ditto.
10309         (glyph_height): ditto.
10310         (glyph_query_geometry): ressurrect.
10311         (glyph_layout): ditto.
10312         (redisplay_subwindow): update -> redisplay.
10313         (syms_of_glyphs): add Fset_instantiator_property.
10314         (image_instantiator_format_create): set_property -> update.
10315
10316         * glyphs-x.c:
10317         (autodetect_normalize): add dest_maks to signature.
10318         (x_redisplay_subwindow): update -> redisplay.
10319         (x_redisplay_widget): ditto.
10320         (x_button_redisplay): ditto.
10321         (x_progress_gauge_redisplay): ditto.
10322         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10323         stacking order.
10324         (console_type_create_glyphs_x): update -> redisplay.
10325         (image_instantiator_format_create_glyphs_x): ditto.
10326
10327         * glyphs-widget.c:
10328         (check_valid_instantiator): disallow glyphs in the instantiator,
10329         they must now be vectors.
10330         (check_valid_instantiator_list): ditto.
10331         (glyph_instantiator_to_glyph): use internal symbol rather than
10332         intern.
10333         (widget_update): renamed from widget_set_property. Call cascaded
10334         update methods.
10335         (redisplay_widget): renamed from update_widget.
10336         (widget_layout): image_instance_layout now takes position as well
10337         as size.
10338         (widget_normalize): ditto.
10339         (widget_instantiate): ditto.
10340         (tab_control_query_geometry) ditto.:
10341         (tab_control_update): renamed from tab_control_set_property.
10342         (progress_gauge_update): set_property -> update.
10343         (layout_normalize): rewrite so that child instantiators are
10344         normalized also.
10345         (layout_update): new function. Create glyphs from the normalized
10346         children and cope with any other layout keywords. We do not
10347         instantiate children here that will be take care of by
10348         redisplay_output_layout.
10349         (layout_instantiate): call layout_update and not much else.
10350         (layout_post_instantiate): not sure whether this is needed
10351         anymore.
10352         (layout_query_geometry): query glyph geometry rather than
10353         image_instance geometry.
10354         (layout_layout): set offsets from pass in parameters. Use glyph
10355         geometry and layout functions rather than image instance ones.
10356         (native_layout_layout): ditto.
10357         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10358         (image_instantiator_widget): set_property -> update.
10359         (image_instantiator_buttons): ditto.
10360         (image_instantiator_progress_guage): ditto.
10361         (image_instantiator_tab_control): ditto.
10362         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10363         (image_instantiator_layout): add update method.
10364
10365         * glyphs-msw.c (bmp_normalize):
10366         (mswindows_resource_normalize): add dest_mask so that it can be
10367         proprogated by layout_normalize.
10368         (begin_defer_window_pos): make optional because it may not be the
10369         right thing to do and it introduces differences with X.
10370         (mswindows_unmap_subwindow): ditto.
10371         (mswindows_map_subwindow): ditto.
10372         (mswindows_redisplay_subwindow): renamed from
10373         mswindows_update_subwindow.
10374         (mswindows_redisplay_widget): ditto.
10375         (mswindows_button_redisplay): renamed from
10376         mswindows_button_update. Update is now what the instantiation
10377         function does for a changed instantiator.
10378         (mswindows_progress_gauge_instantiate): set the progress value
10379         here if appropriate.
10380         (mswindows_tab_control_redisplay): cope with re-ordering of the
10381         members of the tab widget by simply selecting the new top
10382         widget. This makes things appear ok if you click on a tab.
10383         (mswindows_combo_box_instantiate): image_instance_layout now takes
10384         position as well as size.
10385         (mswindows_progress_gauge_redisplay): renamed from
10386         mswindows_progress_gauge_update.
10387         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10388         (image_instantiator_format_create_glyphs_mswindows): ditto.
10389
10390         * glyphs-eimage.c (jpeg_normalize):
10391         (gif_normalize):
10392         (png_normalize):
10393         (tiff_normalize): add dest_mask so that it can be proprogated by
10394         layout_normalize.
10395
10396         * elhash.c:
10397         (print_hash_table):
10398         (hash_table_weakness_validate):
10399         (decode_hash_table_weakness):
10400         (Fhash_table_weakness):
10401         (Fhash_table_type):
10402         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10403
10404         * console.h (struct console_methods): move update_* to
10405         redisplay_*.
10406
10407 2000-07-20  Ben Wing  <ben@xemacs.org>
10408
10409         * *.[ch] (XSETOBJ): remove unused middle argument.
10410         lisp-disunion.h: correct wrap_object() to one argument.
10411
10412 2000-07-15  Ben Wing  <ben@xemacs.org>
10413
10414         * s/cygwin32.h:
10415         * s/cygwin32.h (CYGWIN_CONV_PATH):
10416         Add missing logb prototype for v1.1.
10417         Use post-b20 names and alias to pre-b20 names when pre-b20.
10418
10419         * s/windowsnt.h: [5].
10420
10421 2000-07-15  Ben Wing  <ben@xemacs.org>
10422
10423         * Makefile.in.in (x_objs):
10424         * Makefile.in.in (sheap_objs):
10425         * Makefile.in.in (objs):
10426         added win32.o, cosmetic cleanups.
10427
10428         * alloc.c (Fmake_byte_code):
10429         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10430         etc. macros which declare their own args now.
10431
10432         * alloc.c (syms_of_alloc):
10433         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10434
10435         * buffer.c:
10436         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10437
10438         * buffer.c (Fget_file_buffer):
10439         Fixed GCPRO problem.
10440
10441         * buffer.c (get_truename_buffer):
10442         Fixed comment about GC checking.
10443
10444         * buffer.c (syms_of_buffer):
10445         Undeclared those dedicated frame funs.
10446         [2].
10447
10448         * buffer.h:
10449         Define convenience macros for internal/external conversions.
10450         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10451         and Qenvironment_variable_encoding for cleaner code.
10452
10453         * bufslots.h:
10454         Remove dedicated-frame; in lisp.
10455
10456         * bytecode.c (funcall_compiled_function):
10457         [1].
10458
10459         * bytecode.c (syms_of_bytecode):
10460         [2].
10461
10462         * console-msw.c:
10463         * console-msw.c (mswindows_show_console): Rewrote.
10464
10465         * console-msw.c (Fmswindows_debugging_output): New.
10466         Sends to OutputDebugString (special MSWin debugger interface).
10467
10468         * console-msw.c (Fmswindows_message_box):
10469         Fixed stupid bugs so it works when called from kill-emacs.
10470
10471         * console-msw.c (syms_of_console_mswindows):
10472         Declare Fmswindows_debugging_output.
10473
10474         * console-msw.h:
10475         New MSWin prototypes.
10476
10477         * console-msw.h (struct mswindows_frame):
10478         New entry last-click-mods for improved button-modifier support.
10479
10480         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10481         New struct entry `popup' with corresponding accessor.
10482
10483         * console-x.c:
10484         * console-x.c (split_up_display_spec):
10485         * console-x.c (get_display_arg_connection):
10486         * console-x.c (x_semi_canonicalize_console_connection):
10487         * console-x.c (x_canonicalize_device_connection):
10488         [[[6]]]: Change char to more specific type.
10489         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10490
10491         * console-x.c (x_semi_canonicalize_console_connection):
10492         * console-x.c (x_canonicalize_device_connection):
10493         [[[9]]]: Fix up error signalling to use new structured error system.
10494
10495         * console-x.h:
10496         [[[4]]]: Define codesys aliases:
10497         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10498         Qx_color_name_encoding, Qx_display_name_encoding.
10499
10500         * console.h (struct console_methods):
10501         New method make_dialog_box_internal supersedes older
10502         popup_dialog_box method.
10503
10504         * data.c:
10505         Define many new errors, part of new structured errors.
10506
10507         * data.c (init_errors_once_early):
10508         * data.c (syms_of_data):
10509         [2].
10510
10511         * device-msw.c (mswindows_init_device):
10512         [[[5]]]: Cleanup to support NT 3.51.
10513
10514         * device-msw.c (decode_devmode): Cleanup.
10515
10516         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10517         * device-msw.c (mswindows_handle_print_dialog_box):
10518         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10519         * device-msw.c (syms_of_device_mswindows):
10520         Delete the dialog box primitives recently introduced by Kirill and
10521         instead interface to general dialog box interface.
10522
10523         * device-x.c:
10524         * device-x.c (compute_x_app_name):
10525         * device-x.c (x_init_device):
10526         * device-x.c (Fx_valid_keysym_name_p):
10527         * device-x.c (Fx_set_font_path):
10528         [6].
10529         [7].
10530
10531         * device.h (wrap_device): New.
10532         First of its kind; meant to replace XSETDEVICE.
10533
10534         * dialog-msw.c: Many file-dialog symbols.
10535
10536         * dialog-msw.c (mswindows_register_popup_frame): New.
10537         * dialog-msw.c (mswindows_is_dialog_msg): New.
10538         For supporting kbd traversal in dialog boxes.
10539
10540         * dialog-msw.c (dialog_proc):
10541         Support hitting ESC in dialogs.
10542
10543         * dialog-msw.c (struct):
10544         Common dialog box errors.
10545
10546         * dialog-msw.c (handle_file_dialog_box): New.
10547         Add file dialog code.
10548
10549         * dialog-msw.c (handle_question_dialog_box):
10550         Redo existing code to support new question dialog syntax.
10551
10552         * dialog-msw.c (console_type_create_dialog_mswindows):
10553         We support new dialog console method.
10554
10555         * dialog-msw.c (syms_of_dialog_mswindows):
10556         * dialog-msw.c (vars_of_dialog_mswindows):
10557         New file dialog symbols, vars.
10558
10559         * dialog-x.c:
10560         * dialog-x.c (maybe_run_dbox_text_callback):
10561         * dialog-x.c (dbox_descriptor_to_widget_value):
10562         * dialog-x.c (x_make_dialog_box_internal):
10563         * dialog-x.c (console_type_create_dialog_x):
10564         Mule-ize entire file.
10565         Redo to support question dialog syntax.
10566         [6].
10567
10568         * dialog.c:
10569         * dialog.c (Fmake_dialog_box_internal):
10570         * dialog.c (syms_of_dialog):
10571         Kill old popup-dialog-box, replace with new primitive.
10572         Just call device method or signal error.
10573
10574         * eldap.c (Fldap_open):
10575         * eldap.c (Fldap_search_basic):
10576         * eldap.c (Fldap_add):
10577         * eldap.c (Fldap_modify):
10578         [1].
10579         [7].
10580
10581         * emacs.c:
10582         * emacs.c (make_arg_list_1):
10583         * emacs.c (make_arg_list):
10584         Mule-ize call to dll_init().
10585         [6].
10586         [8].
10587
10588         * emacs.c (make_argc_argv):
10589         * emacs.c (free_argc_argv):
10590         * emacs.c (init_cmdargs):
10591         * emacs.c (main_1):
10592         * emacs.c (Fkill_emacs):
10593         * emacs.c (Fdump_emacs):
10594         Update comments about what can be used in syms_* etc.
10595         Call init_win32() when necessary.
10596         Fix up MS Win dialog box in kill-buffer to actually work right.
10597         [7].
10598
10599         * eval.c:
10600         * eval.c (For):
10601         * eval.c (Fand):
10602         * eval.c (Fprogn):
10603         * eval.c (Fprog1):
10604         * eval.c (Fprog2):
10605         * eval.c (FletX):
10606         * eval.c (Flet):
10607         * eval.c (condition_case_3):
10608         * eval.c (Feval):
10609         * eval.c (function_argcount):
10610         * eval.c (funcall_lambda):
10611         [1].
10612
10613         * eval.c (type_error): New.
10614         * eval.c (maybe_type_error): New.
10615         * eval.c (continuable_type_error): New.
10616         * eval.c (maybe_continuable_type_error): New.
10617         * eval.c (type_error_with_frob): New.
10618         * eval.c (maybe_type_error_with_frob): New.
10619         * eval.c (continuable_type_error_with_frob): New.
10620         * eval.c (maybe_continuable_type_error_with_frob): New.
10621         New functions for use with structured errors.
10622
10623         * event-Xt.c:
10624         * event-Xt.c (x_event_to_emacs_event):
10625         Buttons are now modifiers too.
10626
10627         * event-Xt.c (emacs_Xt_current_event_timestamp):
10628         Implement new event method.
10629         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10630
10631         * event-msw.c:
10632         * event-msw.c (ntpipe_shove_writer): [5].
10633         * event-msw.c (mswindows_enqueue_mouse_button_event):
10634         * event-msw.c (mswindows_drain_windows_queue):
10635         * event-msw.c (mswindows_wnd_proc): [7].
10636         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10637         * event-msw.c (mswindows_modifier_state):
10638         Throughout: support new button modifiers.
10639
10640         * event-msw.c (emacs_mswindows_current_event_timestamp):
10641         Implement new event method.
10642         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10643
10644         * event-stream.c:
10645         * event-stream.c (event_stream_current_event_timestamp): New.
10646         * event-stream.c (maybe_kbd_translate): New functionality.
10647         * event-stream.c (vars_of_event_stream):
10648         Document new kbd-translate-table functionality.
10649
10650         * event-stream.c (Fcurrent_event_timestamp): New.
10651         New primitive for use in fabricated events.
10652         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10653
10654         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10655
10656         * events.c:
10657         * events.c (Fmake_event):
10658         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10659         [1].
10660         [9].
10661
10662         * events.c (format_event_object): fix gcc warnings.
10663
10664         * events.c (Fevent_timestamp): Document new primitives.
10665
10666         * events.c (TIMESTAMP_HALFSPACE): New.
10667
10668         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10669         comparing timestamps correctly (half-space algorithm).
10670
10671         * events.c (Fevent_modifier_bits): Doc fix.
10672
10673         * events.c (Fevent_modifiers): Major doc addition.
10674         * events.c (event_x_y_pixel_internal): Typo fix.
10675         * events.c (syms_of_events): Declare new primitives.
10676
10677         * events.h:
10678         Update long comment for button modifiers, timestamps.
10679
10680         * events.h (struct event_stream):
10681         New current_event_timestamp method.
10682
10683         * extents.c:
10684         * extents.c (extent_in_region_p):
10685         * extents.c (decode_extent):
10686         * extents.c (Fset_extent_parent):
10687         * extents.c (decode_map_extents_flags):
10688         Fix gcc warnings.
10689         [9].
10690
10691         * extents.c (struct extent_at_arg):
10692         * extents.c (decode_extent_at_flag):
10693         * extents.c (extent_at_mapper):
10694         * extents.c (extent_at_bytind):
10695         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10696         * extents.c (Fextents_at): New primitive. [9].
10697         * extents.c (symbol_to_glyph_layout): [9].
10698         Support new primitive `extents-at'.
10699
10700
10701         * extents.c (get_text_property_bytind):
10702         extent_at_bytind has another arg.
10703         [9].
10704
10705         * extents.c (syms_of_extents): New primitive.
10706
10707         * file-coding.c (Fmake_coding_system): [1].
10708         * file-coding.c (subsidiary_coding_system): fix gcc warning
10709         * file-coding.c (syms_of_file_coding): [2].
10710
10711         * fileio.c (Fexpand_file_name):
10712         * fileio.c (Fsysnetunam):
10713         * fileio.c (Ffile_exists_p):
10714         * fileio.c (Ffile_executable_p):
10715         * fileio.c (Fverify_visited_file_modtime):
10716         Clean up GCPROing.
10717
10718         * fileio.c (syms_of_fileio): [2].
10719
10720         * filelock.c (lock_file_1):
10721         * filelock.c (current_lock_owner):
10722         * filelock.c (lock_if_free):
10723         * filelock.c (lock_file):
10724         * filelock.c (unlock_file):
10725         Clean up GCPROing.
10726
10727         * fns.c (concat): Fix gcc warning.
10728
10729         * fns.c (Fmember):
10730         * fns.c (Fold_member):
10731         * fns.c (Fmemq):
10732         * fns.c (Fold_memq):
10733         * fns.c (memq_no_quit):
10734         * fns.c (Fassoc):
10735         * fns.c (Fold_assoc):
10736         * fns.c (Fassq):
10737         * fns.c (Fold_assq):
10738         * fns.c (assq_no_quit):
10739         * fns.c (Frassoc):
10740         * fns.c (Fold_rassoc):
10741         * fns.c (Frassq):
10742         * fns.c (Fold_rassq):
10743         * fns.c (rassq_no_quit):
10744         * fns.c (Fdelete):
10745         * fns.c (Fold_delete):
10746         * fns.c (Fdelq):
10747         * fns.c (Fold_delq):
10748         * fns.c (delq_no_quit):
10749         * fns.c (Fremassoc):
10750         * fns.c (Fremassq):
10751         * fns.c (remassq_no_quit):
10752         * fns.c (Fremrassoc):
10753         * fns.c (Fremrassq):
10754         * fns.c (remrassq_no_quit):
10755         * fns.c (Freverse):
10756         * fns.c (mapcar1):
10757         [1].
10758
10759         * frame-msw.c (mswindows_init_frame_1):
10760         * frame-msw.c (mswindows_delete_frame):
10761         Register popups with dialog code so keyboard traversing works.
10762
10763         * frame-tty.c (tty_raise_frame_no_select): [1].
10764
10765         * frame-x.c:
10766         * frame-x.c (x_set_frame_text_value):
10767         * frame-x.c (x_set_frame_properties):
10768         * frame-x.c (x_create_widgets):
10769         [7].
10770
10771         * frame.c:
10772         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10773
10774         * frame.h (wrap_frame): New.
10775         Macro like wrap_device.
10776
10777         * general.c:
10778         * general.c (SYMBOL):
10779         * general.c (syms_of_general):
10780         Major reorg.  This is now just a wrapper and symbols themselves
10781         are listed in general-slots.h.
10782
10783         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10784         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10785
10786         * glyphs-msw.c (mswindows_native_layout_instantiate):
10787         Add DS_CONTROL so keyboard traversal will work.
10788
10789         * glyphs-widget.c:
10790         * glyphs-widget.c (syms_of_glyphs_widget):
10791         Move some symbols to general-slots.h.
10792
10793         * glyphs-x.c:
10794         * glyphs-x.c (xbm_instantiate_1):
10795         * glyphs-x.c (x_xbm_instantiate):
10796         * glyphs-x.c (x_xface_instantiate):
10797         * glyphs-x.c (autodetect_instantiate):
10798         * glyphs-x.c (cursor_font_instantiate):
10799         * glyphs-x.c (x_update_widget):
10800         * glyphs-x.c (x_widget_instantiate):
10801         * glyphs.c (bitmap_to_lisp_data):
10802         * glyphs.c (pixmap_to_lisp_data):
10803         [7].
10804
10805         * glyphs.c (syms_of_glyphs):
10806         [2].
10807
10808         * gui-x.c:
10809         * gui-x.c (print_widget_value):
10810         * gui-x.c (menu_separator_style_and_to_external):
10811         * gui-x.c (add_accel_and_to_external):
10812         * gui-x.c (button_item_to_widget_value):
10813         * gui-x.c (gui_items_to_widget_values_1):
10814         * gui-x.c (gui_items_to_widget_values):
10815         * gui-x.c (syms_of_gui_x):
10816         * gui-x.c (vars_of_gui_x):
10817         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10818         [9].
10819
10820         * gui-x.h:
10821         Muleize, prototype changes matching gui-x.c.
10822
10823         * gui.c:
10824         * gui.c (separator_string_p):
10825         * gui.c (gui_item_add_keyval_pair):
10826         * gui.c (make_gui_item_from_keywords_internal):
10827         * gui.c (signal_too_long_error):
10828         * gui.c (parse_gui_item_tree_item):
10829         * gui.c (syms_of_gui):
10830         * gui.c (vars_of_gui):
10831         * gui.h:
10832         menu-no-selection-hook moved here (used by MSWin).
10833         Move some symbols to general-slots.h.
10834         [6].
10835         [9].
10836
10837         * insdel.c (get_buffer_pos_char):
10838         * insdel.c (get_buffer_range_char):
10839         Add GC comments.
10840
10841         * keymap.c (keymap_lookup_directly):
10842         * keymap.c (keymap_store):
10843         * keymap.c (ensure_meta_prefix_char_keymapp):
10844         * keymap.c (describe_map):
10845         * keymap.h:
10846         Support new button modifiers.
10847
10848         * lisp-disunion.h (wrap_object):
10849         * lisp-disunion.h (XSETOBJ):
10850         Rename make_obj to wrap_object.
10851
10852         * lisp-union.h:
10853         * lisp-union.h (make_int):
10854         * lisp-union.h (make_char):
10855         Support wrap_object.
10856
10857         * lisp.h:
10858         * lisp.h (LIST_LOOP):
10859         * lisp.h (EXTERNAL_LIST_LOOP):
10860         * lisp.h (LIST_LOOP_2):
10861         * lisp.h (EXTERNAL_LIST_LOOP_1):
10862         * lisp.h (EXTERNAL_LIST_LOOP_2):
10863         * lisp.h (EXTERNAL_LIST_LOOP_3):
10864         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10865         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10866         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10867         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10868         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10869         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10870         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10871         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10872         * lisp.h (struct Lisp_Symbol):
10873         * lisp.h (maybe_continuable_error_with_frob):
10874         Fix up section comments.
10875         Add new types for char to indicate usage.
10876         Delete symbols auto-generated from general-slots.h.
10877         Add prototypes for structured error functions.
10878         Add long comments describing looping macros and change interface
10879         so that lvalues are automatically declared.
10880         Add NO_DECLARE macro in case callers want to declare lvalues
10881         themselves.
10882
10883         * lread.c (read_syntax_error):
10884         * lread.c (continuable_read_syntax_error):
10885         * lread.c (read_structure):
10886         * lread.c (sequence_reader):
10887         * lread.c (read_list_conser):
10888         * lread.c (read_compiled_function):
10889         Rename syntax_error and continuable_syntax_error to avoid clash
10890         with same-named structured error functions.
10891
10892         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10893         * menubar-msw.c (populate_menu_add_item):
10894         * menubar-msw.c (populate_or_checksum_helper):
10895         [5].
10896         [9].
10897
10898         * menubar-x.c:
10899         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10900         Mule-ize whole file.
10901
10902         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10903
10904         * mule-charset.c (Fmake_charset):
10905         * mule-wnnfns.c (Fwnn_set_param):
10906         [1].
10907
10908         * ntproc.c (create_child):
10909         * ntproc.c (Fwin32_set_current_locale):
10910         Add comments portending doom.
10911
10912         * objects-msw.c:
10913         * objects-msw.c (old_font_enum_callback_2):
10914         * objects-msw.c (font_enum_callback_1):
10915         * objects-msw.c (mswindows_enumerate_fonts):
10916         [5].
10917
10918         * objects-x.c:
10919         * objects-x.c (allocate_nearest_color):
10920         * objects-x.c (x_parse_nearest_color):
10921         * objects-x.c (x_initialize_color_instance):
10922         * objects-x.c (x_print_color_instance):
10923         * objects-x.c (x_finalize_color_instance):
10924         * objects-x.c (x_valid_color_name_p):
10925         * objects-x.c (x_initialize_font_instance):
10926         * objects-x.c (x_print_font_instance):
10927         * objects-x.c (valid_x_font_name_p):
10928         * objects-x.c (truename_via_FONT_prop):
10929         * objects-x.c (truename_via_random_props):
10930         * objects-x.c (truename_via_XListFonts):
10931         * objects-x.c (x_font_truename):
10932         * objects-x.c (x_font_instance_truename):
10933         * objects-x.c (x_font_instance_properties):
10934         * objects-x.c (x_list_fonts):
10935         * objects-x.c (x_find_charset_font):
10936         Mule-ize entire file.
10937         [7].
10938
10939         * objects-x.h:
10940         Mule-verify.
10941
10942         * print.c:
10943         * print.c (std_handle_out_external):
10944         * print.c (debug_print_no_newline):
10945         * print.c (syms_of_print):
10946         Output to all debugger kinds in debug-print.
10947         Fix console-output code under MSWin to actually work.
10948
10949         * process-nt.c (send_signal):
10950         * process-nt.c (nt_create_process):
10951         Use newer Unicode macros.
10952
10953         * process-unix.c (unix_create_process):
10954         * process-unix.c (unix_canonicalize_host_name):
10955         * process-unix.c (unix_open_network_stream):
10956         [7].
10957
10958         * scrollbar-x.c:
10959         Mule-verify.
10960
10961         * search.c (syms_of_search):
10962         [2].
10963
10964         * select-msw.c (mswindows_destroy_selection):
10965         Use LIST_LOOP_2.
10966
10967         * select-x.c (symbol_to_x_atom):
10968         [7].
10969
10970         * select.c (syms_of_select):
10971         [2].
10972
10973         * sound.c (Fplay_sound_file):
10974         [7].
10975
10976         * specifier.c:
10977         * specifier.c (decode_specifier_type):
10978         * specifier.c (Fvalid_specifier_locale_type_p):
10979         * specifier.c (check_valid_locale_or_locale_type):
10980         * specifier.c (decode_locale):
10981         * specifier.c (decode_locale_type):
10982         * specifier.c (decode_locale_list):
10983         * specifier.c (check_valid_domain):
10984         * specifier.c (decode_specifier_tag_set):
10985         * specifier.c (Fcanonicalize_tag_set):
10986         * specifier.c (Fdefine_specifier_tag):
10987         * specifier.c (Fspecifier_tag_predicate):
10988         * specifier.c (check_valid_inst_list):
10989         * specifier.c (check_valid_spec_list):
10990         * specifier.c (decode_how_to_add_specification):
10991         * specifier.c (check_modifiable_specifier):
10992         * specifier.c (specifier_add_spec):
10993         * specifier.c (boolean_validate):
10994         * specifier.c (display_table_validate):
10995         [9].
10996
10997         * specifier.c (syms_of_specifier):
10998         Move some symbols to general-slots.h.
10999         [2].
11000
11001         * symbols.c:
11002         * symbols.c (Fmapatoms):
11003         * symbols.c (Fapropos_internal):
11004         Add GCPROs.
11005
11006         * symbols.c (set_default_buffer_slot_variable):
11007         * symbols.c (set_default_console_slot_variable):
11008         [1].
11009
11010         * symbols.c (defsymbol_massage_name_1):
11011         * symbols.c (defkeyword_massage_name):
11012         * symbols.c (deferror_1):
11013         * symbols.c (deferror):
11014         * symbols.c (deferror_massage_name_and_message):
11015         * symeval.h:
11016         * symeval.h (DEFSYMBOL):
11017         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11018
11019         * symbols.c (syms_of_symbols):
11020         [2].
11021
11022         * symsinit.h:
11023         * symsinit.h (init_win32): New.
11024         Also new is syms_of_dialog_mswindows.
11025
11026         * syswindows.h:
11027         Add new Unicode macros, missing Cygwin wide-char functions,
11028         convenience conversion macros for Qmswindows_tstr, macros for
11029         encapsulating required MSWin <-> Cygwin filename conversions,
11030         prototype for dynamically-extracted (not in NT 3.51) functions.
11031
11032         * toolbar-x.c:
11033         Mule-verify.
11034
11035         * tooltalk.c (Fadd_tooltalk_message_arg):
11036         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11037         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11038         [7].
11039
11040         * tooltalk.c (syms_of_tooltalk):
11041         [2].
11042
11043         * unexnt.c:
11044         * unexnt.c (unexec):
11045         Fix up headers, declaration of unexec() to be more standard.
11046
11047 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11048
11049         * offix.h: Revert change to guard macros - they're used in offix.c!
11050
11051 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11052
11053         * lisp.h: Defsubred Fdelete.
11054
11055         * console-msw.h:  (msprinter_default_printer): Added.
11056
11057         * console-msw.c (msprinter_canonicalize_console_connection):
11058         (msprinter_canonicalize_device_connection): Added.
11059
11060         * device-msw.c (msprinter_default_printer):
11061         (Fmswingows_get_default_printer):
11062         (signal_enum_priner_error):
11063         (Fmswingows_printer_list): Added.
11064
11065 2000-07-19  Martin Buchholz <martin@xemacs.org>
11066
11067         * XEmacs 21.2.35 is released.
11068
11069 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11070
11071         * select-x.c (x_handle_selection_request):
11072         Text selected in xemacs and pasted into xterm failed to appear.
11073         Spelling fixes and cosmetic changes.
11074
11075 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11076
11077         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11078         XEmacs frame (fix for doubling chars in dialog boxes).
11079
11080 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11081
11082         * select.c (select_convert_in, select_convert_out):
11083         Don't call intern() every time.
11084
11085         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11086         * select.c (vars_of_select): Initialise them.
11087
11088 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11089
11090         * select.c (selection-coercible-types): New.
11091
11092         * select.c (own-selection-internal):
11093         * select.c (get-selection-internal):
11094         MULE bug fix - these should default to COMPOUND_TEXT and not
11095         STRING for MULE. I think.
11096
11097         * select.c (select_convert_out): Use selection-coercible-types
11098         to find types that we can attempt to perform coercions on.
11099
11100 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11101
11102         * mule-wnnfns.c:
11103         * mule-canna.c:
11104         Add coding: cookie to identify encoding.
11105
11106         * mule-canna.c (CANNA_mode_keys): make static.
11107         Use proper prototypes, even for functions of no arguments.
11108         Remove external prototype for Fding().
11109
11110         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11111
11112         * select.c (syms_of_select): Add missing DEFSUBR.
11113
11114 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11115
11116         * select.c (get_selection_internal, own_selection_internal):
11117         Make the type default to STRING, rather than placing a nil type
11118         into Vselection_alist.
11119
11120 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11121
11122         * gpmevent.c (tty_selection_exists_p):
11123         * gpmevent.c (tty_own_selection):
11124         Updated parameter lists.
11125
11126 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11127
11128         * select.h (selection-alist): Removed declaration.
11129
11130         * select.h (get_local_selection):
11131         * select.c (get_local_selection):
11132         Made static.
11133
11134         * select.h (convert_selection): Removed declaration.
11135         * select.c (convert_selection): Removed.
11136         This function belongs in Lisp.
11137
11138         * select.h (select_convert_in): Declare.
11139         * select.h (select_convert_out): Declare.
11140         * select.c (select_convert_in): New.
11141         * select.c (select_convert_out): New.
11142         New conversion functions for other files to call.
11143
11144         * select.h (select_notify_buffer_kill): Declare.
11145         * select.c (select_notify_buffer_kill): New.
11146         New functions that get called from kill-buffer.
11147
11148         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11149         X-specific lisp code.
11150
11151         * select.h: Declare some of the lisp-visible functions for
11152         external use.
11153
11154         * select.c (clean_local_selection_data): Removed. This was
11155         a disgusting function, and previously should have been in
11156         select-x.c in any case. The functionality is now provided
11157         in select-convert-from-integer (select.el).
11158
11159         * select.c (available-selection-types): Fixed stupidity where
11160         INTEGER and ATOM got added twice. Also add STRING when we see an
11161         extent.
11162
11163         * select.c (get-selection-internal): Removed symbol stripping. No
11164         longer causes conversion when data comes from the internal cache.
11165
11166         * select.c (syms_of_select): Added new functions.
11167
11168         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11169         error checking - previously this called abort!
11170
11171         * select-x.c (x_own_selection): Changed comment.
11172
11173         * select-x.c (x_handle_selection_request): Use select_convert_out.
11174         Don't mess with selection-alist; it's an internal variable of select.c.
11175
11176         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11177
11178         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11179         rather than messing with selection-alist.
11180
11181         * select-msw.c (mswindows_get_foreign_selection):
11182         Use TO_INTERNAL_FORMAT rather than hacking.
11183
11184 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11185
11186         * process-unix.c (unix_open_multicast_group):
11187         (unix_open_multicast_group): Remove useless casts.
11188
11189 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11190
11191         * sound.c (Fplay_sound): Fix `unused variable' warning.
11192
11193         * emacs.c (main): Use correct type for _environ on SCO5.
11194
11195 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11196
11197         * console.h (own_selection_method):
11198         * console.h (selection_exists_p_method):
11199         * console.h (available_selection_types_method): New.
11200         * console.h (register_selection_data_type_method): New.
11201         * console.h (selection_data_type_name): New.
11202
11203         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11204         function & alist to track GlobalAlloc()'d handles that need
11205         releasing when the clipboard data gets replaced or emptied.
11206
11207         * event-msw.c (mswindows_wnd_proc): Call it.
11208
11209         * lisp.h, general.c (Qappend): New symbol representing a
11210         `how-to-add' mode.
11211
11212         * select.c (own-selection-internal):
11213         * select.c (selection-exists-p):
11214         * select.c (available-selection-types): New.
11215         * select.c (register-selection-data-type): New.
11216         * select.c (selection-data-type-name): New.  New functions to deal
11217         with device-specific selection data formats.
11218         * select.c (selection-converter-out-alist): Renamed.
11219         * select.c (selection-converter-in-alist): New.
11220         * select.c (selection-appender-alist): New.  Added new alists.
11221         * select.c (syms_of_select, vars_of_select): Added new symbols &
11222         variables.
11223         * select.c (get_local_selection): Split.
11224         * select.c: Removed spurious type checking - selections may now be
11225         of any type, not just strings.
11226         * select.c (own-selection-internal):
11227
11228         * select.h, select.c (convert_selection): New. Created
11229         convert_selection() function based on get_local_selection().
11230         * select.h, select.c (QCF_*): New symbols representing mswindows
11231         clipboard formats.
11232         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11233         symbols representing `how-to-add' modes.
11234
11235         * select-msw.c (x_sym_p): New.
11236         * select-msw.c (symbol_to_ms_cf): New.
11237         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11238         symbols & clipboard formats. Can also handle string names.
11239         * select-msw.c (mswindows_own_selection):
11240         * select-msw.c (mswindows_selection_exists_p):
11241         Added `data-type' parameter. Use it.
11242         * select-msw.c (mswindows_available_selection_types): New.
11243         * select-msw.c (mswindows_register_selection_data_type): New.
11244         * select-msw.c (mswindows_selection_data_type_name): New.
11245         * select-msw.c (mswindows_own_selection):
11246         * select-msw.c (mswindows_get_foreign_selection):
11247         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11248         * select-msw.c (console_create_select_mswindows): Added new methods.
11249         * select-msw.c (mswindows_destroy_selection): New.
11250         * select-msw.c (Vhandle_alist): New list.
11251         * select-msw.c (mswindows_own_selection):
11252
11253         * select-x.c (x_own_selection):
11254         * select-x.c (x_selection_exists_p):
11255         * select-x.c: Added some comments about maybe using new
11256         functionality.
11257         * select-x.c (x_own_selection):
11258
11259         * specifier.c: Remove definition of Qappend (now in general.c)
11260         * specifier.c (syms_of_specifier): Remove Qappend.
11261
11262 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11263
11264         * config.h.in: Add socklen_t.
11265
11266         * s/decosf4-0.h: No special compiler flags needed or desired.
11267         In particular, undefine _BSD for DEC OSF 4.0.
11268
11269 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11270
11271         * redisplay-msw.c (msprinter_frame_output_end): Added.
11272         (console_type_create_redisplay_mswindows): Referred the above.
11273
11274         * frame.c (setup_frame_without_minibuffer): Do not create a
11275         default minibuffer frame on a printer device.
11276
11277         * frame-msw.c (apply_dc_geometry): Added.
11278         (msprinter_start_page):
11279         (msprinter_init_frame_3):
11280         (msprinter_eject_page): Use it.
11281
11282         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11283         and removed residual duplex and orientation properties.
11284
11285 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11286
11287         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11288
11289         * unexalpha.c: Remove system prototypes from C sources!
11290
11291 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11292
11293         * eval.c: Remove references to M-x edit-options in DEFUNs for
11294         `defvar' and `defconst'.
11295
11296 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11297
11298         * config.h.in: Remove SMART_INCLUDE hackery.
11299
11300         PostgreSQL hacking:
11301         * config.h.in: Don't use SMART_INCLUDE.
11302
11303         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11304         * inline.c: Simply #include "postgresql.h"
11305         * postgresql.c:
11306         - Don't use SMART_INCLUDE
11307         - Use simply "const".
11308         - Use standard doc string conventions.
11309         - Use correct type for result of PQstatus.
11310
11311 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11312
11313         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11314
11315         C++ compilation changes.
11316         * config.h.in (EXTERN_C): Define.
11317         * config.h.in (not): This is also a C++ keyword.
11318         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11319         * cm.c: Use EXTERN_C.
11320         * redisplay-tty.c: Use EXTERN_C.
11321         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11322
11323 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11324
11325         * general.c: Remove duplicate definition for Qfunction.
11326
11327 2000-07-08  Ben Wing  <ben@xemacs.org>
11328
11329         * device-msw.c (msprinter_init_device):
11330         * device-msw.c (sync_printer_with_devmode):
11331         * device-msw.c (handle_devmode_changes):
11332         * device-msw.c (print_dialog_worker):
11333         * device-msw.c (Fmsprinter_apply_settings):
11334         * device-msw.c (hash_devmode):
11335         * device-msw.c (Fmsprinter_settings_despecialize):
11336         use Qmswindows_tstr, not Qctext.
11337
11338         * vm-limit.c (check_memory_limits):
11339         avoid infinite loop printing warning messages.
11340
11341 2000-07-05  Craig Lanning  <lanning@scra.org>
11342
11343         * Makefile.in.in: Add support for including the Windows resources
11344         when building with the cygwin and mingw targets.
11345
11346         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11347         not set or not correct.
11348         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11349         (init_initial_directory): Don't try to use $PWD on the
11350         WIN32_NATIVE target.
11351
11352         * s\cygwin32.h:
11353         [[Add -mwindows to eliminate console window.]] not required --ben
11354         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11355         (MAIL_USE_POP): removed; now handled by configure.
11356
11357         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11358         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11359         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11360         (MAIL_USE_POP): removed; now handled by configure.
11361         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11362         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11363         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11364         constant string.
11365         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11366         up from <winsock.h> via systime.h.
11367         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11368         (getpagesize): from Dan Holmsand, added.
11369         Added #endif which was left dangling by Ben's mega patch; added
11370         comment to help prevent this in the future.
11371
11372         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11373
11374 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11375
11376         * console-msw.h (struct mswindows_device): Removed unnecessary
11377         cached device geometry values.
11378         Added update_tick and an accessor macro.
11379         (Lisp_Devmode): Added lrecord declaration.
11380         (struct msprinter_device): Contain devmode as a Lisp object.
11381         Added mswindows_get_selected_frame_hwnd();
11382
11383         * console.h (struct console_methods): Indentation nitpicking.
11384
11385         * device-msw.c (mswindows_init_device): Do not initialize geometry
11386         cache. Initialize update tick.
11387         (mswindows_device_system_metrics): Ask the device for its geometry.
11388         (global_free_2_maybe):
11389         (devmode_to_hglobal):
11390         (handle_printer_changes):
11391         (ensure_not_printing):
11392         (print_dialog_worker):
11393         (Fmsprinter_print_setup_dialog):
11394         (Fmsprinter_print_dialog):
11395         (plist_get_margin):
11396         (plist_set_margin):
11397         (Fmsprinter_page_setup_dialog): Added functions.
11398         (sync_printer_with_devmode):
11399         (handle_devmode_changes):
11400         (Fmsprinter_get_settings):
11401         (Fmsprinter_select_settings):
11402         (Fmsprinter_apply_settings):
11403         (allocate_devmode):
11404         (Fmsprinter_settings_copy):
11405         (Fmsprinter_settings_despecialize):
11406         (print_devmode):
11407         (finalize_devmode):
11408         (equal_devmode):
11409         (hash_devmode): Added functions
11410         (syms_of_device_mswindows): Init devmode lrecord class.
11411
11412         * device.h: Added an exfun for find-device.
11413
11414         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11415         geometry; although, recreate the device compatible DC.
11416
11417         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11418         (msprinter_init_frame_3):
11419         (msprinter_frame_property):
11420         (msprinter_internal_frame_property_p):
11421         (msprinter_frame_properties):
11422         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11423         print job properties (will move to device settings).
11424
11425         * lisp.h: Added symbols.
11426
11427         * general.c (syms_of_general): Declared them.
11428
11429         * hash.c (string_hash): Added.
11430
11431         * lrecord.h (lrecord_type): Added devmode lrecord type.
11432
11433 2000-07-02  Mike Sperber <mike@xemacs.org>
11434
11435         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11436         FreeBSD 4.0.
11437
11438 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11439
11440         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11441         integer.
11442
11443 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11444
11445         * data.c (Fstring_to_number): Don't recognize floating point if
11446         base is not 10.
11447
11448 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11449
11450         * glyphs-widget.c (tab_control_query_geometry):
11451         (widget_query_geometry):
11452         (button_query_geometry):
11453         * glyphs.c (text_query_geometry):
11454         Enforce type correctness.
11455
11456 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11457
11458         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11459         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11460
11461 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11462
11463         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11464         conflicts with gcc's fixincluded version of FOO.h.
11465
11466         * glyphs.h (image_instance_geometry): Remove trailing `,'
11467
11468 2000-06-08  Mike Alexander  <mta@arbortext.com>
11469
11470         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11471         (shove_thread): Don't write the same output twice
11472         (make_ntpipe_output_stream): Increase priority of shove thread
11473         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11474         chance to run
11475         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11476         it.
11477
11478 2000-06-12  Ben Wing  <ben@xemacs.org>
11479
11480         * s\mingw32.h (sigset):
11481         * s\windowsnt.h (sigset):
11482         rename msw_ to mswindows_ for consistency with general convention.
11483
11484 2000-06-12  Ben Wing  <ben@xemacs.org>
11485
11486         * console-msw.c:
11487         * console-msw.c (mswindows_get_console_hwnd):
11488         * console-msw.c (mswindows_ensure_console_allocated):
11489         * console-msw.c (mswindows_hide_console):
11490         * console-msw.c (mswindows_show_console):
11491         * console-msw.c (mswindows_ensure_console_buffered):
11492         * console-msw.c (mswindows_output_console_string):
11493         * console-msw.c (mswindows_windows9x_p):
11494         * console-msw.h:
11495         * device-msw.c (mswindows_get_workspace_coords):
11496         * device-msw.c (mswindows_device_system_metrics):
11497         * dialog-msw.c (mswindows_popup_dialog_box):
11498         * event-msw.c (mswindows_wnd_proc):
11499         * frame-msw.c (mswindows_size_frame_internal):
11500         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11501         * menubar-msw.c (displayable_menu_item):
11502         * menubar-msw.c (mswindows_char_is_accelerator):
11503         * nt.c:
11504         * nt.c (mswindows_sigset):
11505         * nt.c (mswindows_sigrelse):
11506         * nt.c (mswindows_sigpause):
11507         * nt.c (mswindows_raise):
11508         * nt.c (timer_proc):
11509         * ntproc.c:
11510         * ntproc.c (find_child_console):
11511         * ntproc.c (sys_kill):
11512         * print.c:
11513         * print.c (std_handle_out_external):
11514         * process-nt.c (find_child_console):
11515         * process-nt.c (send_signal_the_95_way):
11516         * process-nt.c (ensure_console_window_exists):
11517         * process-nt.c (nt_create_process):
11518         * syssignal.h:
11519         rename msw_ to mswindows_ for consistency with general convention.
11520
11521         * emacs.c:
11522         * dumper.c:
11523         include nt.h, not syswindows.h.
11524
11525         * nt.c (mswindows_fstat):
11526         * nt.c (mswindows_stat):
11527         prefix mswindows_ instead of attempting to directly override the
11528         library functions.  fix declarations.
11529
11530         * nt.h:
11531         include syswindows.h.  move some sysdep.h stuff here.
11532
11533         * ntheap.h:
11534         include syswindows.h, not <windows.h>.
11535
11536         * ntplay.c:
11537         clean up headers.
11538
11539         * sysdep.c:
11540         clean up headers.
11541
11542         * sysdep.c (sys_fstat):
11543         * sysdep.c (sys_stat):
11544         call mswindows versions when appropriate.
11545
11546         * sysdep.h:
11547         move mswin decls to nt.h.
11548
11549         * syswindows.h:
11550         add long comment describing appropriate use of the various windows
11551         headers.
11552
11553 2000-06-11  Ben Wing  <ben@xemacs.org>
11554
11555         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11556
11557 2000-06-10  Ben Wing  <ben@xemacs.org>
11558
11559         * Makefile.in.in (release):
11560         Correction to make sure xemacs.exe always dumped when correct.
11561
11562         * alloca.c:
11563         * balloon_help.c:
11564         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11565
11566         * buffer.c (set_buffer_internal):
11567         [[[[2]]]]: Remove HAVE_FEP code.
11568
11569         * buffer.c (init_initial_directory):
11570         [3].
11571
11572         * bytecode.c:
11573         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11574         individual files.
11575
11576         * callproc.c:
11577         * callproc.c (call_process_cleanup):
11578         * callproc.c (Fold_call_process_internal):
11579         * callproc.c (child_setup):
11580         * callproc.c (getenv_internal):
11581         * callproc.c (init_callproc):
11582         * callproc.c (vars_of_callproc):
11583         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11584         __CYGWIN32__ -> CYGWIN.
11585         DOS_NT -> WIN32_NATIVE.
11586         Remove MSDOS support/references, converting to WIN32_NATIVE
11587           where correct.
11588         __MINGW32__ -> MINGW.
11589         Fix windows.h includes.
11590         Remove bogus HAVE_NTGUI.
11591
11592         * config.h.in:
11593         [2].
11594
11595         * console-msw.c:
11596         mswindows_message_outputted added for use in allowing startup
11597         errors on the console to be seen.
11598
11599         * console-msw.c (msw_ensure_console_allocated):
11600         * console-msw.c (msw_output_console_string):
11601         * console-msw.c (DHEADER):
11602         * console-msw.c (DOPAQUE_DATA):
11603         * console-msw.c (DEVENT):
11604         * console-msw.c (DCONS):
11605         * console-msw.c (DCONSCDR):
11606         * console-msw.c (DSTRING):
11607         * console-msw.c (DVECTOR):
11608         * console-msw.c (DSYMBOL):
11609         * console-msw.c (DSYMNAME):
11610         Fix warnings.
11611
11612         * console-stream.c (stream_init_console):
11613         Fix text/binary problems.
11614
11615         * device-msw.c:
11616         * device-msw.c (mswindows_finish_init_device):
11617         * device-msw.c (mswindows_delete_device):
11618         [1].
11619
11620         * device.c (handle_asynch_device_change):
11621         [3].
11622
11623         * dgif_lib.c:
11624         * dgif_lib.c (DGifOpenFileName):
11625         * dgif_lib.c (DGifOpenFileHandle):
11626         * dgif_lib.c (DGifGetLine):
11627         * dgif_lib.c (DGifGetPixel):
11628         Added config.h/lisp.h, fix up includes.
11629         [1].
11630
11631         * dired-msw.c:
11632         [4].
11633
11634         * dired.c:
11635         * dired.c (file_name_completion):
11636         * dired.c (Ffile_attributes):
11637         * dired.c (syms_of_dired):
11638         [1].
11639
11640         * dumper.c:
11641         * dumper.c (pdump_file_unmap):
11642         * dumper.c (pdump_load):
11643         [1].
11644
11645         * editfns.c:
11646         * editfns.c (Ftemp_directory):
11647         * editfns.c (user_login_name):
11648         * editfns.c (Fuser_real_login_name):
11649         * editfns.c (get_home_directory):
11650         [1].
11651
11652         * elhash.c (finish_marking_weak_hash_tables):
11653         [[[[5]]]]: Fix GCC warnings.
11654
11655         * emacs.c:
11656         * emacs.c (mswindows_handle_hardware_exceptions):
11657         * emacs.c (make_arg_list_1):
11658         * emacs.c (main_1):
11659         * emacs.c (Fkill_emacs):
11660         * emacs.c (Fdump_emacs):
11661         [1].
11662         Fix problems with nested crashes, add long comment.
11663
11664         * event-Xt.c (init_event_Xt_late):
11665         [1].
11666
11667         * event-msw.c:
11668         * event-msw.c (mswindows_dde_callback):
11669         * event-msw.c (mswindows_handle_sticky_modifiers):
11670         * event-msw.c (mswindows_wnd_proc):
11671         [1].
11672         [5].
11673
11674         * events.c (character_to_event):
11675         [1].
11676
11677         * fileio.c:
11678         * fileio.c (Ffile_name_directory):
11679         * fileio.c (Ffile_name_nondirectory):
11680         * fileio.c (directory_file_name):
11681         * fileio.c (Fexpand_file_name):
11682         * fileio.c (Fsubstitute_in_file_name):
11683         * fileio.c (Ffile_name_absolute_p):
11684         * fileio.c (check_executable):
11685         * fileio.c (Ffile_readable_p):
11686         * fileio.c (Ffile_accessible_directory_p):
11687         * fileio.c (Ffile_modes):
11688         * fileio.c (Funix_sync):
11689         * fileio.c (vars_of_fileio):
11690         [1]. [4].
11691
11692         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11693
11694         Expand getdefdir defn.
11695         Fix bogus rename() comment.
11696
11697         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11698         to use standard XEmacs include files, e.g. sysfile.h, rather
11699         than system-specific includes.
11700
11701         * fns.c:
11702         * fns.c (Fsubseq):
11703         [5]. [6].
11704
11705         * frame.c (vars_of_frame):
11706         [1].
11707
11708         * getloadavg.c:
11709         * getloadavg.c (getloadavg):
11710         [1]. [6].
11711         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11712         (We don't use it elsewhere in the code; just add a comment.)
11713
11714         * gif_io.c:
11715         [6].
11716         Add config.h.
11717
11718         * glyphs-msw.c:
11719         * glyphs-msw.c (mswindows_resource_instantiate):
11720         [1].
11721
11722         * glyphs-x.c (x_native_layout_instantiate):
11723         [5].
11724
11725         * gui-msw.c (Fmswindows_shell_execute):
11726         [1].
11727
11728         * insdel.c:
11729         [4].
11730
11731         * lisp.h:
11732         [4]. [5].
11733
11734         * lread.c (locate_file_in_directory_mapper):
11735         [1].
11736
11737         * lstream.c:
11738         [4].
11739
11740         * mem-limits.h:
11741         * mem-limits.h (get_lim_data):
11742         [1].
11743
11744         * menubar-msw.c:
11745         [4].
11746
11747         * ndir.h:
11748         [1].
11749
11750         * nt.c:
11751         * nt.c (getwd):
11752         * nt.c (closedir):
11753         * nt.c (rva_to_section):
11754         * nt.c (mswindows_executable_type):
11755         [1]. [6].
11756         Fix closedir() defn.
11757
11758         * nt.h:
11759         [[[[8]]]]: *_OK defs moved to sysfile.h.
11760
11761         * ntproc.c:
11762         [6]. [7].
11763
11764         * objects-x.c:
11765         [4].
11766
11767         * print.c:
11768         * print.c (std_handle_out_external):
11769         [1]. [4].
11770
11771         * process-nt.c:
11772         * process-nt.c (nt_create_process):
11773         [6].
11774         try to fix process quoting somewhat.
11775
11776         * process-unix.c (unix_create_process):
11777         [1].
11778
11779         * process.c:
11780         * process.c (vars_of_process):
11781         Add Vnull_device.
11782
11783         * process.h:
11784         [1].
11785
11786         * realpath.c:
11787         * realpath.c (xrealpath):
11788         [1].
11789
11790         * redisplay-tty.c (init_tty_for_redisplay):
11791         [3].
11792
11793         * redisplay.c:
11794         [4]. [6].
11795
11796         * scrollbar-msw.c:
11797         [4].
11798
11799         * sheap.c:
11800         * sheap.c (more_static_core):
11801         * sheap.c (report_sheap_usage):
11802         [5]. [6].
11803
11804         * signal.c:
11805         * signal.c (alarm_signal):
11806         [1]. [6].
11807
11808         * sound.c:
11809         [6].
11810
11811         * strftime.c:
11812         * strftime.c (zone_name):
11813         [1]. [5].
11814
11815         * symsinit.h (init_sunpro):
11816         [1].
11817
11818         * syscommctrl.h:
11819         commctrl.h not in Cygwin b20.1.
11820
11821         * sysdep.c:
11822         * sysdep.c (endif):
11823         * sysdep.c (sys_subshell):
11824         * sysdep.c (init_baud_rate):
11825         * sysdep.c (emacs_get_tty):
11826         * sysdep.c (emacs_set_tty):
11827         * sysdep.c (tty_init_sys_modes_on_device):
11828         * sysdep.c (init_system_name):
11829         * sysdep.c (sys_open):
11830         * sysdep.c (interruptible_open):
11831         * sysdep.c (sys_fopen):
11832         * sysdep.c (sys_mkdir):
11833         * sysdep.c (sys_rename):
11834         * sysdep.c (get_process_times_1):
11835         [1]. [6].
11836
11837         * sysdep.h:
11838         [1].
11839
11840         * sysdir.h:
11841         * sysdir.h (DIRENTRY_NONEMPTY):
11842         [1]. [6].
11843
11844         * sysdll.c (dll_init):
11845         * sysdll.h:
11846         [1].
11847
11848         * sysfile.h:
11849         [1]. [6]. [8].
11850         added text/binary defs.
11851
11852         * sysfloat.h:
11853         [1].
11854
11855         * sysproc.h:
11856         * sysproc.h (EDESTADDRREQ):
11857         * sysproc.h (poll_fds_for_input):
11858         [1]. [6].
11859
11860         * syspwd.h:
11861         [6].
11862
11863         * syssignal.h:
11864         [1].
11865
11866         * systime.h:
11867         [1]. [6].
11868
11869         * systty.h:
11870         [1].
11871
11872         * syswindows.h:
11873         [1].
11874         Always define WIN32_LEAN_AND_MEAN.
11875
11876         * unexcw.c (unexec):
11877         [5].
11878
11879         * unexec.c:
11880         * unexec.c (copy_text_and_data):
11881         * unexec.c (adjust_lnnoptrs):
11882         [1].
11883
11884         * unexnt.c:
11885         * unexnt.c (_start):
11886         [1].
11887
11888 2000-06-07  Ben Wing  <ben@xemacs.org>
11889
11890         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11891         was used only as a model.  We've long since extracted any useful
11892         logic or code out of this. (I just did an exhaustive search.)
11893
11894         * s\msdos.h: Removed.
11895
11896         * s\windows95.h: Removed.
11897
11898 2000-06-10  Ben Wing  <ben@xemacs.org>
11899
11900         * s\cygwin32.h:
11901         [1]. [5].
11902         Don't use extern with fun defs.
11903
11904         * s\mingw32.h:
11905         [1]. [7].
11906         Remove nt\inc include.
11907         Remove getdisk, getdefdir. (The former is unused, the latter
11908         expanded in fileio.h.)
11909
11910         * s\windowsnt.h:
11911         * s\windowsnt.h (WIN32_NATIVE):
11912         * s\windowsnt.h (HAVE_STRCASECMP):
11913         [1]. [7].
11914         Add long comment about preprocessor changes.
11915         Remove getdisk, getdefdir. (The former is unused, the latter
11916         expanded in fileio.h.)
11917
11918 2000-06-10  Ben Wing  <ben@xemacs.org>
11919
11920         * m\arm.h:
11921         * m\delta.h:
11922         * m\intel386.h:
11923         * m\sequent.h:
11924         * m\template.h:
11925         * m\windowsnt.h:
11926         [1].
11927         Remove bogus/unused NO_SOCK_SIGIO.
11928
11929 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11930
11931         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11932         not an Emchar.
11933
11934 2000-06-04  Mike Sperber <mike@xemacs.org>
11935
11936         * casetab.c (set_case_table): For `set-standard-case-table',
11937         actually deposit the new case tables where the rest of XEmacs can
11938         see them.
11939
11940 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11941
11942         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11943
11944 2000-06-05  Ben Wing  <ben@xemacs.org>
11945
11946         * callproc.c (child_setup): Don't do close_load_descs() under
11947         MS Windows.  Put in a comment explaining why.
11948
11949 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11950
11951         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11952         Toolkit shell" which breaks `kill-compilation' on Windows NT
11953         native, retaining STDERR handling improvements.
11954
11955 2000-06-01  Andreas Jaeger  <aj@suse.de>
11956
11957         * s/s390.h: Support for S390, based on a patch by Martin
11958         Schwidefsky <schwidefsky@de.ibm.com>.
11959
11960 2000-05-30  Andy Piper  <andy@xemacs.org>
11961
11962         * window.c (allocate_window):
11963         (make_dummy_parent):
11964         (Fset_window_configuration): use new hashtable type.
11965
11966         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11967         (struct image_instantiator_methods):
11968         (struct Lisp_Image_Instance): make instance geometry signed.
11969
11970         * glyphs.c (instantiate_image_instantiator):
11971         (image_instance_query_geometry):
11972         (image_instance_layout):
11973         (image_instance_layout):
11974         (query_string_geometry):
11975         (text_query_geometry):
11976         (image_instantiate):
11977         (image_instantiate):
11978         (cache_subwindow_instance_in_frame_maybe):
11979         (subwindow_query_geometry): make instance geometry signed.
11980
11981         * glyphs-widget.c (widget_query_geometry):
11982         (widget_layout):
11983         (button_query_geometry):
11984         (tree_view_query_geometry):
11985         (tab_control_query_geometry):
11986         (layout_query_geometry):
11987         (layout_layout):
11988         (native_layout_layout): make instance geometry signed.
11989
11990 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11991
11992         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11993         constant.
11994
11995         * general.c (syms_of_general): Add Qfull_assoc symbol.
11996
11997         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11998         correctly.
11999         (decode_weak_list_type): Decode full-assoc type.
12000         (encode_weak_list_type): Encode full-assoc type.
12001         (Fmake_weak_list): Update doc string.
12002
12003 2000-05-30  Andy Piper  <andy@xemacs.org>
12004
12005         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12006
12007         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12008         (decode_hash_table_weakness): ditto.
12009         (Fhash_table_weakness): ditto.
12010         (Fhash_table_type): ditto.
12011         (finish_marking_weak_hash_tables): ditto.
12012         (hash_table_weakness_validate): ditto.
12013         (syms_of_elhash): ditto.
12014
12015 2000-05-28  Martin Buchholz <martin@xemacs.org>
12016
12017         * XEmacs 21.2.34 is released.
12018
12019 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12020
12021         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12022         start cache.
12023         (updating_line_start_cache): Gone.
12024         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12025         generic code to force a minimum of 1 line laid out in the
12026         CMOTION_DISP case.
12027
12028 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12029
12030         * glyphs.c (instantiate_image_instantiator): Check for initialized
12031         height & width no longer special cases IMAGE_NOTHING.
12032         (nothing_instantiate): Set height and width of instance.
12033
12034 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12035
12036         * unexelf.c (unexec): Search for ".data" section.
12037         Initialize new_data2_offset from old_data_index.
12038         Remove redundant check for ElfW.
12039
12040 2000-05-23  Andy Piper  <andy@xemacs.org>
12041
12042         * glyphs.c (get_image_instantiator_governing_domain): allow more
12043         specific domains as the governing domain rather than expecting an
12044         exact match. This fixes problems with layouts.
12045
12046 2000-05-22  Andy Piper  <andy@xemacs.org>
12047
12048         * redisplay-output.c (compare_runes): check for non-images
12049
12050         * glyphs.c (set_glyph_dirty_p): ditto.
12051         (update_glyph_cachel_data): ditto.
12052
12053         * glyphs-widget.c (layout_post_instantiate): ditto.
12054         (layout_post_instantiate): ditto.
12055
12056         * event-msw.c (mswindows_wnd_proc): warning removal.
12057
12058 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12059
12060         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12061
12062         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12063
12064         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12065
12066         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12067         (mswindows_executable_type): mingw32 now has enough headers for
12068         this to work.
12069
12070 2000-05-20  Andy Piper  <andy@xemacs.org>
12071
12072         * console-msw.c (mswindows_output_last_error): ; -> ,
12073
12074 2000-05-12  Andy Piper  <andy@xemacs.org>
12075
12076         * console-msw.c (FROB): compare ints with ints.
12077
12078 2000-05-11  Andy Piper  <andy@xemacs.org>
12079
12080         * glyphs-x.c (x_finalize_image_instance): make minimal build
12081         happy.
12082
12083 2000-05-20  Ben Wing  <ben@xemacs.org>
12084
12085         * event-Xt.c:
12086         * event-Xt.c (vars_of_event_Xt):
12087         move modifier-keys-are-sticky to event-stream.c.
12088
12089         * event-msw.c:
12090         * event-msw.c (mswindows_enqueue_mouse_button_event):
12091         * event-msw.c (key_needs_default_processing_p):
12092         * event-msw.c (XEMSW_LCONTROL):
12093         * event-msw.c (mswindows_handle_sticky_modifiers):
12094         * event-msw.c (FROB):
12095         * event-msw.c (clear_sticky_modifiers):
12096         * event-msw.c (output_modifier_keyboard_state):
12097         * event-msw.c (output_alt_keyboard_state):
12098         * event-msw.c (mswindows_wnd_proc):
12099         * event-msw.c (mswindows_modifier_state):
12100         * event-msw.c (emacs_mswindows_handle_magic_event):
12101         implement sticky modifiers.
12102
12103         * event-stream.c:
12104         * event-stream.c (vars_of_event_stream):
12105         move modifier-keys-are-sticky here.
12106
12107         * lisp.h:
12108         add CHECK_FUNCTION.
12109
12110         * rangetab.c:
12111         implement map-range-table.
12112
12113
12114 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12115
12116         * redisplay-tty.c (reset_tty_modes):
12117         (tty_redisplay_shutdown): Adjust argument type to
12118         tty_frame_output_end.
12119
12120 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12121
12122         * eval.c (Fbacktrace): Don't output a line with only right
12123         parenthesis.
12124
12125 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12126
12127         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12128         (Fpq_reset_poll): Ditto.
12129
12130 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12131
12132         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12133
12134 2000-05-16  Ben Wing  <ben@xemacs.org>
12135
12136         * buffer.c:
12137         * buffer.c (dfc_convert_to/from_internal_format):
12138         * buffer.c (reinit_vars_of_buffer):
12139         Fix conversion functions to allow reentrancy.
12140
12141         * console-msw.c:
12142         * console-msw.c (mswindows_output_last_error):
12143         New fun, generally useful -- output a human-readable
12144         version of GetLastError() on the console.
12145
12146         * console-msw.h:
12147         * console-msw.h (struct mswindows_frame):
12148         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12149
12150         * console-stream.c (stream_output_begin):
12151         * console-stream.c (stream_output_end):
12152         * console-stream.c (stream_output_vertical_divider):
12153         * console-stream.c (stream_clear_region):
12154         * console-stream.c (stream_flash):
12155         * console-stream.c (console_type_create_stream):
12156         Delete blank stream methods, not needed.
12157
12158         * console.h (struct console_methods):
12159         Split begin/end methods into window and frame.
12160
12161         * event-msw.c:
12162         * event-msw.c (mswindows_handle_paint):
12163         * event-msw.c (output_alt_keyboard_state):
12164         * event-msw.c (mswindows_wnd_proc):
12165         * event-msw.c (vars_of_event_mswindows):
12166         Comment about problems with ignored-expose.
12167         Define mswindows-debug-events; not really implemented.
12168
12169         * frame-msw.c (mswindows_init_frame_1):
12170         random cleanups.
12171
12172         * glyphs-msw.c:
12173         * glyphs-msw.c (begin_defer_window_pos):
12174         * glyphs-msw.c (mswindows_unmap_subwindow):
12175         * glyphs-msw.c (mswindows_map_subwindow):
12176         * glyphs-msw.c (mswindows_resize_subwindow):
12177         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12178
12179         * glyphs.c (make_image_instance_1):
12180         Fix crash.
12181
12182         * gutter.c (Fredisplay_gutter_area):
12183         Use new begin/end methods.
12184
12185         * lisp.h (Dynarr_new2):
12186         New creation fun.
12187
12188         * redisplay-msw.c:
12189         * redisplay-msw.c (mswindows_frame_output_begin):
12190         * redisplay-msw.c (mswindows_frame_output_end):
12191         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12192         New begin/end methods -- handle DeferWindowPos.
12193
12194         * redisplay-output.c (redisplay_move_cursor):
12195         * redisplay-output.c (redraw_cursor_in_window):
12196         * redisplay-output.c (redisplay_update_line):
12197         * redisplay-output.c (redisplay_output_window):
12198         New begin/end methods.
12199
12200         * redisplay-tty.c:
12201         * redisplay-tty.c (tty_frame_output_begin):
12202         * redisplay-tty.c (tty_frame_output_end):
12203         * redisplay-tty.c (console_type_create_redisplay_tty):
12204         New begin/end methods.
12205
12206         * redisplay-x.c:
12207         * redisplay-x.c (x_window_output_begin):
12208         * redisplay-x.c (x_window_output_end):
12209         * redisplay-x.c (console_type_create_redisplay_x):
12210         New begin/end methods.
12211
12212         * redisplay.c (redisplay_frame):
12213         * redisplay.c (Fredisplay_echo_area):
12214         New begin/end methods.
12215         use MAYBE_DEVMETH for clear_frame; it may not exist.
12216
12217         * window.h (WINDOW_XFRAME):
12218         WINDOW_XFOO macros -- get locale and decode struct pointer.
12219
12220
12221 2000-05-12  Ben Wing  <ben@xemacs.org>
12222
12223         * emacs.c:
12224         * emacs.c (ensure_no_quitting_from_now_on):
12225         * emacs.c (fatal_error_signal):
12226         * emacs.c (mswindows_handle_hardware_exceptions):
12227         * emacs.c (main):
12228         * emacs.c (Fkill_emacs):
12229         * emacs.c (shut_down_emacs):
12230         * emacs.c (assert_failed):
12231         various improvements in fatal error handling.
12232
12233         * eval.c:
12234         move preparing_for_armageddon to emacs.c.
12235
12236         * lisp.h:
12237         declare fatal_error_in_progress.
12238
12239         * print.c:
12240         * print.c (std_handle_out_external):
12241         * print.c (std_handle_out_va):
12242         * print.c (stderr_out):
12243         * print.c (stdout_out):
12244         use console under mswin when no standard output.
12245         don't do code conversion during fatal error.
12246
12247         * scrollbar.c (Fscrollbar_page_up):
12248         * scrollbar.c (Fscrollbar_page_down):
12249         fix missing else.  reindent.
12250
12251 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12252
12253         Emergency fix.
12254
12255         * glyphs.h (GLYPH_CACHEL_DESCENT):
12256         (GLYPH_CACHEL_DESCENT):
12257         (GLYPH_CACHEL_DESCENT):
12258         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12259         used in case these are inline functions.
12260         Use more absurd values to error check.
12261
12262         include window.h for error check functions.
12263
12264 2000-05-11  Ben Wing  <ben@xemacs.org>
12265
12266         * cmdloop.c (Freally_early_error_handler):
12267         Display message box under windows; otherwise, message will disappear
12268         before it can be viewed.
12269
12270         * console-msw.c:
12271         * console-msw.c (Fmswindows_message_box):
12272         * console-msw.c (FROB):
12273         * console-msw.c (syms_of_console_mswindows):
12274         Define new fun `mswindows-message-box'.
12275         #### I will merge this into `popup-dialog-box'; just give me
12276         a bit of time.
12277
12278         * general.c:
12279         * general.c (syms_of_general):
12280         Some new symbols used in `mswindows-message-box'.
12281
12282         * glyphs.c:
12283         * glyphs.c (Fset_image_instance_property):
12284         put warning in this fun.
12285
12286         * glyphs.h:
12287         * glyphs.h (GLYPH_CACHEL_WIDTH):
12288         * glyphs.h (GLYPH_CACHEL_ASCENT):
12289         * glyphs.h (GLYPH_CACHEL):
12290         * glyphs.h (GLYPH_CACHEL_GLYPH):
12291         define error-checking versions to try to catch a bug i've seen --
12292         redisplay gets in an infinite loop because the glyph width of the
12293         continuation glyph is 65535.
12294
12295         * lisp.h:
12296         Extern message-box stuff.
12297
12298         * window.c (allocate_window):
12299         * window.c (make_dummy_parent):
12300         * window.c (Fset_window_configuration):
12301         Use EQUAL not EQ for subwindow caches to make them work a bit
12302         better. (Something is still very broken.)
12303
12304
12305 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12306
12307         * glyphs.c (image_instantiate): Suppress gcc warnings.
12308         (Fmake_image_instance): Fix doc string.
12309         * specifier.c (Fmake_specifier): Ditto.
12310
12311 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12312
12313         * paths.h.in (PATH_LOCK): Removed.
12314         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12315         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12316
12317 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12318
12319         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12320         Document (featurep '(and xemacs 21.02)).
12321
12322 2000-05-09  Ben Wing  <ben@xemacs.org>
12323
12324         * buffer.c (complex_vars_of_buffer):
12325         update modeline-format doc.
12326
12327         * device.h:
12328         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12329
12330         * emacs.c:
12331         timeline of all released versions of Emacs, for use in creating
12332         authorship comments and in synching up.
12333
12334         * glyphs-widget.c (image_instantiator_buttons):
12335         * glyphs-widget.c (image_instantiator_edit_fields):
12336         * glyphs-widget.c (image_instantiator_combo_box):
12337         * glyphs-widget.c (image_instantiator_scrollbar):
12338         * glyphs-widget.c (image_instantiator_progress_guage):
12339         * glyphs-widget.c (image_instantiator_tree_view):
12340         * glyphs-widget.c (image_instantiator_tab_control):
12341         * glyphs-widget.c (image_instantiator_labels):
12342         * glyphs-widget.c (image_instantiator_layout):
12343         * glyphs-widget.c (image_instantiator_native_layout):
12344         rename decode_domain method to governing_domain.
12345
12346         * glyphs.c:
12347         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12348         * glyphs.c (add_entry_to_device_ii_format_list):
12349         make sure we don't put an entry more than once into the list.
12350         * glyphs.c (check_instance_cache_mapper):
12351         *************************************************************
12352         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12353         HAVE BEEN GETTING.
12354         *************************************************************
12355         * glyphs.c (get_image_instantiator_governing_domain):
12356         clean up, expand on new concept of governing domain.
12357         * glyphs.c (instantiate_image_instantiator):
12358         * glyphs.c (allocate_image_instance):
12359         use governing_domain instead of cache_domain in naming.
12360         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12361         * glyphs.c (make_image_instance_1):
12362         * glyphs.c (Fmake_image_instance):
12363         allow for any domain (not just device), and process the
12364         governing domain correctly.  very big doc fix.
12365         * glyphs.c (Fimage_instance_domain):
12366         new primitive, to retrieve the governing domain of an image instance.
12367         * glyphs.c (image_instantiate):
12368         use new governing_domain stuff.  this fixes a crash you could get
12369         by instantiating certain widget glyphs in frame locales. (should
12370         signal an error instead of crashing.)
12371         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12372         * glyphs.c (Fglyphp): clean up doc.
12373         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12374         * glyphs.c (syms_of_glyphs):
12375         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12376         * glyphs.c (image_instantiator_format_create): add some comments about
12377         bogus code.
12378         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12379         for current-display-table. (Apparently Hrjove implemented in 1998 a
12380         design I wrote up in 1996, but didn't update the doc string.)
12381
12382         * glyphs.h: clean up a doc string.
12383         * glyphs.h (governing_domain):
12384         * glyphs.h (struct image_instantiator_methods):
12385         changes for governing_domain stuff.
12386
12387         * gutter.c:
12388         * gutter.c (Fgutter_specifier_p):
12389         * gutter.c (Fgutter_size_specifier_p):
12390         * gutter.c (Fgutter_visible_specifier_p):
12391         * objects.c:
12392         * objects.c (Fcolor_specifier_p):
12393         * objects.c (Ffont_specifier_p):
12394         * objects.c (Fface_boolean_specifier_p):
12395         doc strings moved to make-*-specifier.
12396
12397         * redisplay.c (add_disp_table_entry_runes_1):
12398         * redisplay.c (generate_fstring_runes):
12399         * redisplay.c (screen):
12400         add random comments and doc strings.
12401
12402         * specifier.c:
12403         * specifier.c (Fmake_specifier):
12404         major overhaul of this doc string.
12405
12406         * specifier.c (Fvalid_specifier_domain_p):
12407         comment about the bogosity of image instances being domains.
12408         * specifier.c (decode_domain):
12409         now non-static, used in glyphs.c.
12410         * specifier.c (specifier_instance):
12411         comment about the bogosity of image instances being domains.
12412         * specifier.c (Fgeneric_specifier_p):
12413         move doc string to make-generic-specifier.
12414         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12415         rebackslashify.
12416
12417         * specifier.h:
12418         * specifier.h (DOMAIN_FRAME):
12419         * specifier.h (DOMAIN_LIVE_P):
12420         * specifier.h (DOMAIN_XDEVICE):
12421         rebackslashify.
12422         add comments about problems with these macros.
12423         prototype for decode_domain.
12424
12425         * toolbar.c:
12426         * toolbar.c (Ftoolbar_specifier_p):
12427         move doc string to `make-toolbar-specifier'.
12428
12429         * window.c (window_unmap_subwindows_cache_mapper):
12430         *************************************************************
12431         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12432         HAVE BEEN GETTING.
12433         *************************************************************
12434
12435 2000-05-09  Andy Piper  <andy@xemacs.org>
12436
12437         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12438
12439         * window.c (Fset_window_configuration): reset the frame subwindow
12440         cache and re-initialize the window subwindow caches.
12441
12442         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12443
12444 2000-05-09  Ben Wing  <ben@xemacs.org>
12445
12446         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12447         DWORD.
12448
12449 2000-04-26  Mike Woolley  <mike@bulsara.com>
12450
12451         * ntheap.c: Changed recreate_heap to limit the amount reserved
12452         for the heap to that which is actually available. Also now
12453         displays a message box (with some dignostics) in the event that
12454         it still can't start.
12455
12456 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12457
12458         * callproc.c (Fold_call_process_internal): GCPRO path
12459
12460 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12461
12462         Patch by Bill Perry.
12463
12464         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12465         back data instead of #ifdef.
12466         (Fscrollbar_page_down): ditto.
12467
12468 2000-05-07  Ben Wing  <ben@xemacs.org>
12469
12470         * buffer.h:
12471         Kludge for defining Qmswindows_tstr.
12472
12473         * nt.c:
12474         * nt.c (open_input_file):
12475         * nt.c (open_output_file):
12476         * nt.c (rva_to_section):
12477         * nt.c (mswindows_executable_type):
12478         Move all memory-mapped-file routines here (some were in unexnt.c,
12479         which is bad because they are used by process-nt.c, and unexnt
12480         won't be around when portable dumping).  Synched the above routines
12481         with FSF 20.6.
12482
12483         * nt.h:
12484         Removed ifdef'd out bogus code.
12485         Fixed some prototypes.
12486
12487         * nt.h (file_data):
12488         * nt.h (OFFSET_TO_RVA):
12489         * nt.h (RVA_TO_OFFSET):
12490         * nt.h (RVA_TO_PTR):
12491         Moved the memory-mapped-file structures, macros and prototypes
12492         here, to parallel nt.c.  ntheap.h should really be removed
12493         entirely, and it's a non-portable-dumper specific file.
12494
12495         * ntheap.h (round_to_next):
12496         Moved the memory-mapped-file structures, macros and prototypes
12497         to nt.h.
12498
12499         * ntproc.c (compare_env):
12500         Moved rva_to_section and mswindows_executable_type to nt.c.
12501         Moved compare_env to process-nt.c.
12502         ntproc.c will die, one day.
12503
12504         * ntproc.c (sys_spawnve):
12505         Account for win32_ -> mswindows_.
12506
12507         * process-nt.c:
12508         * process-nt.c (struct nt_process_data):
12509         * process-nt.c (ensure_console_window_exists):
12510         * process-nt.c (compare_env):
12511         * process-nt.c (nt_create_process):
12512         * process-nt.c (nt_kill_process_by_pid):
12513         * process-nt.c (syms_of_process_nt):
12514         * process-nt.c (vars_of_process_nt):
12515         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12516         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12517         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12518         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12519         Move compare_env here from ntproc.c.
12520
12521         * process.c (Fprocess_send_region):
12522         Takes an optional fourth argument, BUFFER, which should fix some
12523         problems with call-process.
12524
12525         * syscommctrl.h:
12526         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12527
12528         * syswindows.h:
12529         Move ICC_BAR_CLASSES to syscommctrl.h.
12530         Add preliminary macros for MSWindows/Mule.  More to come.
12531
12532         * unexnt.c:
12533         * unexnt.c (unexec):
12534         open_output_file moved to nt.c.
12535
12536
12537 2000-05-05  Andy Piper  <andy@xemacs.org>
12538
12539         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12540         instance from the frame cache also since GC may catch up too late
12541         to make frame deletion sane.
12542
12543 2000-05-04  Andy Piper  <andy@xemacs.org>
12544
12545         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12546         (x_finalize_image_instance): ungcpro on deletion.
12547
12548         * glyphs.c (image_instantiator_format_create): give pointers a
12549         query geometry method so that the geometry is at least set.
12550
12551         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12552         initialize layouts if using widgets.
12553
12554 2000-05-03  Andy Piper  <andy@xemacs.org>
12555
12556         * nt.c: remove bogus reference to sysmmsystem.h
12557
12558         * gui-x.c (popup_selection_callback): fix no selection abort.
12559
12560 2000-05-02  Andy Piper  <andy@xemacs.org>
12561
12562         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12563         (mswindows_widget_instantiate): ditto.
12564
12565         * glyphs-widget.c (initialize_widget_image_instance): initialize
12566         children correctly.
12567         (widget_instantiate): cope with children and items in the same
12568         instance.
12569
12570         * glyphs.c (mark_image_instance): cope with children as a first
12571         class member.
12572         (image_instance_equal): ditto.
12573         (image_instance_hash): ditto.
12574         (image_instance_changed): ditto.
12575
12576 2000-04-30  Andy Piper  <andy@xemacs.org>
12577
12578         * glyphs.c (subwindow_query_geometry): new function. Return some
12579         defaults.
12580         (subwindow_instantiate): don't assign dimensions if none have been
12581         given.
12582         (image_instantiator_format_create): add subwindow_query_geometry.
12583         (print_image_instance): cope with layouts as widgets.
12584
12585 2000-04-29  Andy Piper  <andy@xemacs.org>
12586
12587         * frame.c (delete_frame_internal): call
12588         free_frame_subwindow_instance_cache so that all subwindows are
12589         finalized before their parent.
12590         (mark_frame): remove subwindow_cachels.
12591         (Fmake_frame): remove subwindow_cachel manipulation.
12592         (allocate_frame_core): subwindow_instance_cache is a weak list.
12593         (delete_frame_internal): set subwindow_instance_cache to nil.
12594
12595         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12596         finalization safe.
12597         (mswindows_finalize_image_instance): use the device
12598         not the domain as the domain may have died already.
12599
12600         * glyphs-x.c (x_finalize_image_instance): ditto.
12601         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12602         HEIGHT.
12603
12604         * redisplay-output.c (redisplay_unmap_subwindows): update for
12605         subwindow instance cache as a weak list.
12606         (redisplay_unmap_subwindows_maybe): ditto.
12607         (redisplay_unmap_subwindows_except_us): ditto.
12608
12609         * glyphs.c (unmap_subwindow): error checking will check the domain
12610         so don't deal with it here. Don't use cachels anymore.
12611         (map_subwindow): ditto.
12612         (update_subwindow_cachel_data): remove old accessor names.
12613         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12614         (Fresize_subwindow): don't update cachel.
12615         (mark_subwindow_cachels):
12616         (update_subwindow_cachel_data):
12617         (add_subwindow_cachel):
12618         (get_subwindow_cachel_index):
12619         (update_subwindow_cachel):
12620         (reset_subwindow_cachels):
12621         (mark_subwindow_cachels_as_not_updated): deleted.
12622         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12623         subwindow instance to the frame cache.
12624         (find_matching_subwindow): update for subwindow instance cache as
12625         a weak list.
12626         (update_widget_instances): ditto.
12627         (image_instance_type_to_mask):inlined.
12628         (free_frame_subwindow_instance_cache): new function. finalize all
12629         subwindows that are instantiated.
12630
12631         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12632         of cachel information.
12633         (IMAGE_INSTANCE_DISPLAY_X):
12634         (IMAGE_INSTANCE_DISPLAY_Y):
12635         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12636         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12637         (XIMAGE_INSTANCE_DISPLAY_X):
12638         (XIMAGE_INSTANCE_DISPLAY_Y):
12639         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12640         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12641         remove subwindow_cachel structure and function references.
12642         (image_instance_type_to_mask): inline from glyphs.c
12643
12644         * redisplay.c (redisplay_frame): remove subwindow_cachel
12645         references.
12646
12647         * frame.h (struct frame): remove subwindow_cachels.
12648         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12649
12650         * frameslots.h: add subwindow_instance_cache.
12651
12652         * window.c (replace_window): check subwindow cache of replacement.
12653         (window_unmap_subwindows_cache_mapper):
12654         (window_unmap_subwindows): new functions. Unmap all subwindows
12655         cached on this window.
12656         (mark_window_as_deleted): unmap all subwindows.
12657
12658 2000-04-27  Andy Piper  <andy@xemacs.org>
12659
12660         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12661
12662         * glyphs-widget.c (widget_layout): return something.
12663         (layout_layout): return something. Fail if not initialized.
12664         (layout_query_geometry): ditto.
12665         (image_instantiator_native_layout): new function. Initialized the
12666         native layout type.
12667         (widget_instantiate): don't do layout stuff here.
12668
12669         * glyphs.c (instantiate_image_instantiator): reorded calling or
12670         instantiate and post_instantiate with layout in between.
12671         (image_instance_layout): be more selective about deciding whether
12672         the layout has been done or not.
12673
12674         * glyphs.h (struct image_instantiator_methods): return a value
12675         from layout_method.
12676
12677 2000-04-26  Andy Piper  <andy@xemacs.org>
12678
12679         * glyphs.c (allocate_image_instance): make initial width and
12680         height unspecified. Set initialized to 0.
12681
12682         * syscommctrl.h new file. Encapsulates commctrl.h.
12683
12684         * syswindows.h new file. Encapsulates windows.h.
12685
12686         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12687         * nt.c: ditto.
12688         * console-msw.h: ditto.
12689
12690         * redisplay-tty.c (tty_output_display_block): remove layout references.
12691
12692         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12693         window handle rather than just the frame.
12694
12695         * glyphs.c (mark_image_instance): remove layout references.
12696         (print_image_instance): ditto.
12697         (image_instance_equal): ditto.
12698         (image_instance_hash): ditto.
12699         (decode_image_instance_type): ditto.
12700         (encode_image_instance_type): ditto.
12701         (image_instantiate): ditto.
12702         (allocate_glyph): ditto.
12703         (Fimage_instance_height): ditto.
12704         (Fimage_instance_width): ditto.
12705         (update_subwindow): ditto.
12706
12707         * redisplay-x.c (x_output_display_block): recode for layouts as
12708         widgets.
12709
12710         * redisplay-output.c (redisplay_output_layout): recode for layouts
12711         as widgets.
12712         (compare_runes): remove layout references.
12713
12714         * redisplay-msw.c (mswindows_output_display_block): recode for
12715         layouts as widgets.
12716
12717         * glyphs-widget.c (image_instantiator_layout): remove
12718         layout_possible_dest_types.
12719         (layout_possible_dest_types): deleted.
12720
12721         * glyphs.h (image_instance_type): remove layout references.
12722         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12723         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12724         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12725
12726 2000-04-25  Andy Piper  <andy@xemacs.org>
12727
12728         * glyphs-widget.c (image_instantiator_buttons):
12729         (image_instantiator_edit_fields):
12730         (image_instantiator_combo_box):
12731         (image_instantiator_scrollbar):
12732         (image_instantiator_progress_guage):
12733         (image_instantiator_tree_view):
12734         (image_instantiator_tab_control):
12735         (image_instantiator_labels):
12736         (image_instantiator_layout): call default post_instantiate method.
12737         (widget_post_instantiate): new function. Simply lays out the
12738         widgets.
12739
12740         * glyphs.h (struct image_instantiator_methods): add
12741         post_instantiate method.
12742
12743         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12744         method calls.
12745
12746 2000-04-23  Andy Piper  <andy@xemacs.org>
12747
12748         * glyphs.h (struct image_instantiator_methods): add
12749         decode_domain_method.
12750         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12751         derived from the domain.
12752         (IMAGE_INSTANCE_FRAME): new accessor.
12753         (XIMAGE_INSTANCE_FRAME): ditto.
12754
12755         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12756         instead of _SUBWINDOW_FRAME.
12757         (finalize_image_instance): ditto.
12758         (Fimage_instance_foreground): ditto.
12759         (Fimage_instance_background): ditto.
12760         (image_instantiate): ditto.
12761         (update_subwindow_cachel): ditto.
12762         (update_subwindow): ditto.
12763         (unmap_subwindow): ditto.
12764         (map_subwindow): ditto
12765         (subwindow_instantiate): ditto.
12766         * glyphs-msw.c (mswindows_update_widget): ditto.
12767         (mswindows_progress_gauge_instantiate): ditto.
12768         (mswindows_tab_control_update): ditto.
12769         * glyphs-x.c (x_update_widget): ditto.
12770         (x_widget_instantiate): ditto.
12771         (x_tab_control_instantiate): ditto.
12772         (x_tab_control_update): ditto.
12773         * event-msw.c (mswindows_wnd_proc): ditto
12774
12775         * glyphs-widget.c (image_instantiator_layout): use
12776         subwindow_decode_domain.
12777         (image_instantiator_buttons): ditto.
12778         (image_instantiator_edit_fields): ditto.
12779         (image_instantiator_combo_box): ditto.
12780         (image_instantiator_scrollbar): ditto.
12781         (image_instantiator_progress_guage): ditto.
12782         (image_instantiator_tree_view): ditto.
12783         (image_instantiator_tab_control): ditto.
12784         (image_instantiator_labels): ditto.
12785         (image_instantiator_layout): ditto.
12786
12787         * glyphs.c: add instance error checking to many functions.
12788         (instantiate_image_instantiator): decode device from cache_domain.
12789         (image_instantiate): partially rewrite by using
12790         decode_image_instantiator_domain to determine what domain the
12791         instance needs to be cached in.
12792         (decode_image_instantiator_domain): new function. Determine what
12793         domain the image needs to be cached in.
12794         (check_window_subwindow_cache): new error checking function.
12795         (check_instance_cache_mapper): ditto.
12796         (check_image_instance_structure): ditto.
12797         (subwindow_decode_domain): new function. Encodes a window as a
12798         subwindow's cache domain.
12799         (image_instantiator_format_create): use it for text and
12800         subwindows.
12801
12802 2000-04-21  Andy Piper  <andy@xemacs.org>
12803
12804         * glyphs.c (image_instance_device): new function.
12805         (image_instance_frame): new function.
12806         (image_instance_window): new function.
12807         (image_instance_live_p): new function.
12808
12809         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12810         cache to nil.
12811
12812         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12813         (IMAGE_INSTANCE_DOMAIN): new accessor.
12814         (XIMAGE_INSTANCE_DOMAIN): ditto.
12815
12816         * glyphs-x.c (x_finalize_image_instance): device->domain.
12817
12818         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12819         (mswindows_finalize_image_instance): ditto.
12820
12821         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12822         (gif_instantiate): ditto.
12823         (png_instantiate): ditto.
12824         (tiff_instantiate): ditto.
12825
12826         * glyphs.c (instantiate_image_instantiator): use domain rather
12827         than device.
12828         (mark_image_instance): device -> domain.
12829         (print_image_instance): ditto.
12830         (finalize_image_instance): ditto.
12831         (image_instance_equal): ditto.
12832         (allocate_image_instance): ditto.
12833         (Fcolorize_image_instance): ditto.
12834         (query_string_geometry): ditto.
12835         (image_instantiate): ditto
12836         (query_string_font): ditto.
12837         (image_instantiate): ditto.
12838         (update_subwindow): ditto.
12839         (unmap_subwindow): ditto.
12840         (map_subwindow): ditto.
12841         (subwindow_instantiate): ditto.
12842
12843         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12844         (DOMAIN_FRAME): ditto.
12845         (DOMAIN_WINDOW): ditto.
12846         (DOMAIN_LIVE_P): ditto.
12847         (XDOMAIN_DEVICE): ditto.
12848         (XDOMAIN_FRAME): ditto.
12849         (XDOMAIN_WINDOW): ditto.
12850
12851         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12852         a valid specifier domain.
12853
12854 2000-04-19  Andy Piper  <andy@xemacs.org>
12855
12856         * glyphs-widget.c (syms_of_glyphs_widget): remove
12857         widget-callback-current-channel.
12858         (vars_of_glyphs_widget): ditto.
12859         * glyphs.h: ditto
12860
12861         * gui.c (get_gui_callback): revert to previous behaviour.
12862
12863 2000-04-18  Andy Piper  <andy@xemacs.org>
12864
12865         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12866         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12867         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12868
12869         * glyphs.c (image_instance_equal): add margin_width.
12870         (image_instance_hash): ditto.
12871
12872         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12873         (layout_query_geometry): ditto.
12874         (layout_layout): ditto.
12875         (syms_of_glyphs_widget): add margin-width.
12876         (image_instantiator_layout): allow margin-width.
12877
12878         * glyphs.c (update_widget_instances): make a normal function.
12879         (syms_of_glyphs): remove Qupdate_widget_instances.
12880         * glyphs.h: ditto.
12881
12882         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12883         so that we don't corrupt ideas about the last event or
12884         command. Remove widget-callback-current-channel fiddling.
12885         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12886
12887 2000-05-01  Martin Buchholz <martin@xemacs.org>
12888
12889         * XEmacs 21.2.33 is released.
12890
12891 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12892
12893         * make-src-depend: Allow dots in header file name.
12894
12895 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12896
12897         * mule-charset.h (struct charset_lookup): Add
12898         next_allocated_1_byte_leading_byte and
12899         next_allocated_2_byte_leading_byte.
12900         * mule-charset.c: Move above two variables so that those values
12901         will be dumped.
12902
12903 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12904
12905         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12906         when string length is zero.
12907         (find_charsets_in_emchar_string): Ditto.
12908
12909 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12910
12911         * lisp.h: extern Qdialog and Qmenubar.
12912
12913         * gui-x.c: added events.h.
12914                 also fixed typo which made the file uncompilable.
12915
12916         * general.c: Added Qmenubar and Qdialog
12917
12918 2000-04-28  Ben Wing  <ben@xemacs.org>
12919
12920         * frame-msw.c (mswindows_init_frame_1):
12921         * frame-msw.c (mswindows_mark_frame):
12922         * event-msw.c (mswindows_enqueue_dispatch_event):
12923         * console-msw.h:
12924         * console-msw.h (struct mswindows_frame):
12925         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12926         there are now three hash tables for callbacks.
12927         mswindows_enqueue_dispatch_event is no longer static.
12928
12929         * dialog-x.c (maybe_run_dbox_text_callback):
12930         * dialog-x.c (dbox_descriptor_to_widget_value):
12931         switch to new cons3 form for callbacks.
12932
12933         * glyphs-msw.c (mswindows_register_gui_item):
12934         * glyphs-msw.c (mswindows_widget_instantiate):
12935         * glyphs-msw.c (add_tree_item):
12936         * glyphs-msw.c (add_tab_item):
12937         new image instance parameter, so it can be passed to callback-ex.
12938         respect :callback-ex as well as :callback.
12939
12940         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12941         add :callback-ex.
12942
12943         * glyphs.c (print_image_instance):
12944         prettify, e.g. now prints widget type.
12945
12946         * gui-x.h:
12947         certain funs have new image instance parameter.
12948
12949         * gui.c:
12950         * gui.c (get_gui_callback):
12951         * gui.c (gui_item_add_keyval_pair):
12952         * gui.c (gui_item_init):
12953         * gui.c (gui_add_item_keywords_to_plist):
12954         * gui.c (mark_gui_item):
12955         * gui.c (gui_item_hash):
12956         * gui.c (gui_item_equal):
12957         * gui.c (copy_gui_item):
12958         * gui.c (syms_of_gui):
12959         recognize callback-ex in a number of places.
12960         also, fix the annoying "can't get out of yes-no dialog" bug.
12961
12962         * gui.h:
12963         * gui.h (struct Lisp_Gui_Item):
12964         recognize callback-ex in a number of places.
12965
12966         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12967         new parameter in button_item_to_widget_value.
12968
12969         * glyphs-x.c (x_update_widget):
12970         * glyphs-x.c (x_button_instantiate):
12971         * glyphs-x.c (x_button_update):
12972         * glyphs-x.c (x_progress_gauge_instantiate):
12973         * glyphs-x.c (x_edit_field_instantiate):
12974         * glyphs-x.c (x_combo_box_instantiate):
12975         * glyphs-x.c (x_tab_control_instantiate):
12976         * glyphs-x.c (x_label_instantiate):
12977         new image instance parameter in various places.
12978
12979         * event-Xt.c:
12980         * event-Xt.c (enqueue_Xt_dispatch_event):
12981         this fun gets exported.
12982
12983         * gui-msw.c:
12984         * gui-msw.c (mswindows_handle_gui_wm_command):
12985         handle both :callback and :callback-ex, and generate our own
12986         event because it's one of the callback-ex arguments.
12987
12988         * gui-x.c:
12989         * gui-x.c (popup_selection_callback):
12990         handle both :callback and :callback-ex, and generate our own
12991         event because it's one of the callback-ex arguments.
12992         * gui-x.c (button_item_to_widget_value):
12993         * gui-x.c (gui_items_to_widget_values_1):
12994         * gui-x.c (gui_item_children_to_widget_values):
12995         * gui-x.c (gui_items_to_widget_values):
12996         new image instance parameter in various places.
12997
12998         * fns.c (Freplace_list):
12999         fix small typo in doc string.
13000
13001         * lisp.h:
13002         declare enqueue_Xt_dispatch_event.
13003
13004 2000-04-28  Ben Wing  <ben@xemacs.org>
13005
13006         * buffer.c:
13007         * buffer.c (Frecord_buffer):
13008         * buffer.c (syms_of_buffer):
13009         delete record-buffer-hook.
13010
13011         * fns.c:
13012         * fns.c (Freplace_list):
13013         * fns.c (syms_of_fns):
13014         new primitive replace-list.
13015
13016         * frameslots.h:
13017         slot for old buffer-alist.
13018
13019         * lisp.h:
13020         exfun replace-list.
13021
13022         * redisplay.c:
13023         * redisplay.c (redisplay_frame):
13024         * redisplay.c (syms_of_redisplay):
13025         * redisplay.c (vars_of_redisplay):
13026         new hook buffer-list-changed-hook.
13027         call it.
13028
13029 2000-04-27  Ben Wing  <ben@xemacs.org>
13030
13031         * extents.h: extern in_modeline_generation.
13032
13033         * redisplay.c (generate_formatted_string_db): set
13034         in_modeline_generation.
13035
13036         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13037         flags if in modeline generation.  otherwise frame-modified-tick
13038         is ticked far too often.
13039         Declare in_modeline_generation.
13040
13041 2000-04-26  Ben Wing  <ben@xemacs.org>
13042
13043         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13044         option.
13045         (vars_of_emacs): add quick-build as an error-checking option.
13046         A bit kludgy, but there doesn't seem much point in creating
13047         a real var for this.
13048
13049         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13050
13051 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13052
13053         * redisplay.h (struct display_line): Add a new variable,
13054         line_continuation.
13055
13056         * redisplay.c (create_text_block): Set dl->line_continuation if
13057         the line continues.
13058         (create_string_text_block): Ditto.
13059         (regenerate_window_incrementally): Use line_continuation instead
13060         of searching continuation glyph.
13061         (add_margin_runes): Call add_glyph_rune.
13062         (add_glyph_rune): Handle margin glyph.
13063
13064 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13065
13066         * filelock.c (fill_in_lock_file_name):
13067         ANSIfy.
13068         Check for IS_ANY_SEP instead of '/'.
13069         (lock_file_1):
13070         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13071         Never check errno without first seeing that system call failed.
13072         (unlock_file): Add GCPRO.
13073         (Flock_buffer): Fix docstring.
13074         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13075
13076 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13077
13078         * sysdep.c (get_pty_max_bytes):
13079         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13080         strings longer than 252 bytes.
13081
13082         * md5.c: Unconditionally include ANSI header <limits.h>
13083
13084         * glyphs-x.c (convert_EImage_to_XImage):
13085         * lisp-union.h (union Lisp_Object):
13086         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13087
13088 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13089
13090         * filelock.c (current_lock_owner): Remove unused variable o, p.
13091
13092 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13093
13094         * callint.c: Remove multiply defined symbol Qlet
13095         (syms_of_callint): ditto.
13096
13097 2000-04-14  Andy Piper  <andy@xemacs.org>
13098
13099         * general.c (syms_of_general): add last-command, this-command, let
13100         and funcall.
13101
13102         * lisp.h: declare various symbols.
13103
13104         * glyphs.h: declare Qwidget_callback_current_channel;
13105
13106         * glyphs-widget.c (syms_of_glyphs_widget): add
13107         Qgui_callback_current_channel.
13108         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13109
13110         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13111         widget-callback-current-channel when invoking the interactive
13112         arg. Also bind last-command and next-command when invoking the
13113         widget updates.
13114         * gui-x.c (popup_selection_callback): ditto.
13115
13116         * gui.c (get_gui_callback): massage args so that we are always
13117         calling eval. This allows us to add our own variable bindings
13118         outside.
13119
13120         * glyphs-x.c (x_button_instantiate): use
13121         gui_items_to_widget_values since this is GC safe.
13122         (x_progress_gauge_instantiate): ditto.
13123         (x_edit_field_instantiate): ditto.
13124         (x_label_instantiate): ditto.
13125
13126         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13127         (emacs_Xt_event_widget_focus_out): new function
13128         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13129         focus.
13130         (emacs_Xt_event_add_widget_actions): new function. add focus
13131         functions as actions.
13132         (init_event_Xt_late): use it.
13133
13134 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13135
13136         * event-stream.c (Fdispatch_event): Doc fix.
13137
13138 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13139
13140         * postgresql.c: Remove all references to PQsetenv*.
13141
13142         * postgresql.h: Remove references to PGsetenvHandler object.
13143         * lrecord.h (lrecord_type): Ditto.
13144
13145 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13146
13147         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13148         real_heigh and real_width members, and accessor macros for these.
13149
13150         * glyphs-msw.c (init_image_instance_geometry): New function.
13151         (init_image_instance_from_dibitmap): Use it.
13152         (mswindows_resource_instantiate): Use it.
13153         (init_image_instance_from_xbm_inline): Use it.
13154         (mswindows_initialize_image_instance_mask): Use real bitmap
13155         geometry.
13156         (mswindows_create_resized_bitmap): Ditto.
13157         (mswindows_create_resized_mask): Ditto.
13158
13159         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13160         and bitmap to their surface size.
13161
13162 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13163
13164         * process-unix.c (unix_send_process): Guard against process MIA
13165         after Faccept_process_output.
13166
13167 2000-04-11  Ben Wing  <ben@xemacs.org>
13168
13169         * eval.c (unbind_to_hairy): fix brokenness introduced by
13170         nanosecond speed improvements.
13171
13172 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13173
13174         * sunplay.c (init_device): To play sounds correctly, the device
13175         apparently needs to be initialized at least once by XEmacs.  Make
13176         it so.
13177
13178 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13179
13180         * redisplay.c (add_margin_runes): Add text image glyph
13181           handling.
13182
13183 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13184
13185         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13186         gcc is newer than 2.5.
13187
13188 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13189
13190         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13191
13192         * fns.c (size_bit_vector):
13193         * alloc.c (size_vector):
13194         (make_vector_internal):
13195         (make_bit_vector_internal):
13196         (sweep_bit_vectors_1):
13197         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13198
13199 2000-04-06  Andy Piper  <andy@xemacs.org>
13200
13201         * gmalloc.c (malloc): undo previous change.
13202         (malloc): ditto.
13203         (free): ditto.
13204         (realloc): ditto.
13205
13206 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13207
13208         * line-number.c (buffer_line_number): Revert to former version.
13209
13210 2000-04-06  Andy Piper  <andy@xemacs.org>
13211
13212         * gmalloc.c (malloc): add error checking.
13213         (malloc): ditto.
13214         (free): ditto.
13215         (realloc): ditto.
13216
13217         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13218         button_item_to_widget_value arg.
13219
13220         * glyphs-x.c (x_button_instantiate): add extra
13221         button_item_to_widget_value arg.
13222         (x_progress_gauge_instantiate): ditto.
13223         (x_edit_field_instantiate): ditto.
13224         (x_label_instantiate): ditto.
13225
13226         * gui-x.c (gui_items_to_widget_values_1): add extra
13227         button_item_to_widget_value arg.
13228         (button_item_to_widget_value): add extra menu_item_p arg.
13229
13230         * gui-x.h: change signature of button_item_to_widget_value.
13231
13232         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13233         button_item_to_widget_value arg.
13234
13235 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13236
13237         * buffer.h (struct buffer): auto_save_modified should be long.
13238
13239 2000-04-05  Andy Piper  <andy@xemacs.org>
13240
13241         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13242         type.
13243         (button_query_geometry): give a little more room so that athena
13244         buttons fit.
13245
13246 2000-04-05  Andy Piper  <andy@xemacs.org>
13247
13248         * faces.c (complex_vars_of_faces): The widget face should inherit
13249         the font of the gui-element face.
13250
13251 2000-04-04  Andy Piper  <andy@xemacs.org>
13252
13253         * glyphs-x.c (x_button_update): new function. unconditionally
13254         update a button's state when the instance is dirty.
13255         (image_instantiator_format_create_glyphs_x): add x_button_update.
13256         (x_widget_instantiate): remove old resize cruft.
13257
13258 2000-04-02  Andy Piper  <andy@xemacs.org>
13259
13260         * frame.c (change_frame_size_1): The introduction of gutters means
13261         that we need to allow 0 as a potential frame dimension.
13262
13263 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13264
13265         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13266         image glyph if allow_cursor.
13267         (add_hscroll_rune): Don't allow cursor to border glyph.
13268         (create_text_block): Ditto.
13269
13270         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13271         text not in buffer.
13272         (redisplay_output_layout): Call ensure_face_cachel_complete for
13273         text image glyph.
13274
13275
13276 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13277
13278         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13279
13280         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13281         not in buffer
13282
13283         * redisplay-tty.c (tty_output_display_block): Delete the routine
13284         for text image glyph
13285         * redisplay-x.c (x_output_display_block): ditto
13286         * redisplay-msw.c (mswindows_output_display_block): ditto
13287
13288 2000-02-02  Mike Alexander  <mta@arbortext.com>
13289
13290         Note: Some of these were committed by accident as part of other
13291         patches.
13292
13293         * regex.c (regex_compile): Avoid compiler warnings.
13294
13295         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13296
13297         * nt.h: Declare term_ntproc correctly.
13298
13299         * nt.c: Remove incorrect declaration of get_home_directory which
13300         is declared correctly in lisp.h.
13301
13302         * keymap.c (get_keyelt): Avoid compiler warnings.
13303         (raw_lookup_key_mapper): Avoid compiler warnings.
13304
13305         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13306
13307         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13308
13309         * filemode.c (mode_string): Avoid compiler warnings.
13310
13311         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13312         avoid warning.
13313
13314         * events-mod.h: Undef some things that winuser.h defines differently.
13315
13316         * data.c (Faset): Avoid compiler warnings.
13317
13318         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13319
13320 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13321
13322         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13323         Fall through to simple beep on error.
13324         Replace "extern" by real header file.
13325
13326         * linuxplay.c: Use nativesound.h
13327         (play_sound_data): Return error code. Be less verbose on error.
13328
13329         * sunplay.c: Use nativesound.h
13330         (play_sound_data): Return error code. Be less verbose on error.
13331
13332         * ntplay.c: Use nativesound.h
13333         (play_sound_data): Return fake error code
13334
13335         * sgiplay.c: Use nativesound.h
13336         (play_sound_data): Return error code
13337
13338         * hpplay.c: Use nativesound.h, partially implement
13339         new error code. Break compilation until finished.
13340         (play_sound_data): error code.
13341
13342         * nativesound.h (play_sound_file):
13343           (play_sound_data): Prototype in new header.
13344
13345 2000-03-31  Andy Piper  <andy@xemacs.org>
13346
13347         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13348         for toggle and radio buttons.
13349         (image_instantiator_buttons): use it.
13350
13351 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13352
13353         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13354         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13355         found. Scrollbar event probably belonged to some old config.
13356
13357 2000-03-31  Andy Piper  <andy@xemacs.org>
13358
13359         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13360         than 1.
13361         (initialize_widget_image_instance): default layout to
13362         LAYOUT_HORIZONTAL rather than 0.
13363         (widget_instantiate): reverse the item list at the end rather than
13364         every iteration.
13365         (layout_layout): re-code for the border text at the front of the
13366         item list rather than at the end.
13367         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13368         provided by the user.
13369         (widget_query_geometry): comment.
13370
13371 2000-03-30  Andy Piper  <andy@xemacs.org>
13372
13373         * glyphs-widget.c (image_instantiator_layout): allow standard
13374         widget keywords in layouts.
13375
13376         * gutter.c (output_gutter): cope with nil gutter contents.
13377
13378         * frame.c (Fset_frame_properties): add gutter docs.
13379
13380 2000-03-29  Andy Piper  <andy@xemacs.org>
13381
13382         * toolbar-msw.c (TBSTYLE_FLAT): add.
13383         (mswindows_output_toolbar): minor fiddling.
13384
13385 2000-03-29  Andy Piper  <andy@xemacs.org>
13386
13387         * gutter.c (output_gutter): force gutter size recalculation if
13388         what we are trying to display won't fit.
13389         (update_gutter_geometry): new function. A per-gutter version of
13390         update_frame_gutter_geometry.
13391         (update_frame_gutter_geometry): use it.
13392         (redraw_exposed_gutter): add extra debugging output.
13393
13394 2000-03-28  Mike Alexander  <mta@arbortext.com>
13395
13396         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13397         (pdump_file_unmap): Implement it on Windows
13398         (pdump_file_get): Save alocated handles for pdump_file_unmap
13399
13400 2000-03-28  Andy Piper  <andy@xemacs.org>
13401
13402         * gui.c (get_gui_callback): treat Quit specially.
13403
13404 2000-03-27  Andy Piper  <andy@xemacs.org>
13405
13406         * glyphs.c (image_instantiate): be careful to check in the same
13407         way we assigned.
13408
13409 2000-03-27  Didier Verna  <didier@xemacs.org>
13410
13411         * config.h.in: define the proper SMART_INCLUDE macro.
13412         handle renaming of `foo_h_path' to `foo_h_file'.
13413
13414         * database.c: ditto.
13415
13416         * emacs.c: ditto.
13417
13418         * linuxplay.c: ditto.
13419
13420         * terminfo.c: ditto.
13421
13422         * tooltalk.h: ditto.
13423
13424 2000-03-27  Andy Piper  <andy@xemacs.org>
13425
13426         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13427         gets updated whenever the face might have changed.
13428
13429 2000-03-26  Mike Alexander  <mta@arbortext.com>
13430
13431         * dumper.c (pdump_resource_free): Fix the comment.
13432
13433 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13434
13435         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13436
13437 2000-03-22  Mike Alexander  <mta@arbortext.com>
13438
13439         * dumper.c: Include Windows headers on Windows
13440         (pdump_resource_free): Add a body to the function
13441         (pdump_load): exe_name -> exe_path and add some comments.
13442
13443 2000-03-25  Mike Alexander  <mta@arbortext.com>
13444
13445         * gui.c (copy_gui_item_tree): Return a value in all cases
13446
13447 2000-03-21  Didier Verna  <didier@xemacs.org>
13448
13449         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13450         lwlib/config.h.in.
13451         (SMART_INCLUDE): new macro.
13452         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13453         the proper location.
13454
13455         * postgresql.c: use it.
13456
13457         * inline.c: ditto.
13458
13459 2000-03-24  Andy Piper  <andy@xemacs.org>
13460
13461         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13462         do this.
13463
13464 2000-03-24  Andy Piper  <andy@xemacs.org>
13465
13466         * redisplay-output.c (compare_runes): use image_instance_changed
13467         to detect changes. Do not depend on glyphs_changed, only depend on
13468         dirtiness.
13469          (redisplay_output_layout): add debug messages.
13470         (compare_runes): ditto.
13471
13472         * glyphs.h: declare new functions.
13473         (struct Lisp_Image_Instance): remove percent and associated
13474         accessors.
13475
13476         * gui.h: declare new copying functions.
13477
13478         * gui.c (copy_gui_item_tree): new function.
13479         (copy_gui_item): new function.
13480         (gui_item_id_hash): revert to standard hash.
13481         (gui_item_hash): ditto.
13482         (gui_item_hash_internal): deleted.
13483         (mark_gui_item): mark value.
13484         (gui_item_add_keyval_pair): add value.
13485         (gui_item_init): ditto.
13486         (gui_add_item_keywords_to_plist): ditto.
13487         (gui_item_equal): ditto.
13488         (syms_of_gui): add Q_value.
13489
13490         * glyphs-x.c (x_progress_gauge_update): use pending items and
13491         value for setting the state.
13492         (x_update_widget): don't set items from pending here.
13493
13494         * glyphs-widget.c (update_widget): update items here.
13495         (progress_gauge_set_property): use items for storing value. Put
13496         new value in pending items.
13497
13498         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13499         items for new value. Convert percent -> value.
13500         (mswindows_tab_control_update): don't update items here.
13501
13502         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13503         (update_subwindow): ditto.
13504         (image_instance_changed): new function. Compare hash values and
13505         past and present widget items.
13506         (image_instantiate): We more careful about where we instantiate
13507         things.
13508         (image_instantiate): add error checking.
13509
13510         * gutter.c (syms_of_gutter): use -hook.
13511
13512 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13513
13514         * console-tty.c (Fset_console_tty_input_coding_system): Use
13515         Qkeyboard.
13516         (Fset_console_tty_output_coding_system): Use Qterminal.
13517         (tty_init_console): Use Qkeyboard and Qterminal.
13518
13519 2000-03-21  Ben Wing  <ben@xemacs.org>
13520
13521         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13522         From Mike Alexander <mta@arbortext.com>.
13523
13524 2000-03-21  Ben Wing  <ben@xemacs.org>
13525
13526         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13527         process brokenness.  Proper implementation to come.
13528         * callproc.c:
13529         Rename call-process-internal to old-call-process-internal.
13530         New impl. in process.el.
13531
13532 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13533
13534         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13535
13536 2000-03-20  Andy Piper  <andy@xemacs.org>
13537
13538         * glyphs.c (full_list_hash): make hashes of the same elements in
13539         different orders return different values.
13540
13541 2000-03-20  Martin Buchholz <martin@xemacs.org>
13542
13543         * XEmacs 21.2.32 is released.
13544
13545 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13546
13547         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13548         (DFC_MALLOC_USE_CONVERTED_DATA):
13549         Add aliasing-safe casts to allow use with char* or unsigned char*
13550         lvalues.
13551
13552         * eldap.c (Fldap_open):
13553         (Fldap_search_basic):
13554         (Fldap_add):
13555         (Fldap_modify):
13556         Make C++-compilable.
13557         Make sure GCPRO'ed variables are initialized.
13558         Use temp variables to avoid repeated calls to Flength.
13559
13560 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13561
13562         * sysfile.h:
13563         Make sure PATH_MAX is always defined.
13564         Include limits.h for PATH_MAX.
13565         Deprecate use of MAXPATHLEN.
13566
13567 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13568
13569         * emacs.c: Add reinit_vars_of_fileio.
13570         * symsinit.h: Add reinit_vars_of_fileio.
13571         * fileio.c (reinit_vars_of_fileio): New.
13572         * fileio.c (Fmake_temp_name):
13573         Initialize temp_name random number from microseconds to make
13574         collisions even less likely.  Initialize always at process startup
13575         time.  (make-temp-name) used to return the same file name twice in
13576         a row when PDUMP.
13577         Random stylistic fiddling.
13578         Comment fixes.
13579
13580 2000-03-20  Andy Piper  <andy@xemacs.org>
13581
13582         * glyphs.c (image_instantiate): allow text glyphs to be
13583         instantiated in the minibuffer window.
13584
13585 2000-03-19  Andy Piper  <andy@xemacs.org>
13586
13587         * glyphs.c (image_instance_hash): be careful about which items we
13588         hash on.
13589
13590         * glyphs-widget.c (tab_control_set_property): record into pending
13591         items rather than the actual items.
13592
13593         * glyphs-x.c (x_update_widget): use pending items to update with.
13594
13595         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13596         to update with.
13597
13598         * glyphs.c (mark_image_instance): mark pending items.
13599
13600         * window.c (Fset_window_configuration): record the buffer.
13601         (Fselect_window): totally revert previous change which breaks many
13602         things.
13603
13604 2000-03-18  Andy Piper  <andy@xemacs.org>
13605
13606         * glyphs-msw.c (mswindows_tab_control_update): force selected
13607         item.
13608
13609         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13610         window domain cache, otherwise we get inconsistencies at
13611         startup. There is something fishy at startup which can lead to the
13612         minibuffer being the selected window when the gutter content is
13613         instantiated.
13614
13615         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13616         gcpros.
13617         (parse_gui_item_tree_children): ditto.
13618         (parse_gui_item_tree_item): ditto.
13619
13620         * glyphs.c (Fupdate_widget_instances): return something.
13621
13622 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13623
13624         * window.c (Fselect_window): Undo 2000-03-17 change.
13625
13626 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13627
13628         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13629         against v7.0 libraries.  Insta-coredump city until the postgres
13630         folks fix it.
13631
13632 2000-03-17  Andy Piper  <andy@xemacs.org>
13633
13634         * faces.c (complex_vars_of_faces): don't give the widget face an
13635         inherited background pixmap.
13636
13637         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13638         selected item.
13639
13640         * event-stream.c (Fdispatch_non_command_events): return something.
13641
13642         * gutter.c (output_gutter): use widget face.
13643         (clear_gutter): ditto.
13644
13645         * NEWS: adjust again.
13646
13647         * window.c (Fselect_window): make sure this runs to completion to
13648         avoid oddities with Fset_window_configuration.
13649         (Fcurrent_window_configuration): in general do not save the
13650         minibuffer as the selected window.
13651
13652         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13653
13654 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13655
13656         * emacs.c (Frunning_temacs_p): Revert previous patch.
13657         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13658
13659 2000-03-16  Andy Piper  <andy@xemacs.org>
13660
13661         * glyphs-x.c (x_tab_control_update): if no widget values then
13662         return.
13663
13664         * NEWS: update for new features.
13665
13666         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13667         synthetic event to the native system.
13668         (reinit_vars_of_event_Xt): set force_event_pending to
13669         emacs_Xt_force_event_pending.
13670
13671         * events.h (struct event_stream): add force_event_pending.
13672
13673         * specifier.c (recompute_one_cached_specifier_in_window): add
13674         comment.
13675
13676         * redisplay.c (redisplay_frame): don't call
13677         update_frame_subwindows. Reset subwindow cachels when
13678         subwindows_changed, removing this was an optimization too far.
13679
13680         * redisplay-output.c (compare_runes): reorganize so that we catch
13681         glyph changes when we want them. Set optimize_output when this
13682         would help layouts.
13683         (redisplay_output_layout): remove frame_really_changed, use
13684         optimize_output instead.
13685
13686         * redisplay-msw.c (mswindows_output_display_block): reset
13687         optimize_output after outputting a glyph.
13688         * redisplay-x.c (x_output_display_block): ditto.
13689         * redisplay-tty.c (tty_output_display_block): ditto.
13690
13691         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13692         functions.
13693         (gutter_specs_changed): do specific gutter positions.
13694         (top_gutter_specs_changed): new function. Only update the
13695         specified gutter specs.
13696         (bottom_gutter_specs_changed): ditto.
13697         (left_gutter_specs_changed): ditto.
13698         (right_gutter_specs_changed): ditto.
13699
13700         * gui.c (gui_item_hash_internal): new function, does a real hash.
13701         (gui_item_id_hash): use it.
13702         (gui_item_hash): hash the eval'ed gui_item.
13703
13704         * gui-x.c (popup_selection_callback): send an eval event to call
13705         Fupdate_widget_instances.
13706
13707         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13708         to call Fupdate_widget_instances.
13709
13710         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13711         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13712
13713         * glyphs.c: (update_frame_subwindows): deleted.
13714         (Fupdate_widget_instances): new function for updating the dirty
13715         state of widgets that might have changed.
13716         (syms_of_glyphs): add Qupdate_widget_instances.
13717         (full_list_hash): hash a list completely.
13718         (image_instance_hash): use it for items and properties.
13719
13720         * frame-msw.c (mswindows_size_frame_internal): remove unused
13721         variable.
13722
13723         * faces.h (struct face_cachel): fix comment.
13724
13725         * event-stream.c (Fdispatch_non_command_events): new
13726         function. Process non-command events, forcing an event cycle
13727         beforehand.
13728         (syms_of_event_stream): declare.
13729         (event_stream_force_event_pending): new function. Force an event
13730         on the native event queue so that an event cycle will occur next
13731         time we check.
13732
13733         * event-msw.c:
13734         (struct ntpipe_shove_stream):
13735         (mswindows_enqueue_dispatch_event):
13736         (mswindows_dequeue_dispatch_event):
13737         (mswindows_cancel_dispatch_event):
13738         (mswindows_pump_outstanding_events):
13739         (mswindows_drain_windows_queue):
13740         (mswindows_handle_paint):
13741         (mswindows_wnd_proc):
13742         (mswindows_key_to_emacs_keysym):
13743         (get_process_input_waitable):
13744         (emacs_mswindows_delete_stream_pair): re-indent file.
13745         (mswindows_need_event): do not process further fds if the windows
13746         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13747         fixes the 100% cpu problem.
13748         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13749
13750 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13751
13752         * alloc.h: New.
13753         * dumper.h: New.
13754         * dumper.c: New.
13755
13756         * emacs.c: Moved dump file searching to dumper.c.
13757         (Frunning_temacs_p): Fixed.
13758
13759         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13760         last_lrecord_type_index_assigned.
13761
13762 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13763
13764         * symsinit.h: Added reinit parameter to init_console_stream
13765         declaration.
13766
13767         * lisp.h: Added file parameter to pdump_load declaration.
13768
13769         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13770         support.  Added dump file searching.
13771
13772         * config.h.in: Added EMACS_PROGNAME.
13773
13774         * console-stream.c (init_console_stream): Fix reinitialisation
13775         when running from temacs.
13776
13777         * alloc.c (pdump): Add id support.
13778         (pdump_load): Add file parameter and signature/id support.
13779
13780         * Makefile.in.in: Add full pdump support.
13781
13782 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13783
13784         * postgresql.c: Update documentation to reflect latest code
13785         status.
13786         (print_result): Show tuple counts in printed representation when
13787         appropriate.
13788         (Fpq_put_nbytes): MULE-ize.
13789         (Fpq_get_line_async): Ditto.
13790
13791 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13792
13793         * postgresql.c (Fpq_lo_import): Fix return value.
13794         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13795
13796 2000-03-13  Ben Wing  <ben@xemacs.org>
13797
13798         * alloc.c (pdump_load):
13799         Fix compile warning under mswin.
13800
13801 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13802
13803         * postgresql.c: Mule-ization, bug fixes.
13804         Use PG_CODING to encapsulate coding system name changes.
13805         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13806         (pg-coding-system): Create.
13807
13808         (Fpq_conn_defaults): Mule-ize.
13809         (Fpq_connectdb): Mule-ize & bug fix.
13810         (Fpq_connect_start): Mule-ize.
13811         (Fpq_set_client_encoding): Mule-ize.
13812         (Fpq_finish): Document `DEAD' connection status.
13813         (Fpq_clear): Ditto.
13814         (Fpq_pgconn): Mule-ize.
13815         (Fpq_exec): Mule-ize & bug fix.
13816         (Fpq_send_query): Ditto.
13817         (Fpq_get_result): Ditto.
13818         (Fpq_res_status): Mule-ize.
13819         (Fpq_result_error_message): Mule-ize.
13820         (Fpq_ntuples): fix comments.
13821         (Fpq_fname): Mule-ize.
13822         (Fpq_fnumber): Mule-ize.
13823         (Fpq_ftype): fix comments.
13824         (Fpq_get_value): Mule-ize.
13825         (Fpq_cmd_status): Ditto.
13826         (Fpq_cmd_tuples): Ditto.
13827         (Fpq_oid_value): Ditto.
13828         (Fpq_notifies): Ditto.
13829         (Fpq_lo_import): Ditto.
13830         (Fpq_lo_export): Ditto.
13831         (Fpq_get_line): Ditto.
13832         (Fpq_put_line): Mule-ize and bug fix.
13833         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13834
13835 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13836
13837         * postgresql.c (vars_of_postgresql): Mule-ize.
13838         (Fpq_conn_defaults): Ditto.
13839
13840 2000-03-12  Ben Wing  <ben@xemacs.org>
13841
13842         * alloc.c (Fmake_byte_code):
13843         * alloc.c (debug_string_purity_print):
13844         * alloc.c (pdump_backtrace):
13845         * alloc.c (pdump_get_indirect_count):
13846         * alloc.c (pdump_register_sub):
13847         * alloc.c (pdump_register_object):
13848         * alloc.c (pdump_register_struct):
13849         * alloc.c (pdump_dump_data):
13850         * alloc.c (pdump_reloc_one):
13851         Minor cleanups.
13852
13853         * console-msw.c:
13854         * console-msw.c (GetConsoleHwnd):
13855         * console-msw.c (msw_hide_console):
13856         * console-msw.c (msw_show_console):
13857         * console-msw.c (msw_ensure_console_buffered):
13858         * console-msw.c (msw_output_console_string):
13859         * console-msw.c (console_type_create_mswindows):
13860
13861         a) Added functions to manipulate the console window for use with
13862         shell support.
13863
13864         b) Added support for writing text to the console, which is now
13865         used under Windows when xemacs is not being run non-interactively,
13866         to write text that would otherwise be destined for stdout because
13867         under these circumstances, text written to stdout tends to
13868         disappear and not be seen.
13869
13870         * console-msw.h:
13871         * event-Xt.c:
13872         * event-Xt.c (x_event_to_emacs_event):
13873         * event-Xt.c (describe_event_window):
13874         * events-mod.h (XEMACS_MOD_CONTROL):
13875         * events.c:
13876         * events.c (Fmake_event):
13877         * events.c (character_to_event):
13878         * events.c (event_to_character):
13879         * events.c (format_event_object):
13880         * events.c (Fevent_modifiers):
13881         * events.h:
13882         * events.h (struct key_data):
13883         * events.h (struct button_data):
13884         * events.h (struct misc_user_data):
13885         * frame-x.c (Fcde_start_drag_internal):
13886         * frame-x.c (Foffix_start_drag_internal):
13887         * gpmevent.c (Freceive_gpm_event):
13888         * keymap.c:
13889         * keymap.c (bucky_sym_to_bucky_bit):
13890         * keymap.c (control_meta_superify):
13891         * keymap.c (make_key_description):
13892         * keymap.c (keymap_lookup_directly):
13893         * keymap.c (create_bucky_submap):
13894         * keymap.c (keymap_store):
13895         * keymap.c (define_key_check_and_coerce_keysym):
13896         * keymap.c (define_key_parser):
13897         * keymap.c (define_key_alternate_name):
13898         * keymap.c (Fdefine_key):
13899         * keymap.c (raw_lookup_key_mapper):
13900         * keymap.c (struct map_keymap_unsorted_closure):
13901         * keymap.c (map_keymap_unsorted_mapper):
13902         * keymap.c (map_keymap_sort_predicate):
13903         * keymap.c (map_keymap_sorted):
13904         * keymap.c (accessible_keymaps_mapper_1):
13905         * keymap.c (where_is_recursive_mapper):
13906         * keymap.c (describe_map_mapper):
13907         * keymap.c (describe_map_sort_predicate):
13908         * keymap.c (describe_map):
13909         * keymap.c (complex_vars_of_keymap):
13910         And a number of other files, the key modifier preprocessor
13911         constants that xemacs uses have names that conflict with constants
13912         defined under MS Windows for other purposes, so they were renamed
13913         to begin with the prefix XEMACS_. The variables that hold such
13914         modifiers were changed to consistently be of type int to fix
13915         various compile warnings.
13916
13917         * console.c (complex_vars_of_console):
13918         * device.c:
13919         * device-msw.c:
13920         * device-msw.c (mswindows_finish_init_device):
13921         * device-msw.c (msw_get_workspace_coords):
13922         * device-msw.c (mswindows_device_system_metrics):
13923         and various other files, added support for a new
13924         device property called offset-workspace which returns the position
13925         of the upper left corner of the workspace area and goes along with
13926         the existing size-workspace property.
13927
13928         * dialog-msw.c:
13929         * dialog-msw.c (push_bufbyte_string_as_unicode):
13930         * dialog-msw.c (mswindows_popup_dialog_box):
13931         Added support for XEmacs-style accelerator specifications in
13932         button text.  Note: I didn't add support for this under X Windows,
13933         and somebody needs to do this.
13934
13935         * dialog.c:
13936         * dialog.c (Fpopup_dialog_box):
13937         Documented the support for accelerators that was just mentioned.
13938
13939         editfns.c (get_home_directory): Changed behavior under Windows
13940         when HOME not defined; former behavior was irretrievably broken.
13941
13942         * emacs.c:
13943         * emacs.c (main_1):
13944         * emacs.c (main):
13945         * minibuf.c (clear_echo_area_internal):
13946         * minibuf.c (echo_area_append):
13947         * print.c:
13948         * print.c (std_handle_out_external):
13949         * print.c (std_handle_out_va):
13950         * print.c (fatal):
13951         * print.c (write_string_to_stdio_stream):
13952         * print.c (output_string):
13953         * print.c (debug_print):
13954         * print.c (debug_backtrace):
13955         * print.c (debug_short_backtrace):
13956         Cleaned up the code that prints text to stdout so that this can be
13957         changed to output into a console window instead under MS Windows,
13958         as described above.
13959
13960         * eval.c:
13961         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13962         * eval.c (internal_catch):
13963         * eval.c (unwind_to_catch):
13964         * eval.c (throw_or_bomb_out):
13965         * eval.c (condition_case_1):
13966         * eval.c (signal_1):
13967         * eval.c (check_error_state_sanity):
13968         * eval.c (call_with_suspended_errors_1):
13969         * eval.c (call_with_suspended_errors):
13970         * eval.c (reinit_vars_of_eval):
13971         Added code to catch throw loops and check for a pesky bug that may
13972         be gone now.
13973
13974         * event-msw.c:
13975         * event-msw.c (key_needs_default_processing_p):
13976         * event-msw.c (mswindows_wnd_proc):
13977         * event-msw.c (mswindows_modifier_state):
13978         * event-msw.c (emacs_mswindows_quit_p):
13979         * event-msw.c (vars_of_event_mswindows):
13980         a) Added support for using the alt key to select menu items as is
13981         standard under MS Windows.  This is controlled using the variable
13982         menu-accelerator-enabled, just like under X Windows.  There is an
13983         option on the options menu to turn this support on.  I really
13984         think that it should be on by default under Windows, but I'm not
13985         going to make this change yet.
13986
13987         b)  Added support for dynamic display size changes under Windows.
13988
13989         * event-stream.c:
13990         * event-stream.c (maybe_echo_keys):
13991         * event-stream.c (Fnext_event):
13992         * event-stream.c (command_builder_find_leaf):
13993         * event-stream.c (lookup_command_event):
13994         * event-stream.c (execute_command_event):
13995         * event-stream.c (pre_command_hook):
13996         * event-stream.c (post_command_hook):
13997         * event-stream.c (syms_of_event_stream):
13998         * event-stream.c (vars_of_event_stream):
13999         * event-stream.c (complex_vars_of_event_stream):
14000         * events.h (struct command_builder):
14001
14002         a) Tried to clean up a little bit the horribly written x-specific
14003         accelerator code that crept into this file.  I moved this code
14004         into menubar-x.c where it belongs. I also needed to move the
14005         command builder structure into the file events.h because it is
14006         accessed directly by this accelerator code.  What I didn't do, but
14007         which should be done at some point, is to properly abstract this
14008         code using device methods instead of the kludgy way that it
14009         currently hooks into the event code.
14010
14011         b) Added the lisp variables this-command-properties and
14012         last-command- properties, which should be used to synchronize two
14013         adjacent commands in preference to playing games with the variable
14014         this-command, which is typically what happens.
14015
14016         c) Added some slightly nasty code to hook into the lisp support
14017         for shifted- motion-key selection.  This is actually necessary for
14018         somewhat complicated reasons, which are described in
14019         simple.el. (NB: I think the proper thing would be to have the code
14020         that calls the pre and post command hooks also call out to generic
14021         lisp functions in simple.el, where all built-in stuff could be
14022         added.  I will think about this more.)
14023
14024         * event-unixoid.c (poll_fds_for_input):
14025         * lread.c (readchar):
14026         * redisplay-tty.c (tty_clear_frame):
14027         * redisplay-x.c (x_get_gc):
14028         * signal.c (interrupt_signal):
14029         And a whole bunch of other files: fixed up places that printed
14030         directly to stderr to instead call the function stderr_out so that
14031         the changes I made under Windows work correctly.
14032
14033         * filemode.c (mode_string):
14034         Warning fixes.
14035
14036         * frame-msw.c:
14037         * frame-msw.c (mswindows_size_frame_internal):
14038         Fixed the computation of frame size and position to keep the frame
14039         within the workspace area, rather than within the physical
14040         dimensions of the screen, so that the frame doesn't overlap window
14041         manager decorations, such as the start menu and toolbar, typically
14042         at the bottom of the screen.
14043
14044         * frame.c (vars_of_frame):
14045         Changed the default frame title format under MS Windows to consist
14046         of buffername-XEmacs, which is standard under MS Windows.  I think
14047         it might be a good idea to change this everywhere because I think
14048         it is superior to the current frame title format, but this is the
14049         kind of change that is likely to cause some people to get annoyed,
14050         so I'm not making it.
14051
14052         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14053
14054         * gui-msw.c (mswindows_handle_gui_wm_command):
14055         Fixed compile warnings.
14056
14057         * gui-x.c:
14058         * gui-x.c (strdup_and_add_accel):
14059         * gui-x.c (button_item_to_widget_value):
14060         * gui-x.h:
14061         Added code to automatically put an accelerator onto the beginning
14062         of menu items that don't have one as is now the standard, and is
14063         described more later.  Also fixed things so that the menu item
14064         name can be an evaluated expression, again a new standard.
14065
14066         * gui.c:
14067         * gui.c (gui_item_add_keyval_pair):
14068         * gui.c (make_gui_item_from_keywords_internal):
14069         * gui.c (gui_add_item_keywords_to_plist):
14070         * gui.c (gui_item_accelerator):
14071         * gui.c (gui_name_accelerator):
14072         * gui.c (gui_item_included_p):
14073         * gui.c (gui_item_display_flush_left):
14074         * gui.c (gui_item_display_flush_right):
14075         * gui.c (parse_gui_item_tree_item):
14076         * gui.c (parse_gui_item_tree_children):
14077         * gui.c (parse_gui_item_tree_list):
14078         Mule-ized.  Cleanup.  GCPRO addition.
14079
14080         * line-number.c (buffer_line_number):
14081         * lisp.h:
14082         * lisp.h (EMACS_INT_MAX):
14083         Added the manifest constant EMACS_INT_MIN corresponding to the
14084         existing constant EMACS_INT_MAX.  This is partially to fix compile
14085         warnings under Windows, and partly for cleanliness.
14086
14087         * menubar-msw.c:
14088         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14089         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14090         * menubar-msw.c (displayable_menu_item):
14091         * menubar-msw.c (populate_menu_add_item):
14092         * menubar-msw.c (populate_or_checksum_helper):
14093         * menubar-msw.c (populate_menu):
14094         * menubar-msw.c (update_frame_menubar_maybe):
14095         * menubar-msw.c (prune_menubar):
14096         * menubar-msw.c (msw_char_is_accelerator):
14097         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14098         * menubar-msw.c (mswindows_handle_wm_command):
14099         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14100         * menubar-msw.c (mswindows_handle_wm_initmenu):
14101         * menubar-msw.c (mswindows_update_frame_menubars):
14102         * menubar-msw.c (mswindows_free_frame_menubars):
14103         * menubar-msw.c (mswindows_popup_menu):
14104         Fixed a bug in handling accelerators where an extra character
14105         would be displayed in the menu item.  Also generalized the
14106         function displayable_menu_item because it is now used by the
14107         dialog box code as well.  And finally, added code in the functions
14108         that create the menubar to extract a list of accelerators for the
14109         top level menubar, which is used in the event code to determine
14110         whether a particular alt-key combination should be used to invoke
14111         a menu item, or should be passed through to access the standard
14112         XEmacs keymap binding for this key combination.
14113
14114         Much needed GCPROing.
14115
14116         * menubar-x.c:
14117         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14118         * menubar-x.c (menu_item_descriptor_to_widget_value):
14119         * menubar-x.c (restore_in_menu_callback):
14120         * menubar-x.c (x_popup_menu):
14121         * menubar-x.c (menu_move_up):
14122         * menubar-x.c (menu_move_down):
14123         * menubar-x.c (menu_move_left):
14124         * menubar-x.c (menu_move_right):
14125         * menubar-x.c (menu_select_item):
14126         * menubar-x.c (command_builder_operate_menu_accelerator):
14127         * menubar-x.c (menu_accelerator_junk_on_error):
14128         * menubar-x.c (command_builder_find_menu_accelerator):
14129         * menubar-x.c (Faccelerate_menu):
14130         * menubar.h:
14131         Moved a whole bunch of code here that was previously in
14132         event-stream.c as described above.  There is also code connected
14133         to the new standard of adding an accelerator to the beginning of
14134         menu items that don't have one as described above and below.
14135
14136         * menubar.c:
14137         * menubar.c (menu_parse_submenu_keywords):
14138         * menubar.c (Fmenu_find_real_submenu):
14139         * menubar.c (Fnormalize_menu_item_name):
14140         * menubar.c (syms_of_menubar):
14141         * menubar.c (vars_of_menubar):
14142         * menubar.c (complex_vars_of_menubar):
14143
14144         a) Cleaned up a bunch of documentation and improved it.
14145
14146         b) XEmacs now automatically adds an accelerator onto the beginning
14147         of any menu items that don't have one.  I did this because there
14148         will inevitably be some menu items on the main menubar that don't
14149         have accelerators on them because the package that adds that
14150         particular menu item hasn't yet been fixed up to have accelerators
14151         in them and it looked rather strange to have some items with and
14152         some items without accelerators, especially since even in items
14153         without accelerators, you can, at least under windows, still
14154         access the item through an accelerator corresponding to the first
14155         character in the item's name.  If people don't like this behavior,
14156         I can add a variable to turn it off optionally, but I'm not sure
14157         this is a good idea because we really do need to have accelerators
14158         on all of the menu items, and if a package doesn't like the
14159         accelerators being put on the first character, then it should put
14160         the accelerators where they belong.
14161
14162         c) I made a behavior change, which is that the descriptor that
14163         specifies the text of the menu item, which formerly was just a
14164         string, can now also be an evaluated expression.  This makes this
14165         descriptor parallel with all of the others, which could also be
14166         evaluated expressions.  This also obviates the need for the
14167         keyword :label, which was previously listed in the documentation
14168         as unimplemented, and which was for the same purpose.
14169
14170         d) GCPROing.
14171
14172         * ntproc.c:
14173         * ntproc.c (new_child):
14174         * ntproc.c (sys_spawnve):
14175         * ntproc.c (find_child_console):
14176         * ntproc.c (sys_kill):
14177         Fixed compile warnings.  By the way, this file should really go
14178         away entirely, and this will happen as soon as Kirill makes his
14179         final round of process cleanups, which affect the function
14180         call-process.
14181
14182         * process-nt.c:
14183         * process-nt.c (struct nt_process_data):
14184         * process-nt.c (find_process_from_pid):
14185         * process-nt.c (send_signal_the_nt_way):
14186         * process-nt.c (enable_child_signals):
14187         * process-nt.c (find_child_console):
14188         * process-nt.c (send_signal_the_95_way):
14189         * process-nt.c (nt_finalize_process_data):
14190         * process-nt.c (ensure_console_window_exists):
14191         * process-nt.c (nt_create_process):
14192         * process-nt.c (nt_kill_child_process):
14193         * process-nt.c (nt_kill_process_by_pid):
14194         * process-nt.c (nt_open_network_stream):
14195         * process-nt.c (vars_of_process_nt):
14196         Copied over code from Emacs 20.5 to correctly send signals to sub-
14197         processes under Windows 95.  Also added code to automatically
14198         create and hide console window when a sub-process is created under
14199         Windows 95, which obviates the need for the separate runemacs.exe
14200         executable, and finally implemented some variables that were
14201         implemented in Emacs 20.5, but previously not in XEmacs.  These
14202         include mswindows- start-process-share-console and
14203         mswindows-start-process-inherit-error-mode. (Both of these only
14204         apply to Windows 95.)
14205
14206         * regex.c (regex_compile): Fixed a compile warning.
14207
14208         * select-msw.c:
14209         * select-msw.c (mswindows_own_selection):
14210         * select-msw.c (mswindows_get_foreign_selection):
14211         * select-msw.c (mswindows_disown_selection):
14212         * select-msw.c (console_type_create_select_mswindows):
14213         * select-msw.c (syms_of_select_mswindows):
14214         Cleaned up the file and implemented the device method
14215         selection_exists_p, which had accidentally been left out.  Also
14216         removed four lisp functions that were remnants from before the
14217         time when the selection code was properly device abstracted.
14218         These functions are no longer needed because there are generic
14219         equivalents, and because they were added recently and don't exist
14220         in FSF Emacs, I don't think there's any problem with just deleting
14221         them.
14222
14223         * sysdep.c:
14224         * sysdep.c (sys_subshell):
14225         Fixed a compile warning, although in this case there's probably
14226         something wrong with this code, and it ought to be looked into
14227         more thoroughly by somebody who understands it.
14228
14229         * window.c:
14230         * window.c (Fwindow_text_area_height):
14231         * window.c (Fwindow_width):
14232         * window.c (Fwindow_full_width):
14233         * window.c (Fwindow_pixel_width):
14234         * window.c (debug_print_window):
14235         * window.c (syms_of_window):
14236         Added functions window-text-area-height and window-full-width,
14237         which are functions for returning various width and height
14238         characteristics of a window. (One of these functions is necessary
14239         for making the file dialog box work correctly, and the other one
14240         was added for completeness.)  Also added a table to the
14241         documentation for window-height which describes the entire scheme
14242         for accessing width and height characteristics of a window.
14243
14244 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14245
14246         * nt.c (fstat): Added a comment for another problem with
14247         non-encapsulated [f]stat(), reported by Adrian Aichner
14248         <aichner@ecf.teradyne.com>.
14249
14250 2000-03-11  Andy Piper  <andy@xemacs.org>
14251
14252         * window.c (make_dummy_parent): initialize subwindow instance
14253         cache.
14254         (Fset_window_configuration): zero extent_modiff.
14255
14256 2000-03-10  Andy Piper  <andy@xemacs.org>
14257
14258         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14259         more changes can be triggered.
14260         (Fredisplay_frame): ditto.
14261         (Fredraw_device): ditto.
14262         (Fredisplay_device): ditto.
14263         (redisplay_frame): make non-static.
14264         (redisplay_frame): call update_frame_gutter_geometry outside of
14265         display proper.
14266
14267         * gutter.h: declare update_frame_gutter_geometry.
14268
14269         * redisplay.h: declare redisplay_frame.
14270
14271         * gutter.c (update_frame_gutter_geometry): move geometry changes
14272         in update_frame_gutters here. Geometry changes can only occur
14273         outside of redisplay.
14274         (update_frame_gutters): remove geometry change code.
14275         (Fredisplay_gutter_area): make sure that we are in display when we
14276         update and that we have flushed any size changes.
14277
14278 2000-03-11  Andy Piper  <andy@xemacs.org>
14279
14280         * alloc.c (pdump_dump_data): remove i & count shadows.
14281
14282 2000-02-27  Mike Alexander  <mta@arbortext.com>
14283
14284         * sysdep.h: Declare pdump_read_file
14285
14286         * sysdep.c (pdump_read_file): New function
14287
14288         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14289         dump data
14290
14291 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14292
14293         * lrecord.h: add `lrecord_type_pgsetenv'.
14294
14295 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14296
14297         * symsinit.h: declare (vars|syms)_of* functions.
14298         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14299
14300 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14301
14302         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14303
14304         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14305         GCCs.
14306
14307         * emacs.c (main_1): Call postgres initialization code.
14308
14309         * postgresql.h: New file.  PostgreSQL RDBMS support.
14310         * postgresql.c: New file.
14311
14312 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14313
14314         * redisplay-output.c (redisplay_output_display_block): Disable
14315         redundant code.
14316
14317 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14318
14319         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14320         (Fcanna_henkan_next): Ditto.
14321         (Fcanna_bunsetu_henkou): Ditto.
14322         (Fcanna_henkan_kakutei): Ditto.
14323         (Fcanna_henkan_end): Ditto.
14324         (Fcanna_henkan_quit): Ditto.
14325         (Fcanna_henkan_next): Set retun value correctly.
14326         (c2mu): Use unsigned char instead of signed char.
14327
14328 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14329
14330         * emacs.c (main_1): Always call syms_of_gui.
14331         * inline.c: include gui.h
14332
14333 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14334
14335         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14336         converted to Lisp_Object.
14337         (Qtop_bottom): New variable.
14338         (syms_of_redisplay): Initialize it.
14339         * redisplay.h (Vvisible_bell): Ditto.
14340         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14341         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14342         only flash top and bottom.
14343
14344 2000-03-08  Andy Piper  <andy@xemacs.org>
14345
14346         * buffer.c (Frename_buffer): record new buffer name the right way.
14347
14348 2000-03-08  Andy Piper  <andy@xemacs.org>
14349
14350         * glyphs.c (update_subwindow): increase hash depth so that widget
14351         items get picked up properly.
14352
14353         * redisplay-output.c (compare_runes): increase hash depth so that
14354         widget items get picked up properly.
14355
14356 2000-03-08  Andy Piper  <andy@xemacs.org>
14357
14358         * gutter.c (output_gutter): add some debug.
14359
14360         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14361         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14362         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14363
14364         * redisplay-output.c (compare_runes): use display_hash to
14365         determine if glyphs really are not the same.
14366
14367         * glyphs.c (update_subwindow): check display_hash to see if
14368         anything really needs to be updated. If not then do
14369         nothing. Record the display_hash after updating.
14370         (image_instance_equal): compare the image_instance face also.
14371
14372 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14373
14374         * redisplay.h: Fix comment style.
14375
14376 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14377
14378         * consle-msw.h (struct mswindows_frame):
14379         Added new member paint_pending to indicate whether a WM_PAINT
14380         magic event has been queued for this frame.
14381
14382         * event-msw.c (mswindows_drain_windows_queue):
14383         Don't queue a WM_PAINT magic event if one is already queued.
14384         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14385
14386         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14387
14388 2000-03-07  Didier Verna  <didier@xemacs.org>
14389
14390         * dired.c: #include `regex.h' after `sysfile.h'.
14391
14392 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14393
14394         * sound.c (init_nas_sound): Fix compiler warning.
14395
14396         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14397         (FREE_STRUCT_P):
14398         (MARK_STRUCT_AS_FREE):
14399         (MARK_STRUCT_AS_NOT_FREE):
14400         Make `gcc -fstrict-aliasing' work properly.
14401
14402 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14403
14404         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14405         (mswindows_delete_device): Call CoUnnitialize().
14406
14407         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14408
14409 2000-02-25    <CraigL@DyCon.com>
14410
14411         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14412         <errno.h>.
14413
14414         * sysdep.c: This extern declaration for environ prevents MinGW
14415         from finding the variable in CRTDLL.DLL.
14416
14417         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14418         windows headers.
14419         (SHGFI_EXETYPE): ..
14420         (WM_MOUSEWHEEL): ..
14421         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14422         definitions.
14423         (MMRESULT): Removed, now defined in cygwin's windows headers.
14424         (TIMECAPS): ..
14425         (uid_t,gid_t,pid_t,ssize_t): ..
14426         (_timeb): Removed, MinGW defines both _timeb and timeb.
14427         (HAVE_H_ERRNO): Added.
14428         (HAVE_TZNAME): Added, configure is not detecting this.
14429
14430 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14431
14432         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14433         * syntax.c (syntax_match): Use it.
14434
14435         * cmds.c: Import auto-fill-chars from FSF Emacs.
14436         (Vauto_fill_chars): New variables.
14437         (internal_self_insert): Check Vauto_fill_chars.
14438         (vars_of_cmds):
14439         Declare auto-fill-chars as a Lisp variable and initialize it.
14440
14441 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14442
14443         * fileio.c (Fmake_symbolic_link):
14444         (Ffile_symlink_p):
14445         Run handlers even if local machine doesn't have symlinks.
14446
14447 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14448
14449         * event-msw.c (mswindows_drain_windows_queue):
14450         Don't generate paint magic events for non-XEmacs frames.
14451
14452 2000-03-05  Andy Piper  <andy@xemacs.org>
14453
14454         * redisplay.c (redisplay_frame): generate_displayable_area and
14455         friends assumes that we are not in GC, we therefore have to make
14456         sure that this doesn't happen.
14457
14458         * gutter.c (calculate_gutter_size): generate_displayable_area
14459         assumes that we are not in GC, we therefore have to make sure that
14460         this doesn't happen.
14461
14462 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14463
14464         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14465
14466 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14467
14468         * redisplay.c (regenerate_window): Make sure we set a sane value
14469         for end_pos even if we jump out of the loop.
14470         (regenerate_window): Answer Ben's question :-).
14471         (start_end_of_last_line): Add may_error argument.
14472         (start_of_last_line):
14473         (end_of_last_line): Pass may_error = 0.
14474         (end_of_last_line_may_error): New function.
14475         (pixel_to_glyph_translation): Use it, so we don't crash in
14476         event_to_glyph.
14477
14478 2000-03-04  Andy Piper  <andy@xemacs.org>
14479
14480         * window.h (struct window): add gutter_extent_modiff.
14481
14482         * window.c (allocate_window): zero out gutter_extent_modiff.
14483
14484         * redisplay.h: declare sync_display_line_structs.
14485
14486         * redisplay.c (add_glyph_rune): add a better comment.
14487
14488         * redisplay-output.c (sync_display_line_structs): made non-static.
14489         (compare_runes): remove unneccesary glyph cachel access.
14490
14491         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14492
14493         * gutter.c (output_gutter): don't output the gutter if extent
14494         changes only involve extents in buffers. use 4 sets of display
14495         lines.
14496         (gutter_extent_signal_changed_region_maybe): new function. Mark
14497         extents in gutters as changed.
14498         (update_frame_gutters): use 4 sets of display lines.
14499         (reset_gutter_display_lines): ditto.
14500         (free_frame_gutters): ditto.
14501         (redraw_exposed_gutter): force output of gutters.
14502
14503         * frame.h (struct frame): add 4 sets of gutter display lines.
14504
14505         * extents.c: (extent_changed_for_redisplay): signal changes to
14506         extents in strings in the gutter as well as extents in buffers.
14507
14508 2000-03-02  Andy Piper  <andy@xemacs.org>
14509
14510         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14511
14512         * frame.c (Fmake_frame): make sure the gutters get initialized
14513         after the frame is visible.
14514         (set_frame_selected_window): re-arrange compilation macros a
14515         little.
14516         (change_frame_size_1): mark gutters changed.
14517
14518         * device.c (Fset_device_class): mark gutters changed.
14519
14520 2000-03-01  Andy Piper  <andy@xemacs.org>
14521
14522         * window.c (window_top_frame_gutter_height): deleted.
14523         (window_bottom_frame_gutter_height): ditto.
14524         (window_left_frame_gutter_height): ditto.
14525         (window_right_frame_gutter_height): ditto.
14526         (window_top_gutter_height): don't use them.
14527         (window_bottom_gutter_height): ditto.
14528         (window_left_gutter_width): ditto.
14529         (window_right_gutter_width): ditto.
14530         (Fsplit_window): ditto.
14531         (Fwindow_pixel_edges): don't use border dimensions here.
14532
14533         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14534         (update_scrollbar_instance): ditto.
14535
14536         * redisplay.c (generate_modeline): don't take gutters into account.
14537         (generate_modeline): ditto.
14538         (redisplay_frame): small gutter display optimization.
14539
14540         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14541
14542         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14543         gutters into account.
14544
14545         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14546         for window position and type.
14547
14548         * gutter.c (get_gutter_coords): fix for frame gutters.
14549         (update_frame_gutters): update frame geometry if the gutters have
14550         changed.
14551         (init_frame_gutters): record current gutter geometries.
14552
14553         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14554         var.
14555         (mswindows_widget_instantiate): ditto.
14556
14557         * frame.h (struct frame): add current_gutter_bounds.
14558
14559         * frame.c (change_frame_size_1): position window and minibuffer
14560         appropriately taking into account the frame gutters.
14561
14562         * frame-x.c: (x_initialize_frame_size): take into account the
14563         frame gutters.
14564
14565 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14566
14567         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14568
14569 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14570
14571         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14572
14573 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14574
14575         * file-coding.c (reset_decoding_stream): Clear previous
14576         detection state when autodetect.
14577
14578 2000-02-29  Didier Verna  <didier@xemacs.org>
14579
14580         * extents.c (set_extent_glyph_1): don't require extents to be
14581         attached.
14582
14583 2000-02-27  Andy Piper  <andy@xemacs.org>
14584
14585         * gutter.c (Fset_default_gutter_position): don't default left and
14586         right gutter visibility to t.
14587         (Fset_default_gutter_position): run
14588         default-gutter-position-changed-hook.
14589         (syms_of_gutter): add default-gutter-position-changed-hook.
14590
14591 2000-02-26  Andy Piper  <andy@xemacs.org>
14592
14593         * specifier.c (Fmake_specifier): add gutter references.
14594
14595         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14596
14597         * lisp.h: declare Fvalid_plist_p.
14598
14599         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14600         as changed.
14601         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14602         well as its visibility so that it gets reconstructed.
14603         (construct_window_gutter_spec): new function. Construct a string
14604         to be displayed in the gutter from a plist of strings. Take care
14605         to only use elements that are declared as visible.
14606         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14607         WINDOW_GUTTER.
14608         (gutter_validate): allow plists of strings in the specifier.
14609         (gutter_specs_changed): construct the real_gutter from the gutter
14610         specs using construct_window_gutter_spec.
14611         (gutter_visible_validate): gutter-visible is a new specifier type.
14612         (Fgutter_visible_specifier_p): new function for the new specifier.
14613         (syms_of_gutter): declare gutter-visible and
14614         Fgutter_visible_specifier_p.
14615         (specifier_type_create_gutter): intitalize new gutter-visible
14616         specifier.
14617         (reinit_specifier_type_create_gutter): ditto.
14618         (specifier_vars_of_gutter): use new specifier type for gutter
14619         visibility.
14620         (init_frame_gutters): construct real_gutter correctly.
14621         (Fgutter_specifier_p): beef up documentation.
14622         (Fgutter_size_specifier_p): ditto.
14623
14624         * winslots.h: add real_gutter slots.
14625
14626 2000-02-25  Andy Piper  <andy@xemacs.org>
14627
14628         * device-msw.c: Be kind to older cygwin versions. From Raymond
14629         Toy <toy@rtp.ericsson.se>.
14630
14631         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14632         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14633
14634 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14635
14636         * elhash.c (MARK_OBJ): Practice macro hygiene.
14637
14638 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14639
14640         * miscplay.c: s/__inline__/inline/g;
14641         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14642         (get_device_compdc): INLINE ==> static inline
14643         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14644         find -name '*.h' | \
14645         xargs global-replace \
14646         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14647
14648 2000-02-25  Andy Piper  <andy@xemacs.org>
14649
14650         * window.c (window_top_frame_gutter_height): new function.
14651         (window_top_window_gutter_height): ditto.
14652         (window_top_gutter_height): use them.
14653         (window_bottom_frame_gutter_height): new function.
14654         (window_bottom_window_gutter_height): ditto.
14655         (window_bottom_gutter_height): use them.
14656         (window_left_window_gutter_width): new function.
14657         (window_left_frame_gutter_width): ditto.
14658         (window_left_gutter_width): use them.
14659         (window_right_window_gutter_width): new function.
14660         (window_right_frame_gutter_width): ditto.
14661         (window_right_gutter_width): use them.
14662         (window_pixel_height): new function. calulate window pixel height
14663         with frame gutter involvement.
14664         (Fsplit_window): calculate new sizes taking frame gutters into
14665         account.
14666         (window_char_height_to_pixel_height): don't include frame gutters.
14667         (window_char_height): use window_pixel_height.
14668         (window_pixheight): rename from window_pixel_height.
14669         (change_window_height): use it.
14670         (window_pixel_height_to_char_height): don't include frame gutters.
14671         (window_char_width_to_pixel_width): ditto.
14672
14673 2000-02-25  Andy Piper  <andy@xemacs.org>
14674
14675         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14676         if it is.
14677
14678 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14679
14680         * alloc.c (staticpro):
14681         (staticpro_nodump):
14682         (dumpstruct):
14683         (dumpopaque):
14684         (pdump_wire):
14685         (pdump_wire_list):
14686         (compact_string_chars):
14687         (pdump_dump_wired):
14688         Convert:  if (foo) abort();  ==>  assert (! foo);
14689
14690         * eldap.c (Fldap_search_basic):
14691         (Fldap_add):
14692         (Fldap_modify):
14693         (Fldap_delete):
14694         Fix compiler warnings, and possible crashes if (random) return
14695         value were to be used.
14696
14697 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14698
14699         * device-msw.c: Workaround ResetDC failure.
14700
14701         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14702         applying a devmode.
14703
14704         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14705         (mswindows_text_width): Do not start printer page.
14706
14707         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14708
14709         * glyphs-msw.c: Added image methods to msprinter console and
14710         msprinter-specific image instantiation.
14711
14712 2000-02-20  Mike Alexander  <mta@arbortext.com>
14713
14714         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14715         to avoid crashes when selection-sets-clipboard is on
14716         (mswindows_own_selection): ditto
14717
14718 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14719
14720         * glyphs-msw.c:
14721         * redisplay-msw.c (get_frame_dc):
14722         (get_frame_compdc):
14723         * console-msw.h:
14724         * device-msw.c (mswindows_init_device):
14725         (mswindows_delete_device):
14726         (msprinter_init_device):
14727         (msprinter_delete_device):
14728         * frame-msw.c (mswindows_init_frame_1):
14729         (mswindows_delete_frame):
14730         (msprinter_init_frame_3):
14731         (msprinter_delete_frame): Move compatible DC to device object from
14732         frame object, for both mswindows and msprinter. Only one at a time
14733         is needed, it is a real waste to have one per frame!
14734
14735 2000-02-23  Andy Piper  <andy@xemacs.org>
14736
14737         * glyphs.c: add dynamic width and height elements.
14738         (image_instance_equal): ditto.
14739
14740         * glyphs-widget.c (widget_query_geometry): calculate width and
14741         height dynamically if required.
14742         (initialize_widget_image_instance): initialize dynamic dimensions.
14743         (widget_instantiate): pick-up dynamic dimensions.
14744
14745         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14746         dynamic determination. Add appropriate macros.
14747
14748         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14749         dimensions safe.
14750         (WINDOW_GUTTER_SIZE): ditto.
14751         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14752
14753         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14754         inline.
14755         (get_frame_dc): ditto.
14756
14757         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14758         here.
14759
14760 2000-02-23  Martin Buchholz <martin@xemacs.org>
14761
14762         * XEmacs 21.2.31 is released.
14763
14764 2000-02-22  Ben Wing <ben@xemacs.org>
14765
14766         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14767
14768 2000-02-22  Andy Piper  <andy@xemacs.org>
14769
14770         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14771
14772 2000-02-21  Mike Sperber <mike@xemacs.org>
14773
14774         * .dbxrc:
14775         * .gdbinit:
14776         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14777         variables.
14778
14779 2000-02-21  Mike Sperber <mike@xemacs.org>
14780
14781         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14782
14783 2000-02-21  Martin Buchholz <martin@xemacs.org>
14784
14785         * XEmacs 21.2.30 is released.
14786
14787 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14788
14789         Performance hacking.
14790         * *.c (syms_of_*):
14791         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14792         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14793         * emacs.c (main_1):
14794         * lisp.h (DEFUN):
14795         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14796         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14797         * symeval.h (DEFVAR_SYMVAL_FWD):
14798         * symbols.c (guts_of_unbound_marker):
14799         Make all c_readonly objects also lisp_readonly and marked for life.
14800         * lrecord.h (struct lrecord_implementation):
14801         Document flags better.
14802         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14803         * lrecord.h (DECLARE_LRECORD):
14804         * lrecord.h (XSETRECORD):
14805         * lrecord.h (RECORDP):
14806         * lrecord.h (RECORD_TYPEP):
14807         * lrecord.h (RECORD_MARKER): New.
14808         * lrecord.h (error_check_*):
14809         * lrecord.h (CONCHECK_NONRECORD):
14810         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14811         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14812         * lrecord.h (set_lheader_implementation):
14813         * lrecord.h (enum lrecord_type): New.
14814         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14815         * alloc.c (disksave_object_finalization_1):
14816         * alloc.c (mark_object):
14817         * alloc.c (lrecord_type_index):
14818         * alloc.c (tick_lcrecord_stats):
14819         * alloc.c (Fgarbage_collect):
14820         * alloc.c (init_alloc_once_early):
14821         * alloc.c (pdump_load):
14822         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14823         * alloc.c (lrecord_type_index): Delete.
14824         Make lisp object type indexes be constant.
14825           Makes (byte-compile) 5% faster.
14826         Put all marker functions into their own array.
14827           Makes (garbage-collect) 5% faster.
14828         Optimize SYMBOL_VALUE_MAGIC_P.
14829           Makes (byte-compile) 2-3% faster.
14830         * config.h.in (gc_checking_assert): New.
14831         * alloc.c: Use gc_checking_assert().
14832         * .dbxrc: Make compatible with new object type implementation.
14833         * .gdbinit: Make compatible with new object type implementation.
14834         * alloc.c: Delete all symbols defined only for debugging, such as
14835         Lisp_Type_Vector and lrecord_charset.
14836
14837 2000-02-21  Andy Piper  <andy@xemacs.org>
14838
14839         * gui-msw.c (Fmswindows_shell_execute): fix file location
14840         problems.
14841
14842         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14843         unshowing so that set_window_buffer doesn't undo
14844         kill_buffer_hook's hard work.
14845
14846         * glyphs-widget.c (tab_control_query_geometry): don't count the
14847         first item when calculating geometry.
14848
14849         * glyphs.c (map_subwindow): remove redundant code.
14850         (update_frame_subwindows): be more circumspect about when to
14851         update subwindows.
14852
14853         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14854         when items haven't changed. Update faces if faces have changed as
14855         well as just the widget face.
14856         (x_tab_control_update): Update faces if faces have changed as well
14857         as just the widget face.
14858
14859 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14860
14861         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14862         registration.
14863         (build_syscolor_string): Use mswindows_color_to_string to try to
14864         get a named color.
14865         (mswindows_device_system_metrics): Reverse the foreground and
14866         background colors so that they match the documentation.
14867
14868         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14869         they match the default Windows palette.
14870         (mswindows_color_to_string): New function.
14871
14872 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14873
14874         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14875
14876 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14877
14878         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14879         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14880
14881         * symbols.c (init_symbols_once_early): Removed obsolete
14882         DATA_SEG_BITS related kludge.
14883         (defvar_magic): Ditto.
14884
14885         * malloc.c: Removed obsolete DATA_SEG_BITS
14886         * ralloc.c: Ditto.
14887         * mem-limits.h: Ditto.
14888
14889         * Makefile.in.in: Removed obsolete HAVE_SHM
14890         * emacs.c: Ditto.
14891
14892 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14893
14894         *  device-msw.c (mswindows_delete_device): Free DDE string
14895         handles.
14896
14897 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14898
14899         * keymap.c (get_keyelt):
14900         * unexnt.c (unexec):
14901         * vm-limit.c (memory_warnings):
14902         * ntheap.c (recreate_heap):
14903         * ntheap.h (UNINIT_PTR):
14904         * select-msw.c (Fmswindows_get_clipboard):
14905         (Fmswindows_set_clipboard):
14906         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14907         * objects-msw.c:
14908         * menubar-msw.c (displayable_menu_item):
14909         * glyphs-msw.c:
14910         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14911         * sysdep.c (sys_subshell):
14912         * process-nt.c (nt_create_process):
14913         * nt.c (normalize_filename):
14914         (dostounix_filename):
14915         (unixtodos_filename):
14916         * ntproc.c (win32_executable_type):
14917         * ntplay.c (play_sound_data_1):
14918         (play_sound_file):
14919         * editfns.c (get_home_directory):
14920         * event-msw.c (struct winsock_stream):
14921         (mswindows_dde_callback):
14922         * device-msw.c (msprinter_init_device):
14923         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14924
14925         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14926         mswindows_clear_toolbar were swapped!
14927
14928         * objects-msw.c:(colormap_t):
14929         (fontmap_t):
14930         * emacs.c (struct standard_args): Fixed const jumble.
14931
14932         * glyphs-widget.c (update_widget): Fixed comparison notation.
14933
14934         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14935
14936         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14937         __declspec(noreturn) syntax.
14938
14939 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14940
14941         * eldap.c (Fldap_open):
14942         (Fldap_search_basic):
14943         (Fldap_add):
14944         (Fldap_modify):
14945         Use new coding system conversion macros.
14946
14947 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14948
14949         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14950
14951 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14952
14953         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14954         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14955
14956         * eldap.c (Qadd, Qreplace): New constant symbols
14957         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14958         interruptions by XEmacs signals
14959         Remove unnecessary calls to slow_down_interrupts and
14960         speed_up_interrupts
14961         (Fldap_search_basic): Renamed from Fldap_search_internal
14962         Added new optional parameter VERBOSE that triggers the
14963         display of progress messages
14964         Remove unnecessary calls to slow_down_interrupts and
14965         speed_up_interrupts
14966         LDAP result code analysis rewritten
14967         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14968         (syms_of_eldap): Define the new symbols and functions
14969
14970
14971 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14972
14973         * realpath.c: Determine PATH_MAX maximally portably.
14974
14975         * insdel.c (bytecount_to_charcount): Optimize.
14976         The function used to be optimized for entirely ASCII sequences.
14977         Now it is optimized for successive characters from the same
14978         charset.  This also wins big for _mostly_ ASCII sequences.
14979
14980         * fileio.c (Ffile_truename): convert return from realpath() using
14981         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14982         - Rewrite GCPROing slightly.
14983
14984         * sysdep.c (sys_open): Do filename conversion, like all other
14985         sys_* functions.  Fixes bug:
14986         (let ((file-name-coding-system 'iso-8859-2))
14987            (write-region x y latin2-name))
14988         ==> writes filename using internal encoding.
14989
14990 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14991
14992         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14993         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14994         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14995         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14996         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14997         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14998         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14999         (CONST_IF_NOT_DEBUG): Delete.
15000         * alloc.c (this_one_is_unmarkable): Delete.
15001         (mark_object): Don't check for this_one_is_unmarkable. Use the
15002         c_readonly flag instead.
15003         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15004
15005 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15006
15007         * event-msw.c (mswindows_drain_windows_queue):
15008         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15009         away redundant repaint events.
15010
15011 2000-02-17  Andy Piper  <andy@xemacs.org>
15012
15013         * redisplay.h: declare mark_redisplay_structs.
15014
15015         * redisplay.c (redisplay_window):
15016         (redisplay_frame): don't check subwindows_state_changed.
15017         (mark_redisplay): mark gutters here.
15018
15019         * glyphs.c: (instantiate_image_instantiator): always layout if we
15020         haven't done so already.
15021         (allocate_image_instance): don't mark as dirty.
15022         (update_subwindow): bind inhibit_quit.
15023
15024         * gutter.c (mark_gutters): new function.
15025
15026         * glyphs-x.c (x_update_widget): Always resize to get round a
15027         widget bug.
15028
15029         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15030         breaking absolutely everything.
15031
15032         * gutter.h: declare mark_gutters.
15033
15034 2000-02-16  Martin Buchholz <martin@xemacs.org>
15035
15036         * XEmacs 21.2.29 is released.
15037
15038 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15039
15040         * fns.c (size_bit_vector): Fix computation of the size.
15041
15042 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15043
15044         * *.[ch]: Change CONST to const globally.
15045         find -name '*.[ch]' | \
15046         xargs global-replace \
15047         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15048         - Remove vestigial references to CONST_IS_LOSING
15049
15050 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15051
15052         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15053         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15054         events instead of dispatching them directly.
15055         (mswindows_handle_paint): New function to do repainting.
15056         (mswindows_wnd_proc):
15057         (emacs_mswindows_handle_magic_event): Call above function.
15058
15059 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15060
15061         * objects-msw.c (mswindows_create_font_variant): Return the new
15062         font handle.
15063         (initialize_font_instance): Get font metrics from the underlined
15064         variant of the font to cope with the case where the underlined
15065         font has a bigger descent.
15066
15067 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15068
15069         * gui.c (gui_item_accelerator): Return the first underlined
15070         character in item name.
15071
15072 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15073
15074         * lisp.h: Added Qprinter.
15075
15076         * general.c (syms_of_general): Initialized it.
15077
15078         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15079         (get_frame_dc):
15080         (get_frame_compdc): Made inline.
15081
15082         * console.h (struct console_methods): Added eject_page method.
15083
15084         * frame.h: Added FRAME_DISPLAY_P and friends.
15085         Aligned backslahes in many macros in more readable fashion.
15086         Added page_number to struct frame, and an accessor macro
15087         for it.
15088
15089         * defice.h: Added DEVICE_DISPLAY_P and friends.
15090
15091         * device.c (Fdevice_printer_p): Used these.
15092
15093         * frame.c (allocate_frame_core): Initialize page number.
15094         (Fprint_job_page_number):
15095         (Fprint_job_eject_page): Implemented.
15096
15097         * frame-msw.c (msprinter_eject_page): Added method.
15098         (msprinter_start_page): Added.
15099
15100         * window.c (Fwindow_truncated_p): Fixed docstring.
15101         (Fwindow_last_line_visible_height): Implemented.
15102
15103 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15104
15105         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15106
15107 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15108
15109         * syntax.c (scan_words): Always advance at least one character.
15110
15111 2000-02-13  Andy Piper  <andy@xemacs.org>
15112
15113         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15114         to make sure the glyph is in the cachels.
15115
15116         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15117         global image instance flag.
15118         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15119         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15120
15121         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15122         (Fset_image_instance_property): mark layout as changed.
15123         (invalidate_glyph_geometry_maybe): mark layout as changed.
15124         (glyph_width): use new NEEDS_LAYOUT macro.
15125         (glyph_ascent): ditto.
15126         (glyph_descent): ditto.
15127         (glyph_height): ditto.
15128         (image_instance_layout): mark layout as clean after laying out.
15129         (update_subwindow): don't mark layout as clean here.
15130
15131         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15132         should no longer be needed.
15133
15134         * glyphs-x.c (x_update_widget): sanitize asserts.
15135         (x_finalize_image_instance): sanitize assignment to widgets.
15136
15137         * glyphs-widget.c (widget_instantiate): don't need to clear the
15138         layout flag here.
15139
15140 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15141
15142         * sysdep.c (getcwd): Use standard prototype.
15143         * sysdep.h (getcwd): Use standard prototype.
15144
15145         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15146         (sequence, start, end).
15147         Remove redundant type checking.
15148         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15149         view of `caller-protects') to avoid a crash where the real fix was
15150         found elsewhere.
15151
15152 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15153
15154         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15155
15156         * s/sol2.h: Remove feature macro initialization.
15157
15158         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15159         (vector_hash): New.  Code from internal_hash.
15160         * lrecord.h:
15161         Fix up allocation subsystem comments.
15162
15163         * config.h.in: Add __EXTENSIONS__ for Solaris.
15164
15165         * systime.h (EMACS_GETTIMEOFDAY): New.
15166         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15167         Remove Solaris-specific code.
15168         Use void* for the (ignored) second arg for gettimeofday().
15169
15170         * elhash.c (hash_table_hash): Implement it, finally.
15171         * elhash.c:  Use hashcode_t.
15172
15173         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15174         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15175
15176         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15177         * fns.c (size_bit_vector):
15178         * alloc.c (size_vector):
15179         (make_vector_internal):
15180         (make_bit_vector_internal):
15181         (sweep_bit_vectors_1):
15182         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15183
15184 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15185
15186         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15187         Include strings.h to avoid warnings for bzero and strcasecmp.
15188
15189 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15190
15191         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15192         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15193
15194         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15195         sequence.
15196
15197 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15198
15199         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15200         use a value field instead.
15201         (symbol_value_forward_forward): Use value field.
15202         (DEFVAR_SYMVAL_FWD): Use value field.
15203         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15204         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15205         (DEFVAR_CONST_INT): Ditto.
15206         (DEFVAR_BOOL): Ditto.
15207         (DEFVAR_CONST_BOOL): Ditto.
15208         (DEFVAR_INT_MAGIC): Ditto.
15209         (DEFVAR_BOOL_MAGIC): Ditto.
15210
15211         * symbols.c (guts_of_unbound_marker): Use value field.
15212         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15213         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15214
15215         * lisp.h: Declare dumpopaque and noninteractive1.
15216
15217         * alloc.c (dumpopaque): Added.
15218         (pdump_dump_opaquevec): Added.
15219         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15220         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15221         noninteractive.
15222
15223 2000-02-10  Andy Piper  <andy@xemacs.org>
15224
15225         * glyphs.c (image_instance_layout): if the size changes, mark it
15226         as such.
15227
15228         * redisplay-output.c (redisplay_output_layout): Update the
15229         subwindow here.
15230         (redisplay_output_subwindow): ditto.
15231
15232         * glyphs.c (update_subwindow): make sure we reset flags for
15233         layouts as well as everything else.
15234
15235         * glyphs-widget.c (layout_layout): don't need to set the instances
15236         dimensions here.
15237
15238 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15239
15240         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15241         not HAVE_DLOPEN, which is a lower-level thing.
15242
15243         * .cvsignore: Ignore gmon.out
15244
15245 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15246
15247         * .cvsignore: Ignore portable dumper xemacs.dmp file
15248
15249 2000-02-09  Andy Piper  <andy@xemacs.org>
15250
15251         * redisplay-output.c (redisplay_output_layout): be more clever
15252         about when we output based on the changed flags.
15253
15254         * glyphs.h (struct image_instantiator_methods): add update_method.
15255         (struct Lisp_Image_Instance): add changed flags. Declare new
15256         macros for manipulating them.
15257
15258         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15259         (image_instance_parent_glyph): find an image_instance's parent
15260         glyph or image_instance.
15261         (image_instance_layout): mark the size as changed.
15262         (set_image_instance_dirty_p): new function. mark an image
15263         instance, plus all of its parents, as dirty.
15264         (Fset_image_instance_property): use it.
15265         (Fglyph_animated_timeout_handler): use it.
15266         (update_subwindow): call update_widget and device methods for
15267         update_subwindow. Mark all changed flags as clean.
15268         (Fresize_subwindow): mark size as changed.
15269
15270         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15271         failures.
15272         (x_update_subwindow): only resize subwindows here.
15273         (x_update_widget): new function. Update all changed properties of
15274         a widget.
15275         (x_resize_subwindow): deleted.
15276         (x_widget_set_property): deleted.
15277         (x_progress_gauge_set_property): deleted.
15278         (x_progress_gauge_update): new function. Implement recorded
15279         changes.
15280         (x_tab_control_update): ditto.
15281         (x_tab_control_set_property): deleted.
15282         (console_type_create_glyphs_x): declare new functions.
15283         (image_instantiator_format_create_glyphs_x): ditto.
15284
15285         * glyphs-widget.c (widget_set_property): mark text changed.
15286         (update_widget): new function. Update properties of a widget.
15287         (widget_instantiate): for layouts make sure we set their
15288         children's parent correctly.
15289         (tab_control_set_property): new function. Record changes that will
15290         take place under redisplay's control.
15291         (progress_gauge_set_property): ditto.
15292         (image_instantiator_progress_guage): declare new functions.
15293         (image_instantiator_tab_control): ditto.
15294
15295         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15296         now.
15297         (mswindows_update_widget): new function. Update all properties on
15298         a widget that have changed.
15299         (mswindows_button_update): new function. Update a button's set
15300         state.
15301         (mswindows_tab_control_update): new function. Update the items in
15302         a tab.
15303         (mswindows_tab_control_set_property): deleted.
15304         (mswindows_progress_gauge_update): new function. Update the
15305         progress gauge's progress.
15306         (mswindows_widget_set_property): deleted. This is all done
15307         asynchronously now.
15308         (mswindows_progress_gauge_set_property): ditto.
15309         (console_type_create_glyphs_mswindows): declare new methods.
15310         (image_instantiator_format_create_glyphs_mswindows): ditto.
15311
15312         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15313         (msprinter_set_frame_properties): ditto.
15314
15315         * console.h (struct console_methods): Add update_widget_method.
15316
15317 2000-02-09  Andy Piper  <andy@xemacs.org>
15318
15319         * gui-msw.c (Fmswindows_shell_execute): Make
15320         mswindows-shell-execute industrial strength.
15321
15322 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15323
15324         * lrecord.h: Make macro argument `props' match member function `plist'.
15325         * fns.c (Fget):
15326         * fns.c (Fput):
15327         * fns.c (Fremprop):
15328         * fns.c (Fobject_plist):
15329         * alloc.c:
15330         * symbols.c:
15331         Object property list frobbing cleanup.
15332         - Allow any lisp object (compared with `eq'), not just symbols, as
15333           keys in object plists.
15334         - Move symbol plist frobbing into symbols.c, where it belongs.
15335         - Move string plist frobbing into alloc.c, where it belongs.
15336         - Everything's an lrecord now, so no need to test for symbolp, etc.
15337         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15338
15339         * extents.c: Reorder code to remove declarations.
15340
15341         * frame.h (store_in_alist): Remove useless declaration.
15342
15343 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15344
15345         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15346         * config.h.in: Add HAVE_XCONVERTCASE.
15347
15348 2000-02-07  Andy Piper  <andy@xemacs.org>
15349
15350         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15351         it breaks many things.
15352
15353 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15354
15355         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15356         actually can start a common comment type.
15357         * src/syntax.h (SYNTAX_END_P): ditto for end.
15358
15359 2000-02-07  Martin Buchholz <martin@xemacs.org>
15360
15361         * XEmacs 21.2.28 is released.
15362
15363 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15364
15365         * event-Xt.c (x_keysym_to_character): New.
15366         (maybe_define_x_key_as_self_inserting_character): New.
15367         (x_has_keysym): New.
15368         Auto-define all keys on the keyboard as self-insert-key.
15369
15370 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15371
15372         * menubar.c (vars_of_menubar): A small code simplification.
15373
15374         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15375
15376         * ExternalShell.c:
15377         * ExternalClient.c:
15378         * EmacsShell-sub.c:
15379         * EmacsManager.c:
15380         * EmacsFrame.c:
15381         Use consistent style for specifying X resources.
15382
15383         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15384         This makes (dontusethis-set-symbol-value-handler) actually usable.
15385
15386         * lrecord.h (lrecord_decription_type):
15387         * alloc.c (pdump_register_sub):
15388         (pdump_dump_data):
15389         (pdump_reloc_one):
15390         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15391         Comply with XEmacs coding style.
15392         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15393         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15394
15395         * keymap.c (Faccessible_keymaps):
15396         Make (accessible-keymaps map "\C-h") do the Right Thing.
15397         Make (accessible-keymaps map []) do the Right Thing.
15398         Make (accessible-keymaps map "") do the Right Thing.
15399         (check_keymap_definition_loop): New function.
15400         (keymap_store_internal): Keep luser from shooting self in foot,
15401           via (define-key ctl-x-4-map "p" global-map).
15402         Remove fullness slot from struct Lisp_Keymap, since hash tables
15403         are now reliable.
15404         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15405
15406 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15407
15408         * redisplay.c (init_redisplay): Fix small memory leak.
15409         * elhash.h:
15410         * elhash.c (pdump_reorganize_hash_table):
15411         Rename from reorganize_hash_table. Change prototype.
15412         Reuse the original memory for hentries.  Save 100k.
15413         * alloc.c (PDUMP_READ): new macro.
15414         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15415         * alloc.c: No need to #ifndef before #undef.
15416
15417         * print.c: Allow debug_print() to print readably by modifying
15418         debug_print_readably.  Use consistent variable names.
15419
15420         * .dbxrc: Try to get things to work even if stopped in a function
15421         without source available by explicitly specifying source files.
15422 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15423
15424         * unexnt.c (_start): Removed bogus code which caused loading heap
15425         from differrent executable file.
15426         Removed bogus assignment to _fmode, which caused inconsistencies.
15427
15428 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15429
15430         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15431         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15432         Do not preliminary `#define signal sigset'.
15433
15434         * systime.h: Do not prototype environ on windows nt and cygwin,
15435         this conflicts with system header.
15436
15437         * syssignal.h: Use correct define for WINDOWSNT
15438
15439         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15440         with system header.
15441
15442         * sysdep.c (near start of file): Fixed commentary and rearranged
15443         ifdefs in readable order.
15444         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15445         (start_of_text):
15446         (end_of_text):
15447         (end_of_data): Do not compile in if using PDUMP.
15448
15449         * symsinit.h: Prototyped vars_of_nt().
15450
15451         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15452         (find_child_console): Use it.
15453         (sys_kill): Use it.
15454
15455         * ntheap.h: Do not extern os_subtype.
15456
15457         * ntheap.c (cache_system_info): Do not cache unneeded:
15458         nt_major_version, nt_minor_version and os_subtype.
15459         (recreate_heap): Do not compile in when PDUMPing.
15460
15461         * nt.c (geteuid and friends): Use the new varibale
15462         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15463         (init_user_info): Removed the above mentioned hackery.
15464         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15465         stat has been fixed in the C runtime.
15466         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15467
15468         * file-coding.c (struct file_coding_dump): Do not define
15469         ucs_to_mule_table in the struct if not MULE.
15470         (struct struct lrecord_description fcd_description_1): Do not dump
15471         the above.
15472
15473         * emacs.c (main_1): Call vars_of_nt().
15474         (right before Fdump_emacs_data): Don't need lastfile if using both
15475         portabe dumper and system malloc.
15476
15477         * alloc.c (Fmemory_limit): Conditionalized out.
15478         (pdump): Use OPEN_BINARY for the portable dump file.
15479         (pdump_load): Ditto.
15480
15481 2000-02-02  Mike Alexander  <mta@arbortext.com>
15482
15483         * nt.c (convert_time): Set tm_isdst before calling mktime and
15484         avoid calling it at all if the compiler supports 64 bit integers.
15485         Also initialize utc_base_ft before using it.
15486
15487 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15488
15489         * frame.c (change_frame_size_1): Take f->internal_border_width
15490         into consideration when calculating the width of the frame.
15491
15492 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15493
15494         * window.c (frame_min_height):
15495         (frame_size_valid_p):
15496         (frame_pixsize_valid_p): Added.
15497         (check_frame_size): Generalized.
15498
15499         * window.h: Prototyped the above.
15500
15501         * lisp.h:
15502         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15503         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15504         Deleted Vwin32_* and Vbinary_process_* unused variables.
15505
15506         * device-msw.c (msprinter_init_device): Do not get printer font
15507         list; Added DEVMODE functions.
15508
15509         * frame-msw.c: Added lots of printer code.
15510
15511         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15512         general.c.
15513
15514         * console-msw.h: Added more msprinter device private slots.
15515
15516 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15517
15518         * event-msw.c (key_needs_default_processing_p): Added.
15519         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15520
15521 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15522
15523         * glyphs.c (image_instance_layout): Mark image instance as clean
15524         after layout.
15525         (glyph_dirty_p): Removed redundant function.
15526         (invalidate_glyph_geometry_maybe): Added.
15527         (update_glyph_cachel_data): Call it.
15528
15529         * glyphs.h: Prototyped it.
15530
15531         * redisplay.c (add_glyph_rune): Call it.
15532         (redisplay_window): Reset glyphs cachels when frame faces have
15533         changed, thus forcing recomputation of built-in border glyphs.
15534
15535 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15536
15537         * Makefile.in.in: Make portable dumper and purify play well together.
15538         Add imperfect, but better than nothing, support for pdump.
15539         Remove xemacs.dmp when temacs is re-generated.
15540         Don't ignore errors when dumping xemacs.
15541
15542         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15543
15544 2000-01-28  Andy Piper  <andy@xemacs.org>
15545
15546         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15547         (setup_normal_frame): ditto.
15548         (setup_frame_without_minibuffer): ditto.
15549         (setup_minibuffer_frame): ditto.
15550         (delete_frame_internal): ditto.
15551         (Fmake_frame_invisible): ditto.
15552         (Ficonify_frame): ditto.
15553
15554         * window.h: change Fset_window_buffer signature.
15555
15556         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15557         (Fset_window_buffer): allow recording of buffer if the window is
15558         the selected window.
15559         (window_loop): Use new Fset_window signature.
15560
15561 2000-01-23  Daniel Pittman  <daniel@danann.net>
15562
15563         * config.h.in: Added template for `HAVE_ATHENA_3D'
15564
15565 2000-01-29  Andy Piper  <andy@xemacs.org>
15566
15567         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15568
15569         * gutter.c (output_gutter): Don't output if the window isn't live.
15570
15571 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15572
15573         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15574         of 01/12/00: Moved SetFocus back here where it belongs.
15575
15576 2000-01-23  Andy Piper  <andy@xemacs.org>
15577
15578         * s/cygwin32.h: declare printer things.
15579
15580 2000-01-26  Andy Piper  <andy@xemacs.org>
15581
15582         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15583         Alexander.
15584
15585 2000-01-24  Andy Piper  <andy@xemacs.org>
15586
15587         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15588         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15589
15590         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15591
15592         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15593
15594         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15595
15596         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15597         (mswindows_output_display_block): Avoid local shadows.
15598
15599         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15600         (mswindows_enqueue_mouse_button_event): ditto.
15601         (mswindows_handle_gui_wm_command): remove declaration.
15602
15603         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15604         warnings.
15605
15606         * console-msw.h: Avoid shadows.
15607         (mswindows_get_toolbar_button_text):
15608         (emacs_mswindows_create_stream_pair):
15609         (emacs_mswindows_delete_stream_pair):
15610         (mswindows_handle_toolbar_wm_command): declare.
15611
15612         * device-msw.c (build_syscolor_string): Avoid shadows.
15613
15614 2000-01-23  Andy Piper  <andy@xemacs.org>
15615
15616         * glyphs-widget.c (widget_instantiate): reverse the items for
15617         layouts so that children are in the expected order.
15618
15619 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15620
15621         * ralloc.c: safe_bcopy ==> memmove
15622         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15623         * s/msdos.h: Remove BCOPY macros.
15624         * insdel.c (gap_right): Remove BCOPY conditional code.
15625         * insdel.c (gap_left): Remove BCOPY conditional code.
15626         XEmacs demands a working ANSI C compiler - hence memmove.
15627
15628         * regex.c (regex_compile): Remove accidental use of trigraphs.
15629
15630 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15631
15632         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15633         event timestamp.
15634
15635 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15636
15637         * event-msw.c (mswindows_drain_windows_queue): Added the
15638         parameter.
15639         (mswindows_need_event): Commented the call to
15640         mswindows_drain_windows_queue().
15641         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15642         only.
15643
15644         * console-msw.h: Moved a few function prototypes here from
15645         event-msw.c.
15646
15647         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15648         parameter from unsigned short to unsigned long.
15649         (Fmswindows_shell_execute): Added return value.
15650
15651 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15652
15653         * sysdep.c (init_system_name):
15654           process-unix.c (unix_canonicalized_host_name):
15655         Don't call freeaddrinfo() if getaddrinfo() fails.
15656
15657         * process-unix.c (unix_open_unix_network_stream):
15658         Moved the code to get a port # into address loop.
15659
15660 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15661
15662         * buffer.c (reinit_vars_of_buffer):
15663         The right place to initialize conversion_in_dynarr and
15664         conversion_out_dynarr.
15665
15666         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15667
15668         * process-unix.c (unix_canonicalize_host_name): Muleize.
15669         (unix_open_network_stream): Muleize.
15670
15671         * buffer.h: Fix up prototypes for ralloc.c functions.
15672
15673 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15674         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15675         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15676                 instead of gethostbyname()
15677         * process-unix.c: In unix_canonicalize_host_name() and
15678                 unix_open_network_stream(), add code to use getaddrinfo()
15679                 instead of gethostbyname().
15680
15681 2000-01-27  Daniel Pittman <daniel@danann.net>
15682
15683         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15684         libs when built with flat Athena.
15685
15686 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15687
15688         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15689         Use coding standards for function prototypes.
15690
15691 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15692
15693         * dialog-msw.c (push_lisp_string_as_unicode):
15694         * doc.c (unparesseuxify_doc_string):
15695         * dired.c (Fuser_name_completion_1):
15696         * dired.c (Fuser_name_all_completions):
15697         * dired.c (free_user_cache):
15698         * dired.c (user_name_completion):
15699         * console-x.c (get_display_arg_connection):
15700         * minibuf.c (clear_echo_area_internal):
15701         * minibuf.c (echo_area_append):
15702         * eldap.c (Fldap_open):
15703         * eldap.c (Fldap_search_internal):
15704         * frame-x.c (x_set_frame_text_value):
15705         * frame-x.c (x_set_frame_properties):
15706         * frame-x.c (x_create_widgets):
15707         * redisplay-tty.c (term_get_fkeys_1):
15708         * objects-x.c (x_parse_nearest_color):
15709         * objects-x.c (x_valid_color_name_p):
15710         * objects-x.c (x_initialize_font_instance):
15711         * objects-x.c (x_list_fonts):
15712         * objects-x.c (x_find_charset_font):
15713         * tooltalk.c (Fadd_tooltalk_message_arg):
15714         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15715         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15716         * process-unix.c (unix_create_process):
15717         * ntproc.c (sys_spawnve):
15718         * sound.c (Fplay_sound_file):
15719         * sound.c (Fplay_sound):
15720         * buffer.c (init_initial_directory):
15721         * buffer.c (init_buffer):
15722         * editfns.c (init_editfns):
15723         * editfns.c (Ftemp_directory):
15724         * editfns.c (Fuser_full_name):
15725         * editfns.c (uncache_home_directory):
15726         * editfns.c (get_home_directory):
15727         * editfns.c (Fuser_home_directory):
15728         * editfns.c (Fformat_time_string):
15729         * editfns.c (Fcurrent_time_string):
15730         * gui-x.c (button_item_to_widget_value):
15731         * database.c (Fopen_database):
15732         * event-Xt.c (x_to_emacs_keysym):
15733         * event-Xt.c (x_event_to_emacs_event):
15734         * event-Xt.c (describe_event_window):
15735         * event-msw.c (mswindows_wnd_proc):
15736         * glyphs-eimage.c (jpeg_instantiate):
15737         * glyphs-eimage.c (gif_instantiate):
15738         * glyphs-eimage.c (png_instantiate):
15739         * glyphs-eimage.c (tiff_instantiate):
15740         * glyphs-x.c (xbm_instantiate_1):
15741         * glyphs-x.c (x_xbm_instantiate):
15742         * glyphs-x.c (x_xface_instantiate):
15743         * glyphs-x.c (autodetect_instantiate):
15744         * glyphs-x.c (cursor_font_instantiate):
15745         * glyphs-x.c (x_widget_instantiate):
15746         * glyphs-x.c (x_widget_set_property):
15747         * glyphs-x.c (x_widget_property):
15748         * glyphs-x.c (BUILD_GLYPH_INST):
15749         * print.c (write_string_to_stdio_stream):
15750         * print.c (output_string):
15751         * print.c (Falternate_debugging_output):
15752         * print.c (Fexternal_debugging_output):
15753         * glyphs-msw.c (extract_xpm_color_names):
15754         * glyphs-msw.c (mswindows_xpm_instantiate):
15755         * glyphs-msw.c (bmp_instantiate):
15756         * glyphs-msw.c (resource_name_to_resource):
15757         * glyphs-msw.c (mswindows_resource_instantiate):
15758         * glyphs-msw.c (xbm_instantiate_1):
15759         * glyphs-msw.c (mswindows_xbm_instantiate):
15760         * glyphs-msw.c (mswindows_xface_instantiate):
15761         * glyphs-msw.c (mswindows_widget_instantiate):
15762         * glyphs-msw.c (add_tree_item):
15763         * glyphs-msw.c (add_tab_item):
15764         * glyphs-msw.c (mswindows_combo_box_instantiate):
15765         * glyphs-msw.c (mswindows_widget_property):
15766         * glyphs-msw.c (mswindows_combo_box_property):
15767         * glyphs-msw.c (mswindows_widget_set_property):
15768         * console.c (stuff_buffered_input):
15769         * objects-msw.c (mswindows_initialize_color_instance):
15770         * objects-msw.c (mswindows_valid_color_name_p):
15771         * objects-msw.c (mswindows_list_fonts):
15772         * objects-msw.c (mswindows_font_instance_truename):
15773         * bytecode.c (optimize_compiled_function):
15774         * select-x.c (symbol_to_x_atom):
15775         * select-x.c (x_atom_to_symbol):
15776         * select-x.c (hack_motif_clipboard_selection):
15777         * select-x.c (selection_data_to_lisp_data):
15778         * select-x.c (lisp_data_to_selection_data):
15779         * select-x.c (Fx_get_cutbuffer_internal):
15780         * select-x.c (Fx_store_cutbuffer_internal):
15781         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15782         * buffer.h (TO_INTERNAL_FORMAT): New function.
15783         * emacs.c (make_arg_list_1):
15784         * emacs.c (make_argc_argv):
15785         * emacs.c (main_1):
15786         * emacs.c (Fdump_emacs):
15787         * emacs.c (split_string_by_emchar_1):
15788         * file-coding.h:
15789         * lisp.h:
15790         * lstream.h:
15791         * symsinit.h:
15792         * device-x.c (x_init_device):
15793         * device-x.c (Fx_valid_keysym_name_p):
15794         * device-x.c (Fx_get_font_path):
15795         * device-x.c (Fx_set_font_path):
15796         * glyphs.c (bitmap_to_lisp_data):
15797         * glyphs.c (pixmap_to_lisp_data):
15798         * alloc.c (make_ext_string): Use coding system arguments.  Update
15799         all callers.
15800         * alloc.c (build_string):
15801         * callproc.c (child_setup):
15802         * callproc.c (init_callproc):
15803         * fileio.c (lisp_strerror):
15804         * fileio.c (directory_file_name):
15805         * fileio.c (Fexpand_file_name):
15806         * fileio.c (Ffile_truename):
15807         * fileio.c (Fsysnetunam):
15808         * fileio.c (Fdo_auto_save):
15809         * sysdep.c (sys_readdir):
15810         * tests.c: New file.  Allow adding C tests.
15811         Replace GET_* macros with a more comprehensible and flexible
15812         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15813         Modify all calls.
15814         Any coding system can be used to do format conversion.
15815         Eliminate enum external_data_format.
15816         Eliminate convert_to_external_format.
15817         Eliminate convert_to_internal_format.
15818         Make sure file-name, keyboard, terminal, and ctext are always
15819         defined as coding systems or aliases.  Make
15820         file-name-coding-system, terminal-coding-system, and
15821         keyboard-coding-system magical variables that are equivalent to
15822         defining the corresponding coding system aliases.
15823
15824         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15825         * file-coding.c (Fcoding_system_alias_p): New function.
15826         * file-coding.c (Fcoding_system_aliasee): New function.
15827         * file-coding.c (append_suffix_to_symbol): New function.
15828         * file-coding.c (dangling_coding_system_alias_p): New function.
15829         * file-coding.c (Ffind_coding_system):
15830         * file-coding.c (Fcopy_coding_system):
15831         * file-coding.c (encode_coding_no_conversion):
15832         * file-coding.c (syms_of_file_coding):
15833         * file-coding.c (vars_of_file_coding):
15834         Rewrite coding system alias code.
15835         Allow nested aliases, like symbolic links.
15836         Allow redefinition of coding system aliases.
15837         Prevent existence of dangling coding system aliases.
15838
15839         * dired.c (Fuser_name_completion_1):
15840         * dired.c (Fuser_name_all_completions):
15841         A crash would happen if user did QUIT in the middle of building
15842         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15843
15844         * lisp.h:
15845         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15846
15847         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15848         an unsigned char *.  Update all callers.
15849
15850 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15851
15852         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15853
15854 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15855
15856         * elhash.c (hentry_description): Use more portable definition.
15857         (resize_hash_table): Initialize new hentries using
15858         xnew_array_and_zero, thereby simplifying the code.
15859
15860         * mule-charset.c (make_charset): Make sure entire object is
15861         initialized, to avoid Purify warnings.
15862
15863         * alloc.c (resize_string): Fix unlikely crash with big strings.
15864
15865 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15866
15867         * realpath.c (xrealpath):
15868         Don't call getwd().
15869
15870 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15871
15872         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15873
15874 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15875
15876         * unexelfsgi.c (unexec): Change the way we decide which segment
15877         should be extended.
15878
15879         Assumption that .bss section should be outside the PT_LOADable
15880         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15881         it's present) is inside the 'data' segment. This would fail the
15882         test which was used to find a segment to grow and cover new
15883         heap. Instead of this assumption, I created another one - on IRIX
15884         the segment to grow should start below .bss and it's address
15885         should extent above the end of .bss. Once this segment is
15886         identified, it's grown to accommodate the new heap and new
15887         zero-length .bss section is added at the end of .data2.
15888
15889 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15890
15891         * eval.c (Feval): Wrong number of arguments should use original
15892         function, not the indirect_function version of it.
15893
15894 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15895
15896         * glyphs-x.c (x_button_instantiate): Don't add image if
15897         it is not a pixmap.
15898         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15899         is relative.
15900
15901 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15902
15903         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15904         declaration.
15905         (DEFVAR_INT_MAGIC): Ditto.
15906         (DEFVAR_BOOL_MAGIC): Ditto.
15907         * glyphs.h: Reindent backslash.
15908
15909 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15910
15911         * glyphs-widget.c (layout_query_geometry):
15912         (layout_layout): Use correct types for gheight, gwidth.
15913
15914 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15915
15916         * EmacsManager.c (QueryGeometry): Purified.
15917
15918 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15919
15920         * alloc.c (make_float): Make sure entire object is initialized, to
15921         avoid Purify warnings.
15922         (pdump_register_sub): Remove useless assignment.
15923         (pdump): Use xmalloc, not malloc.
15924         (pdump_load): Use xmalloc, not malloc.
15925
15926 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15927
15928         * callproc.c:
15929         * dired-msw.c:
15930         * fileio.c:
15931         * process-nt.c:
15932         * redisplay-msw.c:
15933         * sysdep.c: Removed redundant #include <windows.h>
15934
15935 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15936
15937         * frame.c (delete_frame_internal): Do not delete device when its
15938         implementation so declares.
15939         (delete_frame_internal): Set device selected frame to nil when
15940         last frame goes away.
15941
15942         * device-msw.c (msprinter_device_system_metrics): Implemented.
15943         (mswindows_device_system_metrics): Added 'device-dpi property.
15944
15945         * device.c: (Fdevice_printer_p): Added.
15946         Added 'offset-workspace device metric.
15947
15948         * console.h (device_metrics): Declared DM_offset_workspace.
15949
15950 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15951
15952         * fileio.c (Ffile_truename): Remove pointless and confusing
15953         initialization of elen.
15954
15955         * glyphs-widget.c: Compiler warning fixes.
15956
15957 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15958
15959         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15960         instead of a Lisp_Object as argument to make it consistent with
15961         the other LIVE_P macros.
15962         (CHECK_LIVE_PROCESS): New macro.
15963
15964         * process.c: Declare Qprocess_live_p.
15965         (Fprocess_live_p): New function.
15966         (create_process): Use PROCESS_LIVE_P.
15967         (read_process_output): Ditto.
15968         (set_process_filter): Ditto.
15969         (Fdelete_process): Ditto.
15970         (kill_buffer_processes): Ditto
15971         (process_send_signal): Use CHECK_LIVE_PROCESS.
15972         (Fprocess_input_coding_system): Check whether process is still
15973         alive (fix PR#1061).
15974         (Fprocess_output_coding_system): Ditto.
15975         (Fprocess_coding_system): Ditto.
15976         (Fset_process_input_coding_system): Ditto.
15977         (Fset_process_output_coding_system): Ditto.
15978
15979 2000-01-23  Andy Piper  <andy@xemacs.org>
15980
15981         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15982         layout and widget.
15983
15984         * glyphs.c (mark_image_instance): take into account changed
15985         image_instance format.
15986         (image_instance_equal): ditto.
15987         (image_instance_hash): ditto.
15988
15989         * glyphs-widget.c (widget_instantiate): Incorporate layout
15990         instantiation here. Delay layout of the layout until later.
15991         (layout_instantiate): deleted.
15992         (layout_query_geometry): new function. get the geometry of a
15993         layout.
15994         (layout_layout): layout a layout dynamically.
15995         (image_instantiator_widget): New function - splitting up
15996         image_instantiator_format_create_glyphs_widget for netwinder
15997         compilation.
15998         (image_instantiator_buttons):
15999         (image_instantiator_edit_fields):
16000         (image_instantiator_combo_box):
16001         (image_instantiator_scrollbar):
16002         (image_instantiator_progress_guage):
16003         (image_instantiator_tree_view):
16004         (image_instantiator_tab_control):
16005         (image_instantiator_labels):
16006         (image_instantiator_layout): ditto.
16007         (image_instantiator_format_create_glyphs_widget): Call preceding
16008         functions.
16009
16010 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16011
16012         * process.c (Fset_process_coding_system):
16013         * device-x.c (Fx_keysym_hash_table):
16014         Docstring fixes.
16015
16016         * lstream.c (Lstream_write): Return documented value, not 0.
16017
16018         * fileio.c (directory_file_name):
16019         (Fsubstitute_in_file_name):
16020         (Fsubstitute_insert_file_contents_internal):
16021         (Fwrite_region_internal):
16022         * emacs.c:
16023         * sysdep.c:
16024         * getloadavg.c:
16025         * systty.h:
16026         Remove vestigial APOLLO-conditional code.
16027
16028 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16029
16030         * getpagesize.h: Add guard macros.
16031         * libsst.h: Add guard macros.
16032         * libst.h: Add guard macros.
16033         * line-number.h: Add guard macros.
16034         * ndir.h: Add guard macros.
16035         * sysfloat.h: Add guard macros.
16036         * sysfile.h: Add guard macros.
16037         * sysproc.h: Add guard macros.
16038         * syswait.h: Add guard macros.
16039         * xintrinsic.h: Add guard macros.
16040         * xintrinsicp.h: Add guard macros.
16041         * xmmanager.h: Add guard macros.
16042         * xmmanagerp.h: Add guard macros.
16043         * xmprimitive.h: Add guard macros.
16044         * xmu.h: Add guard macros.
16045         * gpmevent.h: Add copyright statement. Add guard macros.
16046         * miscplay.h: Add guard macros.
16047         * *.h: Use consistent C-standards-approved guard macro names.
16048
16049         * opaque.c (make_opaque): Switch parameter order.
16050         * opaque.h (make_opaque): Switch parameter order.
16051         Update all callers.
16052         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16053
16054         * config.h.in (type_checking_assert): Added.
16055         (bufpos_checking_assert): Added.
16056
16057 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16058
16059         * alloc.c: Harmless pdump changes.
16060         - Use countof().
16061         - spell alignment correctly.
16062         * sysdep.c: Use countof()
16063
16064 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16065
16066         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16067         initially_selected_for_input() console method, default to 0.
16068         (semi_canonicalize_console_connection): Try to delegate to
16069         canonicalize_console_connection if no such console method.
16070         (canonicalize_console_connection): Vice versa.
16071         (print_console): Do not print nil connection.
16072
16073         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16074         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16075         (XDEVIMPF_FRAMELESS_OK): Added.
16076         (CONSOLE_INHERITS_METHOD): Added.
16077
16078         * console-msw.c (mswindows_canonicalize_console_connection):
16079         Added.
16080         (mswindows_canonicalize_device_connection): Added.
16081
16082         * console-msw.h (struct msprinter_device): Added this struct and
16083         accessor macros.
16084         (mswindows_device): Made fontlist a lisp object.
16085
16086         * device.c (semi_canonicalize_device_connection):  Try to delegate
16087         to canonicalize_device_connection if no such console method.
16088         (canonicalize_device_connection): Vice versa.
16089         (print_device): Do not print nil connection.
16090
16091         * device-msw.c (mswindows_init_device): Call InitCommonControls
16092         when have widgets.
16093         (mswindows_delete_device): Removed fontlist deallocation.
16094         (mswindows_mark_device): Added.
16095
16096         * events.c (event_equal): Added abort() at unreached code.
16097         (event_hash): Ditto.
16098
16099         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16100         fallback tags of Windows devices.
16101
16102         * general.c (syms_of_general): Initialized Qmsprinter.
16103
16104         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16105         of fallback tags of Windows devices.
16106
16107         * lisp.h: Declared Qmsprinter.
16108
16109         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16110         of strings.
16111         (mswindows_list_fonts): Ditto.
16112         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16113         that it can be used by both mswindows and msprinter devices.
16114         (initialize_font_instance): Added.
16115         (mswindows_initialize_font_instance): Use it.
16116         (msprinter_initialize_font_instance): Added.
16117
16118         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16119         and implementation flags check.
16120         (redisplay_without_hooks): Changed the call to the above.
16121         (Fredraw_device): Ditto.
16122         (Fredisplay_device): Ditto.
16123
16124         * redisplay-msw.c (get_frame_dc): Implemented.
16125         (get_frame_compdc): Implemented.
16126         (many functions): Use the two functions above to get device
16127         contexts, ether for a window or a printer.
16128
16129 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16130
16131         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16132         initialization here.
16133         (init_symbols_once_early): Call it.
16134         * emacs.c (main_1): Call it.
16135         * symsinit.h: Declare it.
16136
16137 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16138
16139         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16140         Lisp_Object.
16141         (pdump_backtrace): Ditto.
16142         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16143         (pdump_get_entry): Abort if trying to register a null pointer.
16144         (pdump_dump_data): Cleanup types when relocating.
16145         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16146         (pdump_dump_rtables): Remove bad casts.
16147         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16148         Lisp_Object instead of a EMACS_INT for the hashtable
16149         reorganization.
16150
16151 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16152
16153         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16154
16155         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16156
16157         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16158
16159         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16160
16161 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16162
16163         * faces.h (FACE_STRIKETHRU_P): Added.
16164
16165         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16166         of font variants.
16167
16168         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16169         (mswindows_set_dc_font): New function, aware of font variants,
16170         separated from mswindows_update_dc.
16171
16172         * objects-msw.h (struct mswindows_font_instance_data): Added
16173         definition.
16174
16175         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16176         cached fonts and the data structure.
16177         (mswindows_initialize_font_instance): Added creation of font data
16178         structure.
16179         (mswindows_print_font_instance): Print at least something.
16180         (mswindows_create_font_variant): Implemented.
16181         (mswindows_get_hfont): Implemented.
16182
16183 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16184
16185         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16186         prototyping problem with msvc.
16187
16188         * emacs.c (main_1): added syms_of_gui_mswindows() call
16189
16190         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16191         syms_of_gui_mswindows() function
16192
16193         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16194
16195 2000-01-18  Martin Buchholz <martin@xemacs.org>
16196
16197         * XEmacs 21.2.27 is released.
16198
16199 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16200
16201         * glyphs-eimage.c (struct tiff_error_struct):
16202         (tiff_error_func):
16203         (tiff_warning_func):
16204         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16205
16206         * unexmips.c:
16207         * unexhp9k3.c:
16208         * unexfreebsd.c:
16209         * unexec.c: Remove vestigial Lucid C code.
16210         * unexalpha.c:
16211         * unexaix.c:
16212         * termcap.c:
16213         * libsst.c: Ansify.
16214         Remove declarations of errno and strerror().
16215
16216         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16217
16218         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16219
16220 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16221
16222         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16223         Optimize.
16224
16225 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16226
16227         * md5.c:
16228         * file-coding.c:
16229         * file-coding.h:
16230         Change enum eol_type to eol_type_t.
16231
16232 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16233
16234         * gui.c (get_gui_callback): Check cons before accessing car.
16235
16236 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16237
16238         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16239         (XSETSPECIFIER_TYPE): Ditto.
16240
16241 2000-01-17  Didier Verna  <didier@xemacs.org>
16242
16243         * redisplay.c (generate_fstring_runes): compute string size in
16244         characters, not bytes.
16245
16246 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16247
16248         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16249
16250 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16251
16252         * print.c (print_error_message): Call print_prepare().
16253
16254 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16255
16256         * .dbxrc: Renamed from dbxrc.
16257
16258         * events.c (event_to_character):
16259         Use `assert (foo)' instead of `if (!foo) abort()'
16260
16261         * .gdbinit (xtype): Add documentation.
16262         * .gdbinit (check-temacs): New function.
16263         * .gdbinit (check-xemacs): New function.
16264         * dbxrc (check-xemacs): New function.
16265         * dbxrc (check-xemacs): New function.
16266
16267 2000-01-14  Andy Piper  <andy@xemacs.org>
16268
16269         * glyphs-widget.c (widget_query_geometry): Make sure that we
16270         calculate default dimensions correctly.
16271
16272 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16273
16274         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16275
16276         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16277         pdump_wire'd variable.
16278
16279         * emacs.c: (main_1): Conditionalized calls to
16280         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16281
16282 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16283
16284         * window.c (Fset_window_configuration):
16285         * sysdep.c (_start):
16286         * input-method-motif.c (res):
16287         * event-Xt.c (Xt_process_to_emacs_event):
16288         Simple compiler warning fixes.
16289
16290         * bytecode.c (funcall_compiled_function): Use the original
16291         function symbol on the backtrace list in preference to the
16292         compiled_function object in error messages.
16293
16294 2000-01-13  Andy Piper  <andy@xemacs.org>
16295
16296         * glyphs-x.c (update_widget_face): Make sure we update the widget
16297         background as well as foreground.
16298
16299 2000-01-13  Andy Piper  <andy@xemacs.org>
16300
16301         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16302         fields to subwindow.
16303         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16304         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16305         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16306         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16307
16308         * glyphs-widget.c (check_valid_tab_orientation): new function.
16309         (initialize_widget_image_instance): zero orientation and
16310         justification.
16311         (widget_instantiate): pick up orientation.
16312         (tab_control_query_geometry): return appropriate values for
16313         vertical tabs.
16314
16315         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16316         appropriate creation flags for left, right and bottom tabs.
16317
16318         * s/cygwin32.h: add tab definitions.
16319
16320 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16321
16322         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16323         frame upon hiding a subwindow.
16324         (mswindows_button_instantiate): Changed the push button style to
16325         BS_PUSHBUTTON.
16326         (mswindows_button_instantiate): Removed button BS_NOTIFY
16327         style.
16328         (mswindows_button_instantiate): Removed redundant check for
16329         a disabled gui item.
16330         (mswindows_button_instantiate): Made use of WS_TABSTOP
16331         consistent: "operable" controls (edit, button, tree, scroll) have
16332         this style, "display-only" ones (static, progress gauge) do
16333         not. This style is currently ignored by XEmacs though. Also,
16334         removed the WS_EX_CONTROLPARENT style - it is not for children,
16335         it is for their parents!
16336         (mswindows_edit_field_instantiate): Ditto.
16337         (mswindows_progress_gauge_instantiate): Ditto.
16338         (mswindows_tree_view_instantiate): Ditto.
16339         (mswindows_tab_control_instantiate): Ditto.
16340         (mswindows_scrollbar_instantiate): Ditto.
16341         (mswindows_combo_box_instantiate): Ditto.
16342         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16343         style to the "clip" window.
16344         (mswindows_button_instantiate): Removed compilation warning by
16345         equally typing terms of the ?: operator.
16346
16347 2000-01-12  Didier Verna  <didier@xemacs.org>
16348
16349         * redisplay.c (generate_fstring_runes): new parameter holding the
16350         last modeline-format extent.
16351         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16352         extent, fill the glyph block with it.
16353         (generate_fstring_runes): handle these parameters.
16354         (generate_formatted_string_db): ditto.
16355
16356         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16357         glyphs'extents in the modeline.
16358
16359 1999-01-11  Mike Woolley  <mike@bulsara.com>
16360
16361         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16362         256Mb, as a workaround for the non-starting problem many people
16363         have experienced.
16364
16365 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16366
16367         * console-tty.c (Fset_console_tty_output_coding_system):
16368         Force redrawing tty frame.
16369
16370 2000-01-10  Didier Verna  <didier@xemacs.org>
16371
16372         * redisplay.c (generate_fstring_runes): fix size computation bug.
16373
16374 2000-01-09  William M. Perry <wmperry@aventail.com>
16375
16376         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16377
16378 2000-01-09  Andy Piper  <andy@xemacs.org>
16379
16380         * glyphs-msw.c: index -> i to avoid shadows.
16381         (xbm_create_bitmap_from_data): make static.
16382         (check_valid_string_or_int): deleted.
16383         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16384
16385         * glyphs-x.c (x_update_subwindow): remove unused args.
16386
16387         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16388         back pointer - this is done in allocate_image_instance.
16389         (query_string_font): return Qnil to make the compiler happy.
16390         (unmap_subwindow): set to ~0 to make the compiler happy.
16391         (glyph_query_geometry): comment out until used.
16392         (glyph_layout): ditto.
16393
16394 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16395
16396         * insdel.c (signal_after_change): Remove extraneous unbind_to().