Sync up with r21-4-14-chise-0_21-25-ii-identical.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2
3         * chartab.c (Q_identical): New variable.
4         (Q_identical_from): New variable.
5         (Fchar_feature): Regard `->identical' as a feature to find
6         ancestors.
7         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
8         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
9         for `{->|<-}identical'.
10         (syms_of_chartab): Add new symbols `{->|<-}identical'.
11
12 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * char-ucs.h (encode_char_2): New inline function.
15         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
16
17 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
18
19         * chartab.c (Fput_char_attribute): Convert char-specs to
20         characters in value of `ideographic-structure'.
21         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
22         for `{<-|->}simplified(@...)'.
23         (Fdefine_char): bTry to use predefined character's id.
24
25 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
26
27         * fns.c (simplify_char_spec): Try to convert builtin chars to
28         defined chars.
29
30 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * chartab.c (Fput_char_attribute): Convert char-refs in value of
33         `<-simplified[^*]*' to characters and put reverse links.
34
35 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * chartab.c (Q_subsumptive): Renamed from Q_unified.
38         (Q_subsumptive_from): Renamed from Q_unified_from.
39         (Fchar_feature): Use `Q_subsumptive_from' instead of
40         `Q_unified_from'.
41         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
42         `Q_unified'.
43         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
44         `<-unified' to `<-subsumptive'.
45
46 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
49         inheritance itself; fix typo; stop recursive search if cyclic
50         inheritance is found.
51
52 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
53
54         * chartab.c (Q_denotational): New variable.
55         (Q_denotational_from): New variable.
56         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
57         (put_char_attribute): New function.
58         (Fput_char_attribute): Use `put_char_attribute'; regard
59         `->denotational' and `<-denotational' as same as `->unified' and
60         `<-unified'.
61         (syms_of_chartab): Add new symbols `->denotational' and
62         `<-denotational'.
63
64 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
65
66         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
67         `Fget_char_attribute'.
68         (Fchar_variants): Likewise.
69         (get_char_table): Likewise.
70         (Fchar_feature): New function.
71         (put_char_composition): Use `Fchar_feature' instead of
72         `Fget_char_attribute'.
73         (Fput_char_attribute): Likewise; don't put the target character
74         into its `->unified' value.
75         (syms_of_chartab): Add new builtin function `char-feature'.
76
77 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
80         `Fget_char_attribute'.
81         (char_encode_utf8): Likewise.
82
83         * chartab.h: Add an EXFUN for `Fchar_feature'.
84
85 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * chartab.c (Vnext_defined_char_id): New variable.
88         (Fput_char_attribute): Accept characters in `->unified'.
89         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
90         new characters which are not related with builtin char-id ranges.
91         (vars_of_chartab): Add new variable `next-defined-char-id'.
92
93 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * chartab.c (Q_unified): New variable.
96         (Q_unified_from): New variable.
97         (Fput_char_attribute): Add code for `->unified'.
98         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
99         XEmacs CHISE.
100
101 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
102
103         * mule-charset.c (decode_ccs_conversion): New function.
104         (decode_defined_char): Use `decode_ccs_conversion'.
105         (decode_builtin_char): Likewise.
106
107 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
108
109         * char-ucs.h: Change some charset-ids of private coded-charsets.
110
111 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
114         (char_encode_as_entity_reference): Likewise.
115         (decode_coding_big5): Modify for `decode_defined_char' and
116         `DECODE_CHAR'.
117         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
118         avoid compiler warning.
119         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
120
121         * mule-charset.c (decode_defined_char): Add new argument
122         `without_inheritance'.
123         (Fdecode_char): Add new optional argument `without_inheritance'.
124         (Fdecode_builtin_char): Modify for `Fdecode_char'.
125
126         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
127         (simplify_char_spec): Likewise.
128
129         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
130         setting.
131
132         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
133         (map_char_table): Likewise.
134         (Fdefine_char): Use `Fdecode_char' without inheritance.
135         (Ffind_char): Modify for `Fdecode_char'.
136
137         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
138
139         * char-ucs.h (decode_defined_char): Add new argument
140         `without_inheritance'.
141         (DECODE_CHAR): Likewise.
142         (MAKE_CHAR): Modify for `DECODE_CHAR'.
143
144 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
145
146         * chartab.c (Vchise_system_db_directory): New variable.
147         (vars_of_chartab): Add new variable `chise-system-db-directory'.
148
149 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
150
151         * chartab.c: EXFUN `Fmount_char_attribute_table'.
152         (print_chartab_range): Don't define when `UTF2000' is defined.
153         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
154         `CHISE_DS_open'.
155
156 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
159         and optional argument `rehash' is specified, call
160         `open_chise_data_source_maybe' before
161         `chise_ds_foreach_char_feature_name' is called.
162
163 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * chartab.c (char_attribute_list_reset_map_func): New function
166         when HAVE_LIBCHISE is defined.
167         (Fchar_attribute_list): Add new optional argument `rehash' when
168         HAVE_LIBCHISE is defined.
169         (open_chise_data_source_maybe): Use "chise-db" instead of
170         "char-db".
171         (char_attribute_system_db_file): Likewise.
172         (Fload_char_attribute_table): Use
173         `chise_feature_foreach_char_with_value' instead of
174         `chise_char_feature_value_iterate'.
175
176 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
177
178         * chartab.c (Vchise_db_directory): New variable.
179         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
180
181 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
184         instead of HAVE_CHISE to specify using with libchise.
185
186         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
187
188         * chartab.h: Don't use HAVE_CHISE_CLIENT.
189
190         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
191         defined or HAVE_LIBCHISE_LIBCHISE is defined.
192         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
193         is defined.
194         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
195         HAVE_CHISE to specify using with libchise.
196         (syms_of_chartab): Don't define symbol `system-char-id' when
197         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
198
199 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
202         specify CHISE DB support.
203         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
204         of `char_attribute_system_db_file' to check feature DB file.
205
206         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
207         HAVE_CHISE_CLIENT to specify CHISE DB support.
208
209         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
210         specify CHISE DB support.
211         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
212         not defined.
213         (Freset_char_attribute_table): Use `chise_feature_setup_db'
214         instead of `char_attribute_system_db_file' to check feature DB
215         file.
216
217 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
218
219         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
220         `HAVE_CHISE_CLIENT'.
221
222 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
223
224         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
225         (Fsave_charset_mapping_table): Don't use
226         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
227
228         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
229         (HAVE_LIBCHISE): New macro.
230
231         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
232
233         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
234         (Fsave_char_attribute_table): Don't use
235         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
236
237 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
240         defined.
241         (save_uint16_byte_table): Likewise.
242         (save_byte_table): Likewise.
243         (char_table_get_db): Use `chise_ds_load_char_feature_value'
244         instead of `chise_char_load_feature_value'.
245         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
246
247 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * chartab.h (struct Lisp_Char_Table): Delete member
250         `feature_table' if CHISE is defined.
251
252         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
253         (Fcopy_char_table): Likewise.
254         (char_table_open_db_maybe): Likewise.
255         (char_table_close_db_maybe): Likewise.
256         (char_table_get_db): Likewise.
257         (Fmount_char_attribute_table): Likewise.
258         (Fload_char_attribute_table): Likewise.
259
260 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
261
262         * mule-charset.c (load_char_decoding_entry_maybe): Use
263         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
264         `chise_ccs_decode'.
265
266 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
269         instead of `chise_open_data_source'.
270         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
271         `chise_ds_close'.
272
273 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
276         instead of `chise_ds_open_feature_table'.
277         (char_table_close_db_maybe): Don't use `chise_ft_close'.
278
279 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * mule-charset.c (Fsave_charset_mapping_table): Use
282         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
283         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
284         `chise_ccs_sync' instead of `chise_ccst_close'.
285         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
286
287         * chartab.c (open_chise_data_source_maybe): Modify for
288         `chise_open_data_source'.
289         (char_table_open_db_maybe): Modify for
290         `chise_ds_open_feature_table'.
291
292 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
293
294         * mule-charset.c (load_char_decoding_entry_maybe): Use
295         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
296         `chise_ccst_close'.
297
298 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
299
300         * mule-charset.c (Fsave_charset_mapping_table): Use
301         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
302         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
303         `chise_dt_put_char' and `chise_dt_close'.
304         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
305         `chise_ccs_decode' and `chise_ccst_close' instead of
306         `chise_ds_open_decoding_table', `chise_dt_get_char' and
307         `chise_dt_close'.
308
309         * chartab.c (char_table_get_db): Use
310         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
311         (load_char_attribute_table_map_func): Modify for
312         `chise_char_feature_value_iterate'.
313         (Fload_char_attribute_table): Use
314         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
315
316 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
317
318         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
319
320 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
321
322         * chartab.c (put_char_table): Modify for inherited coded-charsets
323         in XEmacs CHISE.
324
325 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
326
327         * chartab.c (Fput_char_table_map_function): Fixed.
328         (word_boundary_p): Don't check charset in XEmacs CHISE.
329
330 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
331
332         * mule-charset.c (Fsave_charset_mapping_table): Use
333         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
334         instead of `chise_open_decoding_table'; refer
335         `default_chise_data_source'; use `chise_dt_close' instead of
336         `chise_close_decoding_table'.
337         (load_char_decoding_entry_maybe): Likewise.
338
339         * chartab.c (default_chise_data_source): New variable when `CHISE'
340         is defined.
341         (Fcopy_char_table): `ct->ds' is deleted.
342         (open_chise_data_source_maybe): New function.
343         (Fclose_char_data_source): New function.
344         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
345         use `chise_ds_open_feature_table' instead of
346         `chise_open_feature_table'.
347         (char_table_close_db_maybe): Use `chise_ft_close' instead of
348         `chise_close_feature_table'; `cit->ds' is deleted.
349         (syms_of_chartab): Add new builtin function
350         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
351
352         * chartab.h (default_chise_data_source): New extern variable.
353         (open_chise_data_source_maybe): New prototype.
354         (struct Lisp_Char_Table): Delete `ds'.
355
356 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
357
358         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
359         `CHISE' is defined.
360
361 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
362
363         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
364         not defined; add code for non-libchise setting.
365         (char_table_close_db_maybe): Likewise.
366         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
367         defined.
368         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
369         even if `CHISE' is not defined.
370         (Freset_char_attribute_table): Likewise.
371         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
372         `char_table_close_db_maybe' even if `CHISE' is not defined; use
373         `char_table_get_db'.
374         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
375         `char_table_close_db_maybe' even if `CHISE' is not defined.
376
377 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
378
379         * chartab.c (char_table_open_db_maybe): New function.
380         (char_table_close_db_maybe): New function.
381         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
382         (Freset_char_attribute_table): Likewise.
383         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
384         `char_table_close_db_maybe'.
385         (Fload_char_attribute_table): Likewise.
386
387 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
388
389         * chartab.c: Don't include <chise.h> because it is included in
390         chartab.h.
391         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
392         defined.
393         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
394         `CHISE' is defined.
395         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
396         `CHISE' is defined.
397         (Fclose_char_attribute_table): Close `ct->feature_table' and
398         `ct->ds' when `CHISE' is defined.
399         (Freset_char_attribute_table): Likewise.
400         (load_char_attribute_maybe): Use `cit->ds' and
401         `cit->feature_table' when `CHISE' is defined.
402         (Fload_char_attribute_table): Likewise.
403
404         * chartab.h: Include <chise.h> when `CHISE' is defined.
405         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
406         when `CHISE' is defined.
407
408 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
409
410         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
411         is defined.
412         (char_table_description): Likewise.
413         (Fmake_char_table): Likewise.
414         (Fcopy_char_table): Likewise.
415         (Fmount_char_attribute_table): Likewise.
416         (Fclose_char_attribute_table): Likewise.
417         (Freset_char_attribute_table): Likewise.
418         (load_char_attribute_maybe): Likewise.
419         (Fload_char_attribute_table): Likewise.
420
421         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
422         defined.
423
424 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
425
426         * chartab.c (load_char_attribute_table_map_func): New function
427         when CHISE is defined.
428         (Qload_char_attribute_table_map_function): Don't define when CHISE
429         is defined.
430         (Fload_char_attribute_table_map_function): Likewise.
431         (Fload_char_attribute_table): Use libchise when `CHISE' is
432         defined.
433         (syms_of_chartab): Don't define
434         `load-char-attribute-table-map-function' when CHISE is defined.
435
436 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
437
438         * chartab.c: Include <chise.h> when `CHISE' is defined.
439         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
440
441 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * mule-charset.c (charset_code_point): Fix problem when searching
444         in mother CCS fails with `defined_only' mode.
445
446 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
447
448         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
449         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
450         (put_char_composition): Likewise.
451         (Fput_char_attribute): Likewise.
452         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
453
454 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
455
456         * chartab.c (Q_ucs): Deleted.
457         (Fput_char_attribute): Don't refer `->ucs'.
458         (Fdefine_char): Likewise.
459         (Ffind_char): Likewise.
460         (syms_of_chartab): Delete `->ucs'.
461
462 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
463
464         * mule-charset.c (Qmap_cns11643_2): Renamed from
465         `Qchinese_cns11643_2'.
466         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
467         `chinese-cns11643-2'.
468         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
469         `=cns11643-2'.
470
471 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
472
473         * mule-charset.c (Qmap_cns11643_1): Renamed from
474         `Qchinese_cns11643_1'.
475         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
476         `chinese-cns11643-1'.
477         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
478         `=cns11643-1'.
479
480 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
481
482         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
483         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
484         `chinese-gb12345'.
485         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
486         `=gb12345'.
487
488 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
489
490         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
491         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
492         `chinese-gb2312'.
493         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
494         `=gb2312'.
495
496 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
497
498         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
499         (syms_of_mule_charset): Add new symbol `=big5' instead of
500         `chinese-big5'.
501         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
502
503 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
504
505         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
506         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
507         `korean-ksc5601'.
508         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
509         `=ks-x1001'.
510
511 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
512
513         * mule-charset.c (Qmap_jis_x0212): Renamed from
514         `Qjapanese_jisx0212'.
515         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
516         `japanese-jisx0212'.
517         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
518         `=jis-x0212'.
519
520 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
521
522         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
523         `Qjapanese_jisx0208'.
524         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
525         of `japanese-jisx0208'.
526         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
527         `=jis-x0208-1983'.
528
529 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
532         `Qjapanese_jisx0208_1978'.
533         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
534         of `japanese-jisx0208-1978'.
535         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
536         `=jis-x0208-1978'.
537
538 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
539
540         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
541         only for XEmacs CHISE.
542
543 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
544
545         * char-ucs.h: Compact non-ISO-IR charset-ids.
546         (LEADING_BYTE_UCS): Changed to -177.
547         (LEADING_BYTE_CONTROL_1): Changed to -77.
548         (LEADING_BYTE_UCS_BMP): Changed to -176.
549         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
550
551 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
552
553         * mule-charset.c (Qiso_ir): New variable.
554         (Fmake_charset): Recognise new property `iso-ir'.
555         (syms_of_mule_charset): Add new symbol `iso-ir'.
556
557 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
558
559         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
560         n to -n; charset-id of non ISO-IR sets are changed to positive
561         numbers.
562
563 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
564
565         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
566         for &MCS-XXXXXXXX; values.
567
568 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
569
570         * mule.c (Vxemacs_chise_version): Renamed from
571         `Vutf_2000_version'.
572         (vars_of_mule): Add new variable `xemacs-chise-version'; define
573         `utf-2000-version' as an alias for `xemacs-chise-version'.
574
575 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
576
577         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
578         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
579         defined.
580
581         * config.h.in (CHISE): New macro.
582
583 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
584
585         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
586         of `ucs'.
587         (Qmap_ucs): New variable.
588         (syms_of_mule_charset): Add new symbol `=ucs'.
589         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
590
591         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
592         (simplify_char_spec): Likewise.
593
594         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
595
596         * char-ucs.h (Qmap_ucs): New extern variable.
597
598 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
599
600         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
601         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
602         don't define it when UTF2000 is not defined.
603         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
604         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
605         when UTF2000 is not defined.
606         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
607         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
608
609 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
612
613         * mule-charset.c (Vcharset_ucs_gb): Deleted.
614         (Qucs_gb): Deleted.
615         (syms_of_mule_charset): Delete `ucs-gb'.
616         (complex_vars_of_mule_charset): Likewise.
617
618 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
619
620         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
621
622         * mule-charset.c (Vcharset_ucs_cns): Deleted.
623         (Qucs_cns): Deleted.
624         (syms_of_mule_charset): Delete `ucs-cns'.
625         (complex_vars_of_mule_charset): Likewise.
626
627 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
628
629         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
630
631         * mule-charset.c (Vcharset_ucs_jis): Deleted.
632         (Qucs_jis): Deleted.
633         (syms_of_mule_charset): Delete `ucs-jis'.
634         (complex_vars_of_mule_charset): Likewise.
635
636 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
637
638         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
639
640         * mule-charset.c (Vcharset_ucs_ks): Deleted.
641         (Qucs_ks): Deleted.
642         (syms_of_mule_charset): Delete `ucs-ks'.
643         (complex_vars_of_mule_charset): Likewise.
644
645 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
646
647         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
648         (Qideograph_daikanwa_2): Deleted.
649         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
650         (complex_vars_of_mule_charset): Likewise.
651
652         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
653         (LEADING_BYTE_DAIKANWA_1): Deleted.
654         (LEADING_BYTE_DAIKANWA_2): Deleted.
655         (MIN_CHAR_DAIKANWA): Deleted.
656         (MAX_CHAR_DAIKANWA): Deleted.
657
658 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
659
660         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
661         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
662         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
663
664         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
665         (Vcharset_ideograph_daikanwa): Deleted.
666         (Qideograph_hanziku_{1..12}): Deleted.
667         (Qideograph_daikanwa): Deleted.
668         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
669         Vcharset_ideograph_daikanwa.
670         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
671         `ideograph-hanziku-{1..12}'.
672         (complex_vars_of_mule_charset): Likewise.
673
674 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
675
676         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
677
678         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
679         (Qideograph_gt_pj_{1..11}): Deleted.
680         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
681         (complex_vars_of_mule_charset): Likewise.
682
683 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
684
685         * mule-charset.c (Vcharset_ucs_big5): Deleted.
686         (Vcharset_ideograph_gt): Deleted.
687         (Qucs_big5): Deleted.
688         (Qideograph_gt): Deleted.
689         (syms_of_mule_charset): Delete symbol `ucs-big5' and
690         `ideograph-gt'.
691         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
692         and `ideograph-gt'.
693
694         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
695         (LEADING_BYTE_GT): Deleted.
696         (MIN_CHAR_GT): Deleted.
697         (MAX_CHAR_GT): Deleted.
698
699 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
702
703 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
706         (save_uint16_byte_table): Likewise.
707         (save_byte_table): Likewise; convert values by it.
708         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
709         for `ideographic-structure'.
710         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
711         as the filter for `ideographic-structure'.
712
713 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
714
715         * chartab.c (put_char_composition): New function.
716         (Fput_char_attribute): Use `put_char_composition'; use
717         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
718
719         * fns.c (simplify_char_spec): New function.
720         (char_ref_simplify_spec): New function.
721         (Fchar_refs_simplify_char_specs): New function.
722         (syms_of_fns): Add new builtin function
723         `char-refs-simplify-char-specs'.
724
725 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
726
727         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
728         (Qideograph_cbeta): Deleted.
729         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
730         (complex_vars_of_mule_charset): Likewise.
731
732         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
733         (MIN_CHAR_CBETA): Comment out.
734         (MAX_CHAR_CBETA): Likewise.
735
736 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
737
738         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
739         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
740         CHISE client feature.
741
742 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
743
744         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
745
746 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
747
748         * mule-charset.c (charset_lookup_description_1): Use
749         `NUM_LEADING_BYTES' in UTF-2000.
750
751 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
752
753         * char-ucs.h (GC_CHARSETP): Deleted.
754
755 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * char-ucs.h (MAX_CHAR_GT): Updated.
758
759 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
760
761         * text-coding.c: Sync with XEmacs 21.4.10.
762
763 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * mule-charset.c (Vcharset_china3_jef): Deleted.
766         (Qchina3_jef): Deleted.
767         (syms_of_mule_charset): Don't define `china3-jef'.
768         (complex_vars_of_mule_charset): Likewise.
769
770         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
771         (MIN_CHAR_CHINA3_JEF): Comment out.
772         (MAX_CHAR_CHINA3_JEF): Comment out.
773
774 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
775
776         * mule-charset.c (Vcharset_ucs_gb): New variable.
777         (Qucs_gb): New variable.
778         (syms_of_mule_charset): Add new symbol `ucs-gb'.
779         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
780
781         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
782
783 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
784
785         * mule-charset.c (charset_code_point): if a coded-charset has a
786         final-byte, don't inherit the builtin range of the mother CCS.
787
788 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * mule-charset.c (charset_code_point): Fix problem about
791         inheritance.
792
793 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
794
795         * mule-charset.c (decode_builtin_char): Reorganized.
796
797 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * text-coding.c (char_encode_as_entity_reference): Modify for
800         `charset_code_point'.
801         (char_encode_shift_jis): Likewise.
802         (char_encode_big5): Likewise.
803         (char_encode_utf8): Likewise.
804         (char_encode_iso2022): Likewise.
805
806         * mule-charset.c (charset_code_point): Add new argument
807         `defined_only'.
808         (Fencode_char): Add new optional argument `defined_only'.
809
810         * chartab.c (put_char_table): Modify for `charset_code_point'.
811
812         * char-ucs.h (charset_code_point): Add new argument
813         `defined_only'.
814         (encode_char_1): Modify for `charset_code_point'.
815
816 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
819         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
820
821 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
822
823         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
824         (Qjis_x0208): Likewise.
825         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
826         XCHARSET_FINAL(charset).
827         (charset_code_point): Modify condition for final-byte based
828         builtin-chars.
829         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
830         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
831         in UTF-2000; specify `=jis-x0208' as the mother of
832         `japanese-jisx0208-1978', `japanese-jisx0208' and
833         `japanese-jisx0208-1990' in UTF-2000.
834
835 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
836
837         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
838
839 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
840
841         * text-coding.c (decode_coding_utf16): Support UTF-16.
842         (char_encode_utf16): Fixed.
843
844 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
845
846         * text-coding.c (Qutf16): New variable in MULE.
847         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
848         (Fcoding_system_type): Add `utf-16' in MULE.
849         (struct detection_state): Add a structure for utf16 in MULE.
850         (detect_coding_type): Setup st->utf16.mask in MULE.
851         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
852         MULE.
853         (reset_encoding_stream): Use `char_encode_utf16' and
854         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
855         (detect_coding_utf16): New function [incomplete].
856         (decode_coding_utf16): New function [support only UCS-2].
857         (char_encode_utf16): New function.
858         (char_finish_utf16): New function.
859         (syms_of_file_coding): Add new symbol `utf-16'; setup
860         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
861
862         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
863         UTF-2000.
864         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
865         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
866
867 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
868
869         * chartab.c (put_char_table): When a charset is specified as a
870         range in UTF-2000, don't support builtin characters.
871
872 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
873
874         * mule-charset.c (decode_defined_char): Don't refer external
875         database if Qunbound or Qnil are found.
876         (Fsave_charset_mapping_table): Don't define it if
877         HAVE_CHISE_CLIENT is not defined.
878         (Freset_charset_mapping_table): New function.
879         (load_char_decoding_entry_maybe): Store Qnil if a character is not
880         found in external database.
881         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
882         if HAVE_CHISE_CLIENT is not defined; add new builtin function
883         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
884
885 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
886
887         * text-coding.c (decode_coding_utf8): Check CCS is specified or
888         not.
889
890 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
891
892         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
893         Q_lowercase, Q_uppercase in UTF-2000.
894
895         * chartab.c (get_char_table): Add special code for the standard
896         case table to use character attribute `->downcase' and
897         `->uppercase' for case operations in UTF-2000.
898
899         * casetab.c (Qflippedcase): New variable in UTF-2000.
900         (Q_lowercase): Likewise.
901         (Q_uppercase): Likewise.
902         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
903         and `->uppercase' in UTF-2000.
904         (complex_vars_of_casetab): Assign attribute name `downcase' to
905         downcase and CANON table of Vstandard_case_table in UTF-2000;
906         assign attribute name `flippedcase' to upcase and EQV table of
907         Vstandard_case_table in UTF-2000.
908
909 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * text-coding.c (decode_add_er_char): Support isolated-chars.
912         (char_encode_as_entity_reference): Likewise.
913
914 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
915
916         * emacs.c (Vutf_2000_lisp_directory): New variable.
917         (Vconfigure_utf_2000_lisp_directory): Likewise.
918         (complex_vars_of_emacs): Add new variable
919         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
920
921 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
922
923         * char-ucs.h (DECODE_CHAR): Delete special code for
924         `chinese-big5-1' and `chinese-big5-2'.
925
926         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
927         (Qbig5_2): Likewise.
928         (decode_defined_char): Support CONVERSION_BIG5_1 and
929         CONVERSION_BIG5_2.
930         (decode_builtin_char): Likewise.
931         (charset_code_point): Likewise.
932         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
933         'conversion in UTF-2000.
934         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
935         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
936         `chinese-big5-2' as children of `chinese-big5'.
937
938         * char-ucs.h (CONVERSION_BIG5_1): New macro.
939         (CONVERSION_BIG5_2): New macro.
940
941 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
942
943         * text-coding.c (char_encode_big5): Support entity-reference.
944
945 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
946
947         * text-coding.c (char_encode_as_entity_reference): New function.
948         (char_encode_utf8): Use `char_encode_as_entity_reference'.
949
950 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
951
952         * text-coding.c (decode_coding_big5): Support entity-reference
953         decoding feature.
954
955 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
956
957         * text-coding.c (allocate_coding_system): Initialize initial
958         charsets for CODESYS_UTF8.
959         (Fmake_coding_system): Accept charset-g0, charset-g1 and
960         charset-g2 for CODESYS_UTF8.
961         (decode_coding_utf8): Use charset-g0.
962         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
963         to force variants to map to UCS.
964
965 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * text-coding.c (Qutf_8_mcs): New variable.
968         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
969         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
970         instead of `utf-8' in UTF-2000.
971
972 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
973
974         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
975         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
976         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
977         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
978         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
979         CONVERSION_96x96x96x96 are introduced.
980         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
981         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
982         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
983
984         * char-ucs.h (CONVERSION_94): New macro.
985         (CONVERSION_96): New macro.
986         (CONVERSION_94x94): New macro.
987         (CONVERSION_96x96): New macro.
988         (CONVERSION_94x94x94): New macro.
989         (CONVERSION_96x96x96): New macro.
990         (CONVERSION_94x94x94x60): New macro.
991         (CONVERSION_94x94x94x94): New macro.
992         (CONVERSION_96x96x96x96): New macro.
993
994 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
995
996         * chartab.c (Vcharacter_variant_table): Deleted.
997         (Fchar_variants): Use character-attribute `->ucs-variants' instead
998         of `Vcharacter_variant_table'.
999         (Fput_char_attribute): Likewise.
1000         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1001         (complex_vars_of_chartab): Likewise.
1002
1003 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1004
1005         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1006
1007         * fns.c (Qideographic_structure): New variable.
1008         (Qkeyword_char): New variable.
1009         (ids_format_unit): New function.
1010         (Fideographic_structure_to_ids): New function.
1011         (syms_of_fns): Add new symbols `ideographic-structure' and
1012         `:char'; add new builtin function `ideographic-structure-to-ids'.
1013
1014         * data.c (Fchar_ref_p): New function.
1015         (syms_of_data): Add new builtin function `char-ref-p'.
1016
1017         * chartab.h: Add an EXFUN for `Ffind_char'.
1018
1019 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1020
1021         * text-coding.c (Vcharacter_composition_table): Deleted.
1022         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1023         in every UTF-2000.
1024
1025         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1026         UTF-2000.
1027         (Vcharacter_composition_table): Deleted.
1028         (Fget_composite_char): Use the implementation for external-DB
1029         support in every UTF-2000.
1030         (Fput_char_attribute): Likewise.
1031         (char_attribute_system_db_file): Don't define if external-DB
1032         feature is not available.
1033         (Fsave_char_attribute_table): Likewise.
1034         (Fmount_char_attribute_table): Likewise.
1035         (Fclose_char_attribute_table): Likewise.
1036         (Freset_char_attribute_table): Likewise.
1037         (Fload_char_attribute_table): Likewise.
1038         (syms_of_chartab): Don't define `save-char-attribute-table',
1039         `mount-char-attribute-table', `reset-char-attribute-table',
1040         `close-char-attribute-table' and `load-char-attribute-table' if
1041         external-DB feature is not available.
1042         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1043
1044 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1045
1046         * text-coding.c (Qcomposition): Add extern if external-DB feature
1047         is supported.
1048         (Vcharacter_composition_table): Don't add extern if external-DB
1049         feature is supported.
1050         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1051         character composition rule if external-DB feature is supported.
1052
1053         * chartab.c (Vcharacter_composition_table): Don't define if
1054         external-DB feature is supported.
1055         (Qcomposition): New variable.
1056         (Fget_composite_char): New implementation for external-DB support.
1057         (Fput_char_attribute): Use `composition' property of each
1058         character instead of `Vcharacter_composition_table' to store
1059         character-composition rules if external-DB feature is supported.
1060         (syms_of_chartab): Add new symbol `composition'.
1061         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1062         external-DB feature is supported.
1063
1064 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1065
1066         * chartab.c (Vchar_db_stingy_mode): New variable.
1067         (load_char_attribute_maybe): Close database if
1068         Vchar_db_stingy_mode is not NIL.
1069         (Fload_char_attribute_table_map_function): Use
1070         `get_char_id_table_0' instead of `get_char_id_table'.
1071         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1072
1073         * chartab.h (get_char_id_table_0): New inline function.
1074         (get_char_id_table): Use `get_char_id_table_0'.
1075
1076 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1077
1078         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1079         and `COMPOSE_ADD_CHAR'.
1080         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1081
1082 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1083
1084         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1085         instead of `DECODE_ADD_UCS_CHAR'.
1086         (COMPOSE_ADD_CHAR): Likewise.
1087
1088 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1089
1090         * text-coding.c (decode_flush_er_chars): New inline function.
1091         (decode_add_er_char): New function.
1092         (decode_coding_utf8): Use `decode_flush_er_chars' and
1093         `decode_add_er_char'.
1094
1095 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1096
1097         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1098         done before `decode_output_utf8_partial_char'.
1099
1100         * mule-charset.c (complex_vars_of_mule_charset): Specify
1101         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1102         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1103
1104 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1105
1106         * mule-charset.c (decode_defined_char): New function; search
1107         mother.
1108         (decode_builtin_char): Don't search mother if
1109         XCHARSET_MAX_CODE(charset) == 0.
1110         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1111         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1112         (Fdecode_char): Use `decode_defined_char' instead of
1113         `DECODE_DEFINED_CHAR'.
1114         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1115         mother of `Vcharset_ucs_jis'.
1116
1117         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1118         instead of `DECODE_DEFINED_CHAR'.
1119
1120         * char-ucs.h (decode_defined_char): Renamed from
1121         `DECODE_DEFINED_CHAR'; changed to normal function.
1122         (DECODE_CHAR): Use `decode_defined_char' instead of
1123         `DECODE_DEFINED_CHAR'.
1124
1125         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1126
1127 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1128
1129         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1130
1131         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1132         variable.
1133         (Quse_entity_reference): New variable.
1134         (Qd): New variable.
1135         (Qx): New variable.
1136         (QX): New variable.
1137         (coding_system_description): Add description for
1138         `ccs_priority_list'.
1139         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1140         (allocate_coding_system): Initialize `ccs_priority_list' in
1141         UTF-2000.
1142         (Fmake_coding_system): Add description about
1143         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1144         (codesys).
1145         (Fcoding_system_property): Accept `disable-composition' and
1146         `use-entity-reference' in UTF-2000.
1147         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1148         in UTF-2000.
1149         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1150         (decode_coding_utf8): Decode entity-reference if
1151         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1152         (char_encode_utf8): Encode non-Unicode characters as
1153         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1154         (str->codesys).
1155         (syms_of_file_coding): Add new symbols `use-entity-reference',
1156         `d', `x', `X'.
1157         (vars_of_file_coding): Add new variable
1158         `coded-charset-entity-reference-alist'.
1159         (complex_vars_of_file_coding): Declare `disable-composition' and
1160         `use-entity-reference' to be coding-system-properties in UTF-2000.
1161
1162         * file-coding.h (struct Lisp_Coding_System): Add new member
1163         `use_entity_reference' and `ccs_priority_list'.
1164         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1165         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1166         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1167
1168 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1169
1170         * chartab.c (save_uint8_byte_table): Don't clear the table.
1171         (save_uint16_byte_table): Likewise.
1172         (save_byte_table): Likewise.
1173         (Fmount_char_attribute_table): New function.
1174         (syms_of_chartab): Add new builtin function
1175         `mount-char-attribute-table'.
1176
1177 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1180         "w+" mode.
1181         (load_char_decoding_entry_maybe): Open database as read-only mode.
1182
1183         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1184         open database as "w+" mode.
1185         (load_char_attribute_maybe): Open database as read-only mode.
1186         (Fload_char_attribute_table): Likewise.
1187
1188 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1189
1190         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1191         (char_table_description): Delete member `db_file'.
1192         (Fmake_char_table): Don't refer `ct->db_file'.
1193         (Fcopy_char_table): Likewise.
1194         (Fsave_char_attribute_table): Likewise.
1195         (Fclose_char_attribute_table): Likewise.
1196         (Freset_char_attribute_table): Likewise.
1197         (load_char_attribute_maybe): Likewise.
1198         (Fload_char_attribute_table): Likewise.
1199
1200         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1201
1202 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1203
1204         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1205         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1206         `ct->db' is living.
1207         (load_char_attribute_maybe): Likewise.
1208         (Fload_char_attribute_table): Likewise.
1209
1210 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1211
1212         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1213         `ct->db_file' unconditionally.
1214
1215 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1216
1217         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1218         UTF-2000.
1219         (char_table_description): Add description for `db_file' and `db'
1220         in UTF-2000.
1221         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1222         UTF-2000.
1223         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1224         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1225         (Fclose_char_attribute_table): New function.
1226         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1227         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1228         and `cit->db'.
1229         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1230         (syms_of_chartab): Add new builtin function
1231         `Fclose_char_attribute_table'.
1232
1233 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1234
1235         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1236         `db' in UTF-2000.
1237         (load_char_attribute_maybe): Change interface.
1238         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1239
1240 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1241
1242         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1243
1244 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1245
1246         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1247         instead of `DECODE_CHAR' for mother; don't use special code for
1248         chinese-big5 to use code space of chinese-big5-1 and
1249         chinese-big5-2.
1250         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1251         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1252
1253         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1254         (MAX_CHAR_BIG5_CDP): Revival.
1255
1256 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1257
1258         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1259         the XLFD registry-encoding name of `chinese-big5'.
1260
1261 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1262
1263         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1264         (Qchinese_big5_cdp): Deleted.
1265         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1266         (complex_vars_of_mule_charset): Delete coded-charset
1267         `chinese-big5-cdp'.
1268
1269         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1270         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1271         `CHARSET_ID_OFFSET - n' for private CCS.
1272         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1273         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1274         of `MIN_LEADING_BYTE'.
1275         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1276         `(CHARSET_ID_OFFSET - 97)'.
1277         (MIN_CHAR_BIG5_CDP): Deleted.
1278         (MAX_CHAR_BIG5_CDP): Deleted.
1279
1280 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1281
1282         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1283
1284 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1285
1286         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1287         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1288         chartab.c].
1289
1290         * chartab.c (Vutf_2000_version): Moved to mule.c.
1291         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1292
1293 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1294
1295         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1296         when HAVE_CHISE_CLIENT is not defined.
1297
1298         * mule.c (vars_of_mule): Provide feature `chise' when
1299         HAVE_CHISE_CLIENT is defined.
1300
1301 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1302
1303         * config.h.in (UTF2000): Add comment.
1304         (HAVE_CHISE_CLIENT): New macro.
1305
1306 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1307
1308         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1309         CONSP.
1310         (Fput_char_attribute): Likewise.
1311         (char_attribute_system_db_file): Encode file-name of attribute.
1312         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1313         the initial value.
1314
1315 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1316
1317         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1318         (Fsave_charset_mapping_table): Use
1319         `char_attribute_system_db_file'.
1320         (load_char_decoding_entry_maybe): Likewise.
1321
1322         * chartab.h (Qsystem_char_id): New external variable.
1323         (char_attribute_system_db_file): New prototype.
1324
1325         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1326         (char_attribute_system_db_file): New function.
1327         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1328         (Freset_char_attribute_table): Likewise.
1329         (load_char_attribute_maybe): Likewise.
1330         (Fload_char_attribute_table): Likewise.
1331         (syms_of_chartab): Add new symbol `system-char-id'.
1332
1333 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1334
1335         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1336         `XCHARSET_GRAPHIC(ccs)'.
1337
1338 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1339
1340         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1341
1342 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1343
1344         * chartab.c (Q_ucs_variants): New variable.
1345         (syms_of_chartab): Add new symbol `->ucs-variants'.
1346         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1347         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1348         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1349
1350         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1351
1352         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1353         `HAVE_DATABASE' is defined.
1354         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1355         `HAVE_DATABASE' is defined.
1356
1357 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1358
1359         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1360         attribute-table.
1361         (Freset_char_attribute_table): New function.
1362         (syms_of_chartab): Add new builtin function
1363         `reset-char-attribute-table'.
1364
1365 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1366
1367         * chartab.c (load_char_attribute_maybe): Don't make directories.
1368
1369 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1370
1371         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1372
1373         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1374         for decoding-table.
1375
1376 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1377
1378         * mule-charset.c (Fsave_charset_mapping_table): Use
1379         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1380
1381         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1382         instead of `XCHARSET_CHARS'.
1383
1384 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1385
1386         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1387         (XCHARSET_BYTE_SIZE): Likewise.
1388
1389         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1390         mule-charset.c].
1391         (XCHARSET_BYTE_SIZE): Likewise.
1392
1393 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1394
1395         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1396         data-directory to store database.
1397         (Fsave_char_attribute_table): Likewise.
1398         (load_char_attribute_maybe): Likewise.
1399         (Fload_char_attribute_table): Likewise.
1400
1401 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1402
1403         * mule-charset.c (Fsave_charset_mapping_table): New function.
1404         (syms_of_mule_charset): Add new builtin function
1405         `save-charset-mapping-table'.
1406
1407 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1408
1409         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1410         (get_ccs_octet_table): New inline function.
1411         (put_ccs_octet_table): Likewise.
1412         (decoding_table_put_char): Use `get_ccs_octet_table' and
1413         `put_ccs_octet_table'.
1414         (decoding_table_remove_char): Use `decoding_table_put_char'.
1415         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1416
1417         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1418         into encoding_table.
1419         (make_charset): Use Qunbound instead Qnil as initial value of
1420         decoding_table.
1421
1422 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1423
1424         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1425         element is Qunloaded.
1426         (map_over_uint16_byte_table): Likewise.
1427         (map_over_byte_table): Likewise.
1428         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1429         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1430         database support, load encoding-table of the specified
1431         coded-charset if it is not loaded yet.
1432         (save_uint8_byte_table): New function of UTF-2000 with external
1433         database support.
1434         (save_uint16_byte_table): Likewise.
1435         (save_byte_table): Likewise.
1436         (Fput_char_attribute): Don't store value into external database
1437         even if the external database feature is supported in UTF-2000;
1438         set `attribute' as name of char-table if the external database
1439         feature is supported.
1440         (Fsave_char_attribute_table): New function in UTF-2000.
1441         (syms_of_chartab): Add new builtin function
1442         `save-char-attribute-table' in UTF-2000.
1443
1444 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1445
1446         * chartab.c (char_attribute_table_to_put): New variable in
1447         UTF-2000.
1448         (Qput_char_table_map_function): Likewise.
1449         (value_to_put): Likewise.
1450         (Fput_char_table_map_function): New function in UTF-2000.
1451         (put_char_table): Use `Fmap_char_attribute' for
1452         CHARTAB_RANGE_CHARSET in UTF-2000.
1453         (Fput_char_attribute): Store symbol instead of string in
1454         `XCHAR_TABLE_NAME (table)'.
1455         (load_char_attribute_maybe): Likewise.
1456         (syms_of_chartab): Add new symbol/function
1457         `put-char-table-map-function'.
1458
1459 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1460
1461         * database.h: Add new EXFUN for `Fmap_database'.
1462
1463         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1464         (syms_of_database): Likewise.
1465
1466         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1467         UTF-2000.
1468         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1469         (XCHAR_TABLE_UNLOADED): Likewise.
1470
1471         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1472         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1473         HAVE_DATABASE is defined.
1474         (char_attribute_table_to_load): New variable of UTF-2000 with
1475         external database support.
1476         (Qload_char_attribute_table_map_function): Likewise.
1477         (Fload_char_attribute_table_map_function): New function of
1478         UTF-2000 with external database support.
1479         (Fload_char_attribute_table): New function of UTF-2000.
1480         (Fmap_char_attribute): Call Fload_char_attribute_table if
1481         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1482         (syms_of_chartab): Add new symbol and function
1483         `load-char-attribute-table-map-function' in UTF-2000 with external
1484         database support; add new function `load-char-attribute-table' in
1485         UTF-2000.
1486
1487 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1488
1489         * chartab.h (load_char_attribute_maybe): New prototype for
1490         UTF-2000 with DATABASE support.
1491         (get_char_id_table): Use `load_char_attribute_maybe' if
1492         HAVE_DATABASE is defined.
1493
1494         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1495         with DATABASE support.
1496
1497 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1498
1499         * chartab.c (Fput_char_attribute): Use S-expression as key of
1500         external database.
1501
1502         * chartab.h (get_char_id_table): Use S-expression as key of
1503         external database.
1504
1505 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1506
1507         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1508         if an element is not loaded, load the corresponding attributes
1509         from an external database.
1510         (map_over_uint16_byte_table): Likewise.
1511         (map_over_byte_table): Likewise.
1512         (map_char_table): Modify for `map_over_uint8_byte_table',
1513         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1514         element is not loaded, load the corresponding attributes from an
1515         external database.
1516         (Fput_char_attribute): Change initial values to Qunloaded.
1517
1518         * chartab.h (get_char_id_table): If a character attribute is not
1519         loaded and the attribute value is not found in an external
1520         database, store Qunbound as the attribute value.
1521
1522 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1523
1524         * chartab.c (BT_UINT8_unloaded): New macro.
1525         (UINT8_VALUE_P): Accept Qunloaded.
1526         (UINT8_ENCODE): Likewise.
1527         (UINT8_DECODE): Likewise.
1528         (BT_UINT16_unloaded): New macro.
1529         (UINT16_VALUE_P): Accept Qunloaded.
1530         (UINT16_ENCODE): Likewise.
1531         (UINT16_DECODE): Likewise.
1532         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1533         BT_UINT16_unloaded.
1534         (mark_char_table): Mark `ct->name' in UTF-2000.
1535         (char_table_description): Add `name' in UTF-2000.
1536         (Fmake_char_table): Initialize `ct->name'.
1537         (Fcopy_char_table): Copy `ct->name'.
1538         (Fput_char_attribute): Store value into an external database if
1539         HAVE_DATABASE is defined.
1540
1541         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1542         UTF-2000.
1543         (CHAR_TABLE_NAME): New macro in UTF-2000.
1544         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1545         (get_char_id_table): Try to read an external database if Qunloaded
1546         is stored in a table.
1547
1548         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1549         Qunloaded.
1550
1551 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1552
1553         * database.h: Add EXFUN definitions for Fopen_database,
1554         Fput_database, Fget_database and Fclose_database.
1555
1556         * data.c (Qunloaded): New variable in UTF-2000.
1557
1558         * lisp.h (Qunloaded): New variable in UTF-2000.
1559
1560 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1561
1562         * mule-charset.c (put_char_ccs_code_point): Modify for
1563         `decoding_table_remove_char' and `decoding_table_put_char'.
1564         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1565
1566         * char-ucs.h (decoding_table_remove_char): Change arguments to
1567         hide decoding_table vector.
1568         (decoding_table_put_char): Likewise.
1569
1570 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1571
1572         * mule-charset.c (decoding_table_remove_char): Moved to
1573         char-ucs.h.
1574         (decoding_table_put_char): Likewise.
1575
1576         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1577         from mule-charset.c].
1578         (decoding_table_remove_char): New inline function [moved from
1579         mule-charset.c].
1580         (decoding_table_put_char): Likewise.
1581
1582 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1583
1584         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1585         extension.
1586
1587 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1588
1589         * mule-charset.c (decode_builtin_char): Support mother charsets.
1590
1591 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1592
1593         * mule-charset.c (Q94x94x60): New variable.
1594         (charset_code_point): Support conversion `94x94x60'.
1595         (Fmake_charset): Likewise.
1596         (syms_of_mule_charset): Add new symbol `94x94x60'.
1597
1598         * char-ucs.h (CONVERSION_94x94x60): New macro.
1599
1600 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1601
1602         * mule-charset.c (charset_code_point): Unify code about
1603         `code-offset'.
1604
1605 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1606
1607         * mule-charset.c (charset_code_point): Merge code about builtin
1608         characters into code about mother charsets; don't use
1609         `range_charset_code_point'.
1610         (range_charset_code_point): Deleted.
1611
1612 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1613
1614         * mule-charset.c (Qcode_offset): New variable.
1615         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1616         `max-code'; accept new property `code-offset'.
1617         (syms_of_mule_charset): Add new symbol `code-offset'.
1618
1619 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1620
1621         * mule-charset.c (range_charset_code_point): Fixed.
1622
1623 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1624
1625         * mule-charset.c (decode_builtin_char): Change semantics of
1626         code-offset of coded-charset.
1627         (charset_code_point): Likewise.
1628         (range_charset_code_point): Likewise.
1629         (complex_vars_of_mule_charset): Modify for the change.
1630
1631 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1632
1633         * mule-charset.c (Fencode_char): Reverse arguments.
1634
1635         * mule-charset.c (charset_code_point): Fixed.
1636
1637 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1638
1639         * mule-charset.c (Vcharset_mojikyo): Deleted.
1640         (Vcharset_mojikyo_2022_1): Deleted.
1641         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1642         (Qmin_code): New variable in UTF-2000.
1643         (Qmax_code): Likewise.
1644         (Qmother): Likewise.
1645         (Qconversion): Likewise.
1646         (Q94x60): Likewise.
1647         (Qmojikyo): Deleted.
1648         (Qmojikyo_2022_1): Deleted.
1649         (Qmojikyo_pj_{1..22}): Deleted.
1650         (mark_charset): Mark `cs->mother'.
1651         (charset_description): Add description for `mother'.
1652         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1653         new arguments `mother' and `conversion'; use
1654         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1655         (charset_code_point): Moved from char-ucs.h; support `mother'
1656         charset feature.
1657         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1658         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1659         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1660         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1661         allow 2 as the value of `graphic' in UTF-2000; add new properties
1662         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1663         require `final' in UTF-2000; modify for `make_charset'.
1664         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1665         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1666         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1667         (Fencode_char): New function.
1668         (syms_of_mule_charset): Add new builtin function `encode-char' in
1669         UTF-2000; add new symbols `min-code', `max-code', `mother',
1670         `conversion' and `94x60'; delete symbols `mojikyo',
1671         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1672         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1673         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1674         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1675
1676         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1677         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1678
1679         * char-ucs.h (Vcharset_mojikyo): Deleted.
1680         (Vcharset_mojikyo_2022_1): Deleted.
1681         (LEADING_BYTE_MOJIKYO): Deleted.
1682         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1683         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1684         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1685         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1686         add new member `mother'; add new member `conversion'.
1687         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1688         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1689         (CHARSET_MOTHER): New macro.
1690         (CHARSET_CONVERSION): New macro.
1691         (CONVERSION_IDENTICAL): New macro.
1692         (CONVERSION_94x60): New macro.
1693         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1694         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1695         (XCHARSET_MOTHER): New macro.
1696         (XCHARSET_CONVERSION): New macro.
1697         (MIN_CHAR_MOJIKYO): Deleted.
1698         (MAX_CHAR_MOJIKYO): Deleted.
1699         (DECODE_MOJIKYO_2022): Deleted.
1700         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1701         (charset_code_point): Changed to non-inline function.
1702         (encode_char_1): Use `charset_code_point'.
1703         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1704
1705 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1706
1707         * lread.c (read_compiled_function): Fix prototype.
1708         (read_vector): Likewise.
1709
1710 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1711
1712         * lrecord.h (struct lrecord_header): Delete `older'.
1713         (set_lheader_implementation): Delete code for `older'.
1714         (set_lheader_older_implementation): Deleted.
1715         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1716         (OLDER_RECORD_P): Deleted.
1717         (OLDER_RECORD_HEADER_P): Deleted.
1718         (alloc_older_lcrecord): Deleted.
1719         (alloc_older_lcrecord_type): Deleted.
1720
1721         * alloc.c (all_older_lcrecords): Deleted.
1722         (alloc_older_lcrecord): Deleted.
1723         (disksave_object_finalization_1): Delete code for older objects.
1724         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1725         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1726
1727 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1728
1729         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1730         instead of `make_older_vector'.
1731         (put_char_ccs_code_point): Likewise.
1732         (mark_charset): Mark `cs->decoding_table'.
1733         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1734
1735         * lisp.h (make_older_vector): Deleted.
1736         (make_vector_newer): Deleted.
1737
1738         * config.h.in (HAVE_GGC): Deleted.
1739
1740         * alloc.c (make_older_vector): Deleted.
1741         (make_vector_newer_1): Deleted.
1742         (make_vector_newer): Deleted.
1743
1744 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1745
1746         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1747         (Qideograph_daikanwa_2): New variable.
1748         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1749         (complex_vars_of_mule_charset): Add new coded-charset
1750         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1751         `LEADING_BYTE_DAIKANWA'.
1752
1753         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1754         (LEADING_BYTE_DAIKANWA_1): New macro.
1755         (LEADING_BYTE_DAIKANWA_2): New macro.
1756         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1757
1758 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1759
1760         * mule-charset.c (complex_vars_of_mule_charset): Change
1761         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1762         the second revised version.
1763
1764 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1765
1766         * mule-charset.c (Vcharset_ucs_smp): New variable.
1767         (Vcharset_ucs_sip): New variable.
1768         (Qucs_smp): New variable.
1769         (Qucs_sip): New variable.
1770         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1771         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1772         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1773         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1774         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1775         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1776
1777         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1778         (LEADING_BYTE_UCS_SIP): New macro.
1779         (MIN_CHAR_SMP): New macro.
1780         (MAX_CHAR_SMP): New macro.
1781         (MIN_CHAR_SIP): New macro.
1782         (MAX_CHAR_SIP): New macro.
1783
1784 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1785
1786         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1787         utf-2000.
1788
1789 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1790
1791         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1792         value; don't store value into `encoding_table' of `Lisp_Charset'.
1793         (mark_charset): `encoding_table' was deleted.
1794         (charset_description): Likewise.
1795         (make_charset): Likewise.
1796         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1797         `put_char_ccs_code_point'.
1798
1799         * chartab.h (Fput_char_attribute): New EXFUN.
1800
1801         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1802         is unified with normal symbol space.
1803         (Fget_char_attribute): Likewise.
1804         (Fput_char_attribute): Likewise; behavior of
1805         `put_char_ccs_code_point' is changed.
1806
1807         * char-ucs.h: Include "elhash.h".
1808         (Vchar_attribute_hash_table): New external variable.
1809         (struct Lisp_Charset): Delete `encoding_table'.
1810         (CHARSET_ENCODING_TABLE): New implementation; refer
1811         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1812         `Lisp_Charset'.
1813
1814 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1815
1816         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1817         (cs) == 0.
1818
1819 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1820
1821         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1822         `chinese-big5'.
1823
1824 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * chartab.c (uint8_byte_table_description): New constant.
1827         (uint8-byte-table): Use `uint8_byte_table_description'.
1828         (uint16_byte_table_description): New constant.
1829         (uint16-byte-table): Use `uint16_byte_table_description'.
1830
1831 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1832
1833         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1834         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1835
1836 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1837
1838         * mule-charset.c (Vcharset_ucs_ks): New variable.
1839         (Qucs_ks): New variable.
1840         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1841         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1842
1843         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1844
1845 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1846
1847         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1848         (Fdecode_char): Likewise.
1849
1850         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1851         chartab.h.
1852         (Fdefine_char): Modify for Fdecode_char.
1853         (Ffind_char): Likewise.
1854
1855         * mule-charset.c (Fdecode_char): Add new optional argument
1856         `defined-only'.
1857         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1858
1859 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1860
1861         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1862         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1863         (allocate_coding_system): Initialize initial-charsets of
1864         CODESYS_BIG5 in XEmacs UTF-2000.
1865         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1866         CODESYS_BIG5 in XEmacs UTF-2000.
1867         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1868         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1869
1870         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1871         variables.
1872         (Qideograph_hanziku_{1 .. 12}): Likewise.
1873         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1874         .. 12}'.
1875         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1876         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1877         `ideograph-hanziku-{1 .. 12}'.
1878
1879         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1880         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1881         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1882         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1883         (DECODE_DEFINED_CHAR): New inline function.
1884         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1885
1886 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1887
1888         * mule-charset.c (Vcharset_china3_jef): Renamed from
1889         `Vcharset_japanese_jef_china3'.
1890         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1891         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1892         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1893         (syms_of_mule_charset): Rename `china3-jef' from
1894         `japanese-jef-china3'.
1895         (complex_vars_of_mule_charset): Likewise; rename
1896         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1897
1898         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1899         `LEADING_BYTE_JEF_CHINA3'.
1900         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1901         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1902
1903 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * mule-charset.c (encode_builtin_char_1): Comment out special code
1906         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1907
1908         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1909         (MAX_CHAR_MOJIKYO_0): Comment out.
1910         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1911         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1912         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1913         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1914
1915 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1916
1917         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1918         (Qideograph_cbeta): New variable.
1919         (encode_builtin_char_1): Comment out special code for
1920         coded-charset `mojikyo' and `japanese-jef-china3'.
1921         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1922         (complex_vars_of_mule_charset): Add new coded-charset
1923         `ideograph-cbeta'.
1924
1925         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1926         (MIN_CHAR_CBETA): New macro.
1927         (MAX_CHAR_CBETA): New macro.
1928
1929 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1930
1931         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1932         (LEADING_BYTE_JEF_CHINA3): New macro.
1933         (MIN_CHAR_JEF_CHINA3): New macro.
1934         (MAX_CHAR_JEF_CHINA3): Likewise.
1935         (DECODE_CHAR): Fixed.
1936
1937 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1938
1939         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1940         (Qjapanese_jef_china3): New variable.
1941         (encode_builtin_char_1): Support `japanese-jef-china3'.
1942         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1943         (complex_vars_of_mule_charset): Add new coded-charset
1944         `japanese-jef-china3'.
1945
1946 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1947
1948         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1949         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1950         94^4, 96^3, 96^4, 128^n and 256^n set.
1951         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1952         (map_char_table): Likewise.
1953
1954 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1955
1956         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1957         UTF-2000.
1958
1959 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1960
1961         * chartab.h (get_char_id_table): New inline function.
1962
1963         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1964         function.
1965
1966 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * chartab.h (decode_char_table_range): New prototype in XEmacs
1969         UTF-2000.
1970         (put_char_id_table): New inline function in XEmacs UTF-2000.
1971
1972         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1973         function.
1974         (decode_char_table_range): Delete static declaration in XEmacs
1975         UTF-2000.
1976
1977 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1978
1979         * chartab.c (put_char_id_table): Use `put_char_table'.
1980
1981 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1982
1983         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1984         (map_over_uint16_byte_table): Likewise.
1985         (map_over_byte_table): Likewise.
1986         (map_char_table): Modify for `map_over_uint8_byte_table',
1987         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1988         UTF-2000.
1989
1990 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1991
1992         * chartab.c (struct map_char_table_for_charset_arg): New
1993         structure.
1994         (map_char_table_for_charset_fun): New function.
1995         (map_char_table): Use `map_char_table' for encoding_table of
1996         `range->charset'.
1997
1998 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1999
2000         * chartab.c (map_char_table): Check a character is found in
2001         range->charset instead of non default value is defined in
2002         char-table when range is CHARTAB_RANGE_ROW.
2003
2004 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2005
2006         * chartab.c (map_char_id_table): Deleted.
2007         (Fmap_char_attribute): Use `map_char_table' instead of
2008         `map_char_id_table'.
2009
2010 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2011
2012         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2013         UTF-2000.
2014         (update_syntax_table): Deleted in XEmacs UTF-2000.
2015
2016         * syntax.c (find_defun_start): Use `syntax_table' instead of
2017         `mirror_syntax_table' in XEmacs UTF-2000.
2018         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2019         UTF-2000.
2020         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2021         XEmacs UTF-2000.
2022         (Fmatching_paren): Likewise.
2023         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2024         in XEmacs UTF-2000.
2025         (find_start_of_comment): Likewise.
2026         (find_end_of_comment): Likewise.
2027         (Fforward_comment): Likewise.
2028         (scan_lists): Likewise.
2029         (char_quoted): Likewise.
2030         (Fbackward_prefix_chars): Likewise.
2031         (scan_sexps_forward): Likewise.
2032         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2033         (update_syntax_table): Likewise.
2034
2035         * search.c (skip_chars): Use `syntax_table' instead of
2036         `mirror_syntax_table' in XEmacs UTF-2000.
2037         (wordify): Likewise.
2038         (Freplace_match): Likewise.
2039
2040         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2041         `mirror_syntax_table' in XEmacs UTF-2000.
2042         (WORDCHAR_P_UNSAFE): Likewise.
2043         (re_match_2_internal): Likewise.
2044
2045         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2046         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2047
2048         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2049         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2050
2051         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2052         XEmacs UTF-2000.
2053
2054         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2055         UTF-2000.
2056         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2057         (char_table_description): Delete `mirror_table' in XEmacs
2058         UTF-2000.
2059         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2060         UTF-2000.
2061         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2062         (Fcopy_char_table): Likewise.
2063         (put_char_table): Don't call `update_syntax_table' in XEmacs
2064         UTF-2000.
2065
2066         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2067         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2068         (casify_region_internal): Likewise.
2069
2070         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2071
2072         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2073         `mirror_syntax_table' in XEmacs UTF-2000.
2074
2075         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2076         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2077         (Fexpand_abbrev): Likewise.
2078
2079 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2080
2081         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2082
2083 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2084
2085         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2086         (map_over_uint16_byte_table): Likewise.
2087         (map_over_byte_table): Likewise.
2088         (get_char_id_table): Refer `cit->default_value'.
2089         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2090         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2091         of character-id ranges.
2092         (mark_char_table): Mark `ct->default_value'.
2093         (char_table_description): Add `default_value'.
2094         (fill_char_table): Use `default_value'.
2095         (decode_char_table_range): Decode `nil' as
2096         `CHARTAB_RANGE_DEFAULT'.
2097         (get_char_id_table): Refer `cit->default_value'.
2098         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2099         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2100         temporary hack; check value of char-table is bound or not.
2101         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2102
2103         * chartab.h (struct Lisp_Char_Table): Add new member
2104         `default_value' in XEmacs UTF-2000.
2105         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2106         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2107         UTF-2000.
2108
2109 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2110
2111         * chartab.h (Lisp_Char_ID_Table): Deleted.
2112
2113         * chartab.c (char_table_description): Fix typo.
2114         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2115         `Lisp_Char_ID_Table'.
2116
2117 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2118
2119         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2120         `CHAR_ID_TABLE_P'.
2121
2122         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2123         `CHAR_ID_TABLE_P'.
2124
2125         * chartab.h (XCHAR_ID_TABLE): Deleted.
2126         (XSETCHAR_ID_TABLE): Deleted.
2127         (CHAR_ID_TABLE_P): Deleted.
2128
2129         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2130         `CHAR_ID_TABLE_P'.
2131         (Fget_composite_char): Likewise.
2132         (put_char_table): Likewise.
2133         (add_char_attribute_alist_mapper): Fixed.
2134         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2135         `CHAR_ID_TABLE_P'.
2136         (Fget_char_attribute): Likewise.
2137         (Fget_char_attribute): Likewise.
2138         (Fmap_char_attribute): Likewise.
2139
2140         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2141         `CHAR_ID_TABLE_P'.
2142         (encode_char_1): Likewise.
2143
2144 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2145
2146         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2147         `XCHAR_ID_TABLE'.
2148
2149         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2150         instead of `XCHAR_ID_TABLE'.
2151         (remove_char_ccs): Likewise.
2152
2153         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2154         `XCHAR_ID_TABLE'.
2155         (Fget_composite_char): Likewise.
2156         (Fchar_variants): Likewise.
2157         (put_char_table): Likewise.
2158         (add_char_attribute_alist_mapper): Likewise.
2159         (Fchar_attribute_alist): Likewise.
2160         (Fget_char_attribute): Likewise.
2161         (Fput_char_attribute): Likewise.
2162         (Fmap_char_attribute): Likewise.
2163         (Fmap_char_attribute): Likewise.
2164
2165         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2166         `XCHAR_ID_TABLE'.
2167         (encode_char_1): Likewise.
2168
2169 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2170
2171         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2172         `Lisp_Char_ID_Table'.
2173         (mark_char_id_table): Deleted.
2174         (print_char_id_table): Likewise.
2175         (char_id_table_equal): Likewise.
2176         (char_id_table_hash): Likewise.
2177         (char_id_table_description): Likewise.
2178         (char_id_table): Likewise.
2179         (make_char_id_table): Use `Fmake_char_table' and
2180         `fill_char_table'.
2181         (get_char_id_table): Use `Lisp_Char_Table' instead of
2182         `Lisp_Char_ID_Table'.
2183         (put_char_id_table): Likewise.
2184         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2185         `XCHAR_ID_TABLE'.
2186         (Fremove_char_attribute): Likewise.
2187         (syms_of_chartab): Don't define type `char-id-table'.
2188
2189         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2190         (char_id_table): Likewise.
2191         (GC_CHAR_ID_TABLE_P): Likewise.
2192         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2193         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2194         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2195         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2196         (get_char_id_table): Use `Lisp_Char_Table' instead of
2197         `Lisp_Char_ID_Table'.
2198         (put_char_id_table_0): Likewise.
2199         (put_char_id_table): Likewise.
2200
2201 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2202
2203         * chartab.h: Lisp_Byte_Table related codes are moved from
2204         chartab.h.
2205
2206         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2207
2208 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2209
2210         * chartab.h: Don't include "chartab.h".
2211         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2212         (Lisp_Char_ID_Table): Likewise.
2213         (char_id_table): Likewise.
2214         (XCHAR_ID_TABLE): Likewise.
2215         (XSETCHAR_ID_TABLE): Likewise.
2216         (CHAR_ID_TABLE_P): Likewise.
2217         (GC_CHAR_ID_TABLE_P): Likewise.
2218         (get_char_id_table): Likewise.
2219
2220         * char-ucs.h: Include "chartab.h".
2221         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2222         (Lisp_Char_ID_Table): Likewise.
2223         (char_id_table): Likewise.
2224         (XCHAR_ID_TABLE): Likewise.
2225         (XSETCHAR_ID_TABLE): Likewise.
2226         (CHAR_ID_TABLE_P): Likewise.
2227         (GC_CHAR_ID_TABLE_P): Likewise.
2228         (get_char_id_table): Likewise.
2229
2230 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2231
2232         * chartab.c (copy_uint8_byte_table): New function.
2233         (copy_uint16_byte_table): New function.
2234         (copy_byte_table): New function.
2235         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2236         characters to call.
2237         (map_over_uint16_byte_table): Likewise.
2238         (map_over_byte_table): Likewise.
2239         (get_byte_table): Move prototype to chartab.h.
2240         (put_byte_table): Likewise.
2241         (put_char_id_table_0): Moved to chartab.h.
2242         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2243         (char_table_entry_equal): Likewise.
2244         (char_table_entry_hash): Likewise.
2245         (char_table_entry_description): Likewise.
2246         (char_table_entry): Likewise.
2247         (make_char_table_entry): Likewise.
2248         (copy_char_table_entry): Likewise.
2249         (get_non_ascii_char_table_value): Likewise.
2250         (map_over_charset_ascii): Likewise.
2251         (map_over_charset_control_1): Likewise.
2252         (map_over_charset_row): Likewise.
2253         (map_over_other_charset): Likewise.
2254         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2255         (print_char_table): Likewise.
2256         (char_table_equal): Likewise.
2257         (char_table_hash): Likewise.
2258         (char_table_description): Likewise.
2259         (fill_char_table): Likewise.
2260         (Fcopy_char_table): Likewise.
2261         (get_char_table): Likewise.
2262         (Fget_range_char_table): Likewise.
2263         (put_char_table): Likewise.
2264         (map_char_table): Likewise.
2265         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2266         UTF-2000.
2267
2268 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2269
2270         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2271         `Vauto_fill_chars' in XEmacs UTF-2000.
2272
2273         * chartab.h (get_byte_table): New prototype [moved from
2274         chartab.c].
2275         (put_byte_table): Likewise [moved from chartab.c].
2276         (put_char_id_table_0): New inline function [moved from chartab.c].
2277         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2278         (Lisp_Char_Table_Entry): Likewise.
2279         (char_table_entry): Likewise.
2280         (XCHAR_TABLE_ENTRY): Likewise.
2281         (XSETCHAR_TABLE_ENTRY): Likewise.
2282         (CHAR_TABLE_ENTRYP): Likewise.
2283         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2284         (NUM_ASCII_CHARS): Likewise.
2285         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2286         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2287
2288 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2289
2290         * chartab.c (get_char_id_table): Change interface.
2291         (put_char_id_table_0): New function.
2292         (put_char_id_table): Change interface; new implementation.
2293         (Fget_composite_char): Modify for interface change of
2294         `get_char_id_table'.
2295         (Fchar_variants): Likewise.
2296         (add_char_attribute_alist_mapper): Likewise.
2297         (Fchar_attribute_alist): Likewise.
2298         (Fget_char_attribute): Likewise.
2299         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2300         as same as character as the first argument like `put-char-table';
2301         modify for interface change of `put_char_id_table'.
2302         (Fremove_char_attribute): Modify for interface change of
2303         `put_char_id_table'.
2304
2305 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2306
2307         * text-coding.c: Sync up with XEmacs 21.2.41.
2308         (COMPOSE_ADD_CHAR): Modify for interface change of
2309         `get_char_id_table'.
2310
2311         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2312         change of `put_char_id_table'.
2313         (remove_char_ccs): Likewise.
2314
2315         * chartab.h (put_char_id_table): Change interface.
2316
2317         * char-ucs.h (get_char_id_table): Change interface.
2318         (charset_code_point): Modify for interface change of
2319         `get_char_id_table'.
2320         (encode_char_1): Likewise.
2321
2322 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2323
2324         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2325         argument `ccs'.
2326         (map_over_uint16_byte_table): Likewise.
2327         (map_over_byte_table): Likewise.
2328         (map_char_id_table): Add new argument `range' like
2329         `map_char_table'.
2330         (Fmap_char_attribute): Add new argument `range' like
2331         `Fmap_char_table'.
2332
2333 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2334
2335         * chartab.c (map_over_uint8_byte_table): Change interface of
2336         mapping function to use struct chartab_range instead of Emchar.
2337         (map_over_uint16_byte_table): Likewise.
2338         (map_over_byte_table): Likewise.
2339         (map_char_id_table): Likewise.
2340         (struct slow_map_char_id_table_arg): Deleted.
2341         (slow_map_char_id_table_fun): Deleted.
2342         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2343         function `slow_map_char_table_fun' instead of struct
2344         `slow_map_char_id_table_arg' and function
2345         `slow_map_char_id_table_fun'.
2346
2347 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2348
2349         * mule-charset.c: Move char-it-table related codes to chartab.c.
2350         (Vutf_2000_version): Moved to chartab.c.
2351         (Fdefine_char): Likewise.
2352         (Ffind_char): Likewise.
2353         (syms_of_mule_charset): Move types `uint8-byte-table',
2354         `uint16-byte-table', `byte-table' and `char-id-table' to
2355         chartab.c; move functions `char_attribute_list,
2356         `find_char_attribute_table, `char_attribute_alist,
2357         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2358         `map_char_attribute, `define_char, `find_char, `char_variants and
2359         `get_composite_char to chartab.c; move symbols `=>ucs',
2360         `->decomposition', `compat', `isolated', `initial', `medial',
2361         `final', `vertical', `noBreak', `fraction', `super', `sub',
2362         `circle', `square', `wide', `narrow', `small' and `font' to
2363         chartab.c.
2364         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2365         setting codes for `Vcharacter_composition_table' and
2366         `Vcharacter_variant_table' to chartab.c.
2367         (complex_vars_of_mule_charset): Move setting code for
2368         `Vchar_attribute_hash_table' to chartab.c.
2369
2370         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2371         (make_char_id_table): New prototype.
2372         (put_char_id_table): Likewise.
2373         (Fget_char_attribute): Likewise.
2374
2375         * chartab.c: Move char-id-table related code from mule-charset.c.
2376         (Vutf_2000_version): Moved from mule-charset.c.
2377
2378         * char-ucs.h (Qucs): New external variable.
2379         (put_char_ccs_code_point): New prototype.
2380         (remove_char_ccs): Likewise.
2381
2382 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2383
2384         * mule-charset.c (Vcharset_ucs_jis): New variable.
2385         (Qucs_jis): Likewise.
2386         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2387         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2388
2389         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2390
2391 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2392
2393         * mule-charset.c (map_over_uint8_byte_table): New function.
2394         (map_over_uint16_byte_table): Likewise.
2395         (map_over_byte_table): Likewise.
2396         (map_char_id_table): Likewise.
2397         (slow_map_char_id_table_fun): Likewise.
2398         (Fmap_char_attribute): Likewise.
2399         (syms_of_mule_charset): Add new function `map-char-attribute'.
2400
2401 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2402
2403         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2404         (syms_of_mule_charset): Add new function `find-char'.
2405
2406 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2407
2408         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2409         XEmacs UTF-2000.
2410         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2411         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2412         XEmacs UTF-2000.
2413         (complex_vars_of_mule_charset): Add new coded-charset
2414         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2415         `ideograph-gt-pj-*'.
2416
2417         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2418
2419 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2420
2421         * mule-charset.c (encode_builtin_char_1): Purge codes about
2422         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2423         {MIN|MAX}_CHAR_HEBREW.
2424         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2425         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2426
2427         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2428         (MAX_CHAR_GREEK): Purged.
2429         (MIN_CHAR_CYRILLIC): Purged.
2430         (MAX_CHAR_CYRILLIC): Purged.
2431         (MIN_CHAR_HEBREW): Commented out.
2432         (MAX_CHAR_HEBREW): Likewise.
2433
2434 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2435
2436         * mule-charset.c (Qto_ucs): New variable.
2437         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2438         (Fdefine_char): Likewise.
2439         (syms_of_mule_charset): Add new symbol `=>ucs'.
2440
2441 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2442
2443         * mule-charset.c (Fdecode_char): Fixed.
2444
2445 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2446
2447         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2448         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2449         "tcvn5712-1".
2450
2451 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2452
2453         * mule-charset.c (Vcharset_ucs_big5): New variable.
2454         (Qucs_big5): Likewise.
2455         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2456         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2457
2458         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2459
2460 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2461
2462         * mule-charset.c (decode_builtin_char): Check Big5 code range
2463         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2464
2465 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2466
2467         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2468         (Qchinese_gb12345): Likewise.
2469         (Fdecode_builtin_char): Fixed.
2470         (syms_of_mule_charset): Add `chinese-gb12345'.
2471         (complex_vars_of_mule_charset): Add coded-charset
2472         `chinese-gb12345'.
2473
2474         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2475         (LEADING_BYTE_CHINESE_GB12345): New macro.
2476
2477 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2478
2479         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2480         and `latin-viscii-upper' for `latin-viscii'.
2481
2482 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2483
2484         * mule-charset.c (Fdecode_builtin_char): Comment out
2485         regularization code for ISO-IR GR representation.
2486
2487 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2488
2489         * mule-charset.c (decode_builtin_char): New function; renamed from
2490         `make_builtin_char'; return -1 instead of signal.
2491         (Fdecode_builtin_char): Use `decode_builtin_char'.
2492
2493         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2494         `make_builtin_char'.
2495         (DECODE_CHAR): Use `decode_builtin_char' instead of
2496         `make_builtin_char'; use mapping table of `chinese-big5' for
2497         `chinese-big5-{1,2}'.
2498
2499 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2500
2501         * text-coding.c (char_encode_big5): New function.
2502         (char_finish_big5): Likewise.
2503         (reset_encoding_stream): Use `char_encode_big5' and
2504         `char_finish_big5' for CODESYS_BIG5.
2505         (mule_encode): Don't use `encode_coding_big5'.
2506         (encode_coding_big5): Deleted.
2507
2508 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2509
2510         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2511         0x81- in XEmacs UTF-2000.
2512         (detect_coding_big5): Likewise.
2513
2514 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2515
2516         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2517         generate character-id if the CCS property does not have
2518         corresponding predefined character.
2519         (make_builtin_char): Return -1 if corresponding predefined
2520         character is not found.
2521         (Fdecode_char): Return nil if corresponding character is not
2522         found.
2523         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2524         don't map to builtin ucs space.
2525
2526 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2527
2528         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2529         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2530
2531 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2532
2533         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2534         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2535         (Qideograph_gt): Likewise.
2536         (Qideograph_gt_pj_{1..11}): Likewise.
2537         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2538         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2539         `ideograph-gt-pj-11'.
2540         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2541         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2542         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2543
2544         * char-ucs.h (LEADING_BYTE_GT): New macro.
2545         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2546         (MIN_CHAR_GT): Likewise.
2547         (MAX_CHAR_GT): Likewise.
2548
2549 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2550
2551         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2552         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2553
2554         * doprnt.c (unsigned_int_converters): Add `c'.
2555         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2556
2557         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2558         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2559         `MIN_CHAR_MOJIKYO'.
2560         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2561         (MAX_CHAR_MOJIKYO_0): New macro.
2562         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2563
2564 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2565
2566         * mule-charset.c (Fdefine_char): Delete cemented out code.
2567         (encode_builtin_char_1): Modify for new allocation of builtin
2568         Mojikyo characters.
2569
2570         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2571
2572 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2573
2574         * mule-charset.c (Vcharset_ucs_cns): New variable.
2575         (Qucs_cns): New variable.
2576         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2577         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2578
2579 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2580
2581         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2582
2583 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2584
2585         * search.c (search_buffer): Make `charset_base_code' as
2586         character-id >> 6 to eliminate the corresponding last byte in
2587         UTF-8 representation [I'm not sure it is right thing].
2588         (boyer_moore): Likewise.
2589
2590 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2591
2592         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2593         representation in MULE.
2594
2595 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2596
2597         * text-coding.c (Fmake_coding_system): Use
2598         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2599         `EXTERNAL_PROPERTY_LIST_LOOP'.
2600
2601 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2602
2603         * text-coding.c (decode_output_utf8_partial_char): New function.
2604         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2605
2606 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2607
2608         * text-coding.c (decode_coding_utf8): Output original byte
2609         sequence if it is broken; change order of conditions.
2610
2611         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2612         of conditions.
2613
2614         * mb-multibyte.h (BYTE_ASCII_P):
2615         Use bit ops for char-signedness safety.
2616         (BYTE_C0_P): Use bit ops for char-signedness safety.
2617         (BYTE_C1_P): Use bit ops for char-signedness safety.
2618
2619         * character.h: (XCHAR_OR_CHAR_INT):
2620         Always use inline function.
2621         Remove redundant type checking assert() - XINT will abort quite
2622         nicely.
2623
2624 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2625
2626         * text-coding.c: (Fencode_shift_jis_char):
2627         (Fencode_big5_char):
2628         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2629         Replace 0 with '\0' when working with bytes.
2630         Replace initial "(" with "\(" in docstrings.
2631
2632         (Fmake_coding_system):
2633         When type is ccl and value is vector, register it with a proper
2634         symbol.  And checks whether the given ccl program is valid.
2635         (mule_decode): When calling ccl_driver, if src indicates
2636         NULL pointer, set an empty string instead.
2637         (mule_encode): Likewise.
2638
2639         (detect_eol_type):
2640         (detect_coding_sjis):
2641         (decode_coding_sjis):
2642         (detect_coding_big5):
2643         (decode_coding_big5):
2644         (detect_coding_ucs4):
2645         (decode_coding_ucs4):
2646         (detect_coding_utf8):
2647         (decode_coding_utf8):
2648         (detect_coding_iso2022):
2649         (decode_coding_iso2022):
2650         (decode_coding_no_conversion):
2651         (mule_decode):
2652         Make all detecting and decoding functions take an Extbyte * arg.
2653         (text_encode_generic):
2654         (encode_coding_big5):
2655         (encode_coding_no_conversion):
2656         (mule_encode):
2657         Make all encoding functions take a Bufbyte * arg.
2658         Use size_t instead of unsigned int for memory sizes.
2659         Only cast to unsigned char whenever dereferencing Extbyte *.
2660
2661         (struct lrecord_description fcd_description_1): Use countof.
2662         (complex_vars_of_file_coding):
2663         Use countof instead of sizeof.
2664         Use CHECK_NATNUM instead of CHECK_INT.
2665
2666 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * mule-charset.c (Fget_char_attribute): Add new optional argument
2669         `default-value'.
2670         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2671         (remove_char_ccs): Likewise.
2672
2673 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2674
2675         * text-coding.c (char_encode_shift_jis): New implementation in
2676         UTF-2000.
2677         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2678         ...)'.
2679
2680         * mule-charset.c (Vcharset_chinese_big5): New variable in
2681         UTF-2000.
2682         (Qchinese_big5): New variable in UTF-2000.
2683         (BIG5_SAME_ROW): New macro in UTF-2000.
2684         (make_builtin_char): Use builtin characters of
2685         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2686         characters of `Vcharset_chinese_big5'.
2687         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2688         (complex_vars_of_mule_charset): Add new coded-charset
2689         `chinese-big5' in UTF-2000.
2690
2691         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2692         (Vcharset_chinese_big5): New external variable declaration.
2693         (Vcharset_japanese_jisx0208_1990): Likewise.
2694
2695 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2696
2697         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2698         function.
2699         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2700
2701 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2702
2703         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2704         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2705         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2706         `mojikyo-pj-*'.
2707
2708 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2709
2710         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2711
2712 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2713
2714         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2715         to 0.17.
2716
2717 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2718
2719         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2720         for `CHARSET_BY_ATTRIBUTES'.
2721         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2722         `CHARSET_BY_ATTRIBUTES'.
2723
2724         * text-coding.c (struct decoding_stream): Rename member `CH' to
2725         `CPOS'.
2726         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2727         (decode_coding_sjis): Likewise.
2728         (decode_coding_big5): Likewise.
2729         (decode_coding_ucs4): Likewise.
2730         (decode_coding_utf8): Likewise.
2731         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2732         `CHARSET_BY_ATTRIBUTES'.
2733         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2734         `str->counter'; decode 3, 4 bytes sets.
2735         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2736         sets.
2737         (decode_coding_no_conversion): Use `str->cpos' instead of
2738         `str->ch'.
2739
2740         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2741         (Qmojikyo_2022_1): New variable.
2742         (make_charset): Don't use `CHARSET_TYPE_*'.
2743         (range_charset_code_point): Support coded-charset
2744         `mojikyo-2022-1'.
2745         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2746         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2747         `CHARSET_BY_ATTRIBUTES'.
2748         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2749         `CHARSET_BY_ATTRIBUTES'.
2750         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2751         (complex_vars_of_mule_charset): Add new coded-charset
2752         `mojikyo-2022-1'.
2753
2754         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2755         interface; changed to inline function.
2756
2757         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2758         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2759         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2760         (CHARSET_TYPE_94): Deleted.
2761         (CHARSET_TYPE_94X94): Deleted.
2762         (CHARSET_TYPE_96): Deleted.
2763         (CHARSET_TYPE_96X96): Deleted.
2764         (CHARSET_TYPE_128): Deleted.
2765         (CHARSET_TYPE_128X128): Deleted.
2766         (CHARSET_TYPE_256): Deleted.
2767         (CHARSET_TYPE_256X256): Deleted.
2768         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2769         to inline function.
2770         (DECODE_MOJIKYO_2022): New inline function.
2771         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2772         `Vcharset_mojikyo_2022_1'.
2773
2774 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2775
2776         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2777         instead of `EQ'.
2778         (put_byte_table): Likewise.
2779         (char_id_table_equal): Use `get_byte_table' [new implementation].
2780
2781 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2782
2783         * mule-charset.c: Include <limits.h> in UTF-2000.
2784         (BT_UINT8_MIN): New macro in UTF-2000.
2785         (BT_UINT8_MAX): New macro in UTF-2000.
2786         (BT_UINT8_t): New macro in UTF-2000.
2787         (BT_UINT8_nil): New macro in UTF-2000.
2788         (BT_UINT8_unbound): New macro in UTF-2000.
2789         (INT_UINT8_P): New inline function in UTF-2000.
2790         (UINT8_VALUE_P): New inline function in UTF-2000.
2791         (UINT8_ENCODE): New inline function in UTF-2000.
2792         (UINT8_DECODE): New inline function in UTF-2000.
2793         (mark_uint8_byte_table): New function in UTF-2000.
2794         (print_uint8_byte_table): New function in UTF-2000.
2795         (uint8_byte_table_equal): New function in UTF-2000.
2796         (uint8_byte_table_hash): New function in UTF-2000.
2797         (make_uint8_byte_table): New function in UTF-2000.
2798         (uint8_byte_table_same_value_p): New function in UTF-2000.
2799         (BT_UINT16_MIN): New macro in UTF-2000.
2800         (BT_UINT16_MAX): New macro in UTF-2000.
2801         (BT_UINT16_t): New macro in UTF-2000.
2802         (BT_UINT16_nil): New macro in UTF-2000.
2803         (BT_UINT16_unbound): New macro in UTF-2000.
2804         (INT_UINT16_P): New inline function in UTF-2000.
2805         (UINT16_VALUE_P): New inline function in UTF-2000.
2806         (UINT16_ENCODE): New inline function in UTF-2000.
2807         (UINT16_DECODE): New inline function in UTF-2000.
2808         (UINT8_TO_UINT16): New inline function in UTF-2000.
2809         (mark_uint16_byte_table): New function in UTF-2000.
2810         (print_uint16_byte_table): New function in UTF-2000.
2811         (uint16_byte_table_equal): New function in UTF-2000.
2812         (uint16_byte_table_hash): New function in UTF-2000.
2813         (make_uint16_byte_table): New function in UTF-2000.
2814         (uint16_byte_table_same_value_p): New function in UTF-2000.
2815         (print_byte_table): New function in UTF-2000.
2816         (byte-table): Use `print_byte_table' as printer.
2817         (make_byte_table): Delete second argument `older'.
2818         (byte_table_same_value_p): New function in UTF-2000.
2819         (copy_byte_table): Deleted.
2820         (get_byte_table): New function in UTF-2000.
2821         (put_byte_table): New function in UTF-2000.
2822         (print_char_id_table): New function in UTF-2000.
2823         (char-id-table): Use `print_char_id_table' as printer.
2824         (make_char_id_table): Delete second argument `older'.
2825         (get_char_id_table): Use `get_byte_table [new implementation].
2826         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2827         implementation].
2828         (Ffind_char_attribute_table): New function in UTF-2000.
2829         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2830         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2831         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2832         (syms_of_mule_charset): Add new function
2833         `find-char-attribute-table' in UTF-2000.
2834
2835         * lrecord.h (enum lrecord_type): Add
2836         `lrecord_type_uint16_byte_table' and
2837         `lrecord_type_uint8_byte_table'.
2838
2839         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2840         (Lisp_Uint8_Byte_Table): New type.
2841         (XUINT8_BYTE_TABLE): New macro.
2842         (XSETUINT8_BYTE_TABLE): New macro.
2843         (UINT8_BYTE_TABLE_P): New macro.
2844         (GC_UINT8_BYTE_TABLE_P): New macro.
2845         (struct Lisp_Uint16_Byte_Table): New structure.
2846         (Lisp_Uint16_Byte_Table): New type.
2847         (XUINT16_BYTE_TABLE): New macro.
2848         (XSETUINT16_BYTE_TABLE): New macro.
2849         (UINT16_BYTE_TABLE_P): New macro.
2850         (GC_UINT16_BYTE_TABLE_P): New macro.
2851
2852 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2853
2854         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2855         (Vcharacter_ideographic_strokes_table): Deleted.
2856         (Vcharacter_total_strokes_table): Deleted.
2857         (Vcharacter_morohashi_daikanwa_table): Deleted.
2858         (Vcharacter_decomposition_table): Deleted.
2859         (Qname): Deleted because it is duplicated.
2860         (Qideographic_radical): Deleted.
2861         (Qideographic_strokes): Deleted.
2862         (Qtotal_strokes): Deleted.
2863         (Qmorohashi_daikanwa): Deleted.
2864         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2865         `ideographic-radical', `ideographic-strokes', `total-strokes',
2866         `morohashi-daikanwa' and `->decomposition'.
2867         (Fget_char_attribute): Likewise.
2868         (Fput_char_attribute): Likewise; use `make-vector' instead of
2869         `make_older_vector' for `->decomposition' value.
2870         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2871         `ideograph-daikanwa'.
2872         (syms_of_mule_charset): Delete builtin symbols `name',
2873         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2874         `morohashi-daikanwa'.
2875         (vars_of_mule_charset): Don't setup
2876         `Vcharacter_ideographic_radical_table',
2877         `Vcharacter_ideographic_strokes_table',
2878         `Vcharacter_total_strokes_table',
2879         `Vcharacter_morohashi_daikanwa_table' and
2880         `Vcharacter_decomposition_table'.
2881
2882 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2883
2884         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2885         `make_older_vector', `make_vector_newer_1' and
2886         `make_vector_newer'.
2887
2888         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2889         `make_older_vector' and `make_vector_newer'.
2890
2891         * config.h.in (HAVE_GGC): New macro.
2892
2893 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2894
2895         * mule-charset.c (struct char_attribute_list_closure): New
2896         structure in UTF-2000.
2897         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2898         (Fchar_attribute_list): Likewise.
2899         (Fset_charset_mapping_table): Use `make_vector_newer'.
2900         (Fdecode_builtin_char): New function in UTF-2000.
2901         (syms_of_mule_charset): Add new function `char-attribute-list' and
2902         `decode-builtin-char' in UTF-2000.
2903
2904         * lisp.h (make_vector_newer): New prototype.
2905
2906         * alloc.c (make_vector_newer_1): New function.
2907         (make_vector_newer): New function.
2908
2909 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2910
2911         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2912         50100)'.
2913
2914 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2915
2916         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2917         (Vcharacter_attribute_table): Deleted.
2918         (Vcharacter_name_table): Deleted.
2919         (put_char_attribute): Deleted.
2920         (remove_char_attribute): Deleted.
2921         (struct char_attribute_alist_closure): New structure.
2922         (add_char_attribute_alist_mapper): New function.
2923         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2924         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2925         (Fget_char_attribute): Likewise.
2926         (Fput_char_attribute): Likewise.
2927         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2928         of `remove_char_attribute'.
2929         (Fdefine_char): Return character.
2930         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2931         and `Vcharacter_name_table'.
2932         (complex_vars_of_mule_charset): Likewise
2933         `Vchar_attribute_hash_table'.
2934
2935 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2936
2937         * character.h (CHARC_CHARSET): New macro.
2938         (CHARC_CHARSET_ID): New macro.
2939         (CHARC_CODE_POINT): New macro.
2940         (CHARC_COLUMNS): New macro.
2941         (CHARC_TO_CHAR): New inline function.
2942         (CHARC_EQ): New inline function.
2943         (CHARC_ASCII_EQ): New inline function.
2944         (CHARC_IS_SPACE): New inline function.
2945         (ASCII_TO_CHARC): New inline function.
2946
2947         * char-ucs.h (encode_char_2): Deleted.
2948         (ENCODE_CHAR): Use `encode_char_1' again.
2949         (breakup_char_1): Likewise.
2950         (CHAR_TO_CHARC): New inline function.
2951
2952         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2953
2954 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2955
2956         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2957         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2958         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2959         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2960         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2961         `CHARC_IS_SPACE'.
2962         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2963
2964         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2965         `CHARC_CODE_POINT'.
2966         (x_output_display_block): Use `CHARC_CHARSET' and
2967         `CHARC_ASCII_EQ'.
2968
2969         * redisplay-tty.c (tty_output_display_block): Use
2970         `CHARC_ASCII_EQ'.
2971         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2972
2973         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2974
2975         * insdel.c (find_charsets_in_charc_string): Use
2976         `CHARC_CHARSET_ID'.
2977         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2978         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2979         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2980         (convert_charc_string_into_malloced_string): Likewise.
2981
2982 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2983
2984         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2985         instead of <Emchar_dynarr *> for buf; use
2986         `convert_bufbyte_string_into_charc_dynarr' instead of
2987         `convert_bufbyte_string_into_emchar_dynarr'; use
2988         `find_charsets_in_charc_string' instead of
2989         `find_charsets_in_emchar_string'.
2990
2991         * redisplay.h:
2992         - Include "character.h".
2993         (struct rune): New member `cglyph'; delete member `chr'.
2994
2995         * redisplay.c (redisplay_text_width_charc_string): New function;
2996         delete `redisplay_text_width_emchar_string'.
2997         (rtw_charc_dynarr): New variable; renamed from
2998         `rtw_emchar_dynarr'.
2999         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3000         `rtw_emchar_dynarr'; use
3001         `convert_bufbyte_string_into_charc_dynarr' instead of
3002         `convert_bufbyte_string_into_emchar_dynarr'; use
3003         `redisplay_text_width_charc_string' instead of
3004         `redisplay_text_width_emchar_string'.
3005         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3006         instead of `rtw_emchar_dynarr'; use
3007         `convert_bufbyte_string_into_charc_dynarr' instead of
3008         `convert_bufbyte_string_into_emchar_dynarr'.
3009         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3010         `redisplay_text_width_charc_string' instead of
3011         `redisplay_text_width_emchar_string'.
3012         (create_text_block): Modify for <struct rune> change.
3013         (generate_formatted_string_db): Likewise.
3014         (create_string_text_block): Likewise.
3015         (pixel_to_glyph_translation): Likewise.
3016
3017         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3018         instead of <const Emchar *>.
3019         (x_text_width): Likewise.
3020         (x_output_display_block): Use <Charc_dynarr *> instead
3021         <Emchar_dynarr *>; modify for <structure rune> change.
3022         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3023         *>.
3024
3025         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3026         <const Emchar *>; use `charc_string_displayed_columns' instead of
3027         `emchar_string_displayed_columns'.
3028         (tty_output_display_block): Use <Charc_dynarr *> instead of
3029         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3030         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3031         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3032         `tty_output_emchar_dynarr_dynarr'.
3033         (tty_output_charc_dynarr): New function; delete
3034         `tty_output_charc_dynarr'.
3035
3036         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3037         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3038         <Emchar_dynarr *> for buf; use
3039         `convert_bufbyte_string_into_charc_dynarr' instead of
3040         `convert_bufbyte_string_into_emchar_dynarr'.
3041
3042         * frame.c (title_string_charc_dynarr): New variable; renamed from
3043         `title_string_emchar_dynarr'.
3044         (generate_title_string): Use `title_string_charc_dynarr' instead
3045         of `title_string_emchar_dynarr'; use
3046         `convert_charc_string_into_malloced_string' instead of
3047         `convert_emchar_string_into_malloced_string'.
3048         (init_frame): Use `title_string_charc_dynarr' instead of
3049         `title_string_emchar_dynarr'.
3050
3051         * console.h:
3052         - Include "character.h".
3053         (struct console_methods): Use <const Charc *> instead of <const
3054         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3055         <Emchar_dynarr *> in output_string_method.
3056
3057         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3058         <Emchar_dynarr *>.
3059
3060         * console-stream.c (stream_text_width): Use <const Charc *>
3061         instead of <const Emchar *>.
3062
3063         * character.h (Charc_dynarr): New type.
3064
3065         * char-ucs.h (structure Charc): New structure; define new type
3066         `Charc'.
3067
3068         * char-lb.h (DECODE_CHAR): New inline function.
3069         (encode_char_1): New inline function.
3070         (ENCODE_CHAR): New macro.
3071         (structure Charc): New structure; define new type `Charc'.
3072
3073         * char-1byte.h (Vcharset_control_1): New macro.
3074         (Vcharset_latin_iso8859_1): New macro.
3075         (DECODE_CHAR): New inline function.
3076         (encode_char_1): New inline function.
3077         (ENCODE_CHAR): New macro.
3078         (structure Charc): New structure; define new type `Charc'.
3079
3080         * insdel.c (find_charsets_in_charc_string): New function; delete
3081         `find_charsets_in_emchar_string'.
3082         (charc_string_displayed_columns): New function; delete
3083         `emchar_string_displayed_columns'.
3084         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3085         `convert_bufbyte_string_into_emchar_dynarr'.
3086         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3087         `convert_charc_string_into_bufbyte_dynarr'.
3088         (convert_charc_string_into_malloced_string): New function; delete
3089         `convert_charc_string_into_malloced_string'.
3090
3091         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3092         `find_charsets_in_emchar_string'.
3093         (charc_string_displayed_columns): New prototype; delete
3094         `emchar_string_displayed_columns'.
3095         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3096         `convert_charc_string_into_bufbyte_dynarr'.
3097         (convert_charc_string_into_malloced_string): New prototype; delete
3098         `convert_charc_string_into_malloced_string'.
3099
3100 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3101
3102         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3103
3104 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3105
3106         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3107
3108         * char-ucs.h: Use <short> for <Charset_ID>.
3109
3110         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3111         <Charset_ID>.
3112
3113 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3114
3115         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3116         to 0.16.
3117
3118 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3119
3120         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3121         variable.
3122         (Qmorohashi_daikanwa): New variable.
3123         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3124         for `morohashi-daikanwa' attribute.
3125         (Fget_char_attribute): Likewise.
3126         (Fput_char_attribute): Likewise.
3127         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3128         has the same value of `ideograph-daikanwa'.
3129         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3130         (vars_of_mule_charset): Setup
3131         `Vcharacter_morohashi_daikanwa_table'.
3132
3133 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3134
3135         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3136         attributes.
3137         (add_charset_to_list_mapper): Add `key' instead of
3138         `XCHARSET_NAME (value)' to return aliases.
3139
3140 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3141
3142         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3143         variable.
3144         (Vcharacter_ideographic_strokes_table): New variable.
3145         (Qideographic_radical): New variable.
3146         (Qideographic_strokes): New variable.
3147         (Fchar_attribute_alist): Use
3148         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3149         attribute; use `Vcharacter_ideographic_strokes_table' for
3150         `ideographic-strokes' attribute.
3151         (Fget_char_attribute): Likewise.
3152         (Fput_char_attribute): Likewise.
3153         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3154         `ideographic-strokes'.
3155         (vars_of_mule_charset): Setup
3156         `Vcharacter_ideographic_radical_table' and
3157         `Vcharacter_ideographic_strokes_table'.
3158
3159 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3160
3161         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3162         (Qtotal_strokes): New variable.
3163         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3164         `total-strokes' attribute.
3165         (Fget_char_attribute): Likewise.
3166         (Fput_char_attribute): Likewise.
3167         (syms_of_mule_charset): Add new symbol `total-strokes'.
3168         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3169
3170 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3171
3172         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3173         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3174         are found.
3175         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3176         `->decomposition' attribute.
3177         (Fput_char_attribute): Likewise.
3178         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3179
3180 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3181
3182         * mule-charset.c (decoding_table_check_elements): New function.
3183         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3184
3185 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3186
3187         * mule-charset.c (Fset_charset_mapping_table): Use
3188         `put_char_ccs_code_point'.
3189
3190 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3191
3192         * mule-charset.c (decoding_table_put_char): New inline function.
3193         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3194
3195 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3196
3197         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3198         (XCHARSET_BYTE_SIZE): New macro.
3199         (decoding_table_remove_char): New inline function.
3200         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3201         `decoding_table_remove_char'.
3202         (remove_char_ccs): Use `decoding_table_remove_char'.
3203         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3204
3205 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3206
3207         * mule-charset.c (Vcharacter_name_table): New variable.
3208         (Qname): New variable.
3209         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3210         attribute.
3211         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3212         `Vcharacter_name_table' for `name' attribute.
3213         (Fremove_char_attribute): Use function `remove_char_ccs'.
3214         (put_char_ccs_code_point): New function.
3215         (remove_char_ccs): New function.
3216         (syms_of_mule_charset): Add new symbol `name'.
3217         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3218
3219 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3220
3221         * mule-charset.c (make_byte_table): Add new argument `older'.
3222         (make_char_id_table): Likewise.
3223         (copy_char_id_table): Comment out because it is not used.
3224         (put_char_id_table): Modify for `make_byte_table'.
3225         (Fput_char_attribute): Make encoding_table as older object;
3226         inherit older bit of `Vcharacter_composition_table'.
3227         (mark_charset): Don't mark `cs->encoding_table'.
3228         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3229         normal object; make `Vcharacter_composition_table' as an older
3230         object; delete staticpro for `Vcharacter_composition_table'; make
3231         `Vcharacter_variant_table' as a normal object.
3232
3233         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3234         (mark_object): Don't check older object in UTF-2000.
3235
3236         * lrecord.h (struct lrecord_header): Add new member `older' in
3237         UTF-2000.
3238         (set_lheader_implementation): Setup `SLI_header->older' in
3239         UTF-2000.
3240         (set_lheader_older_implementation): New macro in UTF-2000.
3241         (OLDER_RECORD_P): New macro in UTF-2000.
3242         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3243         (alloc_older_lcrecord): New prototype in UTF-2000.
3244         (alloc_older_lcrecord_type): New macro in UTF-2000.
3245
3246 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3247
3248         * mule-charset.c (byte_table_description): Use
3249         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3250         (char_id_table_description): Delete bogus `, 1'.
3251         (Fget_char_attribute): Refer encoding_table of each coded-charset
3252         to get value of coded-charset attribute of a character.
3253         (Fput_char_attribute): Use `make_older_vector' instead of
3254         `make_vector'; use encoding_table of each coded-charset to store
3255         value of coded-charset attribute of a character.
3256         (Fremove_char_attribute): Use encoding_table of each coded-charset
3257         to store value of coded-charset attribute of a character.
3258         (mark_charset): Mark `cs->encoding_table'; don't mark
3259         `cs->decoding_table'.
3260         (charset_description): Add description of new member
3261         `encoding_table'.
3262         (make_charset): Initialize `encoding_table'.
3263
3264         * char-ucs.h (struct Lisp_Charset): Add new member
3265         `encoding_table'.
3266         (CHARSET_ENCODING_TABLE): New macro.
3267         (XCHARSET_ENCODING_TABLE): New macro.
3268         (charset_code_point): New implementation.
3269         (encode_char_1): Likewise.
3270
3271         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3272         (disksave_object_finalization_1): Call finalizers of
3273         `all_older_lcrecords' in UTF-2000.
3274         (make_older_vector): New function in UTF-2000.
3275         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3276         UTF-2000.
3277
3278         * lisp.h (make_older_vector): New prototype in UTF-2000.
3279
3280 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3281
3282         * lrecord.h (enum lrecord_type): Rename
3283         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3284
3285         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3286         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3287         `get_char_code_table'.
3288
3289         * mule-charset.c (mark_char_id_table): Renamed from
3290         `mark_char_code_table'.
3291         (char_id_table_equal): Renamed from `char_code_table_equal'.
3292         (char_id_table_hash): Renamed from `char_code_table_hash'.
3293         (make_char_id_table): Renamed from `make_char_code_table'.
3294         (copy_char_id_table): Renamed from `copy_char_code_table'.
3295         (get_char_id_table): Renamed from `get_char_code_table'.
3296         (put_char_id_table): Renamed from `put_char_code_table'.
3297         (to_char_id): Renamed from `to_char_code'.
3298
3299         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3300         `Lisp_Char_Code_Table'.
3301         (char_id_table): Renamed from `char_code_table'.
3302         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3303         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3304         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3305         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3306         (get_char_id_table): Renamed from `get_char_code_table'.
3307
3308 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3309
3310         * lrecord.h (enum lrecord_type): Rename
3311         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3312
3313         * mule-charset.c (mark_byte_table): Renamed from
3314         `mark_char_byte_table'.
3315         (byte_table_equal): Renamed from `char_byte_table_equal'.
3316         (byte_table_hash): Renamed from `byte_table_hash'.
3317         (make_byte_table): Renamed from `make_byte_table'.
3318         (copy_byte_table): Renamed from `copy_char_byte_table'.
3319
3320         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3321         `Lisp_Char_Byte_Table'.
3322         (byte_table): Renamed from `char_byte_table'.
3323         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3324         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3325         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3326         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3327
3328 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3329
3330         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3331         (dfc_convert_to_internal_format): Likewise.
3332         
3333         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3334         * text-coding.c (Fcoding_system_alias_p): New function.
3335         * text-coding.c (Fcoding_system_aliasee): New function.
3336         * text-coding.c (append_suffix_to_symbol): New function.
3337         * text-coding.c (dangling_coding_system_alias_p): New function.
3338         * text-coding.c (Ffind_coding_system):
3339         * text-coding.c (Fcopy_coding_system):
3340         * text-coding.c (encode_coding_no_conversion):
3341         * text-coding.c (syms_of_file_coding):
3342         * text-coding.c (vars_of_file_coding):
3343         Rewrite coding system alias code.
3344         Allow nested aliases, like symbolic links.
3345         Allow redefinition of coding system aliases.
3346         Prevent existence of dangling coding system aliases.
3347         Eliminate convert_to_external_format.
3348         Eliminate convert_to_internal_format.
3349         
3350         * text-coding.c: Change enum eol_type to eol_type_t.
3351
3352 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3353
3354         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3355         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3356
3357         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3358         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3359
3360 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3361
3362         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3363         `ideograph-daikanwa'.
3364
3365         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3366         (Vcharset_ucs_bmp): Likewise.
3367         (Vcharset_mojikyo): Add new extern variable definition.
3368         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3369         (Vcharset_latin_iso8859_3): Likewise.
3370         (Vcharset_latin_iso8859_4): Likewise.
3371         (Vcharset_latin_iso8859_9): Likewise.
3372         (Vcharset_latin_viscii_lower): Likewise.
3373         (Vcharset_latin_viscii_upper): Likewise.
3374         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3375         `mojikyo' code-point is used to decode.
3376         (encode_char_2): New function [to convert `mojikyo' code-point to
3377         Mojikyo font encoding].
3378         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3379         (breakup_char_1): Likewise.
3380         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3381
3382 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3383
3384         * text-coding.c (Fmake_coding_system): Add document about
3385         `disable-composition' property.
3386
3387 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3388
3389         * text-coding.c (Qdisable_composition): New variable; delete
3390         `Qcomposite'.
3391         (Fmake_coding_system): Add new property `disable-composite';
3392         delete property `composite'.
3393         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3394         instead of `!CODING_SYSTEM_COMPOSITE'.
3395         (syms_of_file_coding): Add new symbol `disable-composition';
3396         delete symbol `composite'.
3397
3398         * file-coding.h (struct Lisp_Coding_System): Add
3399         `disable_composition'; delete `enable_composition'.
3400         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3401         `CODING_SYSTEM_COMPOSITE'.
3402         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3403         `XCODING_SYSTEM_COMPOSITE'.
3404
3405 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3406
3407         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3408         to 0.15.
3409
3410 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3411
3412         * text-coding.c (Qcomposite): New variable.
3413         (Fmake_coding_system): Add new property `composite'.
3414         (struct decoding_stream): Add `combined_char_count',
3415         `combined_chars' and `combining_table' in UTF-2000.
3416         (COMPOSE_FLUSH_CHARS): New macro.
3417         (COMPOSE_ADD_CHAR): New macro.
3418         (reset_decoding_stream): Reset `str->combined_char_count' and
3419         `str->combining_table' in UTF-2000.
3420         (decode_coding_iso2022): Modify for character-decomposition.
3421         (syms_of_file_coding): Add new symbol `composite'.
3422
3423 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3424
3425         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3426         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3427         of `Vcharacter_composition_table' if `->decomposition' property
3428         has only 1 element.
3429         (Qlatin_tcvn5712): New variable.
3430         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3431         (complex_vars_of_mule_charset): Add new coded-charset
3432         `latin-tcvn5712'.
3433
3434         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3435
3436 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3437
3438         * file-coding.h (struct Lisp_Coding_System): Add
3439         `enable_composition'.
3440         (CODING_SYSTEM_COMPOSITE): New macro.
3441         (XCODING_SYSTEM_COMPOSITE): New macro.
3442
3443 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3444
3445         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3446
3447 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3448
3449         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3450         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3451
3452 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3453
3454         * mule-charset.c (Vcharset_mojikyo): New variable.
3455         (Fdefine_char): Don't use coded-charset which does not have
3456         non-builtin character range to allocate character-id.
3457         (Qmojikyo): New variable.
3458         (syms_of_mule_charset): Add new symbol `mojikyo'.
3459         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3460
3461         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3462         (LEADING_BYTE_MOJIKYO): New macro.
3463         (MIN_CHAR_MOJIKYO): New macro.
3464         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3465         (MAX_CHAR_MOJIKYO): New macro.
3466
3467 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3468
3469         * mule-charset.c (remove_char_attribute): Fixed.
3470
3471 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3472
3473         * mule-charset.c (remove_char_attribute): New function.
3474         (Fremove_char_attribute): New function.
3475         (encode_builtin_char_1): Comment out builtin-support for
3476         greek-iso8859-7 and cyrillic-iso8859-5.
3477         (Fdecode_char): Check `code' is an integer.
3478         (syms_of_mule_charset): Add `remove-char-attribute'.
3479         (MIN_CHAR_GREEK): Deleted.
3480         (MAX_CHAR_GREEK): Likewise.
3481         (MIN_CHAR_CYRILLIC): Likewise.
3482         (MAX_CHAR_CYRILLIC): Likewise.
3483         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3484         MAX_CHAR_GREEK for `greek-iso8859-7'.
3485
3486         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3487         (MAX_CHAR_GREEK): Likewise.
3488         (MIN_CHAR_CYRILLIC): Likewise.
3489         (MAX_CHAR_CYRILLIC): Likewise.
3490
3491 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3492
3493         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3494         format is used without `ucs' property.
3495         (Fdecode_char): Fix problem with GR representation.
3496         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3497         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3498
3499 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3500
3501         * mule-charset.c (make_builtin_char): New function.
3502         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3503         (Fset_charset_mapping_table): Modify for new representation of
3504         code-point.
3505         (Fdecode_char): New function.
3506         (syms_of_mule_charset): Add new builtin function `decode-char' in
3507         UTF-2000.
3508
3509         * char-ucs.h (make_builtin_char): New prototype.
3510         (DECODE_CHAR): New inline function.
3511         (MAKE_CHAR): Use `DECODE_CHAR'.
3512
3513 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3514
3515         * text-coding.c (parse_charset_conversion_specs): Use
3516         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3517         `XCHARSET_TYPE'.
3518         (iso2022_designate): Likewise.
3519
3520         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3521         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3522
3523         * mule-charset.c (Vcharset_ucs): New variable.
3524         (print_charset): Change design; use `CHARSET_CHARS' and
3525         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3526         (make_charset): Change signature to specify `chars' and
3527         `dimension' instead of `type'.
3528         (range_charset_code_point): Modify for 256^n-set.
3529         (encode_builtin_char_1): Encode as `ucs' in default.
3530         (Fmake_charset): Modify for `make_charset'.
3531         (Fmake_reverse_direction_charset): Likewise.
3532         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3533         UTF-2000.
3534         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3535         for `make_charset'.
3536
3537         * char-ucs.h (Vcharset_ucs): New variable.
3538         (LEADING_BYTE_UCS): New macro.
3539         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3540         and `chars' to `unsigned short' from `unsigned int'.
3541         (CHARSET_TYPE): Deleted.
3542         (XCHARSET_TYPE): Deleted.
3543
3544 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3545
3546         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3547
3548         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3549         (ENCODE_CHAR): New macro.
3550
3551 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3552
3553         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3554         to 0.14 (Kawachi-Katakami).
3555
3556 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3557
3558         * text-coding.c (char_encode_shift_jis): Modify for
3559         `charset_code_point'.
3560         (char_encode_iso2022): Likewise.
3561
3562         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3563         (integer) instead of list of <Lisp_Object>s (integers) as the
3564         format of code-point of a coded-charset.
3565         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3566         (encode_builtin_char_1): New function; delete
3567         `split_builtin_char'.
3568         (charset_code_point): Return <int> instead of <Lisp_Object>.
3569         (Fsplit_char): Don't use `SPLIT_CHAR'.
3570
3571         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3572         prototype for `split_builtin_char'.
3573         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3574         (charset_code_point): Likewise.
3575         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3576         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3577
3578 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3579
3580         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3581         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3582
3583 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3584
3585         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3586
3587         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3588         (MAX_CHAR_OBS_94x94): Deleted.
3589
3590 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3591
3592         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3593
3594         * char-ucs.h (MAX_CHAR_BMP): New macro.
3595
3596 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3597
3598         * text-coding.c: Sync with r21-2-24.
3599
3600 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3601
3602         * file-coding.c: Modify for UTF-2000.
3603
3604 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3605
3606         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3607         to 0.13 (Takaida).
3608
3609 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3610
3611         * mule-charset.c (split_builtin_char): Delete builtin support for
3612         `katakana-jisx0201'.
3613         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3614         BMP area in builtin representation.
3615
3616         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3617         `Vcharset_katakana_jisx0201'.
3618
3619 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3620
3621         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3622         (Qisolated): New variable.
3623         (Qinitial): New variable.
3624         (Qmedial): New variable.
3625         (Qfinal): New variable.
3626         (Qvertical): New variable.
3627         (Qsmall): New variable.
3628         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3629         `Qvertical' and `Qsmall'.
3630         (Qmojikyo_pj_[1 .. 21]): New variable.
3631         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3632         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3633         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3634         .. 21]'.
3635
3636 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3637
3638         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3639         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3640         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3641
3642 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3643
3644         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3645         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3646         BMP.
3647         (Qjapanese_jisx0208_1990): New variable.
3648         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3649         (complex_vars_of_mule_charset): Add new coded-charset
3650         `japanese-jisx0208-1990'.
3651
3652         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3653         (MIN_CHAR_JIS_X0208_1990): New macro.
3654         (MAX_CHAR_JIS_X0208_1990): New macro.
3655
3656 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3657
3658         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3659         coded-charset is not found.
3660
3661 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3662
3663         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3664         (Fdefine_char): Use `Fmake_char'.
3665
3666 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3667
3668         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3669         (Vcharset_hiragana_jisx0208): Deleted.
3670         (Vcharset_katakana_jisx0208): Deleted.
3671         (Qideograph_daikanwa): New variable.
3672         (Qhiragana_jisx0208): Deleted.
3673         (Qkatakana_jisx0208): Deleted.
3674         (split_builtin_char): Split `ideograph-daikanwa'.
3675         (Fsplit_char): New implementation for UTF-2000.
3676         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3677         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3678         (complex_vars_of_mule_charset): Add new coded-charset
3679         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3680         `katakana-jisx0208'.
3681
3682         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3683         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3684         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3685         (MIN_CHAR_DAIKANWA): New macro.
3686         (MAX_CHAR_DAIKANWA): New macro.
3687
3688 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3689
3690         * data.c (Fstring_to_number): Don't recognize floating point if
3691         base is not 10.
3692
3693 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3694
3695         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3696
3697 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3698
3699         * mule-charset.c (Qsquare): New variable.
3700         (to_char_code): Add `Qsquare'.
3701         (syms_of_mule_charset): Add new symbol `square'.
3702
3703 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3704
3705         * mule-charset.c (Qcircle): New variable.
3706         (to_char_code): Add `Qcircle'.
3707         (syms_of_mule_charset): Add new symbol `circle'.
3708
3709 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3710
3711         * mule-charset.c (Qfont): New variable.
3712         (to_char_code): Add `Qfont'.
3713         (syms_of_mule_charset): Add new symbol `font'.
3714
3715 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3716
3717         * mule-charset.c (Qsub): New variable.
3718         (to_char_code): Add `Qsub'.
3719         (syms_of_mule_charset): Add new symbol `sub'.
3720
3721 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3722
3723         * mule-charset.c (Fput_char_attribute): Convert each element of
3724         VALUE to GL position if ATTRIBUTE is a GR-set,
3725
3726 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3727
3728         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3729         coded-charset is a GR-set.
3730
3731 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3732
3733         * mule-charset.c (Fput_char_attribute): Check each element of
3734         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3735
3736 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3737
3738         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3739         UTF-2000.
3740         (Qethiopic_ucs): New variable in UTF-2000.
3741         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3742         (complex_vars_of_mule_charset): Add new coded-charset
3743         `ethiopic-ucs' in UTF-2000.
3744
3745         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3746         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3747         9)'.
3748         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3749         10)'.
3750         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3751
3752 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3753
3754         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3755         `ascii'.
3756
3757 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3758
3759         * mule-charset.c (Vcharacter_variant_table): New variable.
3760         (Q_ucs): New variable.
3761         (Fchar_variants): New function.
3762         (Fput_char_attribute): Register `->ucs' value to
3763         `Vcharacter_variant_table'.
3764         (syms_of_mule_charset): Add new function `char-variants' and new
3765         symbol `->ucs'.
3766         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3767
3768 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3769
3770         * mule-charset.c (get_char_code_table): Allow negative character
3771         code.
3772         (put_char_code_table): Likewise.
3773         (Vcharacter_composition_table): New variable.
3774         (Q_decomposition): New variable.
3775         (Qwide): New variable.
3776         (Qnarrow): New variable.
3777         (Qcompat): New variable.
3778         (QnoBreak): New variable.
3779         (Qsuper): New variable.
3780         (Qfraction): New variable.
3781         (to_char_code): New function.
3782         (Fget_composite_char): New function.
3783         (Fput_char_attribute): Register `->decomposition' value to
3784         `Vcharacter_composition_table'.
3785         (syms_of_mule_charset): Add new function `get-composite-char', new
3786         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3787         `super' and `fraction'.
3788         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3789
3790 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3791
3792         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3793         character; copy the return value.
3794
3795 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3796
3797         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3798
3799         * mule-charset.c (range_charset_code_point): Must use make_int.
3800         (split_builtin_char): New function.
3801
3802 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3803
3804         * mule-charset.c (char_byte_table): Change name from
3805         "char-code-table" to "char-byte-table".
3806         (mark_char_code_table): New function.
3807         (char_code_table_equal): New function.
3808         (char_code_table_hash): New function.
3809         (char_code_table_description): New constant.
3810         (char_code_table): New type.
3811         (make_char_code_table): New function.
3812         (copy_char_code_table): New function.
3813         (get_char_code_table): Modify for `char_code_table' type.
3814         (put_char_code_table): Likewise.
3815         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3816         (Kashiwara).
3817
3818         * char-ucs.h (char_code_table): New type.
3819         (XCHAR_CODE_TABLE): New macro.
3820         (XSETCHAR_CODE_TABLE): New macro.
3821         (CHAR_CODE_TABLE_P): New macro.
3822         (GC_CHAR_CODE_TABLE_P): New macro.
3823         (struct Lisp_Char_Code_Table): New structure.
3824
3825 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3826
3827         * mule-charset.c (Fmake_charset): Setup byte_offset for
3828         {94|96}^n-set.
3829
3830 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3831
3832         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3833         character.
3834
3835 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3836
3837         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3838         is found.
3839
3840 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3841
3842         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3843         charset, it is regarded as a charset.
3844         (put_char_attribute): New function in UTF-2000.
3845         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3846         charset, mapping-table of the charset is modified.
3847         (Fdefine_char): New function in UTF-2000.
3848         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3849         `Fput_char_attribute'.
3850         (syms_of_mule_charset): Add new function `define-char' and new
3851         symbol `ucs' in UTF-2000.
3852         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3853
3854 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3855
3856         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3857         non-UTF-2000 configuration.
3858
3859 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3860
3861         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3862         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3863
3864         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3865         deleted.
3866         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3867         (Fset_charset_mapping_table): Likewise.
3868
3869         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3870         (CHARSET_ENCODING_TABLE): Delete.
3871         (XCHARSET_ENCODING_TABLE): Delete.
3872         (charset_code_point): New interface.
3873
3874 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3875
3876         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3877         instead of `charset_get_byte1' and `charset_get_byte2'.
3878
3879         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3880         (charset_get_byte2): Deleted.
3881
3882 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3883
3884         * char-ucs.h (SPLIT_CHAR): New inline function.
3885         (breakup_char_1): Use `SPLIT_CHAR'.
3886
3887         * mule-charset.c (range_charset_code_point): New function.
3888         (charset_code_point): New function.
3889
3890         * char-ucs.h (range_charset_code_point): New interface.
3891         (breakup_char_1): Use `range_charset_code_point'.
3892
3893 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3894
3895         * mule-charset.c (Fmake_charset): Delete unused local variable
3896         `code_offset'.
3897
3898         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3899         (breakup_char_1): Find a charset and code-point in
3900         `Vcharacter_attribute_table'.
3901
3902 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3903
3904         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3905         to 0.10 (Yao).
3906
3907 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3908
3909         * mule-charset.c (Vcharacter_attribute_table): New variable.
3910         (Fchar_attribute_alist): New function.
3911         (Fget_char_attribute): New function.
3912         (Fput_char_attribute): New function.
3913         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3914         too.
3915         (syms_of_mule_charset): Add new function `char-attribute-alist',
3916         `get-char-attribute' and `put-char-attribute'.
3917         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3918
3919 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3920
3921         * mule-charset.c (Fmake_charset): Just use
3922         `get_unallocated_leading_byte'.
3923
3924         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3925         sets; don't use final-byte based number for private sets.
3926
3927 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3928
3929         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3930         integer.
3931
3932 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3933
3934         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3935         to 0.9.
3936
3937 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3938
3939         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3940         of `CHAR_LEADING_BYTE' in UTF-2000.
3941
3942         * insdel.c (find_charsets_in_bufbyte_string): Use
3943         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3944         (find_charsets_in_emchar_string): Likewise.
3945
3946         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3947         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3948
3949         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3950         (CHAR_CHARSET_ID): New macro.
3951
3952 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3953
3954         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3955         charset-id - MIN_LEADING_BYTE.
3956         (put_char_table): Likewise.
3957
3958 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3959
3960         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3961         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3962         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3963         (CHARSET_ID_OFFSET): New macro.
3964         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3965         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3966         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3967         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3968         4).
3969         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3970         5).
3971         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3972         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3973         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3974         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3975         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3976
3977 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3978
3979         * mule-charset.c (next_allocated_leading_byte): New variable in
3980         UTF-2000.
3981         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3982         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3983         (get_unallocated_leading_byte): Simply use
3984         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3985         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3986         UTF-2000.
3987
3988         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3989         (MAX_LEADING_BYTE_PRIVATE): New macro.
3990         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3991         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3992
3993 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3994
3995         * mule-charset.c (Fmake_charset): Allocate final-byte based
3996         charset-id for 94-set, 96-set and 94x94-set.
3997
3998 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3999
4000         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4001         ambiguous `else'.
4002         (Fmake_charset): Likewise.
4003         (complex_vars_of_mule_charset): Modify the font registry of
4004         `ucs-bmp' not to match `Ethiopic-Unicode'.
4005
4006 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4007
4008         * mule-charset.c (complex_vars_of_mule_charset): Add font
4009         registory of `ucs-bmp'.
4010
4011 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4012
4013         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4014         coded-charsets in `default-coded-charset-priority-list' when
4015         breaking up a character.
4016
4017         * mule-charset.c (Vcharset_latin_viscii): New variable.
4018         (Qlatin_viscii): New variable.
4019         (make_charset): Don't use `decoding_table'.
4020         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4021         byte_offset.
4022         (Fset_charset_mapping_table): New implementation.
4023         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4024         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4025         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4026         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4027         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4028         charset `latin_viscii'.
4029
4030         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4031         (CHARSET_TYPE_94X94): Change to 1 from 2.
4032         (CHARSET_TYPE_96): Change to 2 from 1.
4033         (CHARSET_TYPE_128): New macro.
4034         (CHARSET_TYPE_128X128): Change to 5 from 4.
4035         (CHARSET_TYPE_256): New macro.
4036         (CHARSET_TYPE_256X256): Change to 7 from 5.
4037         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4038
4039 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4040
4041         * text-coding.c (char_encode_shift_jis): Refer
4042         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4043         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4044
4045         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4046         (char_byte_table_equal): New function in UTF-2000.
4047         (char_byte_table_hash): New function in UTF-2000.
4048         (char_byte_table_description): New constant in UTF-2000.
4049         (char_byte_table): New type in UTF-2000.
4050         (make_char_byte_table): New function in UTF-2000.
4051         (copy_char_byte_table): New function in UTF-2000.
4052         (make_char_code_table): New macro in UTF-2000.
4053         (get_char_code_table): New function in UTF-2000.
4054         (put_char_code_table): New function in UTF-2000.
4055         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4056         (charset_description): Add setting in UTF-2000.
4057         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4058         `CHARSET_TO_BYTE1_TABLE(cs)'.
4059         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4060         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4061         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4062         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4063         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4064         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4065         `CHARSET_TO_BYTE2_TABLE(cs)'.
4066
4067         * char-ucs.h (char_byte_table): New type.
4068         (XCHAR_BYTE_TABLE): New macro.
4069         (XSETCHAR_BYTE_TABLE): New macro.
4070         (CHAR_BYTE_TABLE_P): New macro.
4071         (GC_CHAR_BYTE_TABLE_P): New macro.
4072         (struct Lisp_Char_Byte_Table): New structure.
4073         (get_char_code_table): New interface.
4074         (Emchar_to_byte_table): Deleted.
4075         (get_byte_from_character_table): Deleted.
4076         (struct Lisp_Charset): Add `encoding_table'; delete
4077         `to_byte1_table' and `to_byte2_table'.
4078         (CHARSET_ENCODING_TABLE): New macro.
4079         (CHARSET_TO_BYTE1_TABLE): Deleted.
4080         (CHARSET_TO_BYTE2_TABLE): Deleted.
4081         (XCHARSET_ENCODING_TABLE): New macro.
4082         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4083         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4084
4085 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4086
4087         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4088         `vietnamese-viscii-*'.
4089
4090 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4091
4092         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4093         (Qvietnamese_viscii_upper): New variable.
4094         (Fdefine_charset_alias): New function.
4095         (syms_of_mule_charset): Add new function `define-charset-alias'.
4096         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4097         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4098         `latin-viscii-*'.
4099
4100 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4101
4102         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4103         (MAX_CHAR_OBS_94x94): New macro.
4104         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4105         for 94x94 sets.
4106
4107         * mule-charset.c (put_byte_from_character_table): Change unit size
4108         from 128 to 256.
4109         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4110         not defined.
4111         (Fmake_reverse_direction_charset): Modify dummy argument of
4112         `make_charset' for non-UTF-2000 environment.
4113
4114 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4115
4116         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4117
4118         * mule-charset.c (destroy_byte_from_character_table): New macro.
4119         (latin_jisx0201_to_ucs): Deleted.
4120         (latin_iso8859_2_to_ucs): Deleted.
4121         (latin_iso8859_3_to_ucs): Deleted.
4122         (latin_iso8859_4_to_ucs): Deleted.
4123         (latin_iso8859_9_to_ucs): Deleted.
4124         (latin_viscii_lower_to_ucs): Deleted.
4125         (latin_viscii_upper_to_ucs): Deleted.
4126         (mark_charset): Mark `cs->decoding_table'.
4127         (Fcharset_mapping_table): Fix DOC-string.
4128         (Fset_charset_mapping_table): New function.
4129         (syms_of_mule_charset): Add nwe function
4130         `set-charset-mapping-table'.
4131         (complex_vars_of_mule_charset): Don't setup and use
4132         `latin_*_to_ucs'.
4133
4134 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4135
4136         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4137         charset.
4138
4139 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4140
4141         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4142         (Vcharset_katakana_jisx0208): New variable.
4143         (Qhiragana_jisx0208): New variable.
4144         (Qkatakana_jisx0208): New variable.
4145         (make_charset): Add new argument `byte_offset'.
4146         (charset_get_byte1): Modify for new coded-charset definition; use
4147         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4148         `XCHARSET_BYTE_OFFSET'.
4149         (Fmake_charset): Modify for `make_charset'.
4150         (Fmake_reverse_direction_charset): Likewise.
4151         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4152         `katakana-jisx0208'.
4153         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4154         `.'  in font registry of charset `katakana-jisx0201',
4155         `latin-jisx0201', `vietnamese-viscii-lower' and
4156         `vietnamese-viscii-upper'; modify DOC-string of charset
4157         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4158         registry of charset `japanese-jisx0208' not to use font for JIS
4159         X0208:1990; add new charset `hiragana-jisx0208' and
4160         `katakana-jisx0208'.
4161
4162         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4163         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4164         (struct Lisp_Charset): Add `byte_offset'.
4165         (CHARSET_BYTE_OFFSET): New macro.
4166         (XCHARSET_UCS_MIN): New macro.
4167         (XCHARSET_UCS_MAX): New macro.
4168         (XCHARSET_CODE_OFFSET): New macro.
4169         (XCHARSET_BYTE_OFFSET): New macro.
4170         (MIN_CHAR_HIRAGANA): New macro.
4171         (MAX_CHAR_HIRAGANA): New macro.
4172         (MIN_CHAR_KATAKANA): New macro.
4173         (MAX_CHAR_KATAKANA): New macro.
4174         (MAKE_CHAR): Modify for new coded-charset definition; use
4175         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4176         `XCHARSET_BYTE_OFFSET'.
4177
4178 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4179
4180         * mule-charset.c (CHAR96): Deleted.
4181         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4182         <Lisp_Object>.
4183         (latin_iso8859_2_to_ucs): Likewise.
4184         (latin_iso8859_3_to_ucs): Likewise.
4185         (latin_iso8859_4_to_ucs): Likewise.
4186         (latin_iso8859_9_to_ucs): Likewise.
4187         (latin_viscii_lower_to_ucs): Likewise.
4188         (latin_viscii_upper_to_ucs): Likewise.
4189         (latin_tcvn5712_to_ucs): Commented out.
4190         (make_charset): Change type of argument `decoding_table' from
4191         <Emchar*> to <Lisp_Object> [vector of characters].
4192         (Fmake_charset): Modify for `make_charset'.
4193         (Fmake_reverse_direction_charset): Likewise.
4194         (Fcharset_mapping_table): New function in UTF-2000.
4195         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4196         UTF-2000.
4197         (complex_vars_of_mule_charset): Modify for type change of
4198         `*_to_ucs'; modify for `make_charset'.
4199
4200         * char-ucs.h (struct Lisp_Charset): Change type of
4201         `decoding_table' from <Emchar*> to <Lisp_Object>.
4202         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4203
4204 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4205
4206         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4207         error with non-UTF-2000-Mule.
4208
4209 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4210
4211         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4212         in lisp again].
4213         (Vcharset_chinese_cns11643_4): Likewise.
4214         (Vcharset_chinese_cns11643_5): Likewise.
4215         (Vcharset_chinese_cns11643_6): Likewise.
4216         (Vcharset_chinese_cns11643_7): Likewise.
4217         (Qchinese_cns11643_3): Likewise.
4218         (Qchinese_cns11643_4): Likewise.
4219         (Qchinese_cns11643_5): Likewise.
4220         (Qchinese_cns11643_6): Likewise.
4221         (Qchinese_cns11643_7): Likewise.
4222         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4223         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4224         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4225         (complex_vars_of_mule_charset): Likewise.
4226
4227 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4228
4229         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4230         96-set.
4231         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4232         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4233
4234 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4235
4236         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4237         0xFF60.
4238         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4239         (breakup_char_1): Likewise.
4240
4241         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4242         one of them includes the specified character.
4243
4244 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4245
4246         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4247
4248 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4249
4250         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4251
4252 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4253
4254         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4255         definition for non-UTF-2000 Mule.
4256         (latin_iso8859_3_to_ucs): Likewise.
4257         (latin_iso8859_4_to_ucs): Likewise.
4258         (latin_iso8859_9_to_ucs): Likewise.
4259         (latin_jisx0201_to_ucs): Likewise.
4260         (MIN_CHAR_THAI): Likewise.
4261         (MAX_CHAR_THAI): Likewise.
4262         (MIN_CHAR_GREEK): Likewise.
4263         (MAX_CHAR_GREEK): Likewise.
4264         (MIN_CHAR_HEBREW): Likewise.
4265         (MAX_CHAR_HEBREW): Likewise.
4266         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4267         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4268         (MIN_CHAR_CYRILLIC): Likewise.
4269         (MAX_CHAR_CYRILLIC): Likewise.
4270
4271 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4272
4273         * char-ucs.h (breakup_char_1): Use
4274         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4275         thai-tis620 and katakana-jisx0201 area.
4276
4277 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4278
4279         * char-ucs.h (breakup_char_1): Use
4280         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4281         area.
4282
4283         * text-coding.c (reset_encoding_stream): Fixed.
4284         (char_encode_ucs4): Delete `& 255'.
4285
4286         * char-ucs.h (breakup_char_1): Use
4287         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4288
4289 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4290
4291         * file-coding.c (Fmake_coding_system): Don't set up
4292         `codesys->fixed.size'.
4293         (encode_coding_no_conversion): Don't refer
4294         `str->codesys->fixed.size'.
4295
4296 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4297
4298         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4299         (latin_a_char_to_byte1): Deleted.
4300         (latin_a_char_to_byte2): Deleted.
4301
4302 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4303
4304         * mule-charset.c (make_charset): Add new argument `ucs_min',
4305         `ucs_max' and `code_offset'.
4306         (charset_get_byte1): New implementation [delete specific charset
4307         depended implementations].
4308         (Fmake_charset): Modify for `make_charset'.
4309         (Fmake_reverse_direction_charset): Likewise.
4310         (complex_vars_of_mule_charset): Likewise.
4311
4312         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4313         `code_offset'.
4314         (CHARSET_UCS_MIN): New macro.
4315         (CHARSET_UCS_MAX): New macro.
4316         (CHARSET_CODE_OFFSET): New macro.
4317         (MAKE_CHAR): Delete charset depended definitions [except
4318         katakana-jisx0201].
4319
4320 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4321
4322         * char-ucs.h (breakup_char_1): Use
4323         `Vdefault_coded_charset_priority_list' for C0-Controls,
4324         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4325
4326 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4327
4328         * char-ucs.h (charset_get_byte1): New function.
4329         (XCHARSET_GET_BYTE1): Deleted.
4330         (charset_get_byte2): New function.
4331         (XCHARSET_GET_BYTE2): Deleted.
4332         (Vdefault_coded_charset_priority_list): New external variable.
4333         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4334         `Vdefault_preferred_coded_charset_list'.
4335
4336         * mule-charset.c (charset_get_byte1): New function.
4337         (charset_get_byte2): New function.
4338         (Vdefault_coded_charset_priority_list): New variable.
4339         (vars_of_mule_charset): Add new variable
4340         `default-coded-charset-priority-list'.
4341
4342 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4343
4344         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4345         (XCHARSET_GET_BYTE2): New inline function.
4346         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4347         `XCHARSET_GET_BYTE2'.
4348
4349 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4350
4351         * mule-charset.c (make_charset): Initialize
4352         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4353         NULL if table is not defined.
4354
4355 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4356
4357         * text-coding.c (char_encode_shift_jis): Use
4358         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4359         `ucs_to_latin_jisx0201'.
4360
4361         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4362         (ucs_to_latin_iso8859_2): Deleted.
4363         (ucs_to_latin_iso8859_3): Deleted.
4364         (ucs_to_latin_iso8859_4): Deleted.
4365         (ucs_to_latin_iso8859_9): Deleted.
4366         (ucs_to_latin_viscii_lower): Deleted.
4367         (ucs_to_latin_viscii_upper): Deleted.
4368         (ucs_to_latin_tcvn5712): Deleted.
4369         (make_charset): Add new argument `decoding_table'; set up
4370         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4371         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4372         `decoding_table' is defined in UTF-2000.
4373         (Fmake_charset): Modify for `make_charset'.
4374         (Fmake_reverse_direction_charset): Likewise.
4375         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4376         and `GENERATE_96_SET'.
4377
4378         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4379         (ucs_to_latin_jisx0201): Deleted.
4380         (latin_iso8859_2_to_ucs): Deleted.
4381         (ucs_to_latin_iso8859_2): Deleted.
4382         (latin_iso8859_3_to_ucs): Deleted.
4383         (ucs_to_latin_iso8859_3): Deleted.
4384         (latin_iso8859_4_to_ucs): Deleted.
4385         (ucs_to_latin_iso8859_4): Deleted.
4386         (latin_iso8859_9_to_ucs): Deleted.
4387         (ucs_to_latin_iso8859_9): Deleted.
4388         (latin_viscii_lower_to_ucs): Deleted.
4389         (ucs_to_latin_viscii_lower): Deleted.
4390         (latin_viscii_upper_to_ucs): Deleted.
4391         (ucs_to_latin_viscii_upper): Deleted.
4392         (struct Lisp_Charset): Renamed `encoding_table' to
4393         `to_byte1_table'; add `to_byte2_table'.
4394         (CHARSET_DECODING_TABLE): New macro.
4395         (CHARSET_TO_BYTE1_TABLE): New macro.
4396         (CHARSET_TO_BYTE2_TABLE): New macro.
4397         (XCHARSET_DECODING_TABLE): New macro.
4398         (XCHARSET_TO_BYTE1_TABLE): New macro.
4399         (XCHARSET_TO_BYTE2_TABLE): New macro.
4400         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4401         tables.
4402         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4403         don't use `ucs_to_*' tables.
4404
4405 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4406
4407         * text-coding.c (Fmake_coding_system): Don't set up
4408         `codesys->fixed.size'.
4409         (encode_coding_no_conversion): Use `if' instead of `switch'.
4410
4411         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4412
4413 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4414
4415         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4416         (Fmake_charset): Modify for `make_charset'.
4417         (Fmake_reverse_direction_charset): Likewise.
4418         (complex_vars_of_mule_charset): Likewise.
4419
4420 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4421
4422         * text-coding.c (char_encode_shift_jis): Use table
4423         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4424
4425 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4426
4427         * text-coding.c (text_encode_generic): Use `if' instead of
4428         `switch'.
4429         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4430         decode JIS-Latin.
4431
4432 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4433
4434         * text-coding.c (encode_coding_sjis): Deleted.
4435         (char_encode_shift_jis): New function.
4436         (char_finish_shift_jis): New function.
4437         (reset_encoding_stream): Set up `encode_char' and `finish' for
4438         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4439         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4440         (char_encode_utf8): Treat `eol_type'.
4441
4442 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4443
4444         * file-coding.c (decode_coding_iso2022): Use
4445         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4446
4447 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4448
4449         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4450         to 0.7 (Hirano).
4451
4452 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4453
4454         * char-lb.h (CHAR_COLUMNS): New macro.
4455
4456 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4457
4458         * text-coding.c (char_encode_ucs4): New function.
4459         (char_finish_ucs4): New function.
4460         (encode_coding_ucs4): Deleted.
4461         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4462         (text_encode_generic): Delete local variable `charset' and `half'.
4463         (ucs_to_mule_table): Deleted.
4464         (mule_to_ucs_table): Deleted.
4465         (Fset_ucs_char): Deleted.
4466         (ucs_to_char): Deleted.
4467         (Fucs_char): Deleted.
4468         (Fset_char_ucs): Deleted.
4469         (Fchar_ucs): Deleted.
4470         (decode_ucs4): Deleted.
4471         (mule_char_to_ucs4): Deleted.
4472         (encode_ucs4): Deleted.
4473         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4474         (decode_coding_utf8): Likewise.
4475         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4476         (char_encode_iso2022): Fixed.
4477         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4478         `Fset_char_ucs' and `Fchar_ucs'.
4479         (complex_vars_of_file_coding): Don't initialize
4480         `ucs_to_mule_table'.
4481
4482         * objects-tty.c (tty_initialize_font_instance): Don't use
4483         `XCHARSET_COLUMNS'.
4484
4485         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4486         UTF-2000.
4487
4488         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4489         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4490
4491         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4492         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4493         (emchar_string_displayed_columns): Likewise.
4494
4495         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4496         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4497         (string_column_at_point): Likewise.
4498         (Fmove_to_column): Likewise.
4499
4500         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4501         `encoding_table' and `decoding_table'.
4502         (CHARSET_REP_BYTES): Deleted.
4503         (XCHARSET_REP_BYTES): Deleted.
4504         (XCHARSET_COLUMNS): Deleted.
4505         (CHAR_COLUMNS): New macro.
4506         (lookup_composite_char): Deleted unconditionally.
4507         (composite_char_string): Likewise.
4508
4509 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4510
4511         * char-ucs.h (Emchar_to_byte_table): New type.
4512         (get_byte_from_character_table): New function interface.
4513         (Vcharset_latin_jisx0201): New variable.
4514         (latin_jisx0201_to_ucs): New variable.
4515         (ucs_to_latin_jisx0201): New variable.
4516         (Vcharset_latin_iso8859_2): New variable.
4517         (latin_iso8859_2_to_ucs): New variable.
4518         (ucs_to_latin_iso8859_2): New variable.
4519         (Vcharset_latin_iso8859_3): New variable.
4520         (latin_iso8859_3_to_ucs): New variable.
4521         (ucs_to_latin_iso8859_3): New variable.
4522         (Vcharset_latin_iso8859_4): New variable.
4523         (latin_iso8859_4_to_ucs): New variable.
4524         (ucs_to_latin_iso8859_4): New variable.
4525         (Vcharset_latin_iso8859_9): New variable.
4526         (latin_iso8859_9_to_ucs): New variable.
4527         (ucs_to_latin_iso8859_9): New variable.
4528         (Vcharset_latin_viscii_lower): New variable.
4529         (latin_viscii_lower_to_ucs): New variable.
4530         (ucs_to_latin_viscii_lower): New variable.
4531         (Vcharset_latin_viscii_upper): New variable.
4532         (latin_viscii_upper_to_ucs): New variable.
4533         (ucs_to_latin_viscii_upper): New variable.
4534         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4535         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4536         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4537         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4538         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4539         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4540         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4541         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4542         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4543         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4544
4545         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4546         (Vcharset_latin_viscii_upper): New variable.
4547         (make_byte_from_character_table): New function.
4548         (put_byte_from_character_table): New function.
4549         (get_byte_from_character_table): New function.
4550         (CHAR96): New macro.
4551         (ucs_to_latin_jisx0201): New variable.
4552         (latin_jisx0201_to_ucs): New variable.
4553         (ucs_to_latin_iso8859_2): New variable.
4554         (latin_iso8859_2_to_ucs): New variable.
4555         (ucs_to_latin_iso8859_3): New variable.
4556         (latin_iso8859_3_to_ucs): New variable.
4557         (ucs_to_latin_iso8859_4): New variable.
4558         (latin_iso8859_4_to_ucs): New variable.
4559         (ucs_to_latin_iso8859_9): New variable.
4560         (latin_iso8859_9_to_ucs): New variable.
4561         (ucs_to_latin_viscii_lower): New variable.
4562         (latin_viscii_lower_to_ucs): New variable.
4563         (ucs_to_latin_viscii_upper): New variable.
4564         (latin_viscii_upper_to_ucs): New variable.
4565         (ucs_to_latin_tcvn5712): New variable.
4566         (latin_tcvn5712_to_ucs): New variable.
4567         (Qlatin_viscii_lower): New variable.
4568         (Qlatin_viscii_upper): New variable.
4569         (syms_of_mule_charset): Set up new symbol
4570         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4571         (complex_vars_of_mule_charset): Set up new charset
4572         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4573         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4574         `ucs_to_<CHARSET>' tables.
4575
4576 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4577
4578         * text-coding.c: New file.
4579
4580 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4581
4582         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4583
4584         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4585         (MAKE_CHAR): Modify for `ucs-bmp'.
4586         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4587         non-MULE characters of BMP.
4588
4589 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4590
4591         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4592         to 0.6.
4593
4594 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4595
4596         * lstream.h:
4597         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4598         - Include character.h for `CHAR_ASCII_P'.
4599
4600         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4601
4602         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4603         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4604
4605         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4606         (BYTE_C0_P): Likewise.
4607         (BYTE_C1_P): Likewise.
4608         (Lstream_get_emchar_1): Likewise.
4609         (Lstream_fput_emchar): Likewise.
4610         (Lstream_funget_emchar): Likewise.
4611         (copy_internal_to_external): Likewise.
4612         (copy_external_to_internal): Likewise.
4613
4614         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4615         (BYTE_C0_P): Likewise.
4616         (BYTE_C1_P): Likewise.
4617         (Lstream_get_emchar_1): Likewise.
4618         (Lstream_fput_emchar): Likewise.
4619         (Lstream_funget_emchar): Likewise.
4620         (copy_internal_to_external): Likewise.
4621         (copy_external_to_internal): Likewise.
4622
4623         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4624         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4625
4626         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4627         (BYTE_ASCII_P): Moved to mb-1byte.h.
4628
4629 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4630
4631         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4632
4633         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4634         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4635         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4636         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4637         (VALIDATE_CHARPTR_FORWARD): Likewise.
4638         (simple_charptr_emchar): Moved to mb-multibyte.h.
4639         (simple_set_charptr_emchar): Likewise.
4640         (simple_charptr_copy_char): Likewise.
4641         (non_ascii_charptr_emchar): Likewise.
4642         (non_ascii_set_charptr_emchar): Likewise.
4643         (non_ascii_charptr_copy_char): Likewise.
4644         (charptr_emchar): Moved to mb-*byte.h.
4645         (set_charptr_emchar): Likewise.
4646         (charptr_copy_char): Likewise.
4647
4648         * mb-1byte.h, mb-multibyte.h: New files.
4649
4650 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4651
4652         * mb-utf-8.h (MULTIBYTE): New macro.
4653         (MAX_EMCHAR_LEN): Moved from buffer.h.
4654         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4655
4656         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4657
4658         * mb-lb.h, multibyte.h: New files.
4659
4660         * char-1byte.h (Charset_ID): Moved from buffer.h.
4661         (MIN_LEADING_BYTE): Likewise.
4662         (LEADING_BYTE_ASCII): Likewise.
4663         (NUM_LEADING_BYTES): Likewise.
4664         (CHARSETP): Likewise.
4665         (CHARSET_BY_LEADING_BYTE): Likewise.
4666         (XCHARSET_LEADING_BYTE): Likewise.
4667         (XCHARSET_GRAPHIC): Likewise.
4668         (XCHARSET_COLUMNS): Likewise.
4669         (XCHARSET_DIMENSION): Likewise.
4670         (CHAR_CHARSET): Likewise.
4671         (CHAR_LEADING_BYTE): Likewise.
4672         (BREAKUP_CHAR): Likewise.
4673         (Vcharset_ascii): Likewise.
4674
4675         * buffer.h: Include multibyte.h unconditionally.
4676         (VALID_CHARPTR_P): Moved to multibyte.h.
4677         (ASSERT_VALID_CHARPTR): Likewise.
4678         (REAL_INC_CHARPTR): Likewise.
4679         (REAL_INC_CHARBYTIND): Likewise.
4680         (REAL_DEC_CHARPTR): Likewise.
4681         (INC_CHARPTR): Likewise.
4682         (INC_CHARBYTIND): Likewise.
4683         (DEC_CHARPTR): Likewise.
4684         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4685         (VALIDATE_CHARPTR_FORWARD): Likewise.
4686         (charptr_n_addr): Likewise.
4687         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4688         (simple_charptr_emchar): Moved to multibyte.h.
4689         (simple_set_charptr_emchar): Likewise.
4690         (simple_charptr_copy_char): Likewise.
4691         (non_ascii_charptr_emchar): Likewise.
4692         (non_ascii_set_charptr_emchar): Likewise.
4693         (non_ascii_charptr_copy_char): Likewise.
4694         (charptr_emchar): Likewise.
4695         (set_charptr_emchar): Likewise.
4696         (charptr_copy_char): Likewise.
4697         (charptr_emchar_n): Likewise.
4698         (Charset_ID): Moved to char-1byte.h.
4699         (Vcharset_ascii): Likewise.
4700         (CHAR_CHARSET): Likewise.
4701         (CHAR_LEADING_BYTE): Likewise.
4702         (LEADING_BYTE_ASCII): Likewise.
4703         (NUM_LEADING_BYTES): Likewise.
4704         (MIN_LEADING_BYTE): Likewise.
4705         (CHARSETP): Likewise.
4706         (CHARSET_BY_LEADING_BYTE): Likewise.
4707         (XCHARSET_LEADING_BYTE): Likewise.
4708         (XCHARSET_GRAPHIC): Likewise.
4709         (XCHARSET_COLUMNS): Likewise.
4710         (XCHARSET_DIMENSION): Likewise.
4711         (BREAKUP_CHAR): Likewise.
4712
4713 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4714
4715         * character.h: Add document about interface for characters.
4716
4717         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4718         (MAKE_CHAR): Delete comment about
4719         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4720         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4721         (BREAKUP_CHAR): Modify name of arguments.
4722         (CHAR_CHARSET): Modify name of argument.
4723
4724         * buffer.h: Delete document about Emchar accessors.
4725
4726 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4727
4728         * character.h (CHAR_INTP): Moved from buffer.h
4729         (CHAR_OR_CHAR_INTP): Likewise.
4730         (XCHAR_OR_CHAR_INT): Likewise.
4731         (CHECK_CHAR_COERCE_INT): Likewise.
4732
4733         * buffer.h (CHAR_INTP): Moved to character.h
4734         (CHAR_OR_CHAR_INTP): Likewise.
4735         (XCHAR_OR_CHAR_INT): Likewise.
4736         (CHECK_CHAR_COERCE_INT): Likewise.
4737
4738 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4739
4740         * character.h:
4741         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4742         - Include char-1byte.h, char-lb.h or char-ucs.h.
4743
4744         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4745
4746         * buffer.h: Include character unconditionally.
4747         (valid_char_p): Moved to char-*.h.
4748         (non_ascii_valid_char_p): Moved to char-lb.h.
4749
4750         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4751
4752 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4753
4754         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4755         in UTF-2000 because it is not ported yet and not to use
4756         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4757         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4758         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4759
4760         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4761         (CHAR_ASCII_P): Moved from character.h.
4762
4763         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4764         (CHAR_ASCII_P): Likewise.
4765         (CHAR_FIELD1_MASK): Deleted.
4766         (CHAR_FIELD2_MASK): Deleted.
4767         (CHAR_FIELD3_MASK): Deleted.
4768         (MAX_CHAR_BASIC_LATIN): New macro.
4769         (CHAR_FIELD1): Deleted.
4770         (CHAR_FIELD2_INTERNAL): Deleted.
4771         (CHAR_FIELD3_INTERNAL): Deleted.
4772         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4773         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4774         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4775         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4776         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4777         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4778         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4779         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4780         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4781         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4782         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4783         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4784         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4785         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4786         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4787         (MIN_CHAR_COMPOSITION): Deleted.
4788         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4789         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4790
4791 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4792
4793         * buffer.h: Include mb-utf-8.h in UTF-2000.
4794
4795         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4796
4797         * mb-utf-8.h: New file.
4798
4799 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4800
4801         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4802         instead of `int'.
4803
4804         * mule-charset.h, buffer.h (Charset_ID): New type.
4805
4806 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4807
4808         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4809         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4810         instead of `MULE_CHAR_PRIVATE_OFFSET',
4811         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4812         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4813         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4814
4815         * character.h (Vcharset_japanese_jisx0212): New variable
4816         definition.
4817
4818 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4819
4820         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4821         (charset_by_attributes): Delete array about direction.
4822         (latin_a_char_to_charset): New variable in UTF-2000.
4823         (latin_a_char_to_byte1): New variable in UTF-2000.
4824         (latin_a_char_to_byte2): New variable in UTF-2000.
4825         (Qucs_bmp): New variable.
4826         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4827         `Bufbyte'.
4828         (next_allocated_2_byte_leading_byte): Likewise.
4829         (non_ascii_set_charptr_emchar): Likewise.
4830         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4831         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4832         `charset_by_attributes'.
4833         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4834         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4835         and `CHARSET_BY_LEADING_BYTE'.
4836         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4837         `utf-2000-version' to `vars_of_mule_charset'.
4838         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4839         define `leading-code-private-11' in UTF-2000; move setting of
4840         `utf-2000-version' from `syms_of_mule_charset'.
4841         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4842         UTF-2000.
4843
4844         * character.h (Charset_ID): New type.
4845         (LEADING_BYTE_UCS_BMP): New macro.
4846         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4847         (CHARSET_ID_OFFSET_94): New macro.
4848         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4849         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4850         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4851         final-byte.
4852         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4853         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4854         (CHARSET_ID_OFFSET_96): New macro.
4855         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4856         CHARSET_ID_OFFSET_96 and final-byte.
4857         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4858         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4859         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4860         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4861         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4862         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4863         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4864         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4865         (LEADING_BYTE_THAI_TIS620): Likewise.
4866         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4867         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4868         (CHARSET_ID_OFFSET_94x94): New macro.
4869         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4870         CHARSET_ID_OFFSET_94x94 and final-byte.
4871         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4872         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4873         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4874         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4875         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4876         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4877         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4878         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4879         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4880         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4881         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4882         (CHARSET_TYPE_128X128): New macro.
4883         (CHARSET_TYPE_256X256): New macro.
4884         (XCHARSET_PRIVATE_P): Delete unconditionally.
4885         (charset_by_attributes): Delete array about direction.
4886         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4887         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4888         (MIN_CHAR_94): New macro.
4889         (MAX_CHAR_94): New macro.
4890         (MIN_CHAR_96): New macro.
4891         (MAX_CHAR_96): New macro.
4892         (MIN_CHAR_94x94): New macro.
4893         (MAX_CHAR_94x94): New macro.
4894         (MIN_CHAR_96x96): New macro.
4895         (MAX_CHAR_96x96): New macro.
4896         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4897         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4898         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4899         - 32)'.
4900         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4901         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4902         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4903         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4904         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4905         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4906         `XCHARSET_LEADING_BYTE' to make code-point.
4907         (latin_a_char_to_charset): New variable.
4908         (latin_a_char_to_byte1): New variable.
4909         (latin_a_char_to_byte2): New variable.
4910         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4911         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4912         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4913
4914         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4915         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4916         (find_charsets_in_emchar_string): Likewise.
4917         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4918
4919         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4920         `int'.
4921         (decode_coding_iso2022): Likewise.
4922
4923         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4924         of `unsigned char'.
4925
4926         * redisplay.c (redisplay_text_width_emchar_string): Use
4927         `Charset_ID' instead of `unsigned char'.
4928         (redisplay_frame_text_width_string): Likewise.
4929
4930         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4931         `unsigned char'.
4932
4933         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4934         instead of `unsigned char'.
4935         (face_cachel_charset_font_metric_info): Likewise.
4936
4937         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4938         (get_non_ascii_char_table_value): Likewise.
4939         (get_char_table): Likewise.
4940         (put_char_table): Likewise.
4941         (map_over_other_charset): Likewise.
4942         (map_char_table): Likewise.
4943
4944         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4945         instead of `unsigned char'.
4946
4947 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4948
4949         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4950         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4951
4952         * mule-charset.c (leading_code_private_11): Don't define in
4953         UTF-2000.
4954
4955         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4956         in UTF-2000 because it is not ported yet and not to use
4957         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4958
4959 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4960
4961         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4962
4963 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4964
4965         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4966         in UTF-2000.
4967
4968         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4969         of unsigned char to store leading-byte.
4970
4971         * chartab.c (get_non_ascii_char_table_value): Don't use
4972         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4973
4974         * file-coding.c (encode_coding_big5): Delete bogus implementation
4975         in UTF2000.
4976
4977         * character.h (LEADING_BYTE_*): Delete definition for
4978         non-UTF-2000.
4979         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4980         (LEADING_BYTE_PREFIX_P): Deleted.
4981         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4982         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4983         (BUFBYTE_LEADING_BYTE_P): Deleted.
4984         (CHARSET_PRIVATE_P): Deleted unconditionally.
4985         (rep_bytes_by_first_byte): Deleted unconditionally.
4986         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4987         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4988         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4989         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4990         (CHAR_FIELD2): Deleted.
4991         (CHAR_FIELD3): Deleted.
4992         (MAKE_CHAR): Delete definition for non-UTF-2000.
4993         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4994         (breakup_char_1): New implementation.
4995         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4996         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4997
4998 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4999
5000         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5001         condition.
5002
5003 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5004
5005         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5006         (CHARSET_PRIVATE_P): Likewise.
5007         (XCHARSET_PRIVATE_P): Likewise.
5008         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5009
5010         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5011         UTF2000.
5012         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5013
5014 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5015
5016         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5017         (NUM_LEADING_BYTES): Changed from 128 to 256.
5018         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5019         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5020         UTF2000.
5021         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5022
5023         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5024         UTF2000.
5025         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5026         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5027         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5028         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5029         (Qchinese_cns11643_3): New variable in UTF2000.
5030         (Qchinese_cns11643_4): New variable in UTF2000.
5031         (Qchinese_cns11643_5): New variable in UTF2000.
5032         (Qchinese_cns11643_6): New variable in UTF2000.
5033         (Qchinese_cns11643_7): New variable in UTF2000.
5034         (syms_of_mule_charset): Define `chinese-cns11643-3',
5035         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5036         and `chinese-cns11643-7' in UTF2000.
5037         (vars_of_mule_charset): Initialize
5038         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5039         + 1 in UTF2000.
5040         (complex_vars_of_mule_charset): Setup charset
5041         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5042         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5043
5044 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5045
5046         * mule-charset.c: Move setting for `leading-code-private-11' from
5047         `syms_of_mule_charset' to `vars_of_mule_charset'.
5048
5049 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5050
5051         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5052         and `NUM_LEADING_BYTES' in assert.
5053
5054 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5055
5056         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5057         instead of 128.
5058         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5059         `NUM_LEADING_BYTES' instead of 128.
5060
5061 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5062
5063         * mule-charset.h (charset_by_leading_byte): Use
5064         `NUM_LEADING_BYTES' instead of 128.
5065         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5066
5067         * mule-charset.c (charset_by_leading_byte): Use
5068         `NUM_LEADING_BYTES' instead of 128.
5069         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5070
5071         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5072         128.
5073
5074 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5075
5076         * mule-charset.c (syms_of_mule_charset): Update to
5077         0.4 (Shin-Imamiya).
5078
5079 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5080
5081         * file-coding.c (encode_coding_sjis): New implementation for
5082         UTF2000.  (decode_coding_sjis): Ditto.
5083
5084 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5085
5086         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5087         Don't define in UTF2000.
5088
5089         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5090         defined.
5091
5092         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5093         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5094         MULE.
5095
5096 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5097
5098         * config.h.in (CHAR_IS_UCS4): New macro.
5099
5100         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5101         conventional MULE representation.
5102         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5103
5104         * mule-charset.h: Reverted to original.
5105
5106         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5107         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5108         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5109
5110         * character.h: New file.
5111
5112         * file-coding.c (Fmake_coding_system): Set 1 to
5113         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5114         defined.
5115         (encode_coding_no_conversion): New implementation for UTF2000.
5116
5117         * file-coding.h (struct Lisp_Coding_System): Add new member
5118         `fixed.size'.
5119
5120 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5121
5122         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5123         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5124         (encode_coding_iso2022): New implementation for UTF2000.
5125
5126 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5127
5128         * mule-canna.c (c2mu): New implementation for UTF2000.
5129         (m2c): Likewise.
5130
5131 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5132
5133         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5134
5135 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5136
5137         * file-coding.c (reset_encoding_stream): Set 0 to
5138         `str->iso2022.current_char_boundary' in UTF2000.
5139         (encode_utf8): Don't define in UTF2000.
5140         (encode_coding_utf8): New implementation for UTF-8 representation
5141         of UTF2000.
5142         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5143
5144 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5145
5146         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5147
5148         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5149         UTF2000.
5150         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5151
5152         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5153
5154         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5155         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5156         as UTF-8 in UTF2000.
5157         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5158         (non_ascii_valid_char_p): Don't define in UTF2000.
5159         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5160         (Lstream_get_emchar_1): Likewise.
5161         (utf-2000-version): New variable in UTF2000.
5162
5163         * lread.c (read_escape): Add new reader `u'.
5164
5165         * insdel.c (three_to_one_table): Don't define in UTF2000.
5166         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5167         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5168         UTF2000.
5169         (bytind_to_bufpos_func): Likewise.
5170         (buffer_mule_signal_inserted_region): Likewise.
5171         (vars_of_insdel): Don't initialize `three_to_one_table'.
5172         (init_buffer_text): Use `buf->text->mule_size' instead of
5173         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5174         UTF2000.
5175
5176         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5177         UTF-8 representation in UTF2000.
5178         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5179         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5180         (decode_coding_iso2022): Don't define local variable `lb' in
5181         UTF2000; don't use LEADING_BYTE in UTF2000; use
5182         `DECODE_ADD_UCS_CHAR' in UTF2000.
5183         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5184
5185         * config.h.in (UTF2000): New macro.
5186
5187         * buffer.h (struct buffer_text): Add new member `mule_size' and
5188         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5189         (valid_char_p): Return always 1 in UTF2000.
5190         (MAX_EMCHAR_LEN): 6 in UTF2000.
5191         (three_to_one_table): Don't define in UTF2000.
5192         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5193         UTF2000.
5194         (real_bytind_to_bufpos): Likewise.
5195
5196         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5197
5198 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5199
5200         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5201         representation change.
5202         (Vutf_2000_version): New variable.
5203         (leading_code_private_11): New variable.
5204         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5205         `leading-code-private-11'.
5206
5207         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5208         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5209         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5210         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5211         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5212         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5213         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5214         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5215         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5216         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5217         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5218         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5219         (MIN_CHAR_GREEK): New macro.
5220         (MAX_CHAR_GREEK): New macro.
5221         (MIN_CHAR_CYRILLIC): New macro.
5222         (MAX_CHAR_CYRILLIC): New macro.
5223         (MIN_CHAR_HEBREW): New macro.
5224         (MAX_CHAR_HEBREW): New macro.
5225         (MIN_CHAR_THAI): New macro.
5226         (MAX_CHAR_THAI): New macro.
5227         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5228         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5229         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5230         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5231         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5232         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5233         (CHAR_FIELD2): New inline function.
5234         (CHAR_FIELD3): New inline function.
5235         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5236         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5237         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5238         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5239         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5240         (MIN_CHAR_COMPOSITION): Likewise.
5241         (CHAR_LEADING_BYTE): Modified for character representation change.
5242         (MAKE_CHAR): Likewise.
5243
5244         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5245         (Vcharset_greek_iso8859_7): Likewise.
5246         (Vcharset_cyrillic_iso8859_5): Likewise.
5247         (Vcharset_hebrew_iso8859_8): Likewise.
5248         (Vcharset_thai_tis620): Likewise.
5249         (Vcharset_katakana_jisx0201): Likewise.
5250
5251 2003-09-03  Vin Shelton <acs@xemacs.org>
5252
5253         * XEmacs 21.4.14 is released
5254
5255 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5256
5257         * config.h.in (REGEX_MALLOC): Make it configure'able.
5258
5259 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5260
5261         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5262         linking.
5263         * sysdll.c (dll_init):
5264         * sysdll.c (dll_open):
5265         * sysdll.c (dll_close):
5266         * sysdll.c (dll_function):
5267         * sysdll.c (dll_variable):
5268         * sysdll.c (dll_error):
5269         Add support for loading bundles using Darwin/MacOSX
5270         native API.
5271
5272 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5273
5274         * process.c (start-process-internal): Document coding systems.
5275
5276 2003-07-30  Jerry James  <james@xemacs.org>
5277
5278         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5279
5280 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5281
5282         * event-msw.c (mswindows_enqueue_mouse_button_event):
5283         * event-msw.c (mswindows_wnd_proc):
5284           enqueue button event when scrollwheel event isn't handled by 
5285           mswindows_handle_mousewheel_event, such as when the scrollbars
5286           are not showing.
5287
5288 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5289
5290         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5291
5292 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5293
5294         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5295
5296 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5297
5298         * regex.c (re_match_2_internal): Fix matching degenerate word
5299         boundaries.
5300
5301 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5302
5303         * XEmacs 21.4.13 is released
5304
5305 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5306
5307         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5308         * lisp.h (<inttypes.h>):
5309         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5310         the definition.
5311
5312 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5313
5314         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5315         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5316         Result: "temacs can only be run in -batch mode."
5317         Fix: Check xemacs executable candidate for directory-ness.
5318
5319 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5320
5321         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5322           they conflict with <sys/types.h>.
5323
5324 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5325
5326         * database.c: Berkeley DB wants __STDC__ to be defined.
5327
5328 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5329
5330         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5331
5332 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5333
5334         * process-unix.c (unix_send_process): Fix C++ compile error.
5335
5336 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5337
5338         * Added .dylib as an acceptable shared library file extension
5339         * to support MacOSX.
5340
5341 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5342
5343         * EmacsFrameP.h (EmacsFramePart):
5344         Kludge to allow compiling with Motif1, but linking with Motif2.
5345
5346 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5347
5348         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5349
5350
5351 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5352
5353         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5354
5355 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5356
5357         * sysdll.c: Included lisp.h to define needed alloca_array.
5358
5359 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5360
5361         Make XEmacs redisplay 10 times faster.
5362         If, that is, you're using a slow X connection and MoveOpaque.
5363         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5364         Use compress_motion = TRUE.
5365         * EmacsFrame.c (emacsFrameClassRec): 
5366         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5367         * EmacsManager.c (emacsManagerClassRec):
5368         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5369
5370 2003-01-30  Vin Shelton  <acs@xemacs.org>
5371
5372         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5373
5374 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5375
5376         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5377         Patch by Martin Buchholz.
5378
5379 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5380
5381         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5382         Thanks to icc for warning and Martin Buchholz for reporting.
5383
5384 2003-01-29  Vin Shelton <acs@xemacs.org>
5385
5386         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5387
5388         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5389         remember to multiply by the element size.
5390
5391 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5392
5393         * XEmacs 21.4.12 "Portable Code" is released.
5394
5395 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5396
5397         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5398         * s/cygwin.sc: new linker file.
5399
5400 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5401
5402         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5403
5404         * redisplay-x.c (x_output_string): Use X11-specified types.
5405         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5406         * emacs.c (__free_hook): Use typeof with Intel compiler.
5407         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5408
5409 2003-01-08  Andy Piper  <andy@xemacs.org>
5410
5411         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5412         reserve size during unexec().
5413
5414 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5415
5416         * process-unix.c (unix_create_process): Don't let outchannel block.
5417
5418 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5419
5420         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5421         Needed for IsBadReadPtr().
5422
5423 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5424
5425         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5426
5427 2002-12-14  Ben Wing  <ben@xemacs.org>
5428
5429         * callint.c: Declaration error.
5430         * dumper.c (pdump):
5431         * dumper.c (pdump_load): Warning fix.
5432         * process.c: GCPRO error.
5433         * glyphs.c (unmap_subwindow):
5434         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5435         * event-stream.c (maybe_kbd_translate): Wrong argument to
5436         character_to_event().
5437
5438         * alloc.c (garbage_collect_1):
5439         * emacs.c:
5440         * emacs.c (debug_can_access_memory):
5441         * emacs.c (fatal_error_signal):
5442         * emacs.c (mswindows_handle_hardware_exceptions):
5443         * emacs.c (main_1):
5444         * emacs.c (main):
5445         * emacs.c (assert_failed):
5446         * emacs.c (syms_of_emacs):
5447         * lisp.h:
5448         * print.c:
5449         * print.c (std_handle_out_va):
5450         * print.c (write_string_to_stdio_stream):
5451         * print.c (write_fmt_string):
5452         * print.c (printing_badness):
5453         * print.c (printing_major_badness):
5454         * print.c (print_internal):
5455         * print.c (debug_print_no_newline):
5456         * print.c (debug_backtrace):
5457         Be more defensive in handling bad values when printing.  Add code
5458         from trunk involving inhibit_non_essential_printing_operations.
5459         When going down or in debug_print(), don't do external conversion
5460         and such and try really, really hard when printing to avoid core
5461         dumping.  Add force-debugging-signal, debug_break().
5462
5463 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5464
5465         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5466         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5467
5468 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5469
5470         * database.c: Fix open_database. Berkeley DB API has changed in
5471         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5472
5473 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5474
5475         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5476
5477 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5478
5479         * event-Xt.c (Xt_timeout):
5480         (Xt_timeout_callback):
5481         (emacs_Xt_add_timeout):
5482         (emacs_Xt_remove_timeout):
5483         (Xt_timeout_to_emacs_event):
5484         Turn completed_timeouts from a stack into a queue.  Fixes
5485         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5486
5487 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5488
5489         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5490         * emacs.c (main): Assert that mmap'd allocation is disabled.
5491
5492 2002-10-14  Andy Piper  <andy@xemacs.org>
5493
5494         * glyphs-widget.c (layout_query_geometry): add in fiddle
5495         factor. Include border text in width layout calculation.
5496         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5497
5498 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5499
5500         * XEmacs 21.4.10 "Military Intelligence" is released.
5501
5502 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5503
5504         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5505         using the NAS private array SoundFileInfo that no longer exists in
5506         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5507         and earlier.  This is broken for some versions between 1.5a and
5508         1.5f.
5509
5510 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5511
5512         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5513
5514         * emacs.c (shut_down_emacs): Improve crash message.
5515
5516 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5517
5518         * file-coding.c (determine_real_coding_system): Check for coding
5519         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5520         shebangs and Python PEP 263.
5521
5522 2002-10-08  Andy Piper  <andy@xemacs.org>
5523
5524         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5525         if static sizes haven't been set.
5526
5527 2002-08-30  Mike Alexander  <mta@arbortext.com>
5528
5529         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5530         to close a socket.
5531
5532 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5533
5534         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5535
5536 2002-09-20  Mike Sperber <mike@xemacs.org>
5537
5538         (This partially gets back my patch from 2002-07-20 without the
5539         bug.)
5540         * callproc.c (child_setup): Remove Ben's comment noting confusion
5541         over the file descriptors >= 3: close_process_descs() doesn't
5542         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5543         * process-unix.c (unix_create_process): Call
5544         begin_dont_check_for_quit to inhibit unwanted interaction (and
5545         thus breaking of X event synchronicity) in the child.
5546
5547 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5548
5549         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5550         widget.
5551
5552 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5553
5554         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5555         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5556         the xemacs process did not exit, but looped infinitely here.  This
5557         fixes that problem.
5558
5559 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5560
5561         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5562         (find_context): Improve comments.
5563
5564         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5565         (re_match_2): An XCHAR_TABLE operation was missing.
5566
5567         Many of the following changes were inspired by Andy Piper's (now
5568         obsolete) patch to make syntax-table text property lookup optional.
5569
5570         [Documentation]
5571
5572         * syntax.h (top level): Document semantics of syntax flags.
5573         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5574         * syntax.c, syntax.h (top level): Document syntax cache better in
5575         comments.
5576
5577         [Instrument syntax caching (temporary change)]
5578
5579         * syntax.h (enum syntax_cache_statistics_functions, struct
5580         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5581         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5582         * syntax.c (scan_words, Fforward_comment, scan_lists,
5583         Fbackward_prefix_characters):
5584         * font-lock.c (find_context):
5585         Use them to instrument syntax caching. 
5586         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5587         syntax_cache_statistics_function_names): New type and variables.
5588         * syntax.c (update_syntax_cache): Update and report statistics.
5589
5590         [Major syntax cache optimizations]
5591
5592         syntax.c (lookup_syntax_properties): Default off.
5593
5594         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5595         * syntax.c (update_syntax_cache):
5596         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5597
5598         [Minor syntax cache optimizations and code clarifications]
5599
5600         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5601         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5602         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5603         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5604         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5605         (Code clarification.)
5606
5607         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5608         scan_lists): Compute code from syncode, use Boolean macros instead
5609         of redundant masking operations.  (Code clarification; any decent
5610         compiler can do this optimization.)
5611
5612         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5613         for clarity.
5614
5615         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5616         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5617         use F*_single_property_change instead of F*_extent_change.
5618         Currently F*_single_property_change is _much_ less efficient.
5619
5620         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5621         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5622         syntax_cache.object properly, don't leave Qt or Qnil.
5623         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5624         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5625         tests for Qt or Qnil.
5626
5627 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5628
5629         * redisplay.c (point_in_line_start_cache): 
5630         * extents.c (print_extent_1):
5631         Fix warnings.
5632
5633         * extents.c (Fset_extent_property): Document `syntax-table' property.
5634
5635         * extents.h (Fnext_single_property_change): EXFUN it.
5636
5637 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5638
5639         * search.c (clear_unused_search_regs): New static function.
5640         (search_buffer): 
5641         (simple_search): 
5642         (boyer_moore):
5643         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5644         Minor clarifications in comments.
5645
5646         * regex.c (re_match_2_internal): Ensure no stale submatches.
5647
5648 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5649
5650         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5651
5652 2002-08-29  Jerry James  <james@xemacs.org>
5653
5654         * lisp.h: structrures -> structures.
5655
5656 2002-06-03  Andy Piper  <andy@xemacs.org>
5657
5658         * frame.c (frame_conversion_internal): add conversion appropriate
5659         for setting frame dimensions in pixels.
5660
5661         * console.h (struct console_methods): add device-specific widget
5662         layout functions.
5663
5664         * emacs.c (main_1): initialize glyph vars.
5665
5666         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5667         (handle_focus_event_2): new function. Allow focus to
5668         be set to a particular window and widget.
5669         (enqueue_focus_event): new function. Create a
5670         synthetic focus event.
5671         (emacs_Xt_handle_magic_event): call
5672         handle_focus_event_2.
5673
5674         * frame.c (Fset_frame_pixel_height): new function. Allow
5675         pixel-based sizing. Does the right thing on character-oriented
5676         displays.
5677         (Fset_frame_pixel_width): ditto.
5678         (Fset_frame_pixel_size): ditto.
5679         (syms_of_frame): declare.
5680
5681         * general-slots.h: add :vertically-justify and
5682         :horizontally-justify.
5683
5684         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5685         (mswindows_widget_border_width): new function.
5686         (mswindows_combo_box_instantiate): set border widths.
5687         (console_type_create_glyphs_mswindows): declare.
5688
5689         * glyphs-widget.c:
5690         (check_valid_justification): allow vertical and horizontal
5691         justification.
5692         (widget_border_width): new function. Call device methods.
5693         (widget_instance_border_width): ditto.
5694         (logical_unit_height): new function. Determine the height of a
5695         logical-unit. Logical units are intended to provide grid-like
5696         layout for subcontrols in a layout. If the layout is
5697         :vertically-justify top then subcontrols will be positioned on
5698         logical-unit boundaries, thus allowing adjacent subcontrols to
5699         line up.
5700         (widget_logical_unit_height): ditto for widgets.
5701         (redisplay_widget): misc cleanup.
5702         (widget_spacing): new function. Call device specific
5703         methods. Intended to be the default gap between adjacent widgets.
5704         (widget_query_geometry): use new spacing functions to determine
5705         appropriate geometry.
5706         (initialize_widget_image_instance): initialize horizontal and
5707         vertical justification.
5708         (widget_instantiate): use logica-units where appropriate for
5709         sizing large widgets.
5710         (button_query_geometry): use widget_instance_border_width.
5711         (tree_view_query_geometry): ditto.
5712         (tab_control_query_geometry): ditto.
5713         (edit_field_query_geometry): new function.
5714         (layout_update): pick up :justify, :horizontally-justify and
5715         :vertically-justify none of which worked previously. :justify is
5716         used as a fallback for both horizontal and vertical justification.
5717         (layout_query_geometry): use logical units to size appropriately.
5718         (layout_layout): ditto.
5719         (Fwidget_logical_to_character_width): new function. Allow users to
5720         convert from logical units to characters so that frame sizes can
5721         be set appropriately.
5722         (Fwidget_logical_to_character_height): ditto.
5723         (syms_of_glyphs_widget): declare.
5724         (image_instantiator_edit_fields): add edit_field_query_geometry.
5725         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5726         :horizontally-justify.
5727         (specifier_vars_of_glyphs_widget): new function. Declare
5728         Vwidget_border_width which is not yet used.
5729
5730         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5731         (x_widget_border_width): new function.
5732         (x_widget_instantiate): create a sensible name for widgets.
5733         (console_type_create_glyphs_x): declare x_widget_border_width.
5734
5735         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5736         (struct Lisp_Image_Instance): add :vertically-justify and
5737         :horizontally-justify.
5738         (LAYOUT_JUSTIFY_TOP): new.
5739         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5740         (ROUND_UP): new macro. Round argument up to next integral
5741         interval.
5742
5743         * redisplay-output.c (redisplay_output_layout): misc formatting.
5744
5745         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5746
5747 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5748
5749         * XEmacs 21.4.9 "Informed Management" is released.
5750
5751 2002-08-19  Andy Piper  <andy@xemacs.org>
5752
5753         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5754         win32 format.
5755
5756         * realpath.c (xrealpath): normalize drive spec also so that dir
5757         sep chars are not mixed on cygwin.
5758
5759 2002-08-06  Jerry James  <james@xemacs.org>
5760
5761         * window.c (Fsplit_window): Count only half of the divider width
5762         against the left window when splitting horizontally. 
5763
5764 2002-06-24  Andy Piper  <andy@xemacs.org>
5765
5766         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5767         toolbar was cleared.
5768
5769         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5770         function. Split out from mswindows_output_frame_toolbars.
5771         (mswindows_output_frame_toolbars): move clear pieces to
5772         mswindows_output_frame_toolbars.
5773
5774         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5775         out from gtk_output_frame_toolbars.
5776         (gtk_output_frame_toolbars): move clear pieces to
5777         gtk_clear_frame_toolbars.
5778
5779         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5780         the frame is cleared. How this ever worked before is a mystery.
5781         (x_output_frame_toolbars): Only output toolbars.
5782         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5783
5784         * gutter.c (update_gutter_geometry):
5785         Mark frame layout changed.
5786         (update_frame_gutter_geometry, update_frame_gutters):
5787         Respect frame_layout_changed.
5788
5789         * console.h (struct console_methods): add
5790         clear_frame_toolbars_method.
5791
5792         * redisplay.c (redisplay_frame): call
5793         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5794
5795         * toolbar.h: declare update_frame_toolbars_geometry.
5796
5797         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5798         out from update_frame_toolbars.  Call clear_frame_toolbars.
5799         (update_frame_toolbars): only output, do not change geometry.
5800
5801         * redisplay.c: add frame_layout_changed.
5802
5803         * redisplay.h: add frame_layout_changed.
5804         (CLASS_RESET_CHANGED_FLAGS): set it.
5805         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5806         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5807         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5808
5809         * device.h (struct device): add frame_layout_changed.
5810         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5811
5812         * frame.h (struct frame): add frame_layout_changed.
5813         (MARK_FRAME_LAYOUT_CHANGED): new.
5814
5815 2002-06-30  Mike Alexander  <mta@arbortext.com>
5816
5817         * event-msw.c (mswindows_need_event): Don't wait for a new message
5818         if the queue is not empty.  Suggested by Paul Moore.
5819
5820 2002-06-12  Andy Piper  <andy@xemacs.org>
5821
5822         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5823         for printing on accurately.
5824
5825 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5826
5827         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5828         WM_ACTIVATE message. Make sure that the frame is visible if the
5829         window is visible. This seemss to fix the problem where XEmacs
5830         appears to freeze after switching desktops with certain virtual
5831         window managers.
5832         (debug_output_mswin_message): Added code to output message
5833         parameters for WM_WINDOWPOSCHANGED, 
5834         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5835
5836 2002-05-25  Andy Piper  <andy@xemacs.org>
5837
5838         * select-x.c (vars_of_select_x): Fix docstring of
5839         x-selection-strict-motif-ownership
5840
5841 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5842
5843         * keymap.c (get_keymap):
5844         Add comment about do_autoload GCPROs own args.
5845
5846 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5847
5848         * bytecode.c (execute_optimized_program): check_opcode ifdef
5849         ERROR_CHECK_BYTE_CODE.
5850
5851 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5852
5853         Thanks to Ben Wing and Michael Sperber.
5854
5855         * eval.c (Fcommand_execute):
5856         (Feval):
5857         (Ffuncall):
5858         (Fmacroexpand_internal):
5859         (function_argcount):
5860         callint.c (Fcall_interactively):
5861         Add comment about do_autoload GCPROs own args.
5862
5863         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5864
5865         * eval.c (Ffuncall): Extra braces to placate GCC.
5866
5867 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5868
5869         * backtrace.h (grow_specpdl):
5870         (SPECPDL_RESERVE):
5871         * EmacsFrame.c (EmacsFrameSetValues):
5872         * eval.c (grow_specpdl):
5873         * ExternalShell.c (hack_event_masks_1):
5874         * glyphs-x.c (convert_EImage_to_XImage): 
5875         (x_finalize_image_instance):
5876         * ralloc.c (page_size):
5877         (r_alloc_sbrk):
5878         * xgccache.c (gc_cache_hash):
5879         Fix unsigned comparison warnings.
5880
5881 2002-07-29  Jerry James  <james@xemacs.org>
5882
5883         * lread.c (locate_file): Any nonnegative return value indicates
5884         success if MODE is nonnegative.
5885
5886 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5887
5888         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5889         argument. 
5890
5891 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5892
5893         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5894
5895         * dumper.c (pdump_get_indirect_count):
5896         (pdump_scan_by_alignment):
5897         (pdump_dump_root_struct_ptrs):
5898         (pdump_dump_rtables):
5899         (pdump_dump_root_objects):
5900         (pdump):
5901         * nas.c (WaveOpenDataForReading):
5902         * fns.c (print_bit_vector):
5903         * font-lock.c (SINGLE_SYNTAX_STYLE):
5904         * glyphs.c (check_for_ignored_expose):
5905         (find_matching_subwindow):
5906         * glyphs-eimage.c:
5907         * imgproc.c (get_histogram):
5908         * redisplay.c (point_in_line_start_cache):
5909         * redisplay-output.c (redisplay_unmap_subwindows):
5910         * symbols.c (defsymbol_massage_name_1):
5911         (defkeyword_massage_name):
5912         (deferror_massage_name_and_message):
5913         * redisplay-x.c (x_output_string): 
5914         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5915         * frame.h (struct frame):
5916         * filelock.c (current_lock_owner):
5917         * doprnt.c (emacs_doprnt_1):
5918         * lisp.h (struct Lisp_Bit_Vector):
5919         (DO_REALLOC):
5920         Fix warnings.
5921
5922 2002-02-13  Ben Wing  <ben@xemacs.org>
5923
5924         * event-stream.c (reset_key_echo):
5925         * event-stream.c (reset_this_command_keys):
5926         * event-stream.c (execute_command_event):
5927         If console is dead as a result of C-x 5 0, then post-command stuff
5928         needs to be careful and do only non-console-specific stuff.
5929
5930 2002-07-01  Mike Sperber <mike@xemacs.org>
5931
5932         * process-unix.c (unix_send_process): Mark coding_outstream as
5933         non-open upon SIGPIPE.
5934
5935         * event-stream.c (Fnext_event): Reorder switch cases to something
5936         that makes sense.
5937
5938 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5939
5940         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5941         Don't bogusly reinitialize ascii_character property.
5942
5943 2002-07-08  Mike Sperber <mike@xemacs.org>
5944
5945         * process.c (Fstart_process_internal): Do error checking before we
5946         fork off the child, so the child can't muck with the state of the
5947         parent.
5948
5949 2002-07-08  Mike Sperber <mike@xemacs.org>
5950
5951         * ralloc.c (init_ralloc): Allocate properly for pdump.
5952
5953 2002-06-12  Andy Piper  <andy@xemacs.org>
5954
5955         * glyphs.c (query_string_geometry): check the string.
5956
5957         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5958         widget names.
5959
5960 2002-06-17  Jerry James  <james@xemacs.org>
5961
5962         * sysdll.c: Remove RTLD_GLOBAL initialization.
5963         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5964
5965 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5966
5967         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5968
5969 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5970
5971         * sysdep.c (sys_rename): Make sys_rename work for the case where
5972         Windows rename sets errno to EACCES if target file exists.
5973
5974 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5975
5976         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5977         Fix detection of metric units to work on Win95
5978
5979 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5980
5981         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5982
5983 2002-04-25  Andy Piper  <andy@xemacs.org>
5984
5985         * redisplay.c (create_text_block): Remove extra comment trailer.
5986
5987 2002-04-24  Andy Piper  <andy@xemacs.org>
5988
5989         * redisplay.c (create_text_block): Don't actually add propagation
5990         data if the line ends after we have added a glyph.
5991
5992 2002-04-22  Andy Piper  <andy@xemacs.org>
5993
5994         * extents.c (extent_fragment_update): check for glyphs we have
5995         previously displayed.
5996         * extents.c (print_extent_1): warning removal.
5997         * extents.h: change prototype.
5998         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5999         widths correctly for wide glyphs.
6000         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6001         * redisplay.c (prop_type): add PROP_GLYPH.
6002         * redisplay.c (struct prop_block): add glyph type
6003         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6004         to the propagation data.
6005         * redisplay.c (create_text_block): if there is a glyph in the
6006         propagation data use it to salt extent_fragment_update.
6007         * redisplay.c (create_string_text_block): ditto.
6008
6009 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6010
6011         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6012         * redisplay-output.c (compare_runes): Compare them.
6013         * redisplay.c: Update copyright date.
6014         * redisplay.c (pos_data): Add need_baseline_computation field.
6015         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6016         need_baseline_computation; zero yoffset. Set max_pixmap_height
6017         for all pixmaps, not just automatically positioned ones.
6018         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6019         * redisplay.c (calculate_baseline): New, compute textual baseline.
6020         * redisplay.c (add_glyph_rune): Call them.
6021         * redisplay.c (create_text_block): Likewise.
6022         * redisplay.c (create_overlay_glyph_block): Likewise.
6023         * redisplay.c (add_margin_runes): Likewise.
6024         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6025
6026         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6027         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6028         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6029         * redisplay-msw.c (mswindows_output_string): Likewise.
6030         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6031         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6032         * redisplay-x.c (x_output_display_block): Likewise.
6033
6034 2002-03-28  Ben Wing  <ben@xemacs.org>
6035
6036         * redisplay.c: Fixed bug in redisplay
6037         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6038         and down of the lines, since they're bigger than the line
6039         size. (It was seen most obviously when there's a horizontal scroll
6040         bar, e.g. do C-h a glyph or something like that.) The problem was
6041         that the glyph-contrib-p setting on glyphs was ignored even if it
6042         was set properly, which it wasn't until now.
6043
6044 2002-04-24  Andy Piper  <andy@xemacs.org>
6045
6046         * lisp.h (Dynarr_end): Fix definition.
6047
6048 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6049
6050         * redisplay.c (mark_redisplay): Remove call to
6051         update_frame_window_mirror.
6052
6053 2001-11-15  Andy Piper  <andy@xemacs.org>
6054
6055         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6056         cygwin (again).
6057
6058 2002-02-13  Andy Piper  <andy@xemacs.org>
6059
6060         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6061         we did in fact enqueue the XM_MAPFRAME event.
6062
6063 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6064
6065         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6066         to fix problem switching between virtual desktops under virtuawin
6067         virtual window manager.
6068
6069 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6070
6071         * event-msw.c: Typo fix.
6072         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6073         magic XM_MAPFRAME event has been sent.
6074
6075 2001-11-23  Andy Piper  <andy@xemacs.org>
6076
6077         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6078
6079 2001-11-21  Andy Piper  <andy@xemacs.org>
6080
6081         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6082         mouse events outside the frame.
6083
6084 2002-03-20  Andy Piper  <andy@xemacs.org>
6085
6086         * menubar-msw.c (mswindows_popup_menu): warning removal.
6087         * dialog-msw.c (dialog_popped_down): ditto.
6088
6089 2001-12-11  Andy Piper  <andy@xemacs.org>
6090
6091         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6092         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6093         popup_up_p.
6094         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6095         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6096         * menubar-msw.c (mswindows_popup_menu): ditto.
6097
6098 2001-10-29  Andy Piper  <andy@xemacs.org>
6099
6100         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6101         cancels.
6102
6103 2002-01-03  Andy Piper  <andy@xemacs.org>
6104
6105         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6106         letters.
6107         (xrealpath): ditto.
6108
6109 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6110
6111         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6112         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6113         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6114         Detect and handle case where machine is set up for metric units
6115
6116 2002-04-02  Andy Piper  <andy@xemacs.org>
6117
6118         * dired-msw.c (mswindows_get_files): 
6119         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6120         completely handled by XEmacs. Suggested by Thomas Vogler
6121         <mail@thomas-vogler.de>.
6122
6123 2001-11-14  Andy Piper  <andy@xemacs.org>
6124
6125         * nt.c (REG_ROOT): change registry key to XEmacs.
6126
6127 2002-04-27  Andy Piper  <andy@xemacs.org>
6128
6129         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6130
6131 2002-04-26  Andy Piper  <andy@xemacs.org>
6132
6133         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6134         behavior.
6135
6136 2002-03-14  Mike Alexander  <mta@arbortext.com>
6137
6138         * event-msw.c (mswindows_unwait_process): New, remove process from
6139         wait list
6140         * process-nt.c (nt_finalize_process_data): Call
6141         mswindows_unwait_process
6142         * console-msw.h: Declare mswindows_unwait_process
6143
6144 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6145
6146         * editfns.c (Fdecode_time):
6147         (Fformat_time_string):
6148         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6149         (make_time): Warning elimination (change arg name).
6150
6151 2001-11-24  Andy Piper  <andy@xemacs.org>
6152
6153         * window.c (Fsplit_window): Doc return type.
6154
6155 2002-04-01  Andy Piper  <andy@xemacs.org>
6156
6157         * emacs.c (Fkill_emacs): Only output message box in interactive
6158         mode.
6159
6160 2002-04-26  Andy Piper  <andy@xemacs.org>
6161  
6162         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6163         cygwin.
6164
6165 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6166
6167         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6168         bit platform.
6169
6170 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6171
6172         * XEmacs 21.4.8 "Honest Recruiter" is released.
6173
6174 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6175
6176         Supersedes 2002-04-17 patch.
6177
6178         * process.h (PROCESS_LIVE_P): Use the process status as
6179         evidence of health, not the state of the input stream.
6180         (PROCESS_READABLE_P): Say if the process is readable
6181         from. (It may be dead nonetheless.)
6182         (CHECK_READABLE_PROCESS): Test for that condition.
6183
6184         * process.c (create_process): Use PROCESS_READABLE_P.
6185         (read_process_output, set_process_filter): Likewise.
6186
6187         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6188         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6189
6190         This code is #if 0'd, this is not the time to add new functions:
6191
6192         * process.c (Fprocess_readable_p): Report readability status.
6193         * process.c (Qprocess_readable_p): New, associated symbol...
6194         * process.c (syms_of_process): ... initialize it.
6195
6196 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6197
6198         * XEmacs 21.4.7 "Economic Science" is released.
6199
6200 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6201
6202         * process.h (PROCESS_LIVE_P): Use the process status as
6203         evidence of health, not the state of the input stream.
6204
6205 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6206
6207         * sysdep.c (sys_siglist): change "signum" to "signal"
6208
6209 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6210
6211         * s/darwin.h: New file.
6212         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6213         
6214 2002-04-23  Andreas Jaeger  <aj@suse.de>
6215
6216         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6217         which use lib64 for 64-bit libs.
6218         (START_FILES): Likewise.
6219
6220 2002-02-11  Mike Sperber  <mike@xemacs.org>
6221
6222         * device-x.c: 
6223         (x_IO_error_handler):
6224         (x_init_device): Temporarily keep device in static variable
6225         `device_being_initialized' so we can recover gracefully from
6226         internal XOpenDevice failure.  (XOpenDevice is documented to
6227         return NULL on failure, but sometimes calls the IO error handler
6228         instead.)
6229
6230 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6231
6232         * dired.c (Ffile_name_all_completions): Change documentation --
6233         remove reference to completion-ignored-extensions.
6234         * dired.c (vars_of_dired): Change documentation for
6235         completion-ignored-extensions -- remove reference to
6236         file-name-all-completions.
6237
6238 2002-03-06  Jerry James  <james@xemacs.org>
6239
6240         * emodules.c (emodules_load): Fix multiple loading of same module.
6241
6242 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6243         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6244         RTLD_LAZY to avoid incorrect symbol binding when using nested
6245         shared libraries on Solaris.
6246
6247 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6248
6249         * fileio.c (Ffind_file_name_handler): Improve docstring.
6250
6251 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6252
6253         * fns.c (Fmapconcat): Improve docstring.
6254
6255 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6256
6257         * device-gtk.c: Add prototype for
6258         emacs_gtk_selection_clear_event_handle.
6259         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6260         selection.  Setup signal handler for "selection_clear_event"
6261         (emacs_gtk_selection_clear_event_handle).
6262
6263         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6264         other applications owning the clipboard (based on
6265         x_handle_selection_clear).
6266
6267 2001-12-23  William M. Perry  <wmperry@gnu.org>
6268
6269         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6270         
6271 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6272
6273         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6274
6275 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6276
6277         * XEmacs 21.4.6 "Common Lisp" is released.
6278
6279 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6280
6281         * search.c (Freplace_match): Add missing sub-expression functionality.
6282
6283         * buffer.c (decode_buffer): Add a check for pointer type to
6284         decode_buffer, before gcc's CSE optimization reorders a
6285         dereference in front of the allow_string test.
6286
6287 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6288
6289         * window.c (window_loop): Fix bug that sometimes prevented
6290         window_loop() from iterating across multiple devices.  Also, at
6291         Ben's request, changed infloop-detecting code to abort() instead
6292         of silently terminating window_loop().
6293
6294 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6295
6296         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6297         * editfns.c (make_time): New function.
6298         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6299         * lisp.h (make_time): Prototype and comment it.
6300         * dired.c (wasteful_word_to_lisp): Deprecate.
6301         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6302
6303 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6304
6305         * fileio.c (auto_save_1): Use current coding system, not
6306         escape-quoted.
6307
6308 2001-11-13  Ben Wing  <ben@xemacs.org>
6309
6310         * window.c:
6311         * window.c (window_truncation_on):
6312         * window.c (syms_of_window):
6313         truncate-partial-width-windows should respect the buffer being
6314         displayed, like other redisplay vars.
6315
6316 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6317
6318         * event-stream.c (Fread_key_sequence): save current buffer.
6319
6320 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6321
6322         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6323
6324 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6325
6326         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6327
6328 2001-10-26  Mike Alexander  <mta@arbortext.com>
6329
6330         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6331
6332 2001-10-25  Andy Piper  <andy@xemacs.org>
6333
6334         * ChangeLog:
6335         * dialog-msw.c (handle_directory_proc): new function.
6336          (handle_directory_dialog_box): new fucntion.
6337          (handle_file_dialog_box): use new directory dialog support.
6338          (mswindows_make_dialog_box_internal): ditto.
6339         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6340         handling.
6341         (mswindows_find_frame): make global.
6342         * fileio.c (Fexpand_file_name): build fix.
6343         * general-slots.h: add Qdirectory.
6344         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6345         handling.
6346         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6347         cygwin not leaving win32 paths unchanged.
6348         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6349         cygwin runtime to do path conversion.
6350         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6351         (syms_of_win32): add new function.
6352         * window.c (window_loop): build fix.
6353
6354 2001-10-15  Andy Piper  <andy@xemacs.org>
6355
6356         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6357
6358 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6359
6360         * XEmacs 21.4.5 "Civil Service" is released.
6361
6362 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6363
6364         * glyphs-x.c: Force buffer-tab highlight update when moving the
6365         buffer, avoiding an ugly black border, used for keyboard focus
6366         indication, on a widget that can never have keyboard focus, the
6367         buffer tab.
6368
6369 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6370
6371         * process-unix.c (unix_open_multicast_group): Remove too much
6372         conversion between host and network byte order.
6373
6374 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6375
6376         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6377         before replacing them.
6378
6379         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6380         operation.
6381
6382         * src/window.c (undedicate_windows): Use it.
6383         * src/window.h: Add prototype.
6384
6385 2001-09-17  Ben Wing  <ben@xemacs.org>
6386
6387         * fileio.c (normalize_filename):
6388         * fileio.c (Fexpand_file_name):
6389         Fix various C++ compile errors in Andy's recent code.
6390         
6391         * callint.c (Fcall_interactively):
6392         * editfns.c (Ftemp_directory):
6393         * editfns.c (Fuser_full_name):
6394         * emacs.c (argmatch):
6395         * lread.c (locate_file_map_suffixes):
6396         * redisplay-x.c (x_ring_bell):
6397         Fix sign-compare warnings.
6398         
6399 2001-09-08  Andy Piper  <andy@xemacs.org>
6400
6401         * fileio.c (normalize_filename): copied from nt.c
6402         * (Ffile_name_directory): enable win32 paths under cygwin.
6403         * (Ffile_name_nondirectory): ditto.
6404         * (directory_file_name): ditto.
6405         * (Fexpand_file_name): ditto.
6406         * (Ffile_truename): ditto.
6407         * (Fsubstitute_in_file_name): ditto.
6408         * (Ffile_name_absolute_p): ditto.
6409         * (Ffile_readable_p): ditto.
6410
6411 2001-09-08  Andy Piper  <andy@xemacs.org>
6412
6413         * device-msw.c (mswindows_finish_init_device): remove dde
6414         initialization.
6415         * device-msw.c (mswindows_init_dde): factor out from
6416         mswindows_finish_init_device()
6417         * device-msw.c (init_mswindows_very_early): new function
6418         initialize but don't enable dde.
6419         * emacs.c (main_1): call init_mswindows_very_early.
6420         * event-msw.c:
6421         * event-msw.c (mswindows_dde_callback): only execute when we are
6422         ready.
6423         * symsinit.h: declare init_mswindows_very_early.
6424
6425 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6426
6427         [sjt: This has been in 21.5 for months with no complaints.]
6428
6429         * console.h (struct console_methods): Added flags member.
6430         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6431         (CONMETH_IMPL_FLAG):
6432         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6433         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6434
6435         * device.c (window_system_pixelated_geometry): Use the above macros.
6436
6437         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6438         implememntation flag.
6439         * device.h (DEVICE_DISPLAY_P): Use it.
6440
6441         * frame.c (delete_frame_internal): Use the above macro.
6442
6443         * redisplay.c (redisplay_device): Use it.
6444         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6445         (redisplay_frame): Ditto.
6446
6447         * device-msw.c (mswindows_device_implementation_flags): Removed.
6448         (msprinter_device_implementation_flags): Removed.
6449         (console_type_create_device_mswindows): Removed references to
6450         implementation_flags methods, set implementation flags here.
6451         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6452
6453         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6454         (console_type_create_device_gtk): Removed method declaration.
6455         Added commented out statement which semantically matches the
6456         commented out statement in the above removed method.
6457
6458 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6459
6460         The attached patch fixes a few warnings. 
6461
6462         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6463         * src/frame-gtk.c: guard against GNOME calls in GTK only
6464         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6465         * src/select-gtk.c: prototype lisp_to_time
6466
6467 2001-06-08  Ben Wing  <ben@xemacs.org>
6468
6469         ------ gc-in-window-procedure fixes ------
6470         
6471         * alloc.c:
6472         * alloc.c (struct post_gc_action):
6473         * alloc.c (register_post_gc_action):
6474         * alloc.c (run_post_gc_actions):
6475         * alloc.c (garbage_collect_1):
6476         Create "post-gc actions", to avoid those dreaded "GC during window
6477         procedure" problems.
6478
6479         * event-msw.c:
6480         Abort, clean and simple, when GC in window procedure.  We want
6481         to flush these puppies out.
6482
6483         * glyphs-msw.c:
6484         * glyphs-msw.c (finalize_destroy_window):
6485         * glyphs-msw.c (mswindows_finalize_image_instance):
6486         Use a post-gc action when destroying subwindows.
6487
6488         * lisp.h:
6489         Declare register_post_gc_action().
6490
6491         * scrollbar-msw.c:
6492         * scrollbar-msw.c (unshow_that_mofo):
6493         Use a post-gc action when unshowing scrollbar windows, if in gc.
6494
6495         * redisplay.c (mark_redisplay):
6496         Add comment about the utter evilness of what's going down here.
6497
6498         ------ cygwin setitimer fixes ------
6499         
6500         * Makefile.in.in (sheap_objs):
6501         * Makefile.in.in (profile_objs):
6502         * Makefile.in.in (objs):
6503         Compile profile.c only when HAVE_SETITIMER.
6504         
6505         * nt.c (mswindows_sigset):
6506         * nt.c (mswindows_sighold):
6507         * nt.c (mswindows_sigrelse):
6508         * nt.c (mswindows_sigpause):
6509         * nt.c (mswindows_raise):
6510         * nt.c (close_file_data):
6511         Style fixes.
6512         
6513         * nt.c:
6514         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6515         
6516         * profile.c:
6517         * profile.c (Fstart_profiling):
6518         * profile.c (Fstop_profiling):
6519         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6520         instead of just plain setitimer().
6521         
6522         * signal.c:
6523         * signal.c (set_one_shot_timer):
6524         * signal.c (alarm):
6525         Define qxe_setitimer() as an encapsulation around setitimer() --
6526         call setitimer() directly unless Cygwin or MS Win, in which case
6527         we use our simulated version in win32.c.
6528         
6529         * systime.h:
6530         * systime.h (struct itimerval):
6531         * systime.h (ITIMER_REAL):
6532         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6533         comment about "qxe" and the policy regarding encapsulation.
6534
6535         * win32.c:
6536         * win32.c (setitimer_helper_proc):
6537         * win32.c (setitimer_helper_period):
6538         * win32.c (setitimer_helper):
6539         * win32.c (mswindows_setitimer):
6540         Move setitimer() emulation here, so Cygwin can use it.
6541         Rename a couple of functions and variables to be longer and more
6542         descriptive.  In setitimer_helper_proc(), send the signal
6543         using either mswindows_raise() or (on Cygwin) kill().  If for
6544         some reason we are still getting lockups, we'll change the kill()
6545         to directly invoke the signal handlers.
6546
6547         ------ windows shell fixes ------
6548         
6549         * callproc.c:
6550         * ntproc.c:
6551         Comments about how these two files must die.
6552
6553         * callproc.c (init_callproc):
6554         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6555         not just COMSPEC. (more correct and closer to FSF.) Don't
6556         force a value for SHELL into the environment. (Comments added
6557         to explain why not.)
6558         
6559         * nt.c (init_user_info):
6560         Don't shove a fabricated SHELL into the environment.  See above.
6561
6562 2001-06-01  Ben Wing  <ben@xemacs.org>
6563
6564         * Makefile.in.in (ldflags):
6565         eliminate that pesky "defaulting to 00401000" warning.
6566         * nt.h:
6567         eliminate warnings.
6568
6569 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6570
6571         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6572         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6573
6574 2001-04-24  Jerry James <james@xemacs.org>
6575
6576         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6577         correct order.
6578
6579 2001-06-01  Ben Wing  <ben@xemacs.org>
6580
6581         * event-msw.c (debug_mswin_messages):
6582         conditionalize the messages that were causing compile errors.
6583         (if only macros could generate #ifdef statements ...)
6584
6585 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6586
6587         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6588
6589 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6590
6591         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6592
6593 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6594
6595         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6596         * process-unix.c (unix_canonicalize_host_name):
6597         sysdep.c (init_system_name):
6598         Use it to conditionally support IPv6 canonicalization.
6599
6600 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6601
6602         * event-msw.c:
6603         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6604
6605 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6606
6607         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6608         attempt is made to scroll when no scroll bar is available.
6609
6610 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6611
6612         * input-method-motif.c (XIM_delete_frame): New callback.
6613         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6614         got deleted from 21.4.3.)
6615
6616 2001-06-01  Ben Wing  <ben@xemacs.org>
6617
6618         * nt.c (mswindows_utime):
6619         * nt.c (close_file_data):
6620         fix off-by-one-indirection error.
6621
6622 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6623
6624         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6625         because set_file_times() now takes Lisp_Object path, instead of
6626         char*.
6627         * nt.c: Include buffer.h.
6628         * nt.c (convert_from_time_t): New.
6629         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6630         not set mtime correctly.
6631         * nt.h: Declare mswindows_utime().
6632         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6633         path, instead of char*.
6634         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6635
6636 2001-05-30  Ben Wing  <ben@xemacs.org>
6637
6638         For 21.4:
6639
6640         (Stephen, just take all event-msw.c patches.  This includes
6641         the "iconify" fix below.)
6642
6643         * event-msw.c:
6644         * event-msw.c (mswindows_dequeue_dispatch_event):
6645         * event-msw.c (assert):
6646         * event-msw.c (emacs_mswindows_quit_p):
6647         * event-msw.c (debug_mswin_messages):
6648         * event-msw.c (debug_output_mswin_message):
6649         * event-msw.c (vars_of_event_mswindows):
6650         Fix yet more problems with C-g handling.
6651         Implement debug-mswindows-events.
6652         
6653 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6654
6655         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6656         
6657 2001-05-23  Ben Wing  <ben@xemacs.org>
6658
6659         * event-msw.c (winsock_writer):
6660         * event-msw.c (winsock_closer):
6661         prior kludgy code was clobbering the buffer, thinking it was
6662         "unused" space to store an unneeded return value; instead, use
6663         the variable we've already got staring us in the face.
6664
6665 2001-05-17  Andy Piper  <andy@xemacs.org>
6666
6667         * sysfile.h: don't assume that file attributes are boolean
6668
6669 2001-05-23  Ben Wing  <ben@xemacs.org>
6670
6671         * device-msw.c (msprinter_init_device):
6672         signal an error rather than crash with an unavailable network
6673         printer (from Mike Alexander).
6674         
6675         * event-msw.c:
6676         * event-msw.c (struct winsock_stream):
6677         * event-msw.c (winsock_writer):
6678         * event-msw.c (winsock_closer):
6679         * event-msw.c (make_winsock_stream_1):
6680         cleanup headers.  fix (hopefully) an error with data corruption
6681         when sending to a network connection.
6682
6683         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6684         to handle the ~user prefix by (a) always assuming we're referencing
6685         ourselves and not even verifying the user -- hence any file with
6686         a tilde as its first char is invalid! (b) if there wasn't a slash
6687         following the filename, the pointer was set *past* the end of
6688         file and we started reading from uninitialized memory.  Now we
6689         simply treat these as files, always.
6690
6691         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6692         
6693 2001-05-19  Ben Wing  <ben@xemacs.org>
6694
6695         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6696
6697         * process-nt.c:
6698         * process-nt.c (vars_of_process_nt):
6699         remove unused mswindows-quote-process-args.  rec for 21.4.
6700         
6701 2001-05-12  Ben Wing  <ben@xemacs.org>
6702
6703         * event-msw.c (mswindows_dde_callback):
6704         * event-msw.c (mswindows_wnd_proc):
6705         eliminate cygwin warnings.
6706
6707 2001-05-06  Ben Wing  <ben@xemacs.org>
6708
6709         * console-msw.h:
6710         * device-msw.c:
6711         * device-msw.c (print_dialog_worker):
6712         * device-msw.c (mswindows_handle_print_dialog_box):
6713         * device-msw.c (syms_of_device_mswindows):
6714         * dialog-msw.c (mswindows_make_dialog_box_internal):
6715         * general-slots.h:
6716         implement printing the selection when it's selected.
6717
6718 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6719
6720         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6721
6722 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6723
6724         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6725         EMACS_INT is signed.
6726
6727 2001-04-15  Michael Lausch  <mla@1012surf.net>
6728
6729         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6730         gtk_widget_request_size() to give scrollbar >0 width for
6731         GTK >1.2.8.
6732
6733 2001-05-30  William M. Perry  <wmperry@gnu.org>
6734
6735         * event-gtk.c: Check for buttons as modifier keys.
6736
6737 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6738
6739         * s\mingw32.h:
6740         Properly find MinGW's <process.h> inside Cygwin's restructured
6741         include directories.  Don't try to include <cygwin/version.h>
6742         since we are dropping support for MinGW in versions of Cygwin
6743         earlier than b21.
6744         * nt.c:
6745         Drop support for MinGW in versions of Cygwin before b21.
6746         * sysdep.c:
6747         Properly find MinGW's <process.h> inside Cygwin's restructured
6748         include directories.
6749         * syswindows.h:
6750         Drop support for MinGW in versions of Cygwin before b21.
6751         * unexcw.c:
6752         Even though a.out.h is no longer detected by configure, allow
6753         MinGW to use it until we figure out how to do the job with Win32.
6754
6755 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6756
6757         * syntax.c (find_start_of_comment):
6758         Fix `unbalanced parentheses' bug when dealing with mixed comment
6759         styles in c++/java/etc. mode
6760
6761 2001-05-29  Mike Alexander  <mta@arbortext.com>
6762
6763         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6764         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6765
6766 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6767
6768         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6769
6770 2001-03-31  Mike Sperber <mike@xemacs.org>
6771
6772         * search.c (Freplace_match): Support FSF-style specification of
6773         match subexpression when applied to a buffer.
6774
6775 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6776
6777         * event-stream.c (is_scrollbar_event): add missing semicolon
6778
6779 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6780
6781         * Makefile.in.in: Use TAR macro instead of hardcoding
6782           tar.  Allows use of GNU tar instead of system tar
6783
6784 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6785
6786         * event-stream.c (is_scrollbar_event): add missing semicolon
6787
6788 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6789
6790         * XEmacs 21.4.3 "Academic Rigor" is released.
6791
6792 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6793
6794         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6795
6796 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6797
6798         * buffer.c (Vcase_fold_search): Remove obsolete
6799           comment about non ASCII case-fold-search.  This
6800           bug has been fixed by case-table changes.
6801
6802 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6803
6804         * event-msw.c: Restore include of events-mod.h.
6805
6806 2001-04-22   zhaoway  <zw@debian.org>
6807
6808         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6809         !HAVE_SCROLLBARS.
6810
6811 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6812
6813         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6814
6815 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6816
6817         * mule-charset.c (Fmake_charset): Add missing else.
6818
6819 2001-04-23  Ben Wing  <ben@xemacs.org>
6820
6821         * event-msw.c (FAKE_MOD_QUIT):
6822         * event-msw.c (mswindows_dequeue_dispatch_event):
6823         * event-msw.c (mswindows_wnd_proc):
6824         * event-msw.c (emacs_mswindows_quit_p):
6825         Get critical quit working.
6826
6827 2001-05-05  Ben Wing  <ben@xemacs.org>
6828
6829         * console-msw.h:
6830         * device-msw.c:
6831         * device-msw.c (mswindows_get_default_margin):
6832         * frame-msw.c (mswindows_size_frame_internal):
6833         * frame-msw.c (msprinter_init_frame_1):
6834         * frame-msw.c (vars_of_frame_mswindows):
6835         Change top/bottom margin defaults to 0.5 inches.
6836
6837 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6838
6839         Fix link error with gcc 3.0 on Linux.
6840         * terminfo.c (UP): Remove.
6841         * terminfo.c (BC): Remove.
6842         * terminfo.c (PC): Remove.
6843         They weren't used, and in any case, these symbols should be
6844         defined in the *library*.
6845
6846 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6847
6848         * s/aix4.h: Fix crash with xlc -O3.
6849         Improve comment explaining how -O3 works.
6850
6851 2001-04-15  Ben Wing  <ben@xemacs.org>
6852
6853         * event-stream.c:
6854         * event-stream.c (Fnext_event):
6855         * event-stream.c (is_scrollbar_event):
6856         * event-stream.c (execute_command_event):
6857         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6858         crash' problem.  His fix introduces other problems.  We filter
6859         out scrollbar events specifically, making them somewhat invisible
6860         to command-building, and not appearing in `this-command-keys'.
6861         More work is still needed (see comments in event-stream.c), but
6862         this fixes all the major problems.
6863
6864 2001-04-20  Ben Wing  <ben@xemacs.org>
6865
6866         * .cvsignore: Added stuff for Windows.
6867
6868 2001-04-28  Ben Wing  <ben@xemacs.org>
6869
6870         * buffer.c (Ferase_buffer):
6871         * editfns.c (buffer_insert1):
6872         * editfns.c (Finsert_before_markers):
6873         * editfns.c (Finsert_string):
6874         * editfns.c (Finsert_char):
6875         * editfns.c (Fdelete_region):
6876         * editfns.c (Fwiden):
6877         * editfns.c (Fnarrow_to_region):
6878         remove bogus lines setting zmacs_region_stays to 0.
6879         
6880 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6881
6882         * process-unix.c (unix_open_network_stream): If connect() fails
6883         invalidate file descriptor after closing it.
6884
6885 2001-03-08  Mike Alexander  <mta@arbortext.com>
6886
6887         * event-msw.c (mswindows_need_event_in_modal_loop):
6888         Don't dispatch a message if we didn't get one.
6889         (mswindows_need_event):
6890         Terminate the correct process when one exits instead of the first
6891         one on Vprocess_list and look for process termination when in
6892         mswindows_protect_modal_loop.
6893
6894 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6895
6896         * XEmacs 21.4.1 "Copyleft" is released.
6897
6898 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6899
6900         * input-method-motif.c (XIM_delete_frame): New callback.
6901         (XIM_init_frame): Register it.
6902
6903 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6904
6905         * XEmacs 21.4.0 "Solid Vapor" is released.
6906
6907 2001-04-15  Ben Wing  <ben@xemacs.org>
6908
6909         * cmdloop.c (call_command_loop):
6910         Fix braino in bit-rotting code.
6911         
6912 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6913
6914         * extents.c (Fset_extent_endpoints): Force creation of extent info
6915         in buffer_or_string.
6916
6917         * extents.c (process_extents_for_insertion_mapper): Correctly
6918         check for open-open zero-length extents.
6919
6920 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6921
6922         * lisp.h: New typedefs Memory_count, Element_count.
6923         * regex.c:
6924         * regex.h:
6925         Sign-compare warning elimination: several unsigned -> signed.
6926         Based on work by Ben Wing <ben@xemacs.org>.
6927
6928 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6929
6930         * XEmacs 21.2.47 "Zephir" is released.
6931
6932 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6933
6934         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6935
6936 2001-04-03  Mike Sperber <mike@xemacs.org>
6937
6938         * search.c: Revert previous patch due because of release.
6939
6940 2001-03-30  Ben Wing  <ben@xemacs.org>
6941
6942         * s\cygwin32.h:
6943         Add missing killpg prototype.
6944
6945         * elhash.c:
6946         Add a comment about fixing problems when a new entry is added
6947         while mapping.
6948
6949         * frame-msw.c (mswindows_init_frame_1):
6950         Fix compile warnings.
6951
6952         * menubar.c (vars_of_menubar):
6953         Provide `menu-accelerator-support' to indicate that we properly
6954         support %_ in menu specifications, so that package code can
6955         conditionalize on this (and remove %_ from menu specifications
6956         on older versions).
6957
6958         * event-msw.c:
6959         * scrollbar-msw.c:
6960         * scrollbar-msw.c (can_scroll):
6961         * scrollbar-msw.h:
6962         Fix handling of mouse wheel under Windows to follow standards --
6963         now scrolls window under pointer, not selected window.
6964
6965 2001-03-31  Mike Sperber <mike@xemacs.org>
6966
6967         * search.c (Freplace_match): Support FSF-style specification of
6968         match subexpression when applied to a buffer.
6969
6970 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6971
6972         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6973         function to modify KEYMAP, so map over a copy of the hash table.
6974
6975 2001-03-21  Martin Buchholz <martin@xemacs.org>
6976
6977         * XEmacs 21.2.46 "Urania" is released.
6978
6979 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6980
6981         * realpath.c (xrealpath): Make file-truename work with symlinks to
6982         /cygdrive paths on cygwin. Always lowercase drive-letters on
6983         native windows.
6984         (cygwin_readlink): Don't try to find canonical filename unless
6985         file exists.
6986
6987 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6988
6989         * ChangeLog: Log GTK merge.
6990
6991         * dumper.c:
6992         * select-x.c:
6993         * specifier.c:
6994         * symeval.h:
6995         Revert gratuitous whitespace changes from GTK merge.
6996
6997         * emacs.c: Document end of complex #ifdef @ l. 1495.
6998
6999
7000 2001-03-12  Andy Piper  <andy@xemacs.org>
7001
7002         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7003         have to do likewise.
7004
7005 2001-03-12  Andy Piper  <andy@xemacs.org>
7006
7007         * sysdep.c: we only support mingw now.
7008
7009 2001-03-09  Andy Piper  <andy@xemacs.org>
7010
7011         * unexcw.c (copy_executable_and_dump_data_section): making approx
7012         overrun a warning only.
7013
7014 2001-03-10  William M. Perry  <wmperry@aventail.com>
7015
7016         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7017         satisfy Stephen's identical-after-cpp plea.
7018
7019 2001-03-02  Ben Wing  <ben@xemacs.org>
7020
7021         * cmds.c:
7022         * cmds.c (Fforward_char):
7023         * syntax.c:
7024         * window.c:
7025
7026         Augment documentation of the most common motion commands to make
7027         note of the shifted-motion support.
7028         
7029 2001-03-02  Ben Wing  <ben@xemacs.org>
7030
7031         * nt.c (mswindows_fstat):
7032         * nt.c (mswindows_stat):
7033         * search.c (boyer_moore):
7034         Fix compile warnings under Windows.
7035         
7036         * sysdep.c (sys_readdir):
7037         Fix buggy filename-conversion code under Mule.
7038
7039 2001-03-09  William M. Perry  <wmperry@aventail.com>
7040
7041         * Makefile.in.in:
7042         * config.h.in:
7043         * console.c:
7044         * console.h:
7045         * device.c:
7046         * device.h:
7047         * dragdrop.c:
7048         * emacs.c:
7049         * event-stream.c:
7050         * events.c:
7051         * events.h:
7052         * faces.c:
7053         * frame.h:
7054         * general-slots.h:
7055         * glyphs.c:
7056         * gutter.c:
7057         * inline.c:
7058         * lisp.h:
7059         * lrecord.h:
7060         * make-src-depend:
7061         * redisplay-output.c:
7062         * redisplay.c:
7063         * symsinit.h:
7064         * sysfile.h:
7065         * toolbar.c:
7066         * window.c:
7067         The Great GTK Merge.
7068
7069         * ChangeLog.GTK:
7070         * console-gtk.c:
7071         * console-gtk.h:
7072         * device-gtk.c:
7073         * emacs-marshals.c:
7074         * emacs-widget-accessors.c:
7075         * event-gtk.c:
7076         * frame-gtk.c:
7077         * gccache-gtk.c:
7078         * gccache-gtk.h:
7079         * glade.c:
7080         * glyphs-gtk.c:
7081         * glyphs-gtk.h:
7082         * gtk-glue.c:
7083         * gtk-xemacs.c:
7084         * gtk-xemacs.h:
7085         * gui-gtk.c:
7086         * gui-gtk.h:
7087         * menubar-gtk.c:
7088         * native-gtk-toolbar.c:
7089         * objects-gtk.c:
7090         * objects-gtk.h:
7091         * redisplay-gtk.c:
7092         * scrollbar-gtk.c:
7093         * scrollbar-gtk.h:
7094         * select-gtk.c:
7095         * toolbar-gtk.c:
7096         * ui-byhand.c:
7097         * ui-gtk.c:
7098         * ui-gtk.h:
7099         The Great GTK Merge: new files.
7100
7101 2001-02-26  Ben Wing  <ben@xemacs.org>
7102
7103         Reapplied Lstream change.
7104
7105 2001-02-26  Ben Wing  <ben@xemacs.org>
7106
7107         Undid the last change, since it is more controversial than I
7108         thought.  It should be back in at some point soon.
7109         
7110 2001-02-25  Ben Wing  <ben@xemacs.org>
7111
7112         * buffer.c:
7113         * callproc.c (Fold_call_process_internal):
7114         * event-msw.c (ntpipe_slurp_reader):
7115         * event-msw.c (ntpipe_shove_writer):
7116         * event-msw.c (winsock_reader):
7117         * event-msw.c (winsock_writer):
7118         * file-coding.c:
7119         * file-coding.c (detect_eol_type):
7120         * file-coding.c (detect_coding_type):
7121         * file-coding.c (determine_real_coding_system):
7122         * file-coding.c (Fdetect_coding_region):
7123         * file-coding.c (decoding_reader):
7124         * file-coding.c (decoding_writer):
7125         * file-coding.c (mule_decode):
7126         * file-coding.c (Fdecode_coding_region):
7127         * file-coding.c (encoding_reader):
7128         * file-coding.c (encoding_writer):
7129         * file-coding.c (mule_encode):
7130         * file-coding.c (Fencode_coding_region):
7131         * file-coding.c (detect_coding_sjis):
7132         * file-coding.c (decode_coding_sjis):
7133         * file-coding.c (encode_coding_sjis):
7134         * file-coding.c (detect_coding_big5):
7135         * file-coding.c (decode_coding_big5):
7136         * file-coding.c (encode_coding_big5):
7137         * file-coding.c (detect_coding_ucs4):
7138         * file-coding.c (decode_coding_ucs4):
7139         * file-coding.c (encode_coding_ucs4):
7140         * file-coding.c (detect_coding_utf8):
7141         * file-coding.c (decode_coding_utf8):
7142         * file-coding.c (encode_coding_utf8):
7143         * file-coding.c (detect_coding_iso2022):
7144         * file-coding.c (decode_coding_iso2022):
7145         * file-coding.c (encode_coding_iso2022):
7146         * file-coding.c (decode_coding_no_conversion):
7147         * file-coding.c (encode_coding_no_conversion):
7148         * glyphs-x.c (write_lisp_string_to_temp_file):
7149         * gpmevent.c (tty_get_foreign_selection):
7150         * lisp.h:
7151         * lstream.c:
7152         * lstream.c (Lstream_flush_out):
7153         * lstream.c (Lstream_adding):
7154         * lstream.c (Lstream_write_1):
7155         * lstream.c (Lstream_write):
7156         * lstream.c (Lstream_raw_read):
7157         * lstream.c (Lstream_read_more):
7158         * lstream.c (Lstream_read):
7159         * lstream.c (Lstream_unread):
7160         * lstream.c (Lstream_fputc):
7161         * lstream.c (stdio_reader):
7162         * lstream.c (stdio_writer):
7163         * lstream.c (filedesc_reader):
7164         * lstream.c (filedesc_writer):
7165         * lstream.c (lisp_string_reader):
7166         * lstream.c (struct fixed_buffer_stream):
7167         * lstream.c (make_fixed_buffer_input_stream):
7168         * lstream.c (make_fixed_buffer_output_stream):
7169         * lstream.c (fixed_buffer_reader):
7170         * lstream.c (fixed_buffer_writer):
7171         * lstream.c (struct resizing_buffer_stream):
7172         * lstream.c (resizing_buffer_writer):
7173         * lstream.c (dynarr_writer):
7174         * lstream.c (lisp_buffer_reader):
7175         * lstream.c (lisp_buffer_writer):
7176         * lstream.h:
7177         * lstream.h (lstream_implementation):
7178         * lstream.h (struct lstream):
7179         * md5.c (Fmd5):
7180         * process-nt.c (nt_send_process):
7181         * process-unix.c (unix_send_process):
7182         
7183         Correct Lstream lossage due to mixing of signed and unsigned
7184         quantities.  All Lstream uses of size_t and ssize_t are now a
7185         single signed data type Lstream_data_count.  This fixes problems
7186         under Windows with sending large quantities of data to a process,
7187         and may well fix other subtle bugs.
7188
7189 2001-02-23  Martin Buchholz <martin@xemacs.org>
7190
7191         * XEmacs 21.2.45 "Thelxepeia" is released.
7192
7193 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7194
7195         * lisp-union.h (XSETINT): 
7196         (XSETCHAR):
7197         (XSETOBJ): 
7198         Reverse previous change of 2001-02-06.
7199
7200 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7201
7202         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7203         buffers.
7204         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7205         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7206         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7207         * regex.c (POS_AS_IN_BUFFER): removed
7208         * regex.c (re_search_2):
7209         * regex.c (re_match_2):
7210         Don't use an offset of 1 when calculating buffer positions, since
7211         `BI_BUF_BEGV' does it already.
7212
7213 2001-02-18  Wim Dumon  <wim@easics.be>
7214
7215         * insdel.c (prepare_to_modify_buffer): Also check for
7216         supersession when clash-detection is enabled. 
7217
7218 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7219
7220         * regex.c (re_match_2_internal):
7221         Convert temp characters from 'const unsigned char' to 're_char'.
7222         Fix crashing bug with extended characters under mule.
7223         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7224         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7225         font-lock, pdump, and new syntax-table code.
7226         * syntax.c (find_start_of_comment):
7227         (find_end_of_comment):
7228         (forward-comment):
7229         Fix crashing bugs involving moving beyond end of buffer.
7230         * syntax.c (find_start_of_comment):
7231         Fixed logic to allow proper detection of cases where the same
7232         character is used to end both a two-char comment start and a
7233         two-char comment end sequence. Fixes `(forward-comment -1)'.
7234         * syntax.c (find_start_of_comment):
7235         Return position just past last comment-end character for all cases
7236         (previously was only done for two-char comment-end sequences).
7237         * syntax.c (forward-comment):
7238         Take value returned from `find_end_of_comment', rather than
7239         incrementing it.
7240         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7241         Properly deal with BUFFERP (syntax_cache.object)
7242
7243 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7244
7245         * alloc.c (Fgarbage_collect): 
7246         * alloc.c (make_bit_vector_from_byte_vector):
7247         -Wsign-compare-correctness.
7248
7249 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7250
7251         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7252         (XSETCHAR): Likewise.
7253         (XSETOBJ): Likewise.
7254
7255 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7256
7257         * mule-canna.c (canna-func-delete_previous): 
7258         Rename to canna-func-delete-previous.
7259
7260 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7261
7262         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7263
7264 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7265
7266         * font-lock.c (find_context): Fix C++ compile errors introduced by
7267         recent patch
7268
7269 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7270
7271         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7272         pragma, but earlier ones barf on the same pragma.
7273
7274 2001-02-06  Mike Sperber <mike@xemacs.org>
7275
7276         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7277         `configure-mule-lisp-directory'.
7278
7279 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7280
7281         Make sure dump-id.c is compiled in the same way as other .c's.
7282         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7283         * dump-id.h: Remove.
7284         * emacs.c: Move dump-id.h into dumper.h.
7285         * dumper.h: Move dump-id.h into dumper.h.
7286         * Makefile.in.in:
7287         Use standard .c.o rule for building dump-id.o.
7288         Remove preprocessor flags from link command.
7289         Add dump-id.o to ${otherobjs} if PDUMP.
7290
7291 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7292
7293         Port FSF 20.7 syntax table improvements.
7294         * syntax.c.
7295         * syntax.h.
7296
7297         Fixups for new syntax table stuff.
7298         * dired.c: Include syntax.c.
7299         (Fdirectory_files): Initialize regex_match_object and
7300         regex_emacs_buffer.
7301         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7302         and Fget_char_property.
7303
7304         Use ported FSF 20.7 syntax table improvements.
7305         * font-lock.c.
7306         * regex.c.
7307         * search.c.
7308         
7309 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7310
7311         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7312         Unixware's enum boolean from sys/types.h.
7313
7314 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7315
7316         Fix support for building with latest Purify.
7317         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7318         (PURIFY_FLAGS): Likewise.
7319
7320 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7321
7322         * fileio.c (lisp_string_set_file_times): New.
7323         * fileio.c (Fcopy_file): Use it.
7324         Fixes bug:
7325         (copy-file filename non-ascii-filename t t)
7326         ==> No such file or directory, non-ascii-filename
7327
7328 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7329
7330         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7331         USHRT_MAX seems clearer than ~0 anyways.
7332
7333 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7334
7335         dumper improvements.  Inspired by Olivier.
7336         * dumper.c (pdump_max_align): New.
7337         * dumper.c (pdump_add_entry): Use pdump_max_align.
7338         * dumper.c (pdump_get_entry_list): Likewise.
7339         * dumper.c (pdump_scan_by_alignment): Likewise.
7340         Don't iterate through unnecessary alignments.
7341         * dumper.c (pdump_file_get): No need to align result of malloc().
7342         * dumper.c (pdump_mallocadr): Remove.  
7343         The result of malloc() is guaranteed to be maximally aligned.
7344         * dumper.c: s/elmt/elt/g;
7345         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7346         * dumper.c (pdump_alert_undump_object): Likewise.
7347         * dumper.c (pdump_align_table): 
7348         Don't support alignments > 64.
7349         Store ALIGNOF's, not shift counts, in table.
7350
7351 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7352
7353         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7354         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7355         * systime.h: Use HAVE_UTIME.
7356         * sysdep.c (struct utimbuf): Remove.
7357         * sysdep.c (set_file_times): Prefer utime() to utimes().
7358         * config.h.in (HAVE_UTIME): New.
7359         * config.h.in (HAVE_UTIME_H): Remove.
7360         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7361
7362 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7363
7364         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7365
7366 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7367
7368         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7369
7370 2001-02-08  Martin Buchholz <martin@xemacs.org>
7371
7372         * XEmacs 21.2.44 "Thalia" is released.
7373
7374 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7375
7376         Fixes crashes in kill-emacs on some systems.
7377         * process-unix.c (unix_kill_child_process):
7378         It's OK for kill() to fail with ESRCH.
7379
7380 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7381
7382         Contortions to make .gdbinit tricks work on most systems.
7383         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7384         * alloc.c (dbg_valmask): Make non-const.
7385         * alloc.c (dbg_typemask): Make non-const.
7386         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7387         * alloc.c (dbg_valbits): Make non-const.
7388         * alloc.c (dbg_gctypebits): Make non-const.
7389         * .gdbinit (decode_object): Make it work with AIX cc.
7390
7391 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7392
7393         * elhash.c (make_general_lisp_hash_table):
7394         Use simpler and more efficient calloc to clear entries.
7395
7396 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7397
7398         * window.c (window_scroll): Work around an AIX C compiler bug.
7399         Fixes 'scroll-up' does nothing problem with xlC.
7400
7401 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7402
7403         * .gdbinit: Remove obsolete comment.
7404
7405 2001-01-31  Mike Alexander  <mta@arbortext.com>
7406
7407         * select.c (Fown_selection_internal): Set owned_p for device
7408         method correctly.
7409
7410 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7411
7412         Port to g++ 2.97.
7413         "not" cannot be used as a macro name as it is an operator in C++
7414         * config.h.in: Stop #defining `not'.
7415         * chartab.c (check_category_char): not ==> not_p
7416         * chartab.h: Likewise.
7417         * regex.c (re_match_2_internal): Likewise.
7418
7419 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7420
7421         * lisp-disunion.h: Fix up comments.
7422
7423 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7424
7425         * keymap.c (define_key_check_and_coerce_keysym):
7426         (syms_of_keymap):
7427         Support mouse-6 and mouse-7 bindings in the obvious way.
7428
7429 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7430
7431         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7432
7433 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7434
7435         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7436         Previous patch missed DEFVAR_INT_MAGIC.
7437         Make sure future DEFVAR_foo use correct types.
7438         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7439         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7440         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7441         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7442         * (DEFVAR_INT): Likewise.
7443         * redisplay.c (vertical_clip): Should be of type Fixnum.
7444         * redisplay.c (horizontal_clip): Likewise.
7445         * lisp.h (dump_add_opaque_int): New.
7446         (dump_add_opaque_fixnum): New.
7447
7448 2001-01-29  Andy Piper  <andy@xemacs.org>
7449
7450         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7451         since they can be eval'ed
7452
7453 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7454
7455         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7456         Oops, XEmacs redefines `class'.  Use `typename' instead.
7457
7458 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7459
7460         * dumper.c: Fix C++ compile errors.
7461
7462 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7463
7464         * tparam.c: Use correct prototypes.
7465
7466 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7467
7468         * sysproc.h: #include util.h for NetBSD's openpty.
7469
7470 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7471
7472         More 64-bit correctness.
7473         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7474         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7475         Fix up comments.
7476         This finally finishes the 64-bit SGI port.
7477         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7478         * symbols.c: Fix up comments and type casts.
7479         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7480         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7481         * symeval.h (Fixnum): New type.
7482         * symeval.h (symbol_value_type): Fix up comment.
7483
7484         * commands.h:
7485         * nt.c:
7486         * emacs.c:
7487         * data.c:
7488         * redisplay.c:
7489         * abbrev.c:
7490         * dired-msw.c:
7491         * event-Xt.c:
7492         * eldap.c:
7493         * window.c:
7494         * sound.c:
7495         * event-stream.c:
7496         * eval.c:
7497         * buffer.c:
7498         * mule-canna.c: A million DEFVAR_INTs here...
7499         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7500         * extents.c:
7501         * cmdloop.c:
7502         * lisp.h:
7503         * select-x.c:
7504         * console-x.h:
7505         * event-msw.c:
7506         * mule-wnnfns.c:
7507         * hpplay.c:
7508         * ralloc.c:
7509         * alloc.c:
7510         * keymap.c:
7511         * profile.c:
7512         s/int/Fixnum/g in DEFVAR_INT declarations.
7513
7514 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7515
7516         Port pdump to SGI alignment-sensitive environment.
7517         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7518         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7519         properly aligned.
7520         Define and use aligned reading and writing macros.
7521         Use buffered stdio instead of posix i/o for faster dumping.
7522         Eliminate kludgy 256 byte space for header.
7523         Read and write from dump file using structs for alignment safety.
7524         * dumper.c (pdump_align_stream): New.
7525         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7526         * dumper.c (PDUMP_READ_ALIGNED): New.
7527         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7528         * dumper.c (pdump_static_Lisp_Object): New struct.
7529         * dumper.c (pdump_static_pointer): New struct.
7530         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7531         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7532         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7533         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7534
7535         * dumper.c (pdump_backtrace):
7536         * dumper.c (pdump_get_indirect_count):
7537         * dumper.c (pdump_register_object):
7538         * dumper.c (pdump_register_struct):
7539         * dumper.c (pdump_reloc_one):
7540         * dumper.c (pdump_scan_by_alignment):
7541         * dumper.c (pdump_dump_from_root_struct_ptrs):
7542         * dumper.c (pdump_dump_opaques):
7543         * dumper.c (pdump_dump_rtables):
7544         * dumper.c (pdump_dump_from_root_objects):
7545         * dumper.c (pdump):
7546         * dumper.c (pdump_load_finish):
7547         Use aligned reading and writing.
7548
7549         * dumper.c (pdump_free): Make static.
7550         * dumper.c (pdump_hFile): Likewise.
7551         * dumper.c (pdump_hMap): Likewise.
7552
7553 2001-01-26  Martin Buchholz <martin@xemacs.org>
7554
7555         * XEmacs 21.2.43 "Terspichore" is released.
7556
7557 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7558
7559         Type fiddling for window_config.saved_windows_count
7560         * window.c (struct window_config): 
7561         Make saved_windows_count member unsigned.
7562         * window.c (sizeof_window_config_for_n_windows): 
7563         Make parameter unsigned.
7564         * window.c (mark_window_config):
7565         * window.c (window_config_equal):
7566         * window.c (free_window_configuration):
7567         * window.c (Fset_window_configuration):
7568         * window.c (count_windows):
7569         * window.c (Fcurrent_window_configuration):
7570         * window.c (reinit_vars_of_window):
7571         Update all callers and users.
7572
7573 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7574
7575         Alignment correctness for flexible arrays.
7576         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7577         Make alignment-correct. Add interesting comments.
7578         * alloc.c (size_vector):
7579         * alloc.c (make_vector_internal):
7580         * alloc.c (make_bit_vector_internal):
7581         * alloc.c (sweep_bit_vectors_1):
7582         * fns.c (size_bit_vector):
7583         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7584         * window.c (sizeof_window_config_for_n_windows): 
7585         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7586
7587 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7588
7589         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7590
7591 2001-01-23  Andy Piper  <andy@xemacs.org>
7592
7593         * select.c (Fown_selection_internal): pass owned_p
7594
7595         * select-msw.c (mswindows_own_selection): New Signature.
7596
7597         * console.h (struct console_methods): add owned_p to
7598         _own_selection.
7599
7600         * select-x.c (x_own_selection): pass owned_p
7601         (hack_motif_clipboard_selection): use owned_p
7602         (vars_of_select_x): new variable -
7603         x_selection_strict_motif_ownership.
7604
7605 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7606
7607         * specifier.h (specifier_data_offset): Remove pointless parens.
7608         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7609
7610 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7611
7612         Make Lisp_Object sizeof methods be alignment-correct.
7613         pdump must restore objects to the same alignment as the C compiler
7614         assumes.  It really matters on SGIs.
7615         * lstream.c (aligned_sizeof_lstream): New.
7616         (sizeof_lstream): Use aligned_sizeof_lstream.
7617         (Lstream_new): Likewise.
7618         * opaque.c (aligned_sizeof_opaque): New.
7619         (sizeof_opaque): Use aligned_sizeof_opaque.
7620         (make_opaque): Likewise.
7621         * specifier.c (aligned_sizeof_specifier): New.
7622         (sizeof_specifier): Use aligned_sizeof_specifier.
7623         (make_specifier_internal): Likewise.
7624
7625 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7626
7627         * lstream.h (struct lstream): Use max_align_t for trailing data.
7628         * specifier.h (struct Lisp_Specifier): Likewise.
7629
7630 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7631
7632         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7633         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7634         (CCL_SUSPEND): Likewise.
7635         (CCL_INVALID_CMD): Likewise.
7636         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7637         (ccl_driver): Likewise.
7638         (CCL_WRITE_CHAR): Macro hygiene.
7639         (CCL_WRITE_STRING): Macro hygiene.
7640
7641 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7642
7643         Port "portable" dumper to SunOS 4 and HP-UX.
7644         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7645         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7646         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7647
7648 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7649
7650         * lisp.h (ALIGNOF): A better definition for C++.
7651
7652 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7653
7654         Macro hygiene.
7655         Fix printf warnings: int format, long int arg.
7656         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7657         (PUSH_FAILURE_POINT): Use correct printf formats.
7658         (POP_FAILURE_POINT): Use correct printf formats.  
7659         Use do {...} while (0)
7660
7661 2001-01-20  Martin Buchholz <martin@xemacs.org>
7662
7663         * XEmacs 21.2.42 "Poseidon" is released.
7664
7665 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7666
7667         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7668
7669 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7670
7671         De-kludgify FIXED_TYPE free list frobbing.
7672         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7673         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7674         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7675         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7676         * alloc.c (LRECORD_FREE_P): New.
7677         * alloc.c (MARK_LRECORD_AS_FREE): New.
7678         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7679         * alloc.c (STRUCT_FREE_P): Deleted.
7680         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7681         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7682         * alloc.c (STRING_CHARS_FREE_P): New.
7683         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7684         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7685         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7686         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7687         * alloc.c (resize_string): Use new definitions.
7688         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7689         * alloc.c (verify_string_chars_integrity): Use new definitions.
7690         * alloc.c (compact_string_chars): Use new definitions.
7691         * alloc.c: Update monster comments.
7692         * lrecord.h (lrecord_type): Add some new lrecord types for
7693         alloc.c's use.
7694
7695 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7696
7697         Improve alignment hackery.
7698         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7699         (max_align_t): Moved from opaque.h - general purpose.
7700         (ALIGN_PTR): Use size_t, not long.
7701         * opaque.h (max_align_t): Move to lisp.h.
7702
7703 2001-01-18  Norbert Koch  <nk@LF.net>
7704
7705         * gui.h: Fix and add prototypes to fix build problems.
7706
7707 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7708
7709         temacs is going away, so `dump-temacs' is now a bad name.
7710         * .dbxrc (dump-temacs): Rename to `dmp'.
7711         * .gdbinit (dump-temacs): Rename to `dmp'.
7712
7713 2001-01-17  Andy Piper  <andy@xemacs.org>
7714
7715         * glyphs.c (print_image_instance): comment to make martin happy.
7716
7717         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7718         change.
7719
7720         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7721         activation.
7722         (mswindows_tab_control_redisplay): warning suppression.
7723
7724         * glyphs-widget.c (widget_update): re-write to cope with updated
7725         items.
7726         (widget_instantiate): use new gui_item functions.
7727         (tab_control_update): deleted.
7728         (progress_gauge_update): deleted.
7729         (image_instantiator_progress_guage): take out update reference.
7730         (image_instantiator_tree_view): ditto.
7731         (image_instantiator_tab_control): ditto.
7732
7733         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7734         Right the new way.
7735         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7736         return whether anything was changed.
7737         (update_gui_item_keywords): as it sounds.
7738
7739         * gui.h: declare widget_gui_parse_item_keywords.
7740
7741         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7742         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7743
7744 2001-01-17  Martin Buchholz <martin@xemacs.org>
7745
7746         * XEmacs 21.2.41 "Polyhymnia" is released.
7747
7748 2001-01-16  Didier Verna  <didier@xemacs.org>
7749
7750         * glyphs.c (image_instantiate): don't use fallbacks when
7751         instantiating a face's background pixmap by inheritance.
7752
7753 2001-01-14  Mike Sperber <mike@xemacs.org>
7754
7755         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7756         Conditionalize accordingly.
7757
7758 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7759
7760         * dumper.c (pdump_file_get): Fix a compiler warning.
7761
7762 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7763
7764         Make Purify happy when pdumping.
7765         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7766         iniitalizing all bits of new lisp object memory.
7767         * symbols.c (Fmake_local_variable): Likewise.
7768         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7769         * symbols.c (Fdefvaralias): Likewise.
7770         * mule-charset.c (vars_of_mule_charset): Likewise.
7771
7772 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7773         Add the `-nd' flag when running pre-dump operations under the debugger.
7774         * .dbxrc (run-temacs): Add `-nd'.
7775         * .dbxrc (update-elc): Likewise.
7776         * .dbxrc (dump-temacs): Likewise.
7777         * .gdbinit (run-temacs): Likewise.
7778         * .gdbinit (check-temacs): Likewise.
7779         * .gdbinit (update-elc): Likewise.
7780         * .gdbinit (dump-temacs): Likewise.
7781
7782 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7783
7784         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7785         export OBJECT_MODE=64
7786         configure --pdump --use-union-type=no
7787         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7788         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7789
7790         * miscplay.c (sndcnv8U_2mono):
7791         Avoid two uses of `++' in the same expression.
7792         Suppresses a GCC warning.
7793
7794 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7795
7796         Make sure future compilers don't miscompile alloc.c.
7797         * alloc.c:
7798         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7799         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7800
7801 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7802
7803         * dumper.c: A little post-pdump-rename comment fixup.
7804
7805 2001-01-09  Jerry James  <james@eecs.ku.edu>
7806
7807         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7808
7809 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7810
7811         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7812         script:
7813         #!/bin/sh
7814         replace_symbol () {
7815           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7816         }
7817
7818         replace_symbol pdump_wire_lists pdump_weak_object_chains
7819         replace_symbol pdump_wire_list dump_add_weak_object_chain
7820
7821         replace_symbol pdump_wires pdump_root_objects
7822         replace_symbol pdump_wire dump_add_root_object
7823
7824         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7825         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7826
7827         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7828         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7829         replace_symbol dumpstructinfo pdump_root_struct_ptr
7830         replace_symbol dumpstruct dump_add_root_struct_ptr
7831
7832         replace_symbol dumpopaque dump_add_opaque
7833         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7834         replace_symbol dumpopaqueinfos pdump_opaques
7835         replace_symbol dumpopaqueinfo pdump_opaque
7836
7837         replace_symbol nb_structdump nb_root_struct_ptrs
7838         replace_symbol nb_opaquedump nb_opaques
7839
7840         replace_symbol align_table pdump_align_table
7841         replace_symbol dump_header pdump_header
7842
7843         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7844         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7845
7846
7847 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7848
7849         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7850         optimizing bytecount_to_charcount().
7851
7852 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7853
7854         * config.h.in:
7855         (HAVE_DLFCN_H): Removed.
7856         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7857
7858 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7859
7860         Portable dumper maintainability improvements.
7861         * alloc.c (staticpro):
7862         * alloc.c (staticpro_nodump):
7863         * alloc.c (garbage_collect_1):
7864         * alloc.c (reinit_alloc_once_early):
7865         * alloc.c (init_alloc_once_early):
7866         * alloc.c: Move dumper functions to alloc.c.
7867         * dumper.c (pdump_backtrace):
7868         * dumper.c (pdump_dump_structs):
7869         * dumper.c (pdump_dump_opaques):
7870         * dumper.c (pdump_dump_rtables):
7871         * dumper.c (pdump_dump_wired):
7872         * dumper.c (pdump):
7873         * dumper.c (pdump_load_check):
7874         * dumper.c (pdump_load_finish):
7875         * dumper.c (pdump_file_unmap):
7876         * dumper.c (pdump_file_get):
7877         * dumper.c (pdump_resource_free):
7878         * dumper.c (pdump_resource_get):
7879         * dumper.c (pdump_file_free):
7880         * dumper.c (pdump_file_try):
7881         * dumper.c (pdump_load):
7882         Remove fixed size limits on staticpro(), staticpro_nodump(),
7883         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7884         Remove custom code for dumping lrecord_implementations_table - use
7885         dumpopaque instead.
7886         Remove (most of the) custom code for dumping staticpros - dump it
7887         like any other dynarr.
7888
7889         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7890         * dumper.c: Moved functions from alloc.c.
7891         * alloc.c (dumpstruct): Moved to dumper.c.
7892         * alloc.c (dumpopaque): Likewise.
7893         * alloc.c (pdump_wire): Likewise.
7894         * alloc.c (pdump_wire_list): Likewise.
7895
7896         * lisp.h (Dynarr_sizeof): New.
7897         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7898         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7899         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7900
7901         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7902         * lisp.h (dumpopaque): ditto.
7903         * lisp.h (pdump_wire): ditto.
7904         * lisp.h (pdump_wire_list): ditto.
7905
7906 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7907
7908         * make-src-depend (PrintPatternDeps):
7909         Use `sort' to make output independent of perl version.
7910
7911 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7912
7913         Port to Netbsd 1.5.
7914         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7915         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7916
7917 2001-01-03  Didier Verna  <didier@xemacs.org>
7918
7919         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7920         that `focus_frame' is alive before thinking of calling
7921         `redisplay_redraw_cursor' on it.
7922
7923 2001-01-08  Martin Buchholz <martin@xemacs.org>
7924
7925         * XEmacs 21.2.40 is released.
7926
7927 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7928
7929         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7930
7931 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7932
7933         * alloc.c (dbg_valmask): Make const.
7934         * alloc.c (dbg_typemask): Make const.
7935         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7936         * alloc.c (dbg_valbits): Make const.
7937         * alloc.c (dbg_gctypebits): Make const.
7938
7939 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7940
7941         * redisplay-x.c (x_bevel_area):
7942         redisplay.h (struct rune):
7943         Typo fixes in comments.
7944
7945 2001-01-05  Andy Piper  <andy@xemacs.org>
7946
7947         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7948         adjustment.
7949
7950         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7951
7952 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7953
7954         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7955
7956         * mule-ccl.c (stack_idx_of_map_multiple):
7957         Non const global data must not be initialized!
7958         Found by MIYASHITA Hisashi.
7959
7960 2001-01-02  Andy Piper  <andy@xemacs.org>
7961
7962         * frame.c (change_frame_size): make sure frame size is always
7963         marked as changed.
7964
7965         * glyphs.c (image_instance_layout): minor code reuse.
7966
7967         * window.c (Fcurrent_window_configuration): revert previous
7968         change.
7969
7970 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7971
7972         * glyphs.h:
7973         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7974
7975 2000-12-31  Andy Piper  <andy@xemacs.org>
7976
7977         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7978         when widget gets unmapped.
7979
7980         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7981         function. Make sure widgets losing focus don't just drop it.
7982         (handle_focus_event_1): record the widget with focus.
7983
7984 2000-12-31  Andy Piper  <andy@xemacs.org>
7985
7986         * window.c (allocate_window): use
7987         make_image_instance_cache_hash_table.
7988         (make_dummy_parent): ditto.
7989         (Fset_window_configuration): ditto.
7990
7991         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7992
7993         * glyphs.c (process_image_string_instantiator): use
7994         INSTANTIATOR_TYPE.
7995         (get_image_instantiator_governing_domain): ditto.
7996         (normalize_image_instantiator): ditto.
7997         (instantiate_image_instantiator): ditto.
7998         (make_image_instance_1): ditto.
7999         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8000         (instantiator_eq_equal): new function for use with instance hash
8001         tables.
8002         (instantiator_eq_hash): ditto.
8003         (make_image_instance_cache_hash_table): create a suitable hash
8004         table for storing image instances.
8005
8006         * elhash.h (hash_table_weakness): new internal weakness type
8007         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8008         declare new functions.
8009
8010         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8011         another weakness type for glyphs.
8012         (make_standard_lisp_hash_table): new function split out from
8013         make_general_lisp_hash_table.
8014         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8015         (hash_table_instantiate): ditto.
8016         (Fmake_hash_table): ditto.
8017
8018 2000-12-31  Martin Buchholz <martin@xemacs.org>
8019
8020         * XEmacs 21.2.39 is released.
8021
8022 2000-12-29  Andy Piper  <andy@xemacs.org>
8023
8024         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8025
8026         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8027         the frame has changed so that we pick up geometry changes such as
8028         menubar visibility.
8029
8030 2000-12-28  Andy Piper  <andy@xemacs.org>
8031
8032         * lastfile.c (my_ebss): make a char array so we can pad the
8033         bss. Fixes cygwin unexec.
8034
8035         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8036
8037 2000-12-26  Andy Piper  <andy@xemacs.org>
8038
8039         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8040         comments and try and be more precise about a non-/SIGIO world.
8041         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8042         SIGIO.
8043
8044         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8045         we don't normalize to zero width or height.
8046
8047 2000-12-24  Andy Piper  <andy@xemacs.org>
8048
8049         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8050
8051 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8052
8053         * s/sco5.h: SCO 5 has pty support.
8054
8055 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8056
8057         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8058         input-method-xlib.c contains whole contents of input-method-xfs.c,
8059         so we can use input-method-xlib.c's code for USE_XFONTSET
8060         using #ifdefs.
8061         * input-method-xfs.c: removed.
8062
8063 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8064
8065         * file-coding.h (enum coding_category_type): reorder enumerators to
8066         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8067         (now one greater than largest real coding_category_type enumerator).
8068         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8069         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8070         Fcoding_category_list, Fset_coding_priority_list,
8071         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8072         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8073
8074 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8075
8076         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8077         * redisplay-output.c (redisplay_output_window): Clear top of window
8078         when face is changed.
8079         * redisplay-x.c (x_redraw_exposed_window): Call
8080         redisplay_clear_top_of_window.
8081         * redisplay.h: Publish redisplay_clear_top_of_window.
8082
8083 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8084
8085         * buffer.c (Fkill_buffer): Map over all devices.
8086         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8087         (list_windows): New function.
8088         (list_all_windows): Ditto.
8089         (Freplace_buffer_in_windows): Use them.
8090
8091 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8092
8093         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8094         (Fopen_database): Use `db_create' instead of `db_open'.
8095         (syms_of_database): Initialize Qqueue.
8096
8097 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8098
8099         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8100         buffer_local_face_property.
8101         * buffer.h (struct buffer): New member buffer_local_face_property.
8102         * window.c (Fset_window_buffer):  Mark window's face as changed
8103         when buffer has buffer local face.
8104         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8105         * objects.c (color_after_change): Set buffer_local_face_property
8106         when locale of face specifier is buffer.
8107         * objects.c (font_after_change): Ditto.
8108         * objects.c (face_boolean_after_change): Ditto.
8109         * glyphs.c (image_after_change): Ditto.
8110
8111 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8112
8113         * nt.c (mswindows_fstat): Report file permissions, volume serial
8114         number, etc. Code adapted from FSF Emacs 20.7.
8115
8116 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8117
8118         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8119         of stat when we don't have symbolic links, to make sure
8120         mswindows_stat is called on mswindows.
8121
8122 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8123
8124         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8125
8126 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8127
8128         * doprnt.c (emacs_doprnt_1): More printing fixes.
8129         Make printing of numbers compatible with libc and FSF Emacs.
8130         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8131         Use the system printf to do most of the hard work of formatting,
8132         instead of doprnt_1().
8133         Calculate memory to allocate for format string.
8134         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8135         (doprnt_1): Cleaner code and documentation.
8136
8137 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8138
8139         * Makefile.in.in: Use the loop variable to install headers.
8140
8141 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8142
8143         * window.c (Fsplit_window): Don't invalidate face cache.
8144
8145 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8146
8147         * minibuf.c (Fall_completions): Undo the previous change
8148         which removed checking elements start with space.
8149
8150 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8151
8152         * mule-canna.c: Didier suppression.
8153
8154 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8155
8156         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8157         (warning suppression).  Add English comment translations.
8158
8159 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8160
8161         * unexelfsgi.c (unexec): Better test for mmap failure.
8162
8163 2000-12-05  Martin Buchholz <martin@xemacs.org>
8164
8165         * XEmacs 21.2.38 is released.
8166
8167 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8168
8169         * redisplay.c (bar-cursor): Make a user variable.
8170
8171         * symsinit.h: Add init_postgresql_from_environment.
8172
8173 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8174
8175         * regex.c: Convert to clean C.
8176
8177 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8178
8179         * realpath.c:
8180         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8181         initialization.
8182         (sys_readlink): renamed to system_readlink to avoid conflict with
8183         the other sys_readlink.
8184
8185 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8186
8187         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8188
8189 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8190
8191         * postgresql.c (init_postgresql_from_environment): new function.
8192         (vars_of_postgresql): Move code initializing Lisp variables out and
8193         into init_postgresql_from_environment.
8194         emacs.c (main_1): Call init_postgresql_from_environment if and only
8195         if running a dumped XEmacs.
8196
8197 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8198
8199         * buffer.c: Make find-file-compare-truenames default to true on
8200         windows.
8201
8202         * realpath.c (win32_abs_start):
8203         (cygwin_readlink):
8204         (win32_readlink): New functions.
8205         (xrealpath): Return really real filenames on windows.
8206
8207         * fileio.c (Ffile_truename): Make file-truename work on windows.
8208
8209 2000-11-29  Didier Verna  <didier@xemacs.org>
8210
8211         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8212         * faces.c (update_face_cachel_data): use it.
8213         * faces.c (add_face_cachel): use it. Complete background pixmap
8214         frobbing in face cache if `update_face_cachel_data' has not done so.
8215
8216 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8217
8218         * search.c (string_match_1): Don't set last_thing_searched
8219         when search failed.
8220
8221 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8222
8223         * buffer.c: Include casetab.h
8224         (common_init_complex_vars_of_buffer): Use new case-table object.
8225         * buffer.h: Include casetab.h
8226         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8227         (DOWNCASE_TABLE_OF): Ditto.
8228         * bufslots.h: Remove char-tables and add case-table.
8229         * casetab.c: Include casetab.h
8230         (CASE_TABLE_P): Removed.
8231         (mark_case_table): New function.
8232         (allocate_case_table): New function.
8233         (Fcase_table_p): Use new case-table.
8234         (case_table_char): New function.
8235         (Fget_case_table): Ditto.
8236         (Fput_case_table): Ditto.
8237         (Fput_case_table_pair): Ditto.
8238         (Fcopy_case_table): Ditto.
8239         (Fcurrent_case_table): Return case-table.
8240         (Fstandard_case_table): Return case-table.
8241         (Fset_case_table): Fix doc-string.
8242         (set_case_table): Use case-table
8243         (syms_of_casetab): DEFSUBR new functions.
8244         (complex_vars_of_casetab): Set up standard case-table.
8245         * casetab.h: New file.
8246         * editfns.c: Include casetab.h
8247         (Fcompare_buffer_substrings): Use case-table.
8248         * inline.c: Include casetab.h
8249         * lisp.h: Remove bogus extern.
8250         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8251         * search.c: Include casetab.h
8252         (TRANSLATE_ASCII): Removed.
8253         (TRANSLATE): Unconditionally translate character.
8254         (looking_at_1): Use case-table.
8255         (string_match_1): Ditto.
8256         (fast_string_match): Ditto.
8257         (search_command): Ditto.
8258         (search_buffer): Separate boyer_moore.  Check whether
8259         boyer_moore is possible.
8260         (simple_search): New function.
8261         (boyer_moore): Separated from search_buffer. Translate char.
8262
8263 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8264
8265         * regex.c (RE_TR_ASCII): Removed.
8266         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8267         (PATFETCH): Call PATFETCH_RAW.
8268         (PATFETCH_RAW): Fetch Emchar.
8269         (PATUNFETCH): Decrement charptr.
8270         (GET_BUFFER_SPACE): Rename b to buf_end.
8271         (BUF_PUSH): Ditto.
8272         (BUF_PUSH_2): Ditto.
8273         (BUF_PUSH_3): Ditto.
8274         (EXTEND_BUFFER): Ditto.
8275         (SET_LIST_BIT): Ditto.
8276         (regex_compile): Ditto.  Translate non ASCII char.
8277         (compile_range): Ditto.
8278         (re_search_2): Ditto.
8279         (re_match_2_internal): Compare Emchar.
8280         (bcmp_translate): Ditto.
8281
8282 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8283
8284         * lisp.h (basic char/int typedefs):  comment improvement.
8285
8286 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8287
8288         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8289         unstomp inhibit_site_lisp.  Improve comments.
8290
8291 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8292
8293         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8294
8295 2000-11-28  Andy Piper  <andy@xemacs.org>
8296
8297         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8298         clipped display for windows in the gutter also.
8299         (redisplay_display_boxes_in_window_p): change semantics of return
8300         codes to be more intuitive.
8301
8302         * gutter.h: declare display_boxes_in_gutter_p.
8303
8304         * gutter.c (display_boxes_in_gutter_p): new function for
8305         redisplay.
8306
8307 2000-11-22  Andy Piper  <andy@xemacs.org>
8308
8309         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8310         autodetect domain.
8311
8312 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8313
8314         * callproc.c (Fold_call_process_internal):
8315         * gpm.c (Freceive_gpm_event):
8316         (tty_get_foreign_selection): Might be just warning supression.
8317         * fileio.c (Fwrite_region_internal):
8318         (Fset_visited_file_modtime):
8319         * keymap.c (event_matches_key_specifier_p):
8320         Initialize GCPROed variable.
8321
8322         * menubar-x.c (command_builder_find_menu_accelerator):
8323         Initialize before use.
8324
8325 2000-11-23  Andy Piper  <andy@xemacs.org>
8326
8327         * unexcw.c (unexec): make the resulting executable executable.
8328
8329 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8330
8331         * doc.c (get_doc_string):
8332         Use size_t, not int, for result of XSTRING_LENGTH.
8333
8334         * cmds.c (Fdelete_char):
8335         * cmds.c (Fpoint_at_eol):
8336         * cmds.c (Fself_insert_command):
8337         Use EMACS_INT, not int, for result of XINT.
8338         Someday, someone will want to insert more than 2**31 identical characters.
8339
8340         * cmds.c (Fdelete_char):
8341         * cmds.c (Fdelete_backward_char):
8342         * syntax.c (Fforward_word):
8343         * syntax.c (Fforward_comment):
8344         Make COUNT argument optional, for consistency with forward-char et al.
8345
8346 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8347
8348         * lisp.h:
8349         * print.c (long_to_string):
8350         Return a useful value: the pointer at end of data written.
8351
8352         * doprnt.c:
8353         Use `static const char * const' for constant strings.
8354         (union printf_arg): Delete `i', `ui' members.
8355         (get_doprnt_args):
8356         (emacs_doprnt_1):
8357         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8358         Do all printf-ing via the `l' specifier.
8359         Use EMACS_INT instead of int.
8360         Optimize.
8361
8362 2000-11-20  Didier Verna  <didier@xemacs.org>
8363
8364         * faces.c (update_face_cachel_data): don't frob the background
8365         pixmap when the window is being created. The face is needed but
8366         does not exist yet.
8367
8368 2000-11-20  Andy Piper  <andy@xemacs.org>
8369
8370         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8371         messing with a debug environment.
8372
8373 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8374
8375         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8376
8377 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8378
8379         * casetab.c (Fcase_table_p): Fix compile error and crash.
8380
8381 2000-11-18  Philip Aston  <philipa@mail.com>
8382
8383         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8384
8385 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8386
8387         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8388         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8389
8390 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8391
8392         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8393         * unexelf.c: Use HAVE_ELF_H.
8394         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8395         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8396         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8397         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8398         for testing.
8399         So this is an unexelfsgi.c from a different line of development.
8400
8401 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8402
8403         * regex.c (RE_TR_ASCII): New function.
8404         (RE_TRANSLATE): Call it.
8405
8406 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8407
8408         * buffer.h (TRT_TABLE_OF): Remove assert.
8409         (IN_TRT_TABLE_DOMAIN): Removed.
8410
8411 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8412
8413         * free-hook.c (log_gcpro):
8414         (show_gcprohist): Add support for GCPRO5.
8415
8416 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8417
8418         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8419
8420 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8421
8422         * symeval.h: Declare flush_all_buffer_local_cache.
8423
8424         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8425         (flush_buffer_local_cache): Added.
8426         (flush_all_buffer_local_cache): Added.
8427
8428         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8429
8430         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8431         (pdump_dump_data): Ditto.
8432         (pdump_reloc_one): Ditto.
8433         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8434         before dumping.
8435
8436
8437 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8438
8439         * buffer.c: Remove if 0'ed entry.
8440         * buffer.h: Rewrite TRT to use char-table.
8441         * bufslots.h: Remove mirror tables.
8442         * casetab.c: Remove mirror tables.
8443         (CASE_TABLE_P): New macro.
8444         (Fcase_table_p): Element of a case table is string or char-table.
8445         (make_mirror_trt_table): Removed.
8446         (set_case_table): Setup char-table from strings for backward
8447         compatibility.
8448         * dired.c (Fdirectory_files):
8449         * dired-msw.c: (mswindows_get_files):
8450         * lisp.h: Change prototype of re_pattern_buffer.
8451         * regex.c: (RE_TRANSLATE): New macro.
8452         (TRANSLATE_P): Ditto.
8453         Change translate to type RE_TRANSLATE_TYPE.
8454         * regex.h: Define RE_TRANSLATE_TYPE
8455         * search.c (TRANSLATE): New macro.
8456         (TRANSLATE_ASCII): New macro.
8457         Translate table is changed to Lisp_Object.
8458         (signal_failure): Inhibit return.
8459
8460 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8461
8462         * device-msw.c:
8463         * eldap.c:
8464         * event-Xt.c:
8465         * event-stream.c:
8466         * print.c:
8467         Do UNGCPRO before return.
8468
8469 2000-11-14  Martin Buchholz <martin@xemacs.org>
8470
8471         * XEmacs 21.2.37 is released.
8472
8473 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8474
8475         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8476         Add comments about discarded return value.
8477
8478 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8479
8480         * callint.c:
8481         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8482
8483 2000-10-27  Andy Piper  <andy@xemacs.org>
8484
8485         * gutter.c (Fset_default_gutter_position): default left and right
8486         gutters to visible.
8487         (calculate_gutter_size): calculate resonable heuristic for left
8488         and right gutter sizes.
8489         (specifier_vars_of_gutter): change left and right gutter sizes to
8490         autodetect.
8491         (calculate_gutter_size_from_display_lines): new function.
8492         (output_gutter): check for resizing on left and right gutters.
8493         (clear_gutter): don't special case top and left gutters.
8494         (specifier_vars_of_gutter): use new signature for
8495         set_specifier_caching.
8496
8497         * glyphs-x.c (x_redisplay_widget): spelling fix.
8498         * glyphs.c (specifier_vars_of_glyphs):
8499         * menubar.c (specifier_vars_of_menubar):
8500         * redisplay.c (specifier_vars_of_redisplay):
8501         * toolbar.c (specifier_vars_of_toolbar):
8502         * window.c (specifier_vars_of_window):
8503         * scrollbar.c (specifier_vars_of_scrollbar):
8504         (complex_vars_of_scrollbar): use new signature for
8505         set_specifier_caching.
8506
8507         * specifier.c (set_specifier_caching): include recompute flag.
8508         (recompute_one_cached_specifier_in_window): always recompute if
8509         flag set.
8510         (recompute_one_cached_specifier_in_frame): ditto.
8511
8512         * specifier.h (struct specifier_caching): add recompute flag.
8513
8514 2000-10-24  Andy Piper  <andy@xemacs.org>
8515
8516         * unexcw.c (copy_executable_and_dump_data_section): add new
8517         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8518         5.0 happy.
8519
8520 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8521
8522         * console-x.h (x_device): New member modifier_release_time.
8523         * event-Xt.c (x_handle_sticky_modifiers):
8524         Bound interval modifier keys are sticky.
8525         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8526         * events.h: extern it.
8527
8528 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8529
8530         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8531
8532 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8533
8534         * event-stream.c (execute_command_event): Preserve current_events
8535         and the like when event is misc-user-event.
8536         Inhibit quit during the call to maybe_echo_keys.
8537
8538 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8539
8540         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8541         symlink when buffer is killed.
8542         (inhibit_clash_detection): New variable.
8543
8544 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8545
8546         * console.c (Fset_input_method): Trigger redisplay on tty.
8547
8548 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8549
8550         * process.c (Fprocess_status): Revert to previous behavior:
8551         (process-status "nosuchprocess") ==> nil
8552
8553 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8554
8555         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8556         Work around another GCC 2.95.2 optimizer bug.
8557
8558 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8559
8560         * process.c (Fget_process): Use LIST_LOOP_2.
8561         (kill_buffer_processes): Use LIST_LOOP_2.
8562
8563         * minibuf.c (Fall_completions):
8564         Delete old non-functional code for FSF fourth argument.
8565
8566         * frame.c (frame_matches_frame_spec):
8567         Renamed from `frame_matches_frametype'.  Update all callers.
8568         (device_matches_device_spec):
8569         Renamed from 'device_matches_console_spec'.  Update all callers.
8570
8571         * doc.c (Fsubstitute_command_keys):
8572         Remove buffer overflow crash.  Small code cleanups.
8573
8574         * casetab.c (check_case_table): Simpler code.
8575
8576         * window.c (Freplace_buffer_in_windows):
8577         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8578         (and similar implementation) as Fdelete_windows_on.
8579         Update all callers.
8580
8581         * alloc.c (Fmake_list):
8582         * alloc.c (make_vector):
8583         * alloc.c (Fmake_vector):
8584         * alloc.c (make_bit_vector):
8585         * alloc.c (Fmake_bit_vector):
8586         * alloc.c (Fbit_vector):
8587         * alloc.c (Fmake_string):
8588         * alloc.c (Fpurecopy):
8589         * alloc.c (Fmemory_limit):
8590         * buffer.c:
8591         * buffer.c (Fget_buffer):
8592         * buffer.c (Fkill_buffer):
8593         * buffer.c (complex_vars_of_buffer):
8594         * bytecode.c (Fcompiled_function_stack_depth):
8595         * callint.c (Fprefix_numeric_value):
8596         * event-stream.c:
8597         * event-stream.c (Fread_key_sequence):
8598         * casetab.c:
8599         * casetab.c (Fcase_table_p):
8600         * casetab.c (check_case_table):
8601         * casetab.c (Fset_case_table):
8602         * casetab.c (Fset_standard_case_table):
8603         * chartab.c:
8604         * chartab.c (Fchar_table_type):
8605         * chartab.c (Freset_char_table):
8606         * chartab.c (Fget_char_table):
8607         * chartab.c (Fget_range_char_table):
8608         * chartab.c (Fput_char_table):
8609         * chartab.c (Fmap_char_table):
8610         * chartab.c (Fcategory_table_p):
8611         * chartab.c (Fcheck_category_at):
8612         * chartab.c (Fchar_in_category_p):
8613         * chartab.c (Fcategory_table):
8614         * chartab.c (Fcopy_category_table):
8615         * chartab.c (Fset_category_table):
8616         * chartab.c (Fcategory_designator_p):
8617         * chartab.c (Fcategory_table_value_p):
8618         * cmds.c (Fdelete_char):
8619         * cmds.c (Fdelete_backward_char):
8620         * cmds.c (Fself_insert_command):
8621         * cmds.c (Fself_insert_internal):
8622         * console.c (Fvalid_console_type_p):
8623         * console.c (Fcdfw_console):
8624         * console.c (Fconsole_type):
8625         * console.c (Fconsole_name):
8626         * console.c (Fconsole_device_list):
8627         * console.c (Fconsole_on_window_system_p):
8628         * data.c:
8629         * data.c (Feq):
8630         * data.c (Fold_eq):
8631         * data.c (Fsubr_interactive):
8632         * data.c (Fchar_to_int):
8633         * data.c (Fint_to_char):
8634         * data.c (Fsetcar):
8635         * data.c (Fsetcdr):
8636         * data.c (Fnumber_to_string):
8637         * data.c (Fstring_to_number):
8638         * data.c (Frem):
8639         * database.c (mark_database):
8640         * database.c (finalize_database):
8641         * database.c (Fdatabase_live_p):
8642         * database.c (Fdatabasep):
8643         * device-x.c (Fx_get_resource):
8644         * device.c (Fdfw_device):
8645         * dired.c:
8646         * dired.c (Ffile_name_completion):
8647         * dired.c (Ffile_name_all_completions):
8648         * dired.c (Fuser_name_completion):
8649         * dired.c (Fuser_name_completion_1):
8650         * dired.c (Fuser_name_all_completions):
8651         * doc.c (Fdocumentation):
8652         * doc.c (Fdocumentation_property):
8653         * doc.c (Fsubstitute_command_keys):
8654         * editfns.c:
8655         * editfns.c (Fchar_to_string):
8656         * editfns.c (Fstring_to_char):
8657         * editfns.c (Ftemp_directory):
8658         * editfns.c (Finsert_char):
8659         * editfns.c (Fbuffer_substring_no_properties):
8660         * editfns.c (Fnarrow_to_region):
8661         * editfns.c (Fchar_equal):
8662         * editfns.c (Fchar_Equal):
8663         * editfns.c (Ftranspose_regions):
8664         * emacs.c (Fdump_emacs):
8665         * eval.c (Fthrow):
8666         * eval.c (Fcommand_execute):
8667         * eval.c (Fautoload):
8668         * eval.c (Fbacktrace):
8669         * eval.c (Fbacktrace_frame):
8670         * events.c:
8671         * events.c (Fcopy_event):
8672         * events.c (Fcharacter_to_event):
8673         * events.c (Fevent_button):
8674         * events.c (Fevent_process):
8675         * extents.c:
8676         * extents.c (Fnext_extent_change):
8677         * extents.c (Fextent_property):
8678         * faces.c (Ffacep):
8679         * faces.c (Fmake_face):
8680         * file-coding.c:
8681         * file-coding.c (Fencode_shift_jis_char):
8682         * file-coding.c (Fencode_big5_char):
8683         * fileio.c (Ffile_name_directory):
8684         * fileio.c (Ffile_name_nondirectory):
8685         * fileio.c (Ffile_name_as_directory):
8686         * fileio.c (Fdirectory_file_name):
8687         * fileio.c (Ffile_truename):
8688         * fileio.c (Fsubstitute_in_file_name):
8689         * fileio.c (Ffile_modes):
8690         * fileio.c (Fset_file_modes):
8691         * fileio.c (Fset_default_file_modes):
8692         * fileio.c (Fverify_visited_file_modtime):
8693         * floatfns.c (Facos):
8694         * floatfns.c (Fasin):
8695         * floatfns.c (Fatan):
8696         * floatfns.c (Fcos):
8697         * floatfns.c (Fsin):
8698         * floatfns.c (Ftan):
8699         * floatfns.c (Fbessel_j0):
8700         * floatfns.c (Fbessel_j1):
8701         * floatfns.c (Fbessel_jn):
8702         * floatfns.c (Fbessel_y0):
8703         * floatfns.c (Fbessel_y1):
8704         * floatfns.c (Fbessel_yn):
8705         * floatfns.c (Ferf):
8706         * floatfns.c (Ferfc):
8707         * floatfns.c (Flog_gamma):
8708         * floatfns.c (Fexp):
8709         * floatfns.c (Fexpt):
8710         * floatfns.c (Flog):
8711         * floatfns.c (Flog10):
8712         * floatfns.c (Fsqrt):
8713         * floatfns.c (Fcube_root):
8714         * floatfns.c (Facosh):
8715         * floatfns.c (Fasinh):
8716         * floatfns.c (Fatanh):
8717         * floatfns.c (Fcosh):
8718         * floatfns.c (Fsinh):
8719         * floatfns.c (Ftanh):
8720         * floatfns.c (Fabs):
8721         * floatfns.c (Ffloat):
8722         * floatfns.c (Flogb):
8723         * floatfns.c (Fceiling):
8724         * floatfns.c (Ffloor):
8725         * floatfns.c (Fround):
8726         * floatfns.c (Ftruncate):
8727         * floatfns.c (Ffceiling):
8728         * floatfns.c (Fffloor):
8729         * floatfns.c (Ffround):
8730         * floatfns.c (Fftruncate):
8731         * fns.c (Fstring_equal):
8732         * fns.c (Fstring_lessp):
8733         * fns.c (concat2):
8734         * fns.c (concat3):
8735         * fns.c (vconcat2):
8736         * fns.c (vconcat3):
8737         * fns.c (Fsubstring):
8738         * fns.c (Fassoc):
8739         * fns.c (Fold_assoc):
8740         * fns.c (assoc_no_quit):
8741         * fns.c (Fassq):
8742         * fns.c (Fold_assq):
8743         * fns.c (assq_no_quit):
8744         * fns.c (Frassoc):
8745         * fns.c (Fold_rassoc):
8746         * fns.c (Frassq):
8747         * fns.c (Fold_rassq):
8748         * fns.c (rassq_no_quit):
8749         * fns.c (Fremassoc):
8750         * fns.c (remassoc_no_quit):
8751         * fns.c (Fremassq):
8752         * fns.c (remassq_no_quit):
8753         * fns.c (Fremrassoc):
8754         * fns.c (Fremrassq):
8755         * fns.c (remrassq_no_quit):
8756         * fns.c (Fsort):
8757         * fns.c (Fplist_get):
8758         * fns.c (Fplist_put):
8759         * fns.c (Fplist_remprop):
8760         * fns.c (Fplist_member):
8761         * fns.c (Flax_plist_get):
8762         * fns.c (Flax_plist_put):
8763         * fns.c (Flax_plist_remprop):
8764         * fns.c (Flax_plist_member):
8765         * fns.c (Fequal):
8766         * fns.c (Fold_equal):
8767         * fns.c (Frequire):
8768         * fns.c (Fbase64_encode_region):
8769         * fns.c (Fbase64_encode_string):
8770         * fns.c (Fbase64_decode_region):
8771         * frame.c:
8772         * frame.c (frame_matches_frame_spec):
8773         * frame.c (device_matches_device_spec):
8774         * frame.c (next_frame):
8775         * frame.c (previous_frame):
8776         * frame.c (Fnext_frame):
8777         * frame.c (Fprevious_frame):
8778         * frame.c (Fframe_property):
8779         * frame.c (Fset_frame_height):
8780         * frame.c (Fset_frame_size):
8781         * frame.h:
8782         * glyphs.c:
8783         * glyphs.c (if):
8784         * glyphs.c (decode_error_behavior_flag):
8785         * glyphs.c (Fmake_image_instance):
8786         * indent.c (Findent_to):
8787         * intl.c (Fignore_defer_gettext):
8788         * keymap.c (Fkeymapp):
8789         * keymap.c (Flookup_key):
8790         * lread.c:
8791         * lread.c (Fload_internal):
8792         * lread.c (Feval_buffer):
8793         * lread.c (Feval_region):
8794         * macros.c (Fexecute_kbd_macro):
8795         * marker.c (set_marker_internal):
8796         * marker.c (Fset_marker):
8797         * marker.c (set_marker_restricted):
8798         * marker.c (Fcopy_marker):
8799         * marker.c (noseeum_copy_marker):
8800         * menubar.c:
8801         * menubar.c (Fpopup_menu):
8802         * minibuf.c:
8803         * mule-charset.c (Fcharset_name):
8804         * mule-charset.c (Fchar_charset):
8805         * mule-charset.c (Fchar_octet):
8806         * mule-charset.c (Fsplit_char):
8807         * mule-wnnfns.c (Fwnn_open):
8808         * mule-wnnfns.c (Fwnn_dict_comment):
8809         * mule-wnnfns.c (Fwnn_quit_henkan):
8810         * mule-wnnfns.c (Fwnn_word_toroku):
8811         * mule-wnnfns.c (Fwnn_word_sakujo):
8812         * mule-wnnfns.c (Fwnn_word_use):
8813         * mule-wnnfns.c (Fwnn_hindo_set):
8814         * objects.c:
8815         * objects.c (Fmake_color_instance):
8816         * objects.c (Fmake_font_instance):
8817         * print.c (Fwrite_char):
8818         * process.c:
8819         * process.c (mark_process):
8820         * process.c (print_process):
8821         * process.c (get_process_from_usid):
8822         * process.c (Fprocessp):
8823         * process.c (Fprocess_live_p):
8824         * process.c (Fget_process):
8825         * process.c (Fget_buffer_process):
8826         * process.c (get_process):
8827         * process.c (Fprocess_id):
8828         * process.c (Fprocess_name):
8829         * process.c (Fprocess_command):
8830         * process.c (init_process_io_handles):
8831         * process.c (start_process_unwind):
8832         * process.c (Fstart_process_internal):
8833         * process.c (Fopen_multicast_group_internal):
8834         * process.c (Fset_process_window_size):
8835         * process.c (read_process_output):
8836         * process.c (send_process):
8837         * process.c (Fprocess_tty_name):
8838         * process.c (Fset_process_buffer):
8839         * process.c (Fprocess_buffer):
8840         * process.c (Fprocess_mark):
8841         * process.c (set_process_filter):
8842         * process.c (Fset_process_filter):
8843         * process.c (Fprocess_filter):
8844         * process.c (Fprocess_send_region):
8845         * process.c (Fprocess_send_string):
8846         * process.c (exec_sentinel):
8847         * process.c (Fset_process_sentinel):
8848         * process.c (Fprocess_sentinel):
8849         * process.c (status_notify):
8850         * process.c (Fprocess_status):
8851         * process.c (Fprocess_exit_status):
8852         * process.c (process_send_signal):
8853         * process.c (Fprocess_send_eof):
8854         * process.c (deactivate_process):
8855         * process.c (remove_process):
8856         * process.c (Fdelete_process):
8857         * process.c (kill_buffer_processes):
8858         * process.c (Fprocess_kill_without_query):
8859         * process.c (Fprocess_kill_without_query_p):
8860         * rangetab.c:
8861         * rangetab.c (Fget_range_table):
8862         * rangetab.c (Fput_range_table):
8863         * rangetab.c (Fremove_range_table):
8864         * rangetab.c (Fclear_range_table):
8865         * search.c:
8866         * search.c (Fskip_chars_forward):
8867         * search.c (Fskip_chars_backward):
8868         * search.c (Fskip_syntax_forward):
8869         * search.c (Fskip_syntax_backward):
8870         * search.c (search_command):
8871         * search.c (Freplace_match):
8872         * search.c (Fregexp_quote):
8873         * select.c (Fown_selection_internal):
8874         * select.c (Fselection_owner_p):
8875         * select.c (Fselection_exists_p):
8876         * select.c (Fget_selection_internal):
8877         * specifier.c:
8878         * symbols.c:
8879         * symbols.c (Fintern):
8880         * symbols.c (Fintern_soft):
8881         * symbols.c (Funintern):
8882         * symbols.c (Fapropos_internal):
8883         * symbols.c (Fset_default):
8884         * syntax.c:
8885         * syntax.c (Fsyntax_table_p):
8886         * syntax.c (Fcopy_syntax_table):
8887         * syntax.c (Fset_syntax_table):
8888         * syntax.c (Fchar_syntax):
8889         * syntax.c (syntax_match):
8890         * syntax.c (Fmatching_paren):
8891         * syntax.c (Fforward_word):
8892         * syntax.c (scan_lists):
8893         * syntax.c (Fscan_lists):
8894         * syntax.c (Fscan_sexps):
8895         * syntax.c (Fparse_partial_sexp):
8896         * toolbar.c (Fcheck_toolbar_button_syntax):
8897         * tooltalk.doc:
8898         * window.c:
8899         * window.c (Fwindowp):
8900         * window.c (Fwindow_live_p):
8901         * window.c (Fwindow_point):
8902         * window.c (Fdelete_window):
8903         * window.c (Fnext_window):
8904         * window.c (Fprevious_window):
8905         * window.c (Fother_window):
8906         * window.c (window_loop):
8907         * window.c (Fget_lru_window):
8908         * window.c (Fsplit_window):
8909         * window.c (Fenlarge_window):
8910         * window.c (Fenlarge_window_pixels):
8911         * window.c (Fshrink_window):
8912         * window.c (Fshrink_window_pixels):
8913         * window.c (change_window_height):
8914         * window.c (Fwindow_configuration_p):
8915         * window.c (Fcurrent_window_configuration):
8916         * window.h:
8917         * casefiddle.c (casify_object):
8918         * casefiddle.c (Fupcase):
8919         * casefiddle.c (Fdowncase):
8920         * casefiddle.c (Fcapitalize):
8921         * casefiddle.c (Fupcase_initials):
8922         * casefiddle.c (casify_region_internal):
8923         * casefiddle.c (casify_region):
8924         * casefiddle.c (Fupcase_region):
8925         * casefiddle.c (Fdowncase_region):
8926         * casefiddle.c (Fcapitalize_region):
8927         * casefiddle.c (Fupcase_initials_region):
8928         * casefiddle.c (Fupcase_word):
8929         * casefiddle.c (Fdowncase_word):
8930         * casefiddle.c (Fcapitalize_word):
8931         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8932         Replace 0 with '\0' when working with bytes.
8933         Replace initial "(" with "\(" in docstrings.
8934
8935 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8936
8937         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8938
8939         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8940
8941 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8942
8943         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8944
8945 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8946
8947         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8948         correctly.
8949
8950 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8951
8952         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8953         (inhibit_auto_save_session): New variable.
8954         (vars_of_fileio): Declare and initialize them.
8955         * fileio.c (Fdo_auto_save): Don't create session file if
8956         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8957
8958 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8959
8960         * sgiplay.c (play_internal): C++ compilability.
8961         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8962         * callproc.c (Fold_call_process_internal):
8963         Remove unused vars `env', `first'.
8964         * scrollbar.c (update_scrollbar_instance):
8965         #### unused var `current_window'.
8966         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8967         etc. within #ifdef NOT_YET.
8968         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8969         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8970         * specifier.c (specifier_instance):
8971         #### unused var `tag'.
8972         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8973
8974 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8975
8976         * fns.c (Fbutlast):
8977         * fns.c (list_sort):
8978         * fns.c (Ffillarray):
8979         * fns.c (bytecode_nconc2):
8980         * fns.c (Fnconc):
8981         * fns.c (mapcar1):
8982         * fns.c (Fmapconcat):
8983         Be pedantically 64-bit correct.  For the time when someone will
8984         want to have a list with length > 2**32.
8985
8986         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8987         Work around MIPSpro compiler bug.
8988
8989         * process-unix.c (unix_kill_child_process): Add snarky comment.
8990         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8991
8992         * config.h.in: Oops, _getpt ==> _getpty
8993
8994 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8995
8996         * config.h.in:
8997         * regex.c:
8998         Use void*, not char*, as return type of alloca().
8999
9000         * alloc.c (free_marker): Side effect inside assert expression!
9001
9002 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9003
9004         * mule-charset.c (Fset_charset_ccl_program): To check
9005         if the given ccl program is valid, use setup_ccl_program()
9006         instead of CHECK_VECTOR().
9007         (Fmake_charset): Likewise.
9008
9009 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9010
9011         * faces.c (get_extent_fragment_face_cache_index):
9012         Fix cachel.merged_faces memory leak.
9013
9014 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9015
9016         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9017         Reset MSB of octets obtained by DECODE_SJIS
9018         because of the incompatibility with Emacs.
9019         (ccl_driver)<CCL_ENCODE_SJIS>:
9020         Set MSB of octets before passing them to
9021         ENCODE_SJIS because of the incompatibility
9022         with Emacs.
9023
9024 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9025
9026         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9027         (DECLARE_LRECORD): Undo the last change.
9028         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9029
9030 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9031
9032         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9033         the implementation to lrecord_implementations_table.
9034
9035 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9036
9037         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9038         initial value of `lrecord_type_##c_name' and
9039         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9040         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9041         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9042         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9043         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9044
9045 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9046
9047         * miscplay.c (sndcnv8S_2mono):
9048         (sndcnv2monounsigned):
9049         (sndcnvULaw_2linear):
9050         (sndcnv16swap):
9051         Remove implementation-defined behavior.
9052
9053 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9054
9055         * input-method-xlib.c: Warning suppression.
9056
9057 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9058
9059         * mule-ccl.c: Sync up with Emacs 21.0.90.
9060         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9061         Do nothing.
9062         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9063         Likewise.
9064         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9065         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9066         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9067         leading char belongs to official 2-dimensional charset.
9068         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9069         write the given character as is.  Otherwise,
9070         if it is a multibyte char, convert it by
9071         non_ascii_set_charptr_emchar, then write it.
9072         (CCL_WRITE_STRING): Likewise.
9073         (ccl_get_compiled_code): New function.
9074         (setup_ccl_program): When ccl_prog is invalid,
9075         return -1.
9076         (Fregister_code_conversion_map): New function.
9077         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9078
9079         * mule-ccl.h: Sync up with Emacs 21.0.90.
9080         (Fregister_ccl_program): export it.
9081
9082         * redisplay-msw.c (separate_textual_runs):
9083         If ccl program is not valid, don't do ccl conversion.
9084
9085         * redisplay-x.c (separate_textual_runs): Ditto.
9086
9087         * file-coding.c (Fmake_coding_system):
9088         When type is ccl and value is vector, register it
9089         with a proper symbol.  And checks whether the
9090         given ccl program is valid.
9091         (mule_decode): When calling ccl_driver, if src indicates
9092         NULL pointer, set an empty string instead.
9093         (mule_encode): Likewise.
9094
9095 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9096
9097         The following large batch of changes gets us back to a state of
9098         C++ compilability.  Extbyte is now a char, which means that
9099         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9100
9101         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9102
9103         * sound.c (Fplay_sound): Type correctness.
9104
9105         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9106         (x_get_window_property): Type correctness.
9107         (receive_incremental_selection): unsigned char ==> Extbyte
9108         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9109         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9110         (Fx_store_cutbuffer_internal): Type correctness.
9111
9112         * process-unix.c (try_to_initialize_subtty): Type correctness.
9113
9114         * objects-x.c (x_print_color_instance): Type correctness.
9115         (x_print_font_instance): Type correctness.
9116         (x_list_fonts): SExtbyte ==> Extbyte.
9117         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9118         (x_find_charset_font): SExtbyte ==> Extbyte.
9119         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9120         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9121         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9122         Use bufbyte_strcmp.
9123
9124         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9125         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9126         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9127         (BYTE_C0_P): Use bit ops for char-signedness safety.
9128         (BYTE_C1_P): Use bit ops for char-signedness safety.
9129         (CHARSET_BY_LEADING_BYTE):
9130         (CHARSET_BY_ATTRIBUTES):
9131         Always use inline function.
9132         Use type_checking_assert.
9133         Hide chlook.
9134
9135         * mule-charset.c (non_ascii_charptr_copy_char):
9136         Modify to work with both ASCII and non-ASCII characters.
9137         Improve docs and variable names.
9138         Replace over-clever fall-through switch with a simple loop.
9139         (Lstream_get_emchar_1):
9140         Replace over-clever fall-through switch with a simple loop.
9141
9142         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9143         Warning suppression.
9144
9145         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9146         the return value of Lstream_getc, which could be EOF as well.
9147
9148         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9149
9150         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9151         APIs can be used on Extbytes without casts.  Risky!
9152         (SExtbyte): Remove.
9153         (UExtbyte): Remove.
9154
9155         * input-method-xlib.c (XIM_init_device):
9156         Use Xlib.h instead of IntrinsicP.h.
9157         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9158         which will break in X11R7.
9159         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9160         to call XRegisterIMInstantiateCallback with correct types.
9161
9162         * gui-x.c (button_item_to_widget_value): Type correctness.
9163
9164         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9165
9166         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9167         (xbm_instantiate_1): Type correctness.
9168         (BUILD_GLYPH_INST):  Type correctness.
9169
9170         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9171
9172         * file-coding.c:
9173         (decode_coding_sjis):
9174         (decode_coding_big5):
9175         (decode_coding_ucs4):
9176         (decode_coding_utf8):
9177         (decode_coding_iso2022):
9178         (decode_coding_no_conversion):
9179         Make all decoding functions take an Extbyte * arg.
9180         (encode_coding_sjis):
9181         (encode_coding_big5):
9182         (encode_coding_ucs4):
9183         (encode_coding_utf8):
9184         (encode_coding_iso2022):
9185         (encode_coding_no_conversion):
9186         Make all encoding functions take a Bufbyte * arg.
9187         Use size_t instead of unsigned int for memory sizes.
9188         Only cast to unsigned char whenever dereferencing Extbyte *.
9189
9190         * doc.c (unparesseuxify_doc_string): Type correctness.
9191
9192         * console-x.c (split_up_display_spec):
9193         Rewrite without using details of internal string representation.
9194         (x_semi_canonicalize_device_connection): Type correctness.
9195
9196         * config.h.in:
9197         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9198         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9199         (HAVE_XFREE386): Removed.
9200
9201         * buffer.h (DEC_CHARPTR): `const' correctness.
9202         (bufbyte_strcmp): New.
9203         (bufbyte_memcmp): New.
9204
9205         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9206
9207         * buffer.h (XCHAR_OR_CHAR_INT):
9208         Always use inline function.
9209         Remove redundant type checking assert() - XINT will abort quite nicely.
9210
9211 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9212
9213         * search.c (Freplace_match): Set newtext to an empty string.
9214
9215 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9216
9217         * s/decosf1-3.h: Remove #include of stropts.h
9218         * s/ptx.h: Remove #include of stropts.h
9219         * s/usg5-4.h: Remove #include of stropts.h
9220         * sysproc.h:
9221         * config.h.in:
9222         Use stropts.h, not sys/stropts.h.
9223         Use strtio.h, not sys/strtio.h.
9224
9225 2000-10-04  Martin Buchholz <martin@xemacs.org>
9226
9227         * XEmacs 21.2.36 is released.
9228
9229 2000-09-21  Andy Piper  <andy@xemacs.org>
9230
9231         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9232         changes still involve copying the widget tree.
9233         (update_widget_face): make sure a change is register in the widget
9234         tree. Call update_tab_widget_face appropriately.
9235         (update_tab_widget_face): ditto.
9236         (x_tab_control_redisplay): make sure non-structural changes still
9237         involve copying the widget tree.
9238
9239 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9240
9241         * lread.c (locate_file): Check the path element is non-nil.
9242
9243 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9244
9245         * lisp.h: Warning suppression for SCO compilers.
9246
9247         * redisplay-tty.c (reset_tty_modes): Fix crash.
9248         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9249
9250 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9251
9252         Big signal/process handling overhaul.  Bugs fixed:
9253         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9254         M-x comint-kill-subjob should work for both values nil and t of
9255         process-connection-type. It was broken on most platforms.
9256         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9257         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9258         * process-unix.c: Signal/Process handling overhaul.
9259         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9260         (allocate_pty): Use all available modern methods of allocating
9261         ptys, falling back to old style BSD allocation as a last resort.
9262         Use allegedly more secure Unix98 pty allocation by default.
9263         (allocate_pty_the_old_fashioned_way): New. the last resort.
9264         (unix_create_process): Push ptem, ldterm, ttcompat where
9265         available.  Autoconfiscate.
9266         (try_to_initialize_subtty): New.
9267         (unix_kill_child_process): Proper signal handling for ptys on most
9268         platforms, using special knowledge of AIX, BSD, etc...
9269         (unix_create_process): Always disconnect_controlling_terminal() for
9270         subprocesses, whether using ptys or not.
9271         * process.h: Remove old getpt-dependent PTY code.
9272         * process.c (Fprocess_send_signal): New, obvious generic function.
9273         (decode_signal): New.
9274         (Finterrupt_process):
9275         (Fkill_process):
9276         (Fquit_process):
9277         (Fstop_process):
9278         (Fcontinue_process):
9279         (Fsignal_process): Use decode_signal.
9280         (process_send_signal):
9281         Many docstring corrections.
9282         Allow any signal to be sent to a process object.
9283         * config.h.in: Add symbols for big signal/process overhaul.
9284         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9285         * sysproc.h: Include process-related headers, where available:
9286         sys/stropts.h sys/strtio.h pty.h libutil.h
9287         * s/irix4-0.h:
9288         * s/irix5-0.h:
9289         * s/cygwin32.h:
9290         * s/gnu.h:
9291         * s/linux.h:
9292         * s/hpux.h:
9293         * s/aix3-1.h:
9294         Remove old S&M pty stuff.
9295         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9296         * systty.h: Simplify cpp hackery, improve comments.
9297         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9298
9299         * editfns.c (Fformat_time_string):
9300         Be a little more paranoid with the return value of ctime.
9301
9302         * fileio.c (check_executable):
9303         (check_writable):
9304         Use symbolic constants X_OK, W_OK.
9305
9306         * console-x.c (split_up_display_spec): Fix a warning.
9307
9308 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9309
9310         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9311         * ntproc.c (sys_spawnve): make_string ==> build_string
9312         Small clarity improvements.
9313
9314 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9315
9316         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9317
9318         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9319
9320         * config.h.in (HAVE_STRCASECMP): Remove.
9321
9322 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9323
9324         * redisplay-output.c (redisplay_output_pixmap):
9325         Cleaner and possibly more 64-bit correct code.
9326
9327 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9328
9329         * dumper.c (pdump_load_finish): move restoration of
9330         `noninteractive1' to emacs.c (main_1).
9331         * emacs.c (main_1): protect LISP-visible command-line flags
9332         from pdump_load().
9333
9334 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9335
9336         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9337         DUMP_TARGET instead of literal program names.
9338
9339 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9340
9341         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9342
9343 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9344
9345         * *: Spelling mega-patch
9346
9347 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9348
9349         * fns.c (bad_bad_turtle):
9350         Delete "Eek!" comment, since we fixed the bug to which it refers.
9351
9352 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9353
9354         * alloca.c: Replace REGISTER with register.
9355
9356 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9357
9358         * file-coding.c (ucs_to_char): Use countof.
9359
9360 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9361
9362         * file-coding.c: (ucs_to_char):
9363         (complex_vars_of_file_coding):
9364         Use countof instead of sizeof.
9365         Use CHECK_NATNUM instead of CHECK_INT.
9366
9367         * sysdep.c (strcasecmp): Remove.
9368         * device-x.c (ascii_strcasecmp): New.
9369         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9370         Avoid using non-standard non-portable strcasecmp.
9371
9372 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9373
9374         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9375         * font-lock.c: remove reference to emacsfns.h.
9376         * search.c: small doc improvement.
9377         * event-Xt.c: correct file names in comments.
9378         * console-x.h Correct file names in comments.
9379         * frame.c: Correct file names in comments.
9380         * event-stream.c: remove Energize from comments.
9381
9382 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9383
9384         * symeval.h (DEFERROR_STANDARD):
9385         (DEFERROR):
9386         (DEFSYMBOL):
9387         (DEFSYMBOL_NO_DUMP):
9388         (DEFSYMBOL_MULTIWORD_PREDICATE):
9389         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9390         (DEFKEYWORD):
9391         The construct &##name is not sensible C.
9392         Fixes compilation errors with Unixware native compiler.
9393
9394 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9395
9396         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9397         (next_frame_internal): Removed.  We now just have next_frame.
9398         (next_frame):
9399         Write a simpler and cleaner one-pass algorithm.
9400         Remove called_from_delete_device arg and #ifdefed-out code.
9401         (previous_frame):
9402         Renamed from prev_frame.  Update callers.
9403         Cleaned up to have an analogous implementation to next_frame.
9404         (other_visible_frames_internal): Remove the
9405         called_from_delete_device bogus arg, and hence, remove this
9406         function.  Just use other_visible_frames().
9407
9408         * window.c (Fnext_window):
9409         Prettify docstring.
9410         Since next_frame() is guaranteed to return a frame, remove check
9411         for nil inserted in previous patch.
9412         (Fprevious_window):
9413         Prettify docstring.
9414         Make code look more like Fnext_window.
9415         (window_loop):
9416         Respect the `console' arg when iterating through windows.
9417         Fixes bug: (get-buffer-window buffer t device) not respecting
9418         the `device' arg.
9419         This function needs more work, as others have pointed out.
9420
9421         * frame.h: Rename prev_frame to previous_frame.
9422         device_matches_console_spec no longer takes a `frame' arg.
9423
9424         * s/gnu.h:
9425         * s/linux.h:
9426         * s/hpux.h:
9427         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9428         From "Golubev I. N." <gin@mo.msk.ru>.
9429
9430         * make-src-depend: Fix typo.
9431
9432 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9433
9434         * window.c (Fnext_window):
9435         next_frame() might return nil, not a frame.
9436         Fixes this crash:
9437         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9438
9439         * frame.c (next_frame_internal):
9440         We've passed a frame if we've passed its device.
9441         Fixes this crash:
9442         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9443 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9444
9445 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9446
9447         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9448         Allow option to suppress accelerators in menu/dialog items.
9449         (populate_or_checksum_helper): Pass dialog title through above.
9450
9451 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9452
9453         * event-msw.c (mswindows_key_to_emacs_keysym):
9454         Add "pause" key, fix "menu" key.
9455
9456 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9457
9458         * eval.c (reinit_vars_of_eval):
9459         Increase max_lisp_eval_depth to 1000,
9460         required for thai-xtis.el to byte-compile under some circumstances.
9461
9462 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9463
9464         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9465         From Kenichi Handa.
9466
9467 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9468
9469         * make-src-depend: Make the generated Makefiles smaller.
9470
9471         * s/hpux.h (SETUP_SLAVE_PTY):
9472         Provide a %d in the format string for the errno argument.
9473
9474         * editfns.c (Ftemp_directory):
9475         Warning fix.
9476         Avoid buffer overrun on very long file name.
9477
9478         * input-method-xlib.c (XIM_init_device):
9479         6th parameter of XRegisterIMInstantiateCallback has different
9480         pointer types on different OSes, so simply cast to (void *).
9481
9482         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9483
9484         * sysdll.c (dll_open):
9485         shl_load will hang hard if passed a NULL filename.
9486         Simply return NULL for compatibility with dlopen.
9487         * sysdll.c: Conform to XEmacs coding standards.
9488
9489         * sysdep.c (get_pty_max_bytes):
9490         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9491
9492 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9493
9494         * tooltalk.c: Add #include <syssignal.h>
9495
9496 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9497
9498         * s/hpux.h: Don't use undefined function sigunblock().
9499
9500 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9501
9502         * config.h.in: Add HAVE_BALLOON_HELP.
9503         * emacs.c: Use HAVE_BALLOON_HELP.
9504         * Makefile.in.in (x_objs):
9505         Make Balloon Help conditional on finding shape.h.
9506
9507 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9508
9509         * syntax.c (regex_emacs_buffer_p): New variable.
9510         * syntax.h (regex_emacs_buffer_p): extern.
9511         * search.c (looking_at_1):
9512         (string_match_1):
9513         (fast_string_match):
9514         (search_buffer): Set regex_emacs_buffer_p.
9515         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9516         when before_dot, at_dot, after_dot.
9517
9518 2000-08-23  Andy Piper  <andy@xemacs.org>
9519
9520         * gui-x.c (popup_selection_callback): Only set action_occurred
9521         when we really have an image instance.
9522         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9523
9524 2000-08-23  Andy Piper  <andy@xemacs.org>
9525
9526         * gui-msw.c (mswindows_handle_gui_wm_command): set
9527         action_occurred.
9528         * gui-x.c (popup_selection_callback): ditto.
9529
9530         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9531         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9532         (struct Lisp_Image_Instance): add action_occurred flag.
9533
9534         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9535         (image_instance_changed): ditto.
9536         (reset_frame_subwindow_instance_cache): only unmap windows - do
9537         not remove them from the cache also.
9538
9539         * glyphs-widget.c (tab_control_update): better debug.
9540         (progress_gauge_update): ditto.
9541         (layout_update): ditto.
9542         (layout_instantiate): ditto.
9543         (tab_control_order_only_changed): cope with null pending items.
9544
9545         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9546         debug. Force selection of an item when an action occurred. Cope
9547         with null pending_items.
9548         (mswindows_progress_gauge_redisplay): better debug.
9549         * glyphs-x.c (x_tab_control_redisplay): ditto.
9550
9551         * redisplay.c (redisplay_frame): reset the frame cache if the
9552         frame is garbaged.
9553
9554         * window.c (Fset_window_configuration): potentially re-enable
9555         frame cache reset.
9556         (window_unmap_subwindows): need to finalize instances here since
9557         it is only used in mark_window_as_deleted.
9558
9559 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9560
9561         * nas.c (SndOpenDataForReading):
9562         nas.c (WaveOpenDataForReading):
9563         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9564         Somehow escaped from the 2000-08-14 patch.
9565
9566 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9567
9568         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9569         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9570
9571 2000-08-21  Andy Piper  <andy@xemacs.org>
9572
9573         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9574         window if it is not already displayed.
9575
9576         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9577         it is not already displayed.
9578
9579         * window.c (Fset_window_configuration): don't reset the frame
9580         cache.
9581
9582         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9583         instances from the frame cache if we are actually finalizing them.
9584         (reset_frame_subwindow_instance_cache): reset frame cache only
9585         after unmapping everything.
9586         (map_subwindow): set displayed flag after mapping.
9587
9588 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9589
9590         * data.c (indirect_function):
9591         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9592
9593         * eval.c (function_argcount):
9594         Use original function when signaling errors.
9595
9596 2000-08-18  Andy Piper  <andy@xemacs.org>
9597
9598         * frame.c (delete_frame_internal): use new
9599         free_frame_subwindow_instances name.
9600
9601         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9602         (add_tab_item): make return type correct.
9603         (mswindows_tab_control_instantiate): assert index of tab.
9604         (mswindows_tab_control_redisplay): Re-code to use
9605         gui_item_equal_sans_selected and gui_item_list_find_selected.
9606
9607         * glyphs-widget.c (tab_control_update): Correct comment.
9608
9609         * window.c (window_unmap_subwindows): use new
9610         unmap_subwindow_instance_cache_mapper.
9611         (window_unmap_subwindows_cache_mapper): deleted.
9612         (Fset_window_configuration): comparisons should now be with
9613         EQ. Preserve the subwindow instance cache across configuration
9614         changes.
9615         (allocate_window): ditto.
9616         (make_dummy_parent): ditto.
9617
9618         * glyphs.c (free_frame_subwindow_instances): rename from
9619         free_frame_subwindow_instance_cache. finalize all instances rather
9620         than just those in the display cache.
9621         (finalize_all_subwindow_instances): walk windows unmapping and
9622         finalizing subwindows.
9623         (unmap_subwindow_instance_cache_mapper): moved from
9624         window.c. Allow finalization as well as unmapping.
9625
9626         * gui.c (gui_item_list_find_selected): new function.
9627
9628         * gui.h (gui_item_list_find_selected): declare.
9629
9630         * glyphs-x.c (x_tab_control_redisplay): pick tab
9631         explicitly. Re-code to use gui_item_equal_sans_selected and
9632         gui_item_list_find_selected.
9633
9634         * glyphs-x.h: add lwlib-utils.h
9635
9636         * buffer.c (Frecord_buffer): undo previous change.
9637
9638 2000-08-09  Vin Shelton  <acs@xemacs.org>
9639
9640         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9641         possible.  Create temporary files more securely.  The patch was
9642         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9643         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9644         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9645         for details.
9646
9647 2000-08-07  Ben Wing  <ben@xemacs.org>
9648
9649         * getloadavg.c: remove duplicate (and windows-breaking)
9650         includes of fcntl.h and sys/file.h.
9651
9652         * nt.c: remove duplicate getloadavg() definition.
9653
9654         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9655         encodings.
9656
9657 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9658
9659         * eval.c (function_argcount): If function needs to be autoloaded
9660         actually use the loaded definition.
9661         GCPRO function.
9662
9663 2000-08-05  Ben Wing  <ben@xemacs.org>
9664
9665         * getloadavg.c: add prototype for getloadavg().  remove
9666         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9667         of the code).  remove duplicate header includes.
9668
9669         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9670
9671         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9672         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9673         useful load average.
9674
9675         * alloc.c (reinit_alloc_once_early): removed references to
9676         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9677         the lisp vars are the only things referencing the malloc_sbrk_*
9678         vars, and they were already if 0'd out.  these vars only exist
9679         in the older malloc.c, which is basically unused, and they're
9680         only for informational purposes.
9681
9682         * m\*.h: removed useless VIRT_ADDR_VARIES.
9683
9684         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9685
9686 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9687
9688         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9689         color if the image is a mono pixmap.
9690
9691 2000-07-30  Ben Wing  <ben@xemacs.org>
9692
9693         * Makefile.in.in (release):
9694         Remove stray @.
9695
9696         * buffer.c (directory_is_current_directory):
9697         * dired-msw.c (mswindows_get_files):
9698         * dired.c:
9699         * dired.c (Fdirectory_files):
9700         * dired.c (file_name_completion_stat):
9701         * dired.c (Ffile_attributes):
9702         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9703         preprocessor tricks, to avoid problems on some machines
9704         (e.g. SCO).
9705
9706         * callproc.c (egetenv): GC docs.
9707
9708         * console-msw.h:
9709         * console-msw.h (struct mswindows_dialog_id):
9710         * lrecord.h (lrecord_type):
9711         New object for use with MSW dialogs.
9712
9713         * console.h (struct console_methods):
9714         New enable/disable frame methods, for proper modal dialogs.
9715
9716         * device-msw.c (msprinter_default_printer): Fix to follow
9717         proper Mule conventions.
9718
9719         * device-msw.c:
9720         * device-msw.c (signal_open_printer_error):
9721         * device-msw.c (msprinter_init_device):
9722         * device-msw.c (ensure_not_printing):
9723         * device-msw.c (plist_get_margin):
9724         * device-msw.c (Fmsprinter_select_settings):
9725         * device-msw.c (finalize_devmode):
9726         * device-msw.c (Fmsprinter_settings_despecialize):
9727         * device-msw.c (signal_enum_priner_error):
9728         * extents.c (decode_extent):
9729         * extents.c (decode_map_extents_flags):
9730         * extents.c (decode_extent_at_flag):
9731         * extents.c (Fextent_at):
9732         * extents.c (Fextents_at):
9733         * extents.c (symbol_to_glyph_layout):
9734         [[[[2]]]] Use structured errors.
9735
9736         * dialog-msw.c:
9737         * dialog-msw.c (mswindows_is_dialog_msg):
9738         * dialog-msw.c (mark_mswindows_dialog_id):
9739         * dialog-msw.c (dialog_proc):
9740         * dialog-msw.c (handle_question_dialog_box):
9741         * dialog-msw.c (syms_of_dialog_mswindows):
9742         Define new object to clean up marking; use it as a dialog identifier.
9743         Call new delete-dialog-box-hook.
9744
9745         * dialog-x.c (dbox_selection_callback):
9746         * dialog-x.c (dbox_descriptor_to_widget_value):
9747         * dialog-x.c (x_make_dialog_box_internal):
9748         Call new delete-dialog-box-hook.
9749         Return an id.
9750
9751         * dialog.c:
9752         * dialog.c (syms_of_dialog):
9753         * dialog.c (vars_of_dialog):
9754         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9755
9756         * eval.c:
9757         * eval.c (signal_call_debugger):
9758         when noninteractive, output stack traces on the console instead
9759         of in a (never-seen) buffer.
9760
9761         * eval.c (signal_type_error):
9762         * eval.c (invalid_argument_2):
9763         * lisp.h:
9764         new funs for use w/structured errors.
9765
9766         * event-Xt.c:
9767         * event-Xt.c (x_to_emacs_keysym):
9768         * event-Xt.c (describe_event):
9769         * event-Xt.c (emacs_Xt_event_handler):
9770         * event-Xt.c (vars_of_event_Xt):
9771         * event-msw.c:
9772         * event-msw.c (mswindows_wnd_proc):
9773         * event-msw.c (vars_of_event_mswindows):
9774         rename {x,mswindows}-debug-events to debug-{}-events for
9775         consistency with other debug-foo variables.
9776
9777         * event-stream.c:
9778         document next-event more clearly.
9779
9780         * fileio.c (Ffile_name_directory):
9781         * fileio.c (Ffile_name_nondirectory):
9782         * fileio.c (Funhandled_file_name_directory):
9783         * fileio.c (file_name_as_directory):
9784         * fileio.c (Ffile_name_as_directory):
9785         * fileio.c (directory_file_name):
9786         * fileio.c (Fdirectory_file_name):
9787         * fileio.c (Fmake_temp_name):
9788         * fileio.c (Ffile_truename):
9789         * fileio.c (Fsubstitute_in_file_name):
9790         * fileio.c (expand_and_dir_to_file):
9791         * fileio.c (barf_or_query_if_file_exists):
9792         * fileio.c (check_executable):
9793         * fileio.c (Ffile_exists_p):
9794         * fileio.c (Ffile_writable_p):
9795         * fileio.c (Ffile_directory_p):
9796         * fileio.c (Ffile_regular_p):
9797         * fileio.c (Ffile_modes):
9798         * fileio.c (Ffile_newer_than_file_p):
9799         * fileio.c (Fverify_visited_file_modtime):
9800         * fileio.c (Fset_visited_file_modtime):
9801         * fileio.c (auto_save_1):
9802         (1). (2).
9803         fix up gcpro's.
9804
9805         * frame-msw.c:
9806         * frame-msw.c (mswindows_init_frame_1):
9807         * frame-msw.c (mswindows_enable_frame):
9808         * frame-msw.c (error_frame_unsizable):
9809         * frame-msw.c (msprinter_init_frame_1):
9810         * frame-msw.c (msprinter_init_frame_3):
9811         * frame-msw.c (console_type_create_frame_mswindows):
9812         (2).
9813         implement new enable/disable frame methods.
9814
9815         * frame-x.c:
9816         * frame-x.c (x_enable_frame):
9817         * frame-x.c (console_type_create_frame_x):
9818         implement new enable/disable frame methods.
9819
9820         * frame.c:
9821         * frame.c (Fdisable_frame):
9822         * frame.c (syms_of_frame):
9823         * frame.h (struct frame):
9824         implement new enable/disable frame methods/functions.
9825
9826         * general-slots.h:
9827         add initial-focus.
9828
9829         * glyphs-msw.c (mswindows_widget_instantiate):
9830         comment that initial-focus should be implemented.
9831
9832         * glyphs-widget.c:
9833         * glyphs-widget.c (check_valid_instantiator):
9834         * glyphs-widget.c (check_valid_orientation):
9835         * glyphs-widget.c (check_valid_tab_orientation):
9836         * glyphs-widget.c (check_valid_justification):
9837         * glyphs-widget.c (check_valid_border):
9838         * glyphs-widget.c (check_valid_callback):
9839         * glyphs-widget.c (check_valid_int_or_function):
9840         * glyphs-widget.c (check_valid_string_or_vector):
9841         * glyphs-widget.c (check_valid_item_list_1):
9842         * glyphs-widget.c (widget_validate):
9843         * glyphs-widget.c (combo_box_validate):
9844         * glyphs-widget.c (widget_instantiate):
9845         * glyphs-widget.c (syms_of_glyphs_widget):
9846         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9847         * glyphs-widget.c (image_instantiator_combo_box):
9848         * glyphs-widget.c (image_instantiator_scrollbar):
9849         * glyphs-widget.c (image_instantiator_tab_control):
9850         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9851         (2).
9852         support (unimplemented) keyword initial-focus.
9853         reindent long macros.
9854
9855         * glyphs-x.c (x_redisplay_widget):
9856         * glyphs-x.c (x_button_instantiate):
9857         * glyphs-x.c (x_button_redisplay):
9858         * glyphs-x.c (x_progress_gauge_instantiate):
9859         * glyphs-x.c (x_edit_field_instantiate):
9860         * glyphs-x.c (x_combo_box_instantiate):
9861         * glyphs-x.c (x_tab_control_instantiate):
9862         * glyphs-x.c (x_label_instantiate):
9863         * gui-x.c:
9864         * gui-x.c (button_item_to_widget_value):
9865         * gui-x.c (gui_items_to_widget_values_1):
9866         * gui-x.c (gui_item_children_to_widget_values):
9867         * gui-x.c (gui_items_to_widget_values):
9868         * gui-x.h:
9869         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9870         add new flag to gui-parsing routines to indicate whether
9871         accelerator specs should be supported.
9872
9873         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9874
9875         * glyphs.h (struct Lisp_Image_Instance):
9876         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9877         add initial-focus flag.
9878
9879         * gui.c:
9880         * gui.c (syms_of_gui):
9881         * gui.c (vars_of_gui):
9882         clean up menu-no-selection-hook.
9883
9884         * gui.h:
9885         support delete-dialog-box-hook.
9886
9887         * lread.c (Fload_internal):
9888         * lread.c (locate_file_in_directory_mapper):
9889         (1).
9890
9891         * lrecord.h:
9892         * lrecord.h (struct toolbar_button):
9893         * lrecord.h (syms_of_toolbar):
9894         document how to create a new object.
9895
9896         * menubar-msw.c (mswindows_char_is_accelerator):
9897         may be called on frames w/o menus.
9898
9899         * menubar.c (vars_of_menubar):
9900         clean up :filter docs.
9901
9902         * nt.c (readdir):
9903         * ntproc.c:
9904         (1).
9905
9906         * process-nt.c:
9907         * process-nt.c (validate_signal_number):
9908         * process-nt.c (signal_cannot_launch):
9909         * process-nt.c (nt_create_process):
9910         * process-nt.c (nt_send_process):
9911         * process-nt.c (nt_kill_child_process):
9912         * process-nt.c (nt_open_network_stream):
9913         * process-nt.c (syms_of_process_nt):
9914         (2).
9915         delete quote-handling.  call new lisp code that does it better.
9916
9917         * process-unix.c (connect_to_file_descriptor):
9918         * process-unix.c (allocate_pty):
9919         * process-unix.c (unix_send_process):
9920         * process-unix.c (unix_kill_child_process):
9921         * process-unix.c (unix_open_network_stream):
9922         * process-unix.c (unix_open_multicast_group):
9923         (1). (2).
9924
9925         * process.c:
9926         * process.c (Fstart_process_internal):
9927         (2).  need to canonicalize process path even if absolute.
9928
9929         * select-msw.c (symbol_to_ms_cf):
9930         * select-msw.c (ms_cf_to_symbol):
9931         * select-msw.c (cf_is_autofreed):
9932         * select-msw.c (mswindows_destroy_selection):
9933         * select.c:
9934         * select.c (syms_of_select):
9935         * select.h:
9936         support dibv5, fix bugs. (from Mike Alexander)
9937
9938         * select.c (Fget_selection_internal):
9939         * select.c (select_convert_out):
9940
9941         * sysdep.c:
9942         * sysdep.c (xemacs_stat):
9943         renamed.
9944
9945         * sysdep.c (mkdir):
9946         * sysdep.c (rmdir):
9947         but keep original stat() here because we provide encapsulation
9948         around these funs.
9949
9950         * sysfile.h:
9951         * sysfile.h (fstat):
9952         remove stat garbage.
9953
9954         * syswindows.h:
9955         fix X/MSW conflict.
9956         don't include tchar.h.  it's inappropriate because it makes
9957         compile-time distinctions when we want runtime distinctions.
9958         (we provide our own tchar replacements)
9959
9960         * toolbar.c:
9961         use default object printer for toolbar-button.
9962
9963         * unexcw.c:
9964         make sure we don't encapsulate.
9965
9966         * window.c (vars_of_window):
9967         emphasize that temp-buffer-show-hook is obsolete.
9968
9969 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9970
9971         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9972         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9973
9974         * events.c (Fevent_timestamp_lessp):
9975         Not 64-bit clean.  Use EMACS_INT, not int.
9976
9977 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9978
9979         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9980         unsigned int and changed the last enum to
9981         lrecord_type_last_built_in_type.
9982         (lrecord_implementations_table): changed prototype to know how
9983         long the array is supposed to be.
9984         (lrecord_type_count): new unsigned int to keep track of the
9985         current number of lisp lrecord types.
9986         (DEFINE_EXTERNAL_LRECORD):
9987         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9988         dynamic-modules to declare new lisp types. They are the same
9989         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9990         int for each new type, and increment lrecord_type_count by 1.
9991
9992         * alloc.c (lrecord_implementations_table): Changed to reference
9993         lrecord_type_last_built_in_type for the size of the array.
9994         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9995
9996 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9997
9998         * glyphs.h (check_valid_item_list): Renamed from
9999         check_valid_item_list_1.
10000
10001 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10002
10003         * select.c (Qselect_coerce): New.
10004         * select.c (Vselection_coercion_alist): New.
10005         * select.c (syms_of_select): Declare.
10006         * select.c (get-selection-internal): Use it.
10007         Use the new select-coerce functionality.
10008
10009         * select.c (select_coerce): New.
10010         * select.h (select_coerce): Declare.
10011         New function to coerce one type of data into another.
10012
10013 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10014
10015         * callproc.c (Fcall_process_internal):
10016         (Fcall_process_internal):
10017         * process-unix.c (unix_create_process):
10018         Save and restore the value of errno, so that error messages are accurate.
10019
10020 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10021
10022         * elhash.c (print_hash_table):
10023         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10024         Prettify docstrings and indentation.
10025
10026 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10027
10028         * window.c (Fwindow_pixel_edges): Subtract frame border and
10029         gutter size.
10030
10031 2000-07-31  Andy Piper  <andy@xemacs.org>
10032
10033         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10034         will acknowledge the change.
10035
10036         * glyphs.h: declare tab_control_order_only_changed.
10037
10038         * glyphs-x.c (x_tab_control_redisplay): use
10039         tab_control_order_only_changed.
10040
10041         * glyphs-widget.c (tab_control_order_only_changed): new function.
10042
10043         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10044         tab_control_order_only_changed.
10045
10046         * gui.c (gui_item_equal_sans_selected): new function.
10047         (gui_item_equal): use it.
10048
10049         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10050         :properties in favor of :items..
10051
10052         * glyphs-widget.c (check_valid_item_list): rename from
10053         check_valid_item_list_1.
10054         (check_valid_item_list_1): renamed.
10055         (combo_box_validate): deprecate :properties in favor of :items.
10056         (widget_instantiate): ditto.
10057         (tab_control_update): ditto.
10058         (image_instantiator_combo_box): ditto.
10059         (image_instantiator_tree_view): ditto.
10060         (image_instantiator_tab_control): ditto.
10061         (layout_post_instantiate): remove dead code.
10062
10063         * print.c (debug_print_no_newline): only write to debugger if in
10064         WIN32_NATIVE.
10065
10066         * elhash.c (Fmake_hash_table): update doc string.
10067
10068         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10069         messages whilst in GC. This at least stops XEmacs crashing but has
10070         the potential for wierd behaviour.
10071
10072 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10073
10074         * config.h.in:
10075         Make existence of s&m files optional.
10076
10077         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10078         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10079         * s/gnu.h: Remove HAVE_GETLOADAVG.
10080         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10081         * s/sol2.h: Remove HAVE_GETLOADAVG.
10082         * lisp.h: Remove getloadavg() declaration.
10083         * fns.c:
10084         Include <sys/loadavg.h> if available.
10085         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10086         * config.h.in:  Group together getloadavg()-related macros.
10087         Use only configure-time tests to detect getloadavg().
10088
10089 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10090
10091         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10092
10093 2000-07-25  Andy Piper  <andy@xemacs.org>
10094
10095         * syswindows.h: add tchar.h for native builds.
10096
10097         * frame.c (syms_of_frame): remove set-glyph-image.
10098
10099         * general-slots.h: add Qset_glyph_image.
10100
10101         * glyphs-widget.c (layout_update): add domain arg to
10102         set-glyph-image.
10103         (syms_of_glyphs_widget): remove set-glyph-image.
10104
10105 2000-07-23  Ben Wing  <ben@xemacs.org>
10106
10107         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10108         Vpopup_frame_list.
10109
10110 2000-07-22  Andy Piper  <andy@xemacs.org>
10111
10112         * symsinit.h: add syms_of_win32().
10113
10114         * gui-msw.c (syms_of_gui_mswindows): remove
10115         Fmswindows_shell_execute.
10116         (Fmswindows_shell_execute): moved to win32.c.
10117
10118         * emacs.c (main_1): add syms_of_win32 ().
10119
10120         * win32.c (init_potentially_nonexistent_functions): rewrite in
10121         compiler-friendly terms.
10122         (Fmswindows_shell_execute): move here from gui-msw.c.
10123         (syms_of_win32): new.
10124
10125         * device-msw.c (Fmswindows_printer_list): clean up args to
10126         EnumPrinters.
10127         Don't include tchar under cygwin or mingw.
10128         (msprinter_default_printer): make cygwin-friendly.
10129
10130 2000-07-21  Andy Piper  <andy@xemacs.org>
10131
10132         * glyphs-widget.c (image_instantiator_tree_view): use tab
10133         control's update function.
10134         (layout_property): new function. Retrieve items.
10135
10136         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10137         function. Re-populate the tree view from the pending items.
10138
10139         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10140         is designated the parent if the domain is an image instance. This
10141         is needed so that dirtiness can be cascade up the hierarchy and
10142         thus for layout children to be redisplayed correctly.
10143         (allocate_image_instance): rename glyph -> parent.
10144
10145         * redisplay.h: change redisplay_output_layout signature.
10146
10147         * redisplay-msw.c (mswindows_output_display_block): use domain
10148         arg.
10149
10150         * redisplay-x.c (x_output_display_block): use domain arg.
10151
10152 2000-07-10  Andy Piper  <andy@xemacs.org>
10153
10154         * window.c (Fset_window_configuration): add comment.
10155
10156         * redisplay-output.c (compare_runes):
10157         (redisplay_output_subwindow): redisplay rather than update subwindow.
10158         (redisplay_output_layout): ditto.
10159
10160         * redisplay-msw.c (mswindows_frame_output_end):
10161         (mswindows_frame_output_end): make defer window pos optional.
10162
10163         * lisp.h: add Flast.
10164
10165         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10166         normalize method. Change update method to be for changed
10167         instantiators. Add redisplay method. Change signature of layout
10168         method.
10169         (struct Lisp_Image_Instance): add instantiator.
10170         (IMAGE_INSTANCE_INSTANTIATOR): new.
10171         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10172         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10173         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10174
10175         * glyphs.c:
10176         (find_instantiator_differences): new function.
10177         (Fset_instantiator_property): new convenience function.
10178         (check_image_instance_structure): strictly check for vector
10179         instantiators.
10180         (normalize_image_instantiator): make non-static.
10181         (instantiate_image_instantiator): pass on dest_mask and use new
10182         signatures for image_instance_layout and friends.
10183         (mark_image_instance): mark the instantiator. Mark the subwindow
10184         face not the widget face.
10185         (image_instance_equal): add instantiator.
10186         (image_instance_hash): ditto.
10187         (allocate_image_instance): ditto.
10188         (Fset_image_instance_property): removed.
10189         (Fimage_instance_file_name): ditto.
10190         (Fcolorize_image_instance): ditto.
10191         (image_instance_layout): add offsets to be set.
10192         (update_image_instance): new function. update an image instance
10193         from its changed instantiator.
10194         (inherit_normalize): add dest_mask.
10195         (xbm_normalize): ditto.
10196         (xface_normalize): ditto.
10197         (xpm_normalize): ditto.
10198         (text_update): set_property -> update.
10199         (image_instantiate): use the glyph identity as a hash key, not the
10200         instantiator.
10201         (glyph_width): use new image_instance_layout signature.
10202         (glyph_ascent): ditto.
10203         (glyph_descent): ditto.
10204         (glyph_height): ditto.
10205         (glyph_query_geometry): ressurrect.
10206         (glyph_layout): ditto.
10207         (redisplay_subwindow): update -> redisplay.
10208         (syms_of_glyphs): add Fset_instantiator_property.
10209         (image_instantiator_format_create): set_property -> update.
10210
10211         * glyphs-x.c:
10212         (autodetect_normalize): add dest_maks to signature.
10213         (x_redisplay_subwindow): update -> redisplay.
10214         (x_redisplay_widget): ditto.
10215         (x_button_redisplay): ditto.
10216         (x_progress_gauge_redisplay): ditto.
10217         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10218         stacking order.
10219         (console_type_create_glyphs_x): update -> redisplay.
10220         (image_instantiator_format_create_glyphs_x): ditto.
10221
10222         * glyphs-widget.c:
10223         (check_valid_instantiator): disallow glyphs in the instantiator,
10224         they must now be vectors.
10225         (check_valid_instantiator_list): ditto.
10226         (glyph_instantiator_to_glyph): use internal symbol rather than
10227         intern.
10228         (widget_update): renamed from widget_set_property. Call cascaded
10229         update methods.
10230         (redisplay_widget): renamed from update_widget.
10231         (widget_layout): image_instance_layout now takes position as well
10232         as size.
10233         (widget_normalize): ditto.
10234         (widget_instantiate): ditto.
10235         (tab_control_query_geometry) ditto.:
10236         (tab_control_update): renamed from tab_control_set_property.
10237         (progress_gauge_update): set_property -> update.
10238         (layout_normalize): rewrite so that child instantiators are
10239         normalized also.
10240         (layout_update): new function. Create glyphs from the normalized
10241         children and cope with any other layout keywords. We do not
10242         instantiate children here that will be take care of by
10243         redisplay_output_layout.
10244         (layout_instantiate): call layout_update and not much else.
10245         (layout_post_instantiate): not sure whether this is needed
10246         anymore.
10247         (layout_query_geometry): query glyph geometry rather than
10248         image_instance geometry.
10249         (layout_layout): set offsets from pass in parameters. Use glyph
10250         geometry and layout functions rather than image instance ones.
10251         (native_layout_layout): ditto.
10252         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10253         (image_instantiator_widget): set_property -> update.
10254         (image_instantiator_buttons): ditto.
10255         (image_instantiator_progress_guage): ditto.
10256         (image_instantiator_tab_control): ditto.
10257         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10258         (image_instantiator_layout): add update method.
10259
10260         * glyphs-msw.c (bmp_normalize):
10261         (mswindows_resource_normalize): add dest_mask so that it can be
10262         proprogated by layout_normalize.
10263         (begin_defer_window_pos): make optional because it may not be the
10264         right thing to do and it introduces differences with X.
10265         (mswindows_unmap_subwindow): ditto.
10266         (mswindows_map_subwindow): ditto.
10267         (mswindows_redisplay_subwindow): renamed from
10268         mswindows_update_subwindow.
10269         (mswindows_redisplay_widget): ditto.
10270         (mswindows_button_redisplay): renamed from
10271         mswindows_button_update. Update is now what the instantiation
10272         function does for a changed instantiator.
10273         (mswindows_progress_gauge_instantiate): set the progress value
10274         here if appropriate.
10275         (mswindows_tab_control_redisplay): cope with re-ordering of the
10276         members of the tab widget by simply selecting the new top
10277         widget. This makes things appear ok if you click on a tab.
10278         (mswindows_combo_box_instantiate): image_instance_layout now takes
10279         position as well as size.
10280         (mswindows_progress_gauge_redisplay): renamed from
10281         mswindows_progress_gauge_update.
10282         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10283         (image_instantiator_format_create_glyphs_mswindows): ditto.
10284
10285         * glyphs-eimage.c (jpeg_normalize):
10286         (gif_normalize):
10287         (png_normalize):
10288         (tiff_normalize): add dest_mask so that it can be proprogated by
10289         layout_normalize.
10290
10291         * elhash.c:
10292         (print_hash_table):
10293         (hash_table_weakness_validate):
10294         (decode_hash_table_weakness):
10295         (Fhash_table_weakness):
10296         (Fhash_table_type):
10297         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10298
10299         * console.h (struct console_methods): move update_* to
10300         redisplay_*.
10301
10302 2000-07-20  Ben Wing  <ben@xemacs.org>
10303
10304         * *.[ch] (XSETOBJ): remove unused middle argument.
10305         lisp-disunion.h: correct wrap_object() to one argument.
10306
10307 2000-07-15  Ben Wing  <ben@xemacs.org>
10308
10309         * s/cygwin32.h:
10310         * s/cygwin32.h (CYGWIN_CONV_PATH):
10311         Add missing logb prototype for v1.1.
10312         Use post-b20 names and alias to pre-b20 names when pre-b20.
10313
10314         * s/windowsnt.h: [5].
10315
10316 2000-07-15  Ben Wing  <ben@xemacs.org>
10317
10318         * Makefile.in.in (x_objs):
10319         * Makefile.in.in (sheap_objs):
10320         * Makefile.in.in (objs):
10321         added win32.o, cosmetic cleanups.
10322
10323         * alloc.c (Fmake_byte_code):
10324         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10325         etc. macros which declare their own args now.
10326
10327         * alloc.c (syms_of_alloc):
10328         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10329
10330         * buffer.c:
10331         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10332
10333         * buffer.c (Fget_file_buffer):
10334         Fixed GCPRO problem.
10335
10336         * buffer.c (get_truename_buffer):
10337         Fixed comment about GC checking.
10338
10339         * buffer.c (syms_of_buffer):
10340         Undeclared those dedicated frame funs.
10341         [2].
10342
10343         * buffer.h:
10344         Define convenience macros for internal/external conversions.
10345         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10346         and Qenvironment_variable_encoding for cleaner code.
10347
10348         * bufslots.h:
10349         Remove dedicated-frame; in lisp.
10350
10351         * bytecode.c (funcall_compiled_function):
10352         [1].
10353
10354         * bytecode.c (syms_of_bytecode):
10355         [2].
10356
10357         * console-msw.c:
10358         * console-msw.c (mswindows_show_console): Rewrote.
10359
10360         * console-msw.c (Fmswindows_debugging_output): New.
10361         Sends to OutputDebugString (special MSWin debugger interface).
10362
10363         * console-msw.c (Fmswindows_message_box):
10364         Fixed stupid bugs so it works when called from kill-emacs.
10365
10366         * console-msw.c (syms_of_console_mswindows):
10367         Declare Fmswindows_debugging_output.
10368
10369         * console-msw.h:
10370         New MSWin prototypes.
10371
10372         * console-msw.h (struct mswindows_frame):
10373         New entry last-click-mods for improved button-modifier support.
10374
10375         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10376         New struct entry `popup' with corresponding accessor.
10377
10378         * console-x.c:
10379         * console-x.c (split_up_display_spec):
10380         * console-x.c (get_display_arg_connection):
10381         * console-x.c (x_semi_canonicalize_console_connection):
10382         * console-x.c (x_canonicalize_device_connection):
10383         [[[6]]]: Change char to more specific type.
10384         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10385
10386         * console-x.c (x_semi_canonicalize_console_connection):
10387         * console-x.c (x_canonicalize_device_connection):
10388         [[[9]]]: Fix up error signalling to use new structured error system.
10389
10390         * console-x.h:
10391         [[[4]]]: Define codesys aliases:
10392         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10393         Qx_color_name_encoding, Qx_display_name_encoding.
10394
10395         * console.h (struct console_methods):
10396         New method make_dialog_box_internal supersedes older
10397         popup_dialog_box method.
10398
10399         * data.c:
10400         Define many new errors, part of new structured errors.
10401
10402         * data.c (init_errors_once_early):
10403         * data.c (syms_of_data):
10404         [2].
10405
10406         * device-msw.c (mswindows_init_device):
10407         [[[5]]]: Cleanup to support NT 3.51.
10408
10409         * device-msw.c (decode_devmode): Cleanup.
10410
10411         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10412         * device-msw.c (mswindows_handle_print_dialog_box):
10413         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10414         * device-msw.c (syms_of_device_mswindows):
10415         Delete the dialog box primitives recently introduced by Kirill and
10416         instead interface to general dialog box interface.
10417
10418         * device-x.c:
10419         * device-x.c (compute_x_app_name):
10420         * device-x.c (x_init_device):
10421         * device-x.c (Fx_valid_keysym_name_p):
10422         * device-x.c (Fx_set_font_path):
10423         [6].
10424         [7].
10425
10426         * device.h (wrap_device): New.
10427         First of its kind; meant to replace XSETDEVICE.
10428
10429         * dialog-msw.c: Many file-dialog symbols.
10430
10431         * dialog-msw.c (mswindows_register_popup_frame): New.
10432         * dialog-msw.c (mswindows_is_dialog_msg): New.
10433         For supporting kbd traversal in dialog boxes.
10434
10435         * dialog-msw.c (dialog_proc):
10436         Support hitting ESC in dialogs.
10437
10438         * dialog-msw.c (struct):
10439         Common dialog box errors.
10440
10441         * dialog-msw.c (handle_file_dialog_box): New.
10442         Add file dialog code.
10443
10444         * dialog-msw.c (handle_question_dialog_box):
10445         Redo existing code to support new question dialog syntax.
10446
10447         * dialog-msw.c (console_type_create_dialog_mswindows):
10448         We support new dialog console method.
10449
10450         * dialog-msw.c (syms_of_dialog_mswindows):
10451         * dialog-msw.c (vars_of_dialog_mswindows):
10452         New file dialog symbols, vars.
10453
10454         * dialog-x.c:
10455         * dialog-x.c (maybe_run_dbox_text_callback):
10456         * dialog-x.c (dbox_descriptor_to_widget_value):
10457         * dialog-x.c (x_make_dialog_box_internal):
10458         * dialog-x.c (console_type_create_dialog_x):
10459         Mule-ize entire file.
10460         Redo to support question dialog syntax.
10461         [6].
10462
10463         * dialog.c:
10464         * dialog.c (Fmake_dialog_box_internal):
10465         * dialog.c (syms_of_dialog):
10466         Kill old popup-dialog-box, replace with new primitive.
10467         Just call device method or signal error.
10468
10469         * eldap.c (Fldap_open):
10470         * eldap.c (Fldap_search_basic):
10471         * eldap.c (Fldap_add):
10472         * eldap.c (Fldap_modify):
10473         [1].
10474         [7].
10475
10476         * emacs.c:
10477         * emacs.c (make_arg_list_1):
10478         * emacs.c (make_arg_list):
10479         Mule-ize call to dll_init().
10480         [6].
10481         [8].
10482
10483         * emacs.c (make_argc_argv):
10484         * emacs.c (free_argc_argv):
10485         * emacs.c (init_cmdargs):
10486         * emacs.c (main_1):
10487         * emacs.c (Fkill_emacs):
10488         * emacs.c (Fdump_emacs):
10489         Update comments about what can be used in syms_* etc.
10490         Call init_win32() when necessary.
10491         Fix up MS Win dialog box in kill-buffer to actually work right.
10492         [7].
10493
10494         * eval.c:
10495         * eval.c (For):
10496         * eval.c (Fand):
10497         * eval.c (Fprogn):
10498         * eval.c (Fprog1):
10499         * eval.c (Fprog2):
10500         * eval.c (FletX):
10501         * eval.c (Flet):
10502         * eval.c (condition_case_3):
10503         * eval.c (Feval):
10504         * eval.c (function_argcount):
10505         * eval.c (funcall_lambda):
10506         [1].
10507
10508         * eval.c (type_error): New.
10509         * eval.c (maybe_type_error): New.
10510         * eval.c (continuable_type_error): New.
10511         * eval.c (maybe_continuable_type_error): New.
10512         * eval.c (type_error_with_frob): New.
10513         * eval.c (maybe_type_error_with_frob): New.
10514         * eval.c (continuable_type_error_with_frob): New.
10515         * eval.c (maybe_continuable_type_error_with_frob): New.
10516         New functions for use with structured errors.
10517
10518         * event-Xt.c:
10519         * event-Xt.c (x_event_to_emacs_event):
10520         Buttons are now modifiers too.
10521
10522         * event-Xt.c (emacs_Xt_current_event_timestamp):
10523         Implement new event method.
10524         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10525
10526         * event-msw.c:
10527         * event-msw.c (ntpipe_shove_writer): [5].
10528         * event-msw.c (mswindows_enqueue_mouse_button_event):
10529         * event-msw.c (mswindows_drain_windows_queue):
10530         * event-msw.c (mswindows_wnd_proc): [7].
10531         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10532         * event-msw.c (mswindows_modifier_state):
10533         Throughout: support new button modifiers.
10534
10535         * event-msw.c (emacs_mswindows_current_event_timestamp):
10536         Implement new event method.
10537         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10538
10539         * event-stream.c:
10540         * event-stream.c (event_stream_current_event_timestamp): New.
10541         * event-stream.c (maybe_kbd_translate): New functionality.
10542         * event-stream.c (vars_of_event_stream):
10543         Document new kbd-translate-table functionality.
10544
10545         * event-stream.c (Fcurrent_event_timestamp): New.
10546         New primitive for use in fabricated events.
10547         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10548
10549         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10550
10551         * events.c:
10552         * events.c (Fmake_event):
10553         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10554         [1].
10555         [9].
10556
10557         * events.c (format_event_object): fix gcc warnings.
10558
10559         * events.c (Fevent_timestamp): Document new primitives.
10560
10561         * events.c (TIMESTAMP_HALFSPACE): New.
10562
10563         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10564         comparing timestamps correctly (half-space algorithm).
10565
10566         * events.c (Fevent_modifier_bits): Doc fix.
10567
10568         * events.c (Fevent_modifiers): Major doc addition.
10569         * events.c (event_x_y_pixel_internal): Typo fix.
10570         * events.c (syms_of_events): Declare new primitives.
10571
10572         * events.h:
10573         Update long comment for button modifiers, timestamps.
10574
10575         * events.h (struct event_stream):
10576         New current_event_timestamp method.
10577
10578         * extents.c:
10579         * extents.c (extent_in_region_p):
10580         * extents.c (decode_extent):
10581         * extents.c (Fset_extent_parent):
10582         * extents.c (decode_map_extents_flags):
10583         Fix gcc warnings.
10584         [9].
10585
10586         * extents.c (struct extent_at_arg):
10587         * extents.c (decode_extent_at_flag):
10588         * extents.c (extent_at_mapper):
10589         * extents.c (extent_at_bytind):
10590         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10591         * extents.c (Fextents_at): New primitive. [9].
10592         * extents.c (symbol_to_glyph_layout): [9].
10593         Support new primitive `extents-at'.
10594
10595
10596         * extents.c (get_text_property_bytind):
10597         extent_at_bytind has another arg.
10598         [9].
10599
10600         * extents.c (syms_of_extents): New primitive.
10601
10602         * file-coding.c (Fmake_coding_system): [1].
10603         * file-coding.c (subsidiary_coding_system): fix gcc warning
10604         * file-coding.c (syms_of_file_coding): [2].
10605
10606         * fileio.c (Fexpand_file_name):
10607         * fileio.c (Fsysnetunam):
10608         * fileio.c (Ffile_exists_p):
10609         * fileio.c (Ffile_executable_p):
10610         * fileio.c (Fverify_visited_file_modtime):
10611         Clean up GCPROing.
10612
10613         * fileio.c (syms_of_fileio): [2].
10614
10615         * filelock.c (lock_file_1):
10616         * filelock.c (current_lock_owner):
10617         * filelock.c (lock_if_free):
10618         * filelock.c (lock_file):
10619         * filelock.c (unlock_file):
10620         Clean up GCPROing.
10621
10622         * fns.c (concat): Fix gcc warning.
10623
10624         * fns.c (Fmember):
10625         * fns.c (Fold_member):
10626         * fns.c (Fmemq):
10627         * fns.c (Fold_memq):
10628         * fns.c (memq_no_quit):
10629         * fns.c (Fassoc):
10630         * fns.c (Fold_assoc):
10631         * fns.c (Fassq):
10632         * fns.c (Fold_assq):
10633         * fns.c (assq_no_quit):
10634         * fns.c (Frassoc):
10635         * fns.c (Fold_rassoc):
10636         * fns.c (Frassq):
10637         * fns.c (Fold_rassq):
10638         * fns.c (rassq_no_quit):
10639         * fns.c (Fdelete):
10640         * fns.c (Fold_delete):
10641         * fns.c (Fdelq):
10642         * fns.c (Fold_delq):
10643         * fns.c (delq_no_quit):
10644         * fns.c (Fremassoc):
10645         * fns.c (Fremassq):
10646         * fns.c (remassq_no_quit):
10647         * fns.c (Fremrassoc):
10648         * fns.c (Fremrassq):
10649         * fns.c (remrassq_no_quit):
10650         * fns.c (Freverse):
10651         * fns.c (mapcar1):
10652         [1].
10653
10654         * frame-msw.c (mswindows_init_frame_1):
10655         * frame-msw.c (mswindows_delete_frame):
10656         Register popups with dialog code so keyboard traversing works.
10657
10658         * frame-tty.c (tty_raise_frame_no_select): [1].
10659
10660         * frame-x.c:
10661         * frame-x.c (x_set_frame_text_value):
10662         * frame-x.c (x_set_frame_properties):
10663         * frame-x.c (x_create_widgets):
10664         [7].
10665
10666         * frame.c:
10667         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10668
10669         * frame.h (wrap_frame): New.
10670         Macro like wrap_device.
10671
10672         * general.c:
10673         * general.c (SYMBOL):
10674         * general.c (syms_of_general):
10675         Major reorg.  This is now just a wrapper and symbols themselves
10676         are listed in general-slots.h.
10677
10678         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10679         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10680
10681         * glyphs-msw.c (mswindows_native_layout_instantiate):
10682         Add DS_CONTROL so keyboard traversal will work.
10683
10684         * glyphs-widget.c:
10685         * glyphs-widget.c (syms_of_glyphs_widget):
10686         Move some symbols to general-slots.h.
10687
10688         * glyphs-x.c:
10689         * glyphs-x.c (xbm_instantiate_1):
10690         * glyphs-x.c (x_xbm_instantiate):
10691         * glyphs-x.c (x_xface_instantiate):
10692         * glyphs-x.c (autodetect_instantiate):
10693         * glyphs-x.c (cursor_font_instantiate):
10694         * glyphs-x.c (x_update_widget):
10695         * glyphs-x.c (x_widget_instantiate):
10696         * glyphs.c (bitmap_to_lisp_data):
10697         * glyphs.c (pixmap_to_lisp_data):
10698         [7].
10699
10700         * glyphs.c (syms_of_glyphs):
10701         [2].
10702
10703         * gui-x.c:
10704         * gui-x.c (print_widget_value):
10705         * gui-x.c (menu_separator_style_and_to_external):
10706         * gui-x.c (add_accel_and_to_external):
10707         * gui-x.c (button_item_to_widget_value):
10708         * gui-x.c (gui_items_to_widget_values_1):
10709         * gui-x.c (gui_items_to_widget_values):
10710         * gui-x.c (syms_of_gui_x):
10711         * gui-x.c (vars_of_gui_x):
10712         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10713         [9].
10714
10715         * gui-x.h:
10716         Muleize, prototype changes matching gui-x.c.
10717
10718         * gui.c:
10719         * gui.c (separator_string_p):
10720         * gui.c (gui_item_add_keyval_pair):
10721         * gui.c (make_gui_item_from_keywords_internal):
10722         * gui.c (signal_too_long_error):
10723         * gui.c (parse_gui_item_tree_item):
10724         * gui.c (syms_of_gui):
10725         * gui.c (vars_of_gui):
10726         * gui.h:
10727         menu-no-selection-hook moved here (used by MSWin).
10728         Move some symbols to general-slots.h.
10729         [6].
10730         [9].
10731
10732         * insdel.c (get_buffer_pos_char):
10733         * insdel.c (get_buffer_range_char):
10734         Add GC comments.
10735
10736         * keymap.c (keymap_lookup_directly):
10737         * keymap.c (keymap_store):
10738         * keymap.c (ensure_meta_prefix_char_keymapp):
10739         * keymap.c (describe_map):
10740         * keymap.h:
10741         Support new button modifiers.
10742
10743         * lisp-disunion.h (wrap_object):
10744         * lisp-disunion.h (XSETOBJ):
10745         Rename make_obj to wrap_object.
10746
10747         * lisp-union.h:
10748         * lisp-union.h (make_int):
10749         * lisp-union.h (make_char):
10750         Support wrap_object.
10751
10752         * lisp.h:
10753         * lisp.h (LIST_LOOP):
10754         * lisp.h (EXTERNAL_LIST_LOOP):
10755         * lisp.h (LIST_LOOP_2):
10756         * lisp.h (EXTERNAL_LIST_LOOP_1):
10757         * lisp.h (EXTERNAL_LIST_LOOP_2):
10758         * lisp.h (EXTERNAL_LIST_LOOP_3):
10759         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10760         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10761         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10762         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10763         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10764         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10765         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10766         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10767         * lisp.h (struct Lisp_Symbol):
10768         * lisp.h (maybe_continuable_error_with_frob):
10769         Fix up section comments.
10770         Add new types for char to indicate usage.
10771         Delete symbols auto-generated from general-slots.h.
10772         Add prototypes for structured error functions.
10773         Add long comments describing looping macros and change interface
10774         so that lvalues are automatically declared.
10775         Add NO_DECLARE macro in case callers want to declare lvalues
10776         themselves.
10777
10778         * lread.c (read_syntax_error):
10779         * lread.c (continuable_read_syntax_error):
10780         * lread.c (read_structure):
10781         * lread.c (sequence_reader):
10782         * lread.c (read_list_conser):
10783         * lread.c (read_compiled_function):
10784         Rename syntax_error and continuable_syntax_error to avoid clash
10785         with same-named structured error functions.
10786
10787         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10788         * menubar-msw.c (populate_menu_add_item):
10789         * menubar-msw.c (populate_or_checksum_helper):
10790         [5].
10791         [9].
10792
10793         * menubar-x.c:
10794         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10795         Mule-ize whole file.
10796
10797         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10798
10799         * mule-charset.c (Fmake_charset):
10800         * mule-wnnfns.c (Fwnn_set_param):
10801         [1].
10802
10803         * ntproc.c (create_child):
10804         * ntproc.c (Fwin32_set_current_locale):
10805         Add comments portending doom.
10806
10807         * objects-msw.c:
10808         * objects-msw.c (old_font_enum_callback_2):
10809         * objects-msw.c (font_enum_callback_1):
10810         * objects-msw.c (mswindows_enumerate_fonts):
10811         [5].
10812
10813         * objects-x.c:
10814         * objects-x.c (allocate_nearest_color):
10815         * objects-x.c (x_parse_nearest_color):
10816         * objects-x.c (x_initialize_color_instance):
10817         * objects-x.c (x_print_color_instance):
10818         * objects-x.c (x_finalize_color_instance):
10819         * objects-x.c (x_valid_color_name_p):
10820         * objects-x.c (x_initialize_font_instance):
10821         * objects-x.c (x_print_font_instance):
10822         * objects-x.c (valid_x_font_name_p):
10823         * objects-x.c (truename_via_FONT_prop):
10824         * objects-x.c (truename_via_random_props):
10825         * objects-x.c (truename_via_XListFonts):
10826         * objects-x.c (x_font_truename):
10827         * objects-x.c (x_font_instance_truename):
10828         * objects-x.c (x_font_instance_properties):
10829         * objects-x.c (x_list_fonts):
10830         * objects-x.c (x_find_charset_font):
10831         Mule-ize entire file.
10832         [7].
10833
10834         * objects-x.h:
10835         Mule-verify.
10836
10837         * print.c:
10838         * print.c (std_handle_out_external):
10839         * print.c (debug_print_no_newline):
10840         * print.c (syms_of_print):
10841         Output to all debugger kinds in debug-print.
10842         Fix console-output code under MSWin to actually work.
10843
10844         * process-nt.c (send_signal):
10845         * process-nt.c (nt_create_process):
10846         Use newer Unicode macros.
10847
10848         * process-unix.c (unix_create_process):
10849         * process-unix.c (unix_canonicalize_host_name):
10850         * process-unix.c (unix_open_network_stream):
10851         [7].
10852
10853         * scrollbar-x.c:
10854         Mule-verify.
10855
10856         * search.c (syms_of_search):
10857         [2].
10858
10859         * select-msw.c (mswindows_destroy_selection):
10860         Use LIST_LOOP_2.
10861
10862         * select-x.c (symbol_to_x_atom):
10863         [7].
10864
10865         * select.c (syms_of_select):
10866         [2].
10867
10868         * sound.c (Fplay_sound_file):
10869         [7].
10870
10871         * specifier.c:
10872         * specifier.c (decode_specifier_type):
10873         * specifier.c (Fvalid_specifier_locale_type_p):
10874         * specifier.c (check_valid_locale_or_locale_type):
10875         * specifier.c (decode_locale):
10876         * specifier.c (decode_locale_type):
10877         * specifier.c (decode_locale_list):
10878         * specifier.c (check_valid_domain):
10879         * specifier.c (decode_specifier_tag_set):
10880         * specifier.c (Fcanonicalize_tag_set):
10881         * specifier.c (Fdefine_specifier_tag):
10882         * specifier.c (Fspecifier_tag_predicate):
10883         * specifier.c (check_valid_inst_list):
10884         * specifier.c (check_valid_spec_list):
10885         * specifier.c (decode_how_to_add_specification):
10886         * specifier.c (check_modifiable_specifier):
10887         * specifier.c (specifier_add_spec):
10888         * specifier.c (boolean_validate):
10889         * specifier.c (display_table_validate):
10890         [9].
10891
10892         * specifier.c (syms_of_specifier):
10893         Move some symbols to general-slots.h.
10894         [2].
10895
10896         * symbols.c:
10897         * symbols.c (Fmapatoms):
10898         * symbols.c (Fapropos_internal):
10899         Add GCPROs.
10900
10901         * symbols.c (set_default_buffer_slot_variable):
10902         * symbols.c (set_default_console_slot_variable):
10903         [1].
10904
10905         * symbols.c (defsymbol_massage_name_1):
10906         * symbols.c (defkeyword_massage_name):
10907         * symbols.c (deferror_1):
10908         * symbols.c (deferror):
10909         * symbols.c (deferror_massage_name_and_message):
10910         * symeval.h:
10911         * symeval.h (DEFSYMBOL):
10912         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10913
10914         * symbols.c (syms_of_symbols):
10915         [2].
10916
10917         * symsinit.h:
10918         * symsinit.h (init_win32): New.
10919         Also new is syms_of_dialog_mswindows.
10920
10921         * syswindows.h:
10922         Add new Unicode macros, missing Cygwin wide-char functions,
10923         convenience conversion macros for Qmswindows_tstr, macros for
10924         encapsulating required MSWin <-> Cygwin filename conversions,
10925         prototype for dynamically-extracted (not in NT 3.51) functions.
10926
10927         * toolbar-x.c:
10928         Mule-verify.
10929
10930         * tooltalk.c (Fadd_tooltalk_message_arg):
10931         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10932         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10933         [7].
10934
10935         * tooltalk.c (syms_of_tooltalk):
10936         [2].
10937
10938         * unexnt.c:
10939         * unexnt.c (unexec):
10940         Fix up headers, declaration of unexec() to be more standard.
10941
10942 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10943
10944         * offix.h: Revert change to guard macros - they're used in offix.c!
10945
10946 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10947
10948         * lisp.h: Defsubred Fdelete.
10949
10950         * console-msw.h:  (msprinter_default_printer): Added.
10951
10952         * console-msw.c (msprinter_canonicalize_console_connection):
10953         (msprinter_canonicalize_device_connection): Added.
10954
10955         * device-msw.c (msprinter_default_printer):
10956         (Fmswingows_get_default_printer):
10957         (signal_enum_priner_error):
10958         (Fmswingows_printer_list): Added.
10959
10960 2000-07-19  Martin Buchholz <martin@xemacs.org>
10961
10962         * XEmacs 21.2.35 is released.
10963
10964 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10965
10966         * select-x.c (x_handle_selection_request):
10967         Text selected in xemacs and pasted into xterm failed to appear.
10968         Spelling fixes and cosmetic changes.
10969
10970 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10971
10972         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10973         XEmacs frame (fix for doubling chars in dialog boxes).
10974
10975 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10976
10977         * select.c (select_convert_in, select_convert_out):
10978         Don't call intern() every time.
10979
10980         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10981         * select.c (vars_of_select): Initialise them.
10982
10983 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10984
10985         * select.c (selection-coercible-types): New.
10986
10987         * select.c (own-selection-internal):
10988         * select.c (get-selection-internal):
10989         MULE bug fix - these should default to COMPOUND_TEXT and not
10990         STRING for MULE. I think.
10991
10992         * select.c (select_convert_out): Use selection-coercible-types
10993         to find types that we can attempt to perform coercions on.
10994
10995 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10996
10997         * mule-wnnfns.c:
10998         * mule-canna.c:
10999         Add coding: cookie to identify encoding.
11000
11001         * mule-canna.c (CANNA_mode_keys): make static.
11002         Use proper prototypes, even for functions of no arguments.
11003         Remove external prototype for Fding().
11004
11005         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11006
11007         * select.c (syms_of_select): Add missing DEFSUBR.
11008
11009 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11010
11011         * select.c (get_selection_internal, own_selection_internal):
11012         Make the type default to STRING, rather than placing a nil type
11013         into Vselection_alist.
11014
11015 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11016
11017         * gpmevent.c (tty_selection_exists_p):
11018         * gpmevent.c (tty_own_selection):
11019         Updated parameter lists.
11020
11021 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11022
11023         * select.h (selection-alist): Removed declaration.
11024
11025         * select.h (get_local_selection):
11026         * select.c (get_local_selection):
11027         Made static.
11028
11029         * select.h (convert_selection): Removed declaration.
11030         * select.c (convert_selection): Removed.
11031         This function belongs in Lisp.
11032
11033         * select.h (select_convert_in): Declare.
11034         * select.h (select_convert_out): Declare.
11035         * select.c (select_convert_in): New.
11036         * select.c (select_convert_out): New.
11037         New conversion functions for other files to call.
11038
11039         * select.h (select_notify_buffer_kill): Declare.
11040         * select.c (select_notify_buffer_kill): New.
11041         New functions that get called from kill-buffer.
11042
11043         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11044         X-specific lisp code.
11045
11046         * select.h: Declare some of the lisp-visible functions for
11047         external use.
11048
11049         * select.c (clean_local_selection_data): Removed. This was
11050         a disgusting function, and previously should have been in
11051         select-x.c in any case. The functionality is now provided
11052         in select-convert-from-integer (select.el).
11053
11054         * select.c (available-selection-types): Fixed stupidity where
11055         INTEGER and ATOM got added twice. Also add STRING when we see an
11056         extent.
11057
11058         * select.c (get-selection-internal): Removed symbol stripping. No
11059         longer causes conversion when data comes from the internal cache.
11060
11061         * select.c (syms_of_select): Added new functions.
11062
11063         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11064         error checking - previously this called abort!
11065
11066         * select-x.c (x_own_selection): Changed comment.
11067
11068         * select-x.c (x_handle_selection_request): Use select_convert_out.
11069         Don't mess with selection-alist; it's an internal variable of select.c.
11070
11071         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11072
11073         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11074         rather than messing with selection-alist.
11075
11076         * select-msw.c (mswindows_get_foreign_selection):
11077         Use TO_INTERNAL_FORMAT rather than hacking.
11078
11079 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11080
11081         * process-unix.c (unix_open_multicast_group):
11082         (unix_open_multicast_group): Remove useless casts.
11083
11084 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11085
11086         * sound.c (Fplay_sound): Fix `unused variable' warning.
11087
11088         * emacs.c (main): Use correct type for _environ on SCO5.
11089
11090 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11091
11092         * console.h (own_selection_method):
11093         * console.h (selection_exists_p_method):
11094         * console.h (available_selection_types_method): New.
11095         * console.h (register_selection_data_type_method): New.
11096         * console.h (selection_data_type_name): New.
11097
11098         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11099         function & alist to track GlobalAlloc()'d handles that need
11100         releasing when the clipboard data gets replaced or emptied.
11101
11102         * event-msw.c (mswindows_wnd_proc): Call it.
11103
11104         * lisp.h, general.c (Qappend): New symbol representing a
11105         `how-to-add' mode.
11106
11107         * select.c (own-selection-internal):
11108         * select.c (selection-exists-p):
11109         * select.c (available-selection-types): New.
11110         * select.c (register-selection-data-type): New.
11111         * select.c (selection-data-type-name): New.  New functions to deal
11112         with device-specific selection data formats.
11113         * select.c (selection-converter-out-alist): Renamed.
11114         * select.c (selection-converter-in-alist): New.
11115         * select.c (selection-appender-alist): New.  Added new alists.
11116         * select.c (syms_of_select, vars_of_select): Added new symbols &
11117         variables.
11118         * select.c (get_local_selection): Split.
11119         * select.c: Removed spurious type checking - selections may now be
11120         of any type, not just strings.
11121         * select.c (own-selection-internal):
11122
11123         * select.h, select.c (convert_selection): New. Created
11124         convert_selection() function based on get_local_selection().
11125         * select.h, select.c (QCF_*): New symbols representing mswindows
11126         clipboard formats.
11127         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11128         symbols representing `how-to-add' modes.
11129
11130         * select-msw.c (x_sym_p): New.
11131         * select-msw.c (symbol_to_ms_cf): New.
11132         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11133         symbols & clipboard formats. Can also handle string names.
11134         * select-msw.c (mswindows_own_selection):
11135         * select-msw.c (mswindows_selection_exists_p):
11136         Added `data-type' parameter. Use it.
11137         * select-msw.c (mswindows_available_selection_types): New.
11138         * select-msw.c (mswindows_register_selection_data_type): New.
11139         * select-msw.c (mswindows_selection_data_type_name): New.
11140         * select-msw.c (mswindows_own_selection):
11141         * select-msw.c (mswindows_get_foreign_selection):
11142         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11143         * select-msw.c (console_create_select_mswindows): Added new methods.
11144         * select-msw.c (mswindows_destroy_selection): New.
11145         * select-msw.c (Vhandle_alist): New list.
11146         * select-msw.c (mswindows_own_selection):
11147
11148         * select-x.c (x_own_selection):
11149         * select-x.c (x_selection_exists_p):
11150         * select-x.c: Added some comments about maybe using new
11151         functionality.
11152         * select-x.c (x_own_selection):
11153
11154         * specifier.c: Remove definition of Qappend (now in general.c)
11155         * specifier.c (syms_of_specifier): Remove Qappend.
11156
11157 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11158
11159         * config.h.in: Add socklen_t.
11160
11161         * s/decosf4-0.h: No special compiler flags needed or desired.
11162         In particular, undefine _BSD for DEC OSF 4.0.
11163
11164 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11165
11166         * redisplay-msw.c (msprinter_frame_output_end): Added.
11167         (console_type_create_redisplay_mswindows): Referred the above.
11168
11169         * frame.c (setup_frame_without_minibuffer): Do not create a
11170         default minibuffer frame on a printer device.
11171
11172         * frame-msw.c (apply_dc_geometry): Added.
11173         (msprinter_start_page):
11174         (msprinter_init_frame_3):
11175         (msprinter_eject_page): Use it.
11176
11177         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11178         and removed residual duplex and orientation properties.
11179
11180 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11181
11182         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11183
11184         * unexalpha.c: Remove system prototypes from C sources!
11185
11186 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11187
11188         * eval.c: Remove references to M-x edit-options in DEFUNs for
11189         `defvar' and `defconst'.
11190
11191 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11192
11193         * config.h.in: Remove SMART_INCLUDE hackery.
11194
11195         PostgreSQL hacking:
11196         * config.h.in: Don't use SMART_INCLUDE.
11197
11198         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11199         * inline.c: Simply #include "postgresql.h"
11200         * postgresql.c:
11201         - Don't use SMART_INCLUDE
11202         - Use simply "const".
11203         - Use standard doc string conventions.
11204         - Use correct type for result of PQstatus.
11205
11206 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11207
11208         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11209
11210         C++ compilation changes.
11211         * config.h.in (EXTERN_C): Define.
11212         * config.h.in (not): This is also a C++ keyword.
11213         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11214         * cm.c: Use EXTERN_C.
11215         * redisplay-tty.c: Use EXTERN_C.
11216         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11217
11218 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11219
11220         * general.c: Remove duplicate definition for Qfunction.
11221
11222 2000-07-08  Ben Wing  <ben@xemacs.org>
11223
11224         * device-msw.c (msprinter_init_device):
11225         * device-msw.c (sync_printer_with_devmode):
11226         * device-msw.c (handle_devmode_changes):
11227         * device-msw.c (print_dialog_worker):
11228         * device-msw.c (Fmsprinter_apply_settings):
11229         * device-msw.c (hash_devmode):
11230         * device-msw.c (Fmsprinter_settings_despecialize):
11231         use Qmswindows_tstr, not Qctext.
11232
11233         * vm-limit.c (check_memory_limits):
11234         avoid infinite loop printing warning messages.
11235
11236 2000-07-05  Craig Lanning  <lanning@scra.org>
11237
11238         * Makefile.in.in: Add support for including the Windows resources
11239         when building with the cygwin and mingw targets.
11240
11241         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11242         not set or not correct.
11243         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11244         (init_initial_directory): Don't try to use $PWD on the
11245         WIN32_NATIVE target.
11246
11247         * s\cygwin32.h:
11248         [[Add -mwindows to eliminate console window.]] not required --ben
11249         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11250         (MAIL_USE_POP): removed; now handled by configure.
11251
11252         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11253         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11254         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11255         (MAIL_USE_POP): removed; now handled by configure.
11256         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11257         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11258         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11259         constant string.
11260         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11261         up from <winsock.h> via systime.h.
11262         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11263         (getpagesize): from Dan Holmsand, added.
11264         Added #endif which was left dangling by Ben's mega patch; added
11265         comment to help prevent this in the future.
11266
11267         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11268
11269 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11270
11271         * console-msw.h (struct mswindows_device): Removed unnecessary
11272         cached device geometry values.
11273         Added update_tick and an accessor macro.
11274         (Lisp_Devmode): Added lrecord declaration.
11275         (struct msprinter_device): Contain devmode as a Lisp object.
11276         Added mswindows_get_selected_frame_hwnd();
11277
11278         * console.h (struct console_methods): Indentation nitpicking.
11279
11280         * device-msw.c (mswindows_init_device): Do not initialize geometry
11281         cache. Initialize update tick.
11282         (mswindows_device_system_metrics): Ask the device for its geometry.
11283         (global_free_2_maybe):
11284         (devmode_to_hglobal):
11285         (handle_printer_changes):
11286         (ensure_not_printing):
11287         (print_dialog_worker):
11288         (Fmsprinter_print_setup_dialog):
11289         (Fmsprinter_print_dialog):
11290         (plist_get_margin):
11291         (plist_set_margin):
11292         (Fmsprinter_page_setup_dialog): Added functions.
11293         (sync_printer_with_devmode):
11294         (handle_devmode_changes):
11295         (Fmsprinter_get_settings):
11296         (Fmsprinter_select_settings):
11297         (Fmsprinter_apply_settings):
11298         (allocate_devmode):
11299         (Fmsprinter_settings_copy):
11300         (Fmsprinter_settings_despecialize):
11301         (print_devmode):
11302         (finalize_devmode):
11303         (equal_devmode):
11304         (hash_devmode): Added functions
11305         (syms_of_device_mswindows): Init devmode lrecord class.
11306
11307         * device.h: Added an exfun for find-device.
11308
11309         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11310         geometry; although, recreate the device compatible DC.
11311
11312         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11313         (msprinter_init_frame_3):
11314         (msprinter_frame_property):
11315         (msprinter_internal_frame_property_p):
11316         (msprinter_frame_properties):
11317         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11318         print job properties (will move to device settings).
11319
11320         * lisp.h: Added symbols.
11321
11322         * general.c (syms_of_general): Declared them.
11323
11324         * hash.c (string_hash): Added.
11325
11326         * lrecord.h (lrecord_type): Added devmode lrecord type.
11327
11328 2000-07-02  Mike Sperber <mike@xemacs.org>
11329
11330         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11331         FreeBSD 4.0.
11332
11333 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11334
11335         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11336         integer.
11337
11338 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11339
11340         * data.c (Fstring_to_number): Don't recognize floating point if
11341         base is not 10.
11342
11343 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11344
11345         * glyphs-widget.c (tab_control_query_geometry):
11346         (widget_query_geometry):
11347         (button_query_geometry):
11348         * glyphs.c (text_query_geometry):
11349         Enforce type correctness.
11350
11351 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11352
11353         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11354         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11355
11356 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11357
11358         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11359         conflicts with gcc's fixincluded version of FOO.h.
11360
11361         * glyphs.h (image_instance_geometry): Remove trailing `,'
11362
11363 2000-06-08  Mike Alexander  <mta@arbortext.com>
11364
11365         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11366         (shove_thread): Don't write the same output twice
11367         (make_ntpipe_output_stream): Increase priority of shove thread
11368         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11369         chance to run
11370         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11371         it.
11372
11373 2000-06-12  Ben Wing  <ben@xemacs.org>
11374
11375         * s\mingw32.h (sigset):
11376         * s\windowsnt.h (sigset):
11377         rename msw_ to mswindows_ for consistency with general convention.
11378
11379 2000-06-12  Ben Wing  <ben@xemacs.org>
11380
11381         * console-msw.c:
11382         * console-msw.c (mswindows_get_console_hwnd):
11383         * console-msw.c (mswindows_ensure_console_allocated):
11384         * console-msw.c (mswindows_hide_console):
11385         * console-msw.c (mswindows_show_console):
11386         * console-msw.c (mswindows_ensure_console_buffered):
11387         * console-msw.c (mswindows_output_console_string):
11388         * console-msw.c (mswindows_windows9x_p):
11389         * console-msw.h:
11390         * device-msw.c (mswindows_get_workspace_coords):
11391         * device-msw.c (mswindows_device_system_metrics):
11392         * dialog-msw.c (mswindows_popup_dialog_box):
11393         * event-msw.c (mswindows_wnd_proc):
11394         * frame-msw.c (mswindows_size_frame_internal):
11395         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11396         * menubar-msw.c (displayable_menu_item):
11397         * menubar-msw.c (mswindows_char_is_accelerator):
11398         * nt.c:
11399         * nt.c (mswindows_sigset):
11400         * nt.c (mswindows_sigrelse):
11401         * nt.c (mswindows_sigpause):
11402         * nt.c (mswindows_raise):
11403         * nt.c (timer_proc):
11404         * ntproc.c:
11405         * ntproc.c (find_child_console):
11406         * ntproc.c (sys_kill):
11407         * print.c:
11408         * print.c (std_handle_out_external):
11409         * process-nt.c (find_child_console):
11410         * process-nt.c (send_signal_the_95_way):
11411         * process-nt.c (ensure_console_window_exists):
11412         * process-nt.c (nt_create_process):
11413         * syssignal.h:
11414         rename msw_ to mswindows_ for consistency with general convention.
11415
11416         * emacs.c:
11417         * dumper.c:
11418         include nt.h, not syswindows.h.
11419
11420         * nt.c (mswindows_fstat):
11421         * nt.c (mswindows_stat):
11422         prefix mswindows_ instead of attempting to directly override the
11423         library functions.  fix declarations.
11424
11425         * nt.h:
11426         include syswindows.h.  move some sysdep.h stuff here.
11427
11428         * ntheap.h:
11429         include syswindows.h, not <windows.h>.
11430
11431         * ntplay.c:
11432         clean up headers.
11433
11434         * sysdep.c:
11435         clean up headers.
11436
11437         * sysdep.c (sys_fstat):
11438         * sysdep.c (sys_stat):
11439         call mswindows versions when appropriate.
11440
11441         * sysdep.h:
11442         move mswin decls to nt.h.
11443
11444         * syswindows.h:
11445         add long comment describing appropriate use of the various windows
11446         headers.
11447
11448 2000-06-11  Ben Wing  <ben@xemacs.org>
11449
11450         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11451
11452 2000-06-10  Ben Wing  <ben@xemacs.org>
11453
11454         * Makefile.in.in (release):
11455         Correction to make sure xemacs.exe always dumped when correct.
11456
11457         * alloca.c:
11458         * balloon_help.c:
11459         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11460
11461         * buffer.c (set_buffer_internal):
11462         [[[[2]]]]: Remove HAVE_FEP code.
11463
11464         * buffer.c (init_initial_directory):
11465         [3].
11466
11467         * bytecode.c:
11468         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11469         individual files.
11470
11471         * callproc.c:
11472         * callproc.c (call_process_cleanup):
11473         * callproc.c (Fold_call_process_internal):
11474         * callproc.c (child_setup):
11475         * callproc.c (getenv_internal):
11476         * callproc.c (init_callproc):
11477         * callproc.c (vars_of_callproc):
11478         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11479         __CYGWIN32__ -> CYGWIN.
11480         DOS_NT -> WIN32_NATIVE.
11481         Remove MSDOS support/references, converting to WIN32_NATIVE
11482           where correct.
11483         __MINGW32__ -> MINGW.
11484         Fix windows.h includes.
11485         Remove bogus HAVE_NTGUI.
11486
11487         * config.h.in:
11488         [2].
11489
11490         * console-msw.c:
11491         mswindows_message_outputted added for use in allowing startup
11492         errors on the console to be seen.
11493
11494         * console-msw.c (msw_ensure_console_allocated):
11495         * console-msw.c (msw_output_console_string):
11496         * console-msw.c (DHEADER):
11497         * console-msw.c (DOPAQUE_DATA):
11498         * console-msw.c (DEVENT):
11499         * console-msw.c (DCONS):
11500         * console-msw.c (DCONSCDR):
11501         * console-msw.c (DSTRING):
11502         * console-msw.c (DVECTOR):
11503         * console-msw.c (DSYMBOL):
11504         * console-msw.c (DSYMNAME):
11505         Fix warnings.
11506
11507         * console-stream.c (stream_init_console):
11508         Fix text/binary problems.
11509
11510         * device-msw.c:
11511         * device-msw.c (mswindows_finish_init_device):
11512         * device-msw.c (mswindows_delete_device):
11513         [1].
11514
11515         * device.c (handle_asynch_device_change):
11516         [3].
11517
11518         * dgif_lib.c:
11519         * dgif_lib.c (DGifOpenFileName):
11520         * dgif_lib.c (DGifOpenFileHandle):
11521         * dgif_lib.c (DGifGetLine):
11522         * dgif_lib.c (DGifGetPixel):
11523         Added config.h/lisp.h, fix up includes.
11524         [1].
11525
11526         * dired-msw.c:
11527         [4].
11528
11529         * dired.c:
11530         * dired.c (file_name_completion):
11531         * dired.c (Ffile_attributes):
11532         * dired.c (syms_of_dired):
11533         [1].
11534
11535         * dumper.c:
11536         * dumper.c (pdump_file_unmap):
11537         * dumper.c (pdump_load):
11538         [1].
11539
11540         * editfns.c:
11541         * editfns.c (Ftemp_directory):
11542         * editfns.c (user_login_name):
11543         * editfns.c (Fuser_real_login_name):
11544         * editfns.c (get_home_directory):
11545         [1].
11546
11547         * elhash.c (finish_marking_weak_hash_tables):
11548         [[[[5]]]]: Fix GCC warnings.
11549
11550         * emacs.c:
11551         * emacs.c (mswindows_handle_hardware_exceptions):
11552         * emacs.c (make_arg_list_1):
11553         * emacs.c (main_1):
11554         * emacs.c (Fkill_emacs):
11555         * emacs.c (Fdump_emacs):
11556         [1].
11557         Fix problems with nested crashes, add long comment.
11558
11559         * event-Xt.c (init_event_Xt_late):
11560         [1].
11561
11562         * event-msw.c:
11563         * event-msw.c (mswindows_dde_callback):
11564         * event-msw.c (mswindows_handle_sticky_modifiers):
11565         * event-msw.c (mswindows_wnd_proc):
11566         [1].
11567         [5].
11568
11569         * events.c (character_to_event):
11570         [1].
11571
11572         * fileio.c:
11573         * fileio.c (Ffile_name_directory):
11574         * fileio.c (Ffile_name_nondirectory):
11575         * fileio.c (directory_file_name):
11576         * fileio.c (Fexpand_file_name):
11577         * fileio.c (Fsubstitute_in_file_name):
11578         * fileio.c (Ffile_name_absolute_p):
11579         * fileio.c (check_executable):
11580         * fileio.c (Ffile_readable_p):
11581         * fileio.c (Ffile_accessible_directory_p):
11582         * fileio.c (Ffile_modes):
11583         * fileio.c (Funix_sync):
11584         * fileio.c (vars_of_fileio):
11585         [1]. [4].
11586
11587         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11588
11589         Expand getdefdir defn.
11590         Fix bogus rename() comment.
11591
11592         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11593         to use standard XEmacs include files, e.g. sysfile.h, rather
11594         than system-specific includes.
11595
11596         * fns.c:
11597         * fns.c (Fsubseq):
11598         [5]. [6].
11599
11600         * frame.c (vars_of_frame):
11601         [1].
11602
11603         * getloadavg.c:
11604         * getloadavg.c (getloadavg):
11605         [1]. [6].
11606         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11607         (We don't use it elsewhere in the code; just add a comment.)
11608
11609         * gif_io.c:
11610         [6].
11611         Add config.h.
11612
11613         * glyphs-msw.c:
11614         * glyphs-msw.c (mswindows_resource_instantiate):
11615         [1].
11616
11617         * glyphs-x.c (x_native_layout_instantiate):
11618         [5].
11619
11620         * gui-msw.c (Fmswindows_shell_execute):
11621         [1].
11622
11623         * insdel.c:
11624         [4].
11625
11626         * lisp.h:
11627         [4]. [5].
11628
11629         * lread.c (locate_file_in_directory_mapper):
11630         [1].
11631
11632         * lstream.c:
11633         [4].
11634
11635         * mem-limits.h:
11636         * mem-limits.h (get_lim_data):
11637         [1].
11638
11639         * menubar-msw.c:
11640         [4].
11641
11642         * ndir.h:
11643         [1].
11644
11645         * nt.c:
11646         * nt.c (getwd):
11647         * nt.c (closedir):
11648         * nt.c (rva_to_section):
11649         * nt.c (mswindows_executable_type):
11650         [1]. [6].
11651         Fix closedir() defn.
11652
11653         * nt.h:
11654         [[[[8]]]]: *_OK defs moved to sysfile.h.
11655
11656         * ntproc.c:
11657         [6]. [7].
11658
11659         * objects-x.c:
11660         [4].
11661
11662         * print.c:
11663         * print.c (std_handle_out_external):
11664         [1]. [4].
11665
11666         * process-nt.c:
11667         * process-nt.c (nt_create_process):
11668         [6].
11669         try to fix process quoting somewhat.
11670
11671         * process-unix.c (unix_create_process):
11672         [1].
11673
11674         * process.c:
11675         * process.c (vars_of_process):
11676         Add Vnull_device.
11677
11678         * process.h:
11679         [1].
11680
11681         * realpath.c:
11682         * realpath.c (xrealpath):
11683         [1].
11684
11685         * redisplay-tty.c (init_tty_for_redisplay):
11686         [3].
11687
11688         * redisplay.c:
11689         [4]. [6].
11690
11691         * scrollbar-msw.c:
11692         [4].
11693
11694         * sheap.c:
11695         * sheap.c (more_static_core):
11696         * sheap.c (report_sheap_usage):
11697         [5]. [6].
11698
11699         * signal.c:
11700         * signal.c (alarm_signal):
11701         [1]. [6].
11702
11703         * sound.c:
11704         [6].
11705
11706         * strftime.c:
11707         * strftime.c (zone_name):
11708         [1]. [5].
11709
11710         * symsinit.h (init_sunpro):
11711         [1].
11712
11713         * syscommctrl.h:
11714         commctrl.h not in Cygwin b20.1.
11715
11716         * sysdep.c:
11717         * sysdep.c (endif):
11718         * sysdep.c (sys_subshell):
11719         * sysdep.c (init_baud_rate):
11720         * sysdep.c (emacs_get_tty):
11721         * sysdep.c (emacs_set_tty):
11722         * sysdep.c (tty_init_sys_modes_on_device):
11723         * sysdep.c (init_system_name):
11724         * sysdep.c (sys_open):
11725         * sysdep.c (interruptible_open):
11726         * sysdep.c (sys_fopen):
11727         * sysdep.c (sys_mkdir):
11728         * sysdep.c (sys_rename):
11729         * sysdep.c (get_process_times_1):
11730         [1]. [6].
11731
11732         * sysdep.h:
11733         [1].
11734
11735         * sysdir.h:
11736         * sysdir.h (DIRENTRY_NONEMPTY):
11737         [1]. [6].
11738
11739         * sysdll.c (dll_init):
11740         * sysdll.h:
11741         [1].
11742
11743         * sysfile.h:
11744         [1]. [6]. [8].
11745         added text/binary defs.
11746
11747         * sysfloat.h:
11748         [1].
11749
11750         * sysproc.h:
11751         * sysproc.h (EDESTADDRREQ):
11752         * sysproc.h (poll_fds_for_input):
11753         [1]. [6].
11754
11755         * syspwd.h:
11756         [6].
11757
11758         * syssignal.h:
11759         [1].
11760
11761         * systime.h:
11762         [1]. [6].
11763
11764         * systty.h:
11765         [1].
11766
11767         * syswindows.h:
11768         [1].
11769         Always define WIN32_LEAN_AND_MEAN.
11770
11771         * unexcw.c (unexec):
11772         [5].
11773
11774         * unexec.c:
11775         * unexec.c (copy_text_and_data):
11776         * unexec.c (adjust_lnnoptrs):
11777         [1].
11778
11779         * unexnt.c:
11780         * unexnt.c (_start):
11781         [1].
11782
11783 2000-06-07  Ben Wing  <ben@xemacs.org>
11784
11785         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11786         was used only as a model.  We've long since extracted any useful
11787         logic or code out of this. (I just did an exhaustive search.)
11788
11789         * s\msdos.h: Removed.
11790
11791         * s\windows95.h: Removed.
11792
11793 2000-06-10  Ben Wing  <ben@xemacs.org>
11794
11795         * s\cygwin32.h:
11796         [1]. [5].
11797         Don't use extern with fun defs.
11798
11799         * s\mingw32.h:
11800         [1]. [7].
11801         Remove nt\inc include.
11802         Remove getdisk, getdefdir. (The former is unused, the latter
11803         expanded in fileio.h.)
11804
11805         * s\windowsnt.h:
11806         * s\windowsnt.h (WIN32_NATIVE):
11807         * s\windowsnt.h (HAVE_STRCASECMP):
11808         [1]. [7].
11809         Add long comment about preprocessor changes.
11810         Remove getdisk, getdefdir. (The former is unused, the latter
11811         expanded in fileio.h.)
11812
11813 2000-06-10  Ben Wing  <ben@xemacs.org>
11814
11815         * m\arm.h:
11816         * m\delta.h:
11817         * m\intel386.h:
11818         * m\sequent.h:
11819         * m\template.h:
11820         * m\windowsnt.h:
11821         [1].
11822         Remove bogus/unused NO_SOCK_SIGIO.
11823
11824 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11825
11826         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11827         not an Emchar.
11828
11829 2000-06-04  Mike Sperber <mike@xemacs.org>
11830
11831         * casetab.c (set_case_table): For `set-standard-case-table',
11832         actually deposit the new case tables where the rest of XEmacs can
11833         see them.
11834
11835 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11836
11837         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11838
11839 2000-06-05  Ben Wing  <ben@xemacs.org>
11840
11841         * callproc.c (child_setup): Don't do close_load_descs() under
11842         MS Windows.  Put in a comment explaining why.
11843
11844 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11845
11846         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11847         Toolkit shell" which breaks `kill-compilation' on Windows NT
11848         native, retaining STDERR handling improvements.
11849
11850 2000-06-01  Andreas Jaeger  <aj@suse.de>
11851
11852         * s/s390.h: Support for S390, based on a patch by Martin
11853         Schwidefsky <schwidefsky@de.ibm.com>.
11854
11855 2000-05-30  Andy Piper  <andy@xemacs.org>
11856
11857         * window.c (allocate_window):
11858         (make_dummy_parent):
11859         (Fset_window_configuration): use new hashtable type.
11860
11861         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11862         (struct image_instantiator_methods):
11863         (struct Lisp_Image_Instance): make instance geometry signed.
11864
11865         * glyphs.c (instantiate_image_instantiator):
11866         (image_instance_query_geometry):
11867         (image_instance_layout):
11868         (image_instance_layout):
11869         (query_string_geometry):
11870         (text_query_geometry):
11871         (image_instantiate):
11872         (image_instantiate):
11873         (cache_subwindow_instance_in_frame_maybe):
11874         (subwindow_query_geometry): make instance geometry signed.
11875
11876         * glyphs-widget.c (widget_query_geometry):
11877         (widget_layout):
11878         (button_query_geometry):
11879         (tree_view_query_geometry):
11880         (tab_control_query_geometry):
11881         (layout_query_geometry):
11882         (layout_layout):
11883         (native_layout_layout): make instance geometry signed.
11884
11885 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11886
11887         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11888         constant.
11889
11890         * general.c (syms_of_general): Add Qfull_assoc symbol.
11891
11892         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11893         correctly.
11894         (decode_weak_list_type): Decode full-assoc type.
11895         (encode_weak_list_type): Encode full-assoc type.
11896         (Fmake_weak_list): Update doc string.
11897
11898 2000-05-30  Andy Piper  <andy@xemacs.org>
11899
11900         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11901
11902         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11903         (decode_hash_table_weakness): ditto.
11904         (Fhash_table_weakness): ditto.
11905         (Fhash_table_type): ditto.
11906         (finish_marking_weak_hash_tables): ditto.
11907         (hash_table_weakness_validate): ditto.
11908         (syms_of_elhash): ditto.
11909
11910 2000-05-28  Martin Buchholz <martin@xemacs.org>
11911
11912         * XEmacs 21.2.34 is released.
11913
11914 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11915
11916         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11917         start cache.
11918         (updating_line_start_cache): Gone.
11919         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11920         generic code to force a minimum of 1 line laid out in the
11921         CMOTION_DISP case.
11922
11923 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11924
11925         * glyphs.c (instantiate_image_instantiator): Check for initialized
11926         height & width no longer special cases IMAGE_NOTHING.
11927         (nothing_instantiate): Set height and width of instance.
11928
11929 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11930
11931         * unexelf.c (unexec): Search for ".data" section.
11932         Initialize new_data2_offset from old_data_index.
11933         Remove redundant check for ElfW.
11934
11935 2000-05-23  Andy Piper  <andy@xemacs.org>
11936
11937         * glyphs.c (get_image_instantiator_governing_domain): allow more
11938         specific domains as the governing domain rather than expecting an
11939         exact match. This fixes problems with layouts.
11940
11941 2000-05-22  Andy Piper  <andy@xemacs.org>
11942
11943         * redisplay-output.c (compare_runes): check for non-images
11944
11945         * glyphs.c (set_glyph_dirty_p): ditto.
11946         (update_glyph_cachel_data): ditto.
11947
11948         * glyphs-widget.c (layout_post_instantiate): ditto.
11949         (layout_post_instantiate): ditto.
11950
11951         * event-msw.c (mswindows_wnd_proc): warning removal.
11952
11953 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11954
11955         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11956
11957         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11958
11959         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11960
11961         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11962         (mswindows_executable_type): mingw32 now has enough headers for
11963         this to work.
11964
11965 2000-05-20  Andy Piper  <andy@xemacs.org>
11966
11967         * console-msw.c (mswindows_output_last_error): ; -> ,
11968
11969 2000-05-12  Andy Piper  <andy@xemacs.org>
11970
11971         * console-msw.c (FROB): compare ints with ints.
11972
11973 2000-05-11  Andy Piper  <andy@xemacs.org>
11974
11975         * glyphs-x.c (x_finalize_image_instance): make minimal build
11976         happy.
11977
11978 2000-05-20  Ben Wing  <ben@xemacs.org>
11979
11980         * event-Xt.c:
11981         * event-Xt.c (vars_of_event_Xt):
11982         move modifier-keys-are-sticky to event-stream.c.
11983
11984         * event-msw.c:
11985         * event-msw.c (mswindows_enqueue_mouse_button_event):
11986         * event-msw.c (key_needs_default_processing_p):
11987         * event-msw.c (XEMSW_LCONTROL):
11988         * event-msw.c (mswindows_handle_sticky_modifiers):
11989         * event-msw.c (FROB):
11990         * event-msw.c (clear_sticky_modifiers):
11991         * event-msw.c (output_modifier_keyboard_state):
11992         * event-msw.c (output_alt_keyboard_state):
11993         * event-msw.c (mswindows_wnd_proc):
11994         * event-msw.c (mswindows_modifier_state):
11995         * event-msw.c (emacs_mswindows_handle_magic_event):
11996         implement sticky modifiers.
11997
11998         * event-stream.c:
11999         * event-stream.c (vars_of_event_stream):
12000         move modifier-keys-are-sticky here.
12001
12002         * lisp.h:
12003         add CHECK_FUNCTION.
12004
12005         * rangetab.c:
12006         implement map-range-table.
12007
12008
12009 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12010
12011         * redisplay-tty.c (reset_tty_modes):
12012         (tty_redisplay_shutdown): Adjust argument type to
12013         tty_frame_output_end.
12014
12015 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12016
12017         * eval.c (Fbacktrace): Don't output a line with only right
12018         parenthesis.
12019
12020 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12021
12022         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12023         (Fpq_reset_poll): Ditto.
12024
12025 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12026
12027         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12028
12029 2000-05-16  Ben Wing  <ben@xemacs.org>
12030
12031         * buffer.c:
12032         * buffer.c (dfc_convert_to/from_internal_format):
12033         * buffer.c (reinit_vars_of_buffer):
12034         Fix conversion functions to allow reentrancy.
12035
12036         * console-msw.c:
12037         * console-msw.c (mswindows_output_last_error):
12038         New fun, generally useful -- output a human-readable
12039         version of GetLastError() on the console.
12040
12041         * console-msw.h:
12042         * console-msw.h (struct mswindows_frame):
12043         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12044
12045         * console-stream.c (stream_output_begin):
12046         * console-stream.c (stream_output_end):
12047         * console-stream.c (stream_output_vertical_divider):
12048         * console-stream.c (stream_clear_region):
12049         * console-stream.c (stream_flash):
12050         * console-stream.c (console_type_create_stream):
12051         Delete blank stream methods, not needed.
12052
12053         * console.h (struct console_methods):
12054         Split begin/end methods into window and frame.
12055
12056         * event-msw.c:
12057         * event-msw.c (mswindows_handle_paint):
12058         * event-msw.c (output_alt_keyboard_state):
12059         * event-msw.c (mswindows_wnd_proc):
12060         * event-msw.c (vars_of_event_mswindows):
12061         Comment about problems with ignored-expose.
12062         Define mswindows-debug-events; not really implemented.
12063
12064         * frame-msw.c (mswindows_init_frame_1):
12065         random cleanups.
12066
12067         * glyphs-msw.c:
12068         * glyphs-msw.c (begin_defer_window_pos):
12069         * glyphs-msw.c (mswindows_unmap_subwindow):
12070         * glyphs-msw.c (mswindows_map_subwindow):
12071         * glyphs-msw.c (mswindows_resize_subwindow):
12072         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12073
12074         * glyphs.c (make_image_instance_1):
12075         Fix crash.
12076
12077         * gutter.c (Fredisplay_gutter_area):
12078         Use new begin/end methods.
12079
12080         * lisp.h (Dynarr_new2):
12081         New creation fun.
12082
12083         * redisplay-msw.c:
12084         * redisplay-msw.c (mswindows_frame_output_begin):
12085         * redisplay-msw.c (mswindows_frame_output_end):
12086         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12087         New begin/end methods -- handle DeferWindowPos.
12088
12089         * redisplay-output.c (redisplay_move_cursor):
12090         * redisplay-output.c (redraw_cursor_in_window):
12091         * redisplay-output.c (redisplay_update_line):
12092         * redisplay-output.c (redisplay_output_window):
12093         New begin/end methods.
12094
12095         * redisplay-tty.c:
12096         * redisplay-tty.c (tty_frame_output_begin):
12097         * redisplay-tty.c (tty_frame_output_end):
12098         * redisplay-tty.c (console_type_create_redisplay_tty):
12099         New begin/end methods.
12100
12101         * redisplay-x.c:
12102         * redisplay-x.c (x_window_output_begin):
12103         * redisplay-x.c (x_window_output_end):
12104         * redisplay-x.c (console_type_create_redisplay_x):
12105         New begin/end methods.
12106
12107         * redisplay.c (redisplay_frame):
12108         * redisplay.c (Fredisplay_echo_area):
12109         New begin/end methods.
12110         use MAYBE_DEVMETH for clear_frame; it may not exist.
12111
12112         * window.h (WINDOW_XFRAME):
12113         WINDOW_XFOO macros -- get locale and decode struct pointer.
12114
12115
12116 2000-05-12  Ben Wing  <ben@xemacs.org>
12117
12118         * emacs.c:
12119         * emacs.c (ensure_no_quitting_from_now_on):
12120         * emacs.c (fatal_error_signal):
12121         * emacs.c (mswindows_handle_hardware_exceptions):
12122         * emacs.c (main):
12123         * emacs.c (Fkill_emacs):
12124         * emacs.c (shut_down_emacs):
12125         * emacs.c (assert_failed):
12126         various improvements in fatal error handling.
12127
12128         * eval.c:
12129         move preparing_for_armageddon to emacs.c.
12130
12131         * lisp.h:
12132         declare fatal_error_in_progress.
12133
12134         * print.c:
12135         * print.c (std_handle_out_external):
12136         * print.c (std_handle_out_va):
12137         * print.c (stderr_out):
12138         * print.c (stdout_out):
12139         use console under mswin when no standard output.
12140         don't do code conversion during fatal error.
12141
12142         * scrollbar.c (Fscrollbar_page_up):
12143         * scrollbar.c (Fscrollbar_page_down):
12144         fix missing else.  reindent.
12145
12146 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12147
12148         Emergency fix.
12149
12150         * glyphs.h (GLYPH_CACHEL_DESCENT):
12151         (GLYPH_CACHEL_DESCENT):
12152         (GLYPH_CACHEL_DESCENT):
12153         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12154         used in case these are inline functions.
12155         Use more absurd values to error check.
12156
12157         include window.h for error check functions.
12158
12159 2000-05-11  Ben Wing  <ben@xemacs.org>
12160
12161         * cmdloop.c (Freally_early_error_handler):
12162         Display message box under windows; otherwise, message will disappear
12163         before it can be viewed.
12164
12165         * console-msw.c:
12166         * console-msw.c (Fmswindows_message_box):
12167         * console-msw.c (FROB):
12168         * console-msw.c (syms_of_console_mswindows):
12169         Define new fun `mswindows-message-box'.
12170         #### I will merge this into `popup-dialog-box'; just give me
12171         a bit of time.
12172
12173         * general.c:
12174         * general.c (syms_of_general):
12175         Some new symbols used in `mswindows-message-box'.
12176
12177         * glyphs.c:
12178         * glyphs.c (Fset_image_instance_property):
12179         put warning in this fun.
12180
12181         * glyphs.h:
12182         * glyphs.h (GLYPH_CACHEL_WIDTH):
12183         * glyphs.h (GLYPH_CACHEL_ASCENT):
12184         * glyphs.h (GLYPH_CACHEL):
12185         * glyphs.h (GLYPH_CACHEL_GLYPH):
12186         define error-checking versions to try to catch a bug i've seen --
12187         redisplay gets in an infinite loop because the glyph width of the
12188         continuation glyph is 65535.
12189
12190         * lisp.h:
12191         Extern message-box stuff.
12192
12193         * window.c (allocate_window):
12194         * window.c (make_dummy_parent):
12195         * window.c (Fset_window_configuration):
12196         Use EQUAL not EQ for subwindow caches to make them work a bit
12197         better. (Something is still very broken.)
12198
12199
12200 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12201
12202         * glyphs.c (image_instantiate): Suppress gcc warnings.
12203         (Fmake_image_instance): Fix doc string.
12204         * specifier.c (Fmake_specifier): Ditto.
12205
12206 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12207
12208         * paths.h.in (PATH_LOCK): Removed.
12209         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12210         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12211
12212 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12213
12214         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12215         Document (featurep '(and xemacs 21.02)).
12216
12217 2000-05-09  Ben Wing  <ben@xemacs.org>
12218
12219         * buffer.c (complex_vars_of_buffer):
12220         update modeline-format doc.
12221
12222         * device.h:
12223         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12224
12225         * emacs.c:
12226         timeline of all released versions of Emacs, for use in creating
12227         authorship comments and in synching up.
12228
12229         * glyphs-widget.c (image_instantiator_buttons):
12230         * glyphs-widget.c (image_instantiator_edit_fields):
12231         * glyphs-widget.c (image_instantiator_combo_box):
12232         * glyphs-widget.c (image_instantiator_scrollbar):
12233         * glyphs-widget.c (image_instantiator_progress_guage):
12234         * glyphs-widget.c (image_instantiator_tree_view):
12235         * glyphs-widget.c (image_instantiator_tab_control):
12236         * glyphs-widget.c (image_instantiator_labels):
12237         * glyphs-widget.c (image_instantiator_layout):
12238         * glyphs-widget.c (image_instantiator_native_layout):
12239         rename decode_domain method to governing_domain.
12240
12241         * glyphs.c:
12242         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12243         * glyphs.c (add_entry_to_device_ii_format_list):
12244         make sure we don't put an entry more than once into the list.
12245         * glyphs.c (check_instance_cache_mapper):
12246         *************************************************************
12247         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12248         HAVE BEEN GETTING.
12249         *************************************************************
12250         * glyphs.c (get_image_instantiator_governing_domain):
12251         clean up, expand on new concept of governing domain.
12252         * glyphs.c (instantiate_image_instantiator):
12253         * glyphs.c (allocate_image_instance):
12254         use governing_domain instead of cache_domain in naming.
12255         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12256         * glyphs.c (make_image_instance_1):
12257         * glyphs.c (Fmake_image_instance):
12258         allow for any domain (not just device), and process the
12259         governing domain correctly.  very big doc fix.
12260         * glyphs.c (Fimage_instance_domain):
12261         new primitive, to retrieve the governing domain of an image instance.
12262         * glyphs.c (image_instantiate):
12263         use new governing_domain stuff.  this fixes a crash you could get
12264         by instantiating certain widget glyphs in frame locales. (should
12265         signal an error instead of crashing.)
12266         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12267         * glyphs.c (Fglyphp): clean up doc.
12268         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12269         * glyphs.c (syms_of_glyphs):
12270         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12271         * glyphs.c (image_instantiator_format_create): add some comments about
12272         bogus code.
12273         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12274         for current-display-table. (Apparently Hrjove implemented in 1998 a
12275         design I wrote up in 1996, but didn't update the doc string.)
12276
12277         * glyphs.h: clean up a doc string.
12278         * glyphs.h (governing_domain):
12279         * glyphs.h (struct image_instantiator_methods):
12280         changes for governing_domain stuff.
12281
12282         * gutter.c:
12283         * gutter.c (Fgutter_specifier_p):
12284         * gutter.c (Fgutter_size_specifier_p):
12285         * gutter.c (Fgutter_visible_specifier_p):
12286         * objects.c:
12287         * objects.c (Fcolor_specifier_p):
12288         * objects.c (Ffont_specifier_p):
12289         * objects.c (Fface_boolean_specifier_p):
12290         doc strings moved to make-*-specifier.
12291
12292         * redisplay.c (add_disp_table_entry_runes_1):
12293         * redisplay.c (generate_fstring_runes):
12294         * redisplay.c (screen):
12295         add random comments and doc strings.
12296
12297         * specifier.c:
12298         * specifier.c (Fmake_specifier):
12299         major overhaul of this doc string.
12300
12301         * specifier.c (Fvalid_specifier_domain_p):
12302         comment about the bogosity of image instances being domains.
12303         * specifier.c (decode_domain):
12304         now non-static, used in glyphs.c.
12305         * specifier.c (specifier_instance):
12306         comment about the bogosity of image instances being domains.
12307         * specifier.c (Fgeneric_specifier_p):
12308         move doc string to make-generic-specifier.
12309         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12310         rebackslashify.
12311
12312         * specifier.h:
12313         * specifier.h (DOMAIN_FRAME):
12314         * specifier.h (DOMAIN_LIVE_P):
12315         * specifier.h (DOMAIN_XDEVICE):
12316         rebackslashify.
12317         add comments about problems with these macros.
12318         prototype for decode_domain.
12319
12320         * toolbar.c:
12321         * toolbar.c (Ftoolbar_specifier_p):
12322         move doc string to `make-toolbar-specifier'.
12323
12324         * window.c (window_unmap_subwindows_cache_mapper):
12325         *************************************************************
12326         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12327         HAVE BEEN GETTING.
12328         *************************************************************
12329
12330 2000-05-09  Andy Piper  <andy@xemacs.org>
12331
12332         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12333
12334         * window.c (Fset_window_configuration): reset the frame subwindow
12335         cache and re-initialize the window subwindow caches.
12336
12337         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12338
12339 2000-05-09  Ben Wing  <ben@xemacs.org>
12340
12341         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12342         DWORD.
12343
12344 2000-04-26  Mike Woolley  <mike@bulsara.com>
12345
12346         * ntheap.c: Changed recreate_heap to limit the amount reserved
12347         for the heap to that which is actually available. Also now
12348         displays a message box (with some dignostics) in the event that
12349         it still can't start.
12350
12351 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12352
12353         * callproc.c (Fold_call_process_internal): GCPRO path
12354
12355 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12356
12357         Patch by Bill Perry.
12358
12359         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12360         back data instead of #ifdef.
12361         (Fscrollbar_page_down): ditto.
12362
12363 2000-05-07  Ben Wing  <ben@xemacs.org>
12364
12365         * buffer.h:
12366         Kludge for defining Qmswindows_tstr.
12367
12368         * nt.c:
12369         * nt.c (open_input_file):
12370         * nt.c (open_output_file):
12371         * nt.c (rva_to_section):
12372         * nt.c (mswindows_executable_type):
12373         Move all memory-mapped-file routines here (some were in unexnt.c,
12374         which is bad because they are used by process-nt.c, and unexnt
12375         won't be around when portable dumping).  Synched the above routines
12376         with FSF 20.6.
12377
12378         * nt.h:
12379         Removed ifdef'd out bogus code.
12380         Fixed some prototypes.
12381
12382         * nt.h (file_data):
12383         * nt.h (OFFSET_TO_RVA):
12384         * nt.h (RVA_TO_OFFSET):
12385         * nt.h (RVA_TO_PTR):
12386         Moved the memory-mapped-file structures, macros and prototypes
12387         here, to parallel nt.c.  ntheap.h should really be removed
12388         entirely, and it's a non-portable-dumper specific file.
12389
12390         * ntheap.h (round_to_next):
12391         Moved the memory-mapped-file structures, macros and prototypes
12392         to nt.h.
12393
12394         * ntproc.c (compare_env):
12395         Moved rva_to_section and mswindows_executable_type to nt.c.
12396         Moved compare_env to process-nt.c.
12397         ntproc.c will die, one day.
12398
12399         * ntproc.c (sys_spawnve):
12400         Account for win32_ -> mswindows_.
12401
12402         * process-nt.c:
12403         * process-nt.c (struct nt_process_data):
12404         * process-nt.c (ensure_console_window_exists):
12405         * process-nt.c (compare_env):
12406         * process-nt.c (nt_create_process):
12407         * process-nt.c (nt_kill_process_by_pid):
12408         * process-nt.c (syms_of_process_nt):
12409         * process-nt.c (vars_of_process_nt):
12410         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12411         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12412         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12413         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12414         Move compare_env here from ntproc.c.
12415
12416         * process.c (Fprocess_send_region):
12417         Takes an optional fourth argument, BUFFER, which should fix some
12418         problems with call-process.
12419
12420         * syscommctrl.h:
12421         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12422
12423         * syswindows.h:
12424         Move ICC_BAR_CLASSES to syscommctrl.h.
12425         Add preliminary macros for MSWindows/Mule.  More to come.
12426
12427         * unexnt.c:
12428         * unexnt.c (unexec):
12429         open_output_file moved to nt.c.
12430
12431
12432 2000-05-05  Andy Piper  <andy@xemacs.org>
12433
12434         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12435         instance from the frame cache also since GC may catch up too late
12436         to make frame deletion sane.
12437
12438 2000-05-04  Andy Piper  <andy@xemacs.org>
12439
12440         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12441         (x_finalize_image_instance): ungcpro on deletion.
12442
12443         * glyphs.c (image_instantiator_format_create): give pointers a
12444         query geometry method so that the geometry is at least set.
12445
12446         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12447         initialize layouts if using widgets.
12448
12449 2000-05-03  Andy Piper  <andy@xemacs.org>
12450
12451         * nt.c: remove bogus reference to sysmmsystem.h
12452
12453         * gui-x.c (popup_selection_callback): fix no selection abort.
12454
12455 2000-05-02  Andy Piper  <andy@xemacs.org>
12456
12457         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12458         (mswindows_widget_instantiate): ditto.
12459
12460         * glyphs-widget.c (initialize_widget_image_instance): initialize
12461         children correctly.
12462         (widget_instantiate): cope with children and items in the same
12463         instance.
12464
12465         * glyphs.c (mark_image_instance): cope with children as a first
12466         class member.
12467         (image_instance_equal): ditto.
12468         (image_instance_hash): ditto.
12469         (image_instance_changed): ditto.
12470
12471 2000-04-30  Andy Piper  <andy@xemacs.org>
12472
12473         * glyphs.c (subwindow_query_geometry): new function. Return some
12474         defaults.
12475         (subwindow_instantiate): don't assign dimensions if none have been
12476         given.
12477         (image_instantiator_format_create): add subwindow_query_geometry.
12478         (print_image_instance): cope with layouts as widgets.
12479
12480 2000-04-29  Andy Piper  <andy@xemacs.org>
12481
12482         * frame.c (delete_frame_internal): call
12483         free_frame_subwindow_instance_cache so that all subwindows are
12484         finalized before their parent.
12485         (mark_frame): remove subwindow_cachels.
12486         (Fmake_frame): remove subwindow_cachel manipulation.
12487         (allocate_frame_core): subwindow_instance_cache is a weak list.
12488         (delete_frame_internal): set subwindow_instance_cache to nil.
12489
12490         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12491         finalization safe.
12492         (mswindows_finalize_image_instance): use the device
12493         not the domain as the domain may have died already.
12494
12495         * glyphs-x.c (x_finalize_image_instance): ditto.
12496         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12497         HEIGHT.
12498
12499         * redisplay-output.c (redisplay_unmap_subwindows): update for
12500         subwindow instance cache as a weak list.
12501         (redisplay_unmap_subwindows_maybe): ditto.
12502         (redisplay_unmap_subwindows_except_us): ditto.
12503
12504         * glyphs.c (unmap_subwindow): error checking will check the domain
12505         so don't deal with it here. Don't use cachels anymore.
12506         (map_subwindow): ditto.
12507         (update_subwindow_cachel_data): remove old accessor names.
12508         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12509         (Fresize_subwindow): don't update cachel.
12510         (mark_subwindow_cachels):
12511         (update_subwindow_cachel_data):
12512         (add_subwindow_cachel):
12513         (get_subwindow_cachel_index):
12514         (update_subwindow_cachel):
12515         (reset_subwindow_cachels):
12516         (mark_subwindow_cachels_as_not_updated): deleted.
12517         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12518         subwindow instance to the frame cache.
12519         (find_matching_subwindow): update for subwindow instance cache as
12520         a weak list.
12521         (update_widget_instances): ditto.
12522         (image_instance_type_to_mask):inlined.
12523         (free_frame_subwindow_instance_cache): new function. finalize all
12524         subwindows that are instantiated.
12525
12526         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12527         of cachel information.
12528         (IMAGE_INSTANCE_DISPLAY_X):
12529         (IMAGE_INSTANCE_DISPLAY_Y):
12530         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12531         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12532         (XIMAGE_INSTANCE_DISPLAY_X):
12533         (XIMAGE_INSTANCE_DISPLAY_Y):
12534         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12535         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12536         remove subwindow_cachel structure and function references.
12537         (image_instance_type_to_mask): inline from glyphs.c
12538
12539         * redisplay.c (redisplay_frame): remove subwindow_cachel
12540         references.
12541
12542         * frame.h (struct frame): remove subwindow_cachels.
12543         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12544
12545         * frameslots.h: add subwindow_instance_cache.
12546
12547         * window.c (replace_window): check subwindow cache of replacement.
12548         (window_unmap_subwindows_cache_mapper):
12549         (window_unmap_subwindows): new functions. Unmap all subwindows
12550         cached on this window.
12551         (mark_window_as_deleted): unmap all subwindows.
12552
12553 2000-04-27  Andy Piper  <andy@xemacs.org>
12554
12555         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12556
12557         * glyphs-widget.c (widget_layout): return something.
12558         (layout_layout): return something. Fail if not initialized.
12559         (layout_query_geometry): ditto.
12560         (image_instantiator_native_layout): new function. Initialized the
12561         native layout type.
12562         (widget_instantiate): don't do layout stuff here.
12563
12564         * glyphs.c (instantiate_image_instantiator): reorded calling or
12565         instantiate and post_instantiate with layout in between.
12566         (image_instance_layout): be more selective about deciding whether
12567         the layout has been done or not.
12568
12569         * glyphs.h (struct image_instantiator_methods): return a value
12570         from layout_method.
12571
12572 2000-04-26  Andy Piper  <andy@xemacs.org>
12573
12574         * glyphs.c (allocate_image_instance): make initial width and
12575         height unspecified. Set initialized to 0.
12576
12577         * syscommctrl.h new file. Encapsulates commctrl.h.
12578
12579         * syswindows.h new file. Encapsulates windows.h.
12580
12581         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12582         * nt.c: ditto.
12583         * console-msw.h: ditto.
12584
12585         * redisplay-tty.c (tty_output_display_block): remove layout references.
12586
12587         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12588         window handle rather than just the frame.
12589
12590         * glyphs.c (mark_image_instance): remove layout references.
12591         (print_image_instance): ditto.
12592         (image_instance_equal): ditto.
12593         (image_instance_hash): ditto.
12594         (decode_image_instance_type): ditto.
12595         (encode_image_instance_type): ditto.
12596         (image_instantiate): ditto.
12597         (allocate_glyph): ditto.
12598         (Fimage_instance_height): ditto.
12599         (Fimage_instance_width): ditto.
12600         (update_subwindow): ditto.
12601
12602         * redisplay-x.c (x_output_display_block): recode for layouts as
12603         widgets.
12604
12605         * redisplay-output.c (redisplay_output_layout): recode for layouts
12606         as widgets.
12607         (compare_runes): remove layout references.
12608
12609         * redisplay-msw.c (mswindows_output_display_block): recode for
12610         layouts as widgets.
12611
12612         * glyphs-widget.c (image_instantiator_layout): remove
12613         layout_possible_dest_types.
12614         (layout_possible_dest_types): deleted.
12615
12616         * glyphs.h (image_instance_type): remove layout references.
12617         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12618         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12619         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12620
12621 2000-04-25  Andy Piper  <andy@xemacs.org>
12622
12623         * glyphs-widget.c (image_instantiator_buttons):
12624         (image_instantiator_edit_fields):
12625         (image_instantiator_combo_box):
12626         (image_instantiator_scrollbar):
12627         (image_instantiator_progress_guage):
12628         (image_instantiator_tree_view):
12629         (image_instantiator_tab_control):
12630         (image_instantiator_labels):
12631         (image_instantiator_layout): call default post_instantiate method.
12632         (widget_post_instantiate): new function. Simply lays out the
12633         widgets.
12634
12635         * glyphs.h (struct image_instantiator_methods): add
12636         post_instantiate method.
12637
12638         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12639         method calls.
12640
12641 2000-04-23  Andy Piper  <andy@xemacs.org>
12642
12643         * glyphs.h (struct image_instantiator_methods): add
12644         decode_domain_method.
12645         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12646         derived from the domain.
12647         (IMAGE_INSTANCE_FRAME): new accessor.
12648         (XIMAGE_INSTANCE_FRAME): ditto.
12649
12650         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12651         instead of _SUBWINDOW_FRAME.
12652         (finalize_image_instance): ditto.
12653         (Fimage_instance_foreground): ditto.
12654         (Fimage_instance_background): ditto.
12655         (image_instantiate): ditto.
12656         (update_subwindow_cachel): ditto.
12657         (update_subwindow): ditto.
12658         (unmap_subwindow): ditto.
12659         (map_subwindow): ditto
12660         (subwindow_instantiate): ditto.
12661         * glyphs-msw.c (mswindows_update_widget): ditto.
12662         (mswindows_progress_gauge_instantiate): ditto.
12663         (mswindows_tab_control_update): ditto.
12664         * glyphs-x.c (x_update_widget): ditto.
12665         (x_widget_instantiate): ditto.
12666         (x_tab_control_instantiate): ditto.
12667         (x_tab_control_update): ditto.
12668         * event-msw.c (mswindows_wnd_proc): ditto
12669
12670         * glyphs-widget.c (image_instantiator_layout): use
12671         subwindow_decode_domain.
12672         (image_instantiator_buttons): ditto.
12673         (image_instantiator_edit_fields): ditto.
12674         (image_instantiator_combo_box): ditto.
12675         (image_instantiator_scrollbar): ditto.
12676         (image_instantiator_progress_guage): ditto.
12677         (image_instantiator_tree_view): ditto.
12678         (image_instantiator_tab_control): ditto.
12679         (image_instantiator_labels): ditto.
12680         (image_instantiator_layout): ditto.
12681
12682         * glyphs.c: add instance error checking to many functions.
12683         (instantiate_image_instantiator): decode device from cache_domain.
12684         (image_instantiate): partially rewrite by using
12685         decode_image_instantiator_domain to determine what domain the
12686         instance needs to be cached in.
12687         (decode_image_instantiator_domain): new function. Determine what
12688         domain the image needs to be cached in.
12689         (check_window_subwindow_cache): new error checking function.
12690         (check_instance_cache_mapper): ditto.
12691         (check_image_instance_structure): ditto.
12692         (subwindow_decode_domain): new function. Encodes a window as a
12693         subwindow's cache domain.
12694         (image_instantiator_format_create): use it for text and
12695         subwindows.
12696
12697 2000-04-21  Andy Piper  <andy@xemacs.org>
12698
12699         * glyphs.c (image_instance_device): new function.
12700         (image_instance_frame): new function.
12701         (image_instance_window): new function.
12702         (image_instance_live_p): new function.
12703
12704         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12705         cache to nil.
12706
12707         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12708         (IMAGE_INSTANCE_DOMAIN): new accessor.
12709         (XIMAGE_INSTANCE_DOMAIN): ditto.
12710
12711         * glyphs-x.c (x_finalize_image_instance): device->domain.
12712
12713         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12714         (mswindows_finalize_image_instance): ditto.
12715
12716         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12717         (gif_instantiate): ditto.
12718         (png_instantiate): ditto.
12719         (tiff_instantiate): ditto.
12720
12721         * glyphs.c (instantiate_image_instantiator): use domain rather
12722         than device.
12723         (mark_image_instance): device -> domain.
12724         (print_image_instance): ditto.
12725         (finalize_image_instance): ditto.
12726         (image_instance_equal): ditto.
12727         (allocate_image_instance): ditto.
12728         (Fcolorize_image_instance): ditto.
12729         (query_string_geometry): ditto.
12730         (image_instantiate): ditto
12731         (query_string_font): ditto.
12732         (image_instantiate): ditto.
12733         (update_subwindow): ditto.
12734         (unmap_subwindow): ditto.
12735         (map_subwindow): ditto.
12736         (subwindow_instantiate): ditto.
12737
12738         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12739         (DOMAIN_FRAME): ditto.
12740         (DOMAIN_WINDOW): ditto.
12741         (DOMAIN_LIVE_P): ditto.
12742         (XDOMAIN_DEVICE): ditto.
12743         (XDOMAIN_FRAME): ditto.
12744         (XDOMAIN_WINDOW): ditto.
12745
12746         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12747         a valid specifier domain.
12748
12749 2000-04-19  Andy Piper  <andy@xemacs.org>
12750
12751         * glyphs-widget.c (syms_of_glyphs_widget): remove
12752         widget-callback-current-channel.
12753         (vars_of_glyphs_widget): ditto.
12754         * glyphs.h: ditto
12755
12756         * gui.c (get_gui_callback): revert to previous behaviour.
12757
12758 2000-04-18  Andy Piper  <andy@xemacs.org>
12759
12760         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12761         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12762         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12763
12764         * glyphs.c (image_instance_equal): add margin_width.
12765         (image_instance_hash): ditto.
12766
12767         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12768         (layout_query_geometry): ditto.
12769         (layout_layout): ditto.
12770         (syms_of_glyphs_widget): add margin-width.
12771         (image_instantiator_layout): allow margin-width.
12772
12773         * glyphs.c (update_widget_instances): make a normal function.
12774         (syms_of_glyphs): remove Qupdate_widget_instances.
12775         * glyphs.h: ditto.
12776
12777         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12778         so that we don't corrupt ideas about the last event or
12779         command. Remove widget-callback-current-channel fiddling.
12780         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12781
12782 2000-05-01  Martin Buchholz <martin@xemacs.org>
12783
12784         * XEmacs 21.2.33 is released.
12785
12786 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12787
12788         * make-src-depend: Allow dots in header file name.
12789
12790 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12791
12792         * mule-charset.h (struct charset_lookup): Add
12793         next_allocated_1_byte_leading_byte and
12794         next_allocated_2_byte_leading_byte.
12795         * mule-charset.c: Move above two variables so that those values
12796         will be dumped.
12797
12798 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12799
12800         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12801         when string length is zero.
12802         (find_charsets_in_emchar_string): Ditto.
12803
12804 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12805
12806         * lisp.h: extern Qdialog and Qmenubar.
12807
12808         * gui-x.c: added events.h.
12809                 also fixed typo which made the file uncompilable.
12810
12811         * general.c: Added Qmenubar and Qdialog
12812
12813 2000-04-28  Ben Wing  <ben@xemacs.org>
12814
12815         * frame-msw.c (mswindows_init_frame_1):
12816         * frame-msw.c (mswindows_mark_frame):
12817         * event-msw.c (mswindows_enqueue_dispatch_event):
12818         * console-msw.h:
12819         * console-msw.h (struct mswindows_frame):
12820         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12821         there are now three hash tables for callbacks.
12822         mswindows_enqueue_dispatch_event is no longer static.
12823
12824         * dialog-x.c (maybe_run_dbox_text_callback):
12825         * dialog-x.c (dbox_descriptor_to_widget_value):
12826         switch to new cons3 form for callbacks.
12827
12828         * glyphs-msw.c (mswindows_register_gui_item):
12829         * glyphs-msw.c (mswindows_widget_instantiate):
12830         * glyphs-msw.c (add_tree_item):
12831         * glyphs-msw.c (add_tab_item):
12832         new image instance parameter, so it can be passed to callback-ex.
12833         respect :callback-ex as well as :callback.
12834
12835         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12836         add :callback-ex.
12837
12838         * glyphs.c (print_image_instance):
12839         prettify, e.g. now prints widget type.
12840
12841         * gui-x.h:
12842         certain funs have new image instance parameter.
12843
12844         * gui.c:
12845         * gui.c (get_gui_callback):
12846         * gui.c (gui_item_add_keyval_pair):
12847         * gui.c (gui_item_init):
12848         * gui.c (gui_add_item_keywords_to_plist):
12849         * gui.c (mark_gui_item):
12850         * gui.c (gui_item_hash):
12851         * gui.c (gui_item_equal):
12852         * gui.c (copy_gui_item):
12853         * gui.c (syms_of_gui):
12854         recognize callback-ex in a number of places.
12855         also, fix the annoying "can't get out of yes-no dialog" bug.
12856
12857         * gui.h:
12858         * gui.h (struct Lisp_Gui_Item):
12859         recognize callback-ex in a number of places.
12860
12861         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12862         new parameter in button_item_to_widget_value.
12863
12864         * glyphs-x.c (x_update_widget):
12865         * glyphs-x.c (x_button_instantiate):
12866         * glyphs-x.c (x_button_update):
12867         * glyphs-x.c (x_progress_gauge_instantiate):
12868         * glyphs-x.c (x_edit_field_instantiate):
12869         * glyphs-x.c (x_combo_box_instantiate):
12870         * glyphs-x.c (x_tab_control_instantiate):
12871         * glyphs-x.c (x_label_instantiate):
12872         new image instance parameter in various places.
12873
12874         * event-Xt.c:
12875         * event-Xt.c (enqueue_Xt_dispatch_event):
12876         this fun gets exported.
12877
12878         * gui-msw.c:
12879         * gui-msw.c (mswindows_handle_gui_wm_command):
12880         handle both :callback and :callback-ex, and generate our own
12881         event because it's one of the callback-ex arguments.
12882
12883         * gui-x.c:
12884         * gui-x.c (popup_selection_callback):
12885         handle both :callback and :callback-ex, and generate our own
12886         event because it's one of the callback-ex arguments.
12887         * gui-x.c (button_item_to_widget_value):
12888         * gui-x.c (gui_items_to_widget_values_1):
12889         * gui-x.c (gui_item_children_to_widget_values):
12890         * gui-x.c (gui_items_to_widget_values):
12891         new image instance parameter in various places.
12892
12893         * fns.c (Freplace_list):
12894         fix small typo in doc string.
12895
12896         * lisp.h:
12897         declare enqueue_Xt_dispatch_event.
12898
12899 2000-04-28  Ben Wing  <ben@xemacs.org>
12900
12901         * buffer.c:
12902         * buffer.c (Frecord_buffer):
12903         * buffer.c (syms_of_buffer):
12904         delete record-buffer-hook.
12905
12906         * fns.c:
12907         * fns.c (Freplace_list):
12908         * fns.c (syms_of_fns):
12909         new primitive replace-list.
12910
12911         * frameslots.h:
12912         slot for old buffer-alist.
12913
12914         * lisp.h:
12915         exfun replace-list.
12916
12917         * redisplay.c:
12918         * redisplay.c (redisplay_frame):
12919         * redisplay.c (syms_of_redisplay):
12920         * redisplay.c (vars_of_redisplay):
12921         new hook buffer-list-changed-hook.
12922         call it.
12923
12924 2000-04-27  Ben Wing  <ben@xemacs.org>
12925
12926         * extents.h: extern in_modeline_generation.
12927
12928         * redisplay.c (generate_formatted_string_db): set
12929         in_modeline_generation.
12930
12931         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12932         flags if in modeline generation.  otherwise frame-modified-tick
12933         is ticked far too often.
12934         Declare in_modeline_generation.
12935
12936 2000-04-26  Ben Wing  <ben@xemacs.org>
12937
12938         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12939         option.
12940         (vars_of_emacs): add quick-build as an error-checking option.
12941         A bit kludgy, but there doesn't seem much point in creating
12942         a real var for this.
12943
12944         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12945
12946 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12947
12948         * redisplay.h (struct display_line): Add a new variable,
12949         line_continuation.
12950
12951         * redisplay.c (create_text_block): Set dl->line_continuation if
12952         the line continues.
12953         (create_string_text_block): Ditto.
12954         (regenerate_window_incrementally): Use line_continuation instead
12955         of searching continuation glyph.
12956         (add_margin_runes): Call add_glyph_rune.
12957         (add_glyph_rune): Handle margin glyph.
12958
12959 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12960
12961         * filelock.c (fill_in_lock_file_name):
12962         ANSIfy.
12963         Check for IS_ANY_SEP instead of '/'.
12964         (lock_file_1):
12965         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12966         Never check errno without first seeing that system call failed.
12967         (unlock_file): Add GCPRO.
12968         (Flock_buffer): Fix docstring.
12969         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12970
12971 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12972
12973         * sysdep.c (get_pty_max_bytes):
12974         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12975         strings longer than 252 bytes.
12976
12977         * md5.c: Unconditionally include ANSI header <limits.h>
12978
12979         * glyphs-x.c (convert_EImage_to_XImage):
12980         * lisp-union.h (union Lisp_Object):
12981         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12982
12983 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12984
12985         * filelock.c (current_lock_owner): Remove unused variable o, p.
12986
12987 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12988
12989         * callint.c: Remove multiply defined symbol Qlet
12990         (syms_of_callint): ditto.
12991
12992 2000-04-14  Andy Piper  <andy@xemacs.org>
12993
12994         * general.c (syms_of_general): add last-command, this-command, let
12995         and funcall.
12996
12997         * lisp.h: declare various symbols.
12998
12999         * glyphs.h: declare Qwidget_callback_current_channel;
13000
13001         * glyphs-widget.c (syms_of_glyphs_widget): add
13002         Qgui_callback_current_channel.
13003         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13004
13005         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13006         widget-callback-current-channel when invoking the interactive
13007         arg. Also bind last-command and next-command when invoking the
13008         widget updates.
13009         * gui-x.c (popup_selection_callback): ditto.
13010
13011         * gui.c (get_gui_callback): massage args so that we are always
13012         calling eval. This allows us to add our own variable bindings
13013         outside.
13014
13015         * glyphs-x.c (x_button_instantiate): use
13016         gui_items_to_widget_values since this is GC safe.
13017         (x_progress_gauge_instantiate): ditto.
13018         (x_edit_field_instantiate): ditto.
13019         (x_label_instantiate): ditto.
13020
13021         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13022         (emacs_Xt_event_widget_focus_out): new function
13023         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13024         focus.
13025         (emacs_Xt_event_add_widget_actions): new function. add focus
13026         functions as actions.
13027         (init_event_Xt_late): use it.
13028
13029 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13030
13031         * event-stream.c (Fdispatch_event): Doc fix.
13032
13033 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13034
13035         * postgresql.c: Remove all references to PQsetenv*.
13036
13037         * postgresql.h: Remove references to PGsetenvHandler object.
13038         * lrecord.h (lrecord_type): Ditto.
13039
13040 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13041
13042         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13043         real_heigh and real_width members, and accessor macros for these.
13044
13045         * glyphs-msw.c (init_image_instance_geometry): New function.
13046         (init_image_instance_from_dibitmap): Use it.
13047         (mswindows_resource_instantiate): Use it.
13048         (init_image_instance_from_xbm_inline): Use it.
13049         (mswindows_initialize_image_instance_mask): Use real bitmap
13050         geometry.
13051         (mswindows_create_resized_bitmap): Ditto.
13052         (mswindows_create_resized_mask): Ditto.
13053
13054         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13055         and bitmap to their surface size.
13056
13057 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13058
13059         * process-unix.c (unix_send_process): Guard against process MIA
13060         after Faccept_process_output.
13061
13062 2000-04-11  Ben Wing  <ben@xemacs.org>
13063
13064         * eval.c (unbind_to_hairy): fix brokenness introduced by
13065         nanosecond speed improvements.
13066
13067 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13068
13069         * sunplay.c (init_device): To play sounds correctly, the device
13070         apparently needs to be initialized at least once by XEmacs.  Make
13071         it so.
13072
13073 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13074
13075         * redisplay.c (add_margin_runes): Add text image glyph
13076           handling.
13077
13078 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13079
13080         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13081         gcc is newer than 2.5.
13082
13083 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13084
13085         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13086
13087         * fns.c (size_bit_vector):
13088         * alloc.c (size_vector):
13089         (make_vector_internal):
13090         (make_bit_vector_internal):
13091         (sweep_bit_vectors_1):
13092         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13093
13094 2000-04-06  Andy Piper  <andy@xemacs.org>
13095
13096         * gmalloc.c (malloc): undo previous change.
13097         (malloc): ditto.
13098         (free): ditto.
13099         (realloc): ditto.
13100
13101 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13102
13103         * line-number.c (buffer_line_number): Revert to former version.
13104
13105 2000-04-06  Andy Piper  <andy@xemacs.org>
13106
13107         * gmalloc.c (malloc): add error checking.
13108         (malloc): ditto.
13109         (free): ditto.
13110         (realloc): ditto.
13111
13112         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13113         button_item_to_widget_value arg.
13114
13115         * glyphs-x.c (x_button_instantiate): add extra
13116         button_item_to_widget_value arg.
13117         (x_progress_gauge_instantiate): ditto.
13118         (x_edit_field_instantiate): ditto.
13119         (x_label_instantiate): ditto.
13120
13121         * gui-x.c (gui_items_to_widget_values_1): add extra
13122         button_item_to_widget_value arg.
13123         (button_item_to_widget_value): add extra menu_item_p arg.
13124
13125         * gui-x.h: change signature of button_item_to_widget_value.
13126
13127         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13128         button_item_to_widget_value arg.
13129
13130 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13131
13132         * buffer.h (struct buffer): auto_save_modified should be long.
13133
13134 2000-04-05  Andy Piper  <andy@xemacs.org>
13135
13136         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13137         type.
13138         (button_query_geometry): give a little more room so that athena
13139         buttons fit.
13140
13141 2000-04-05  Andy Piper  <andy@xemacs.org>
13142
13143         * faces.c (complex_vars_of_faces): The widget face should inherit
13144         the font of the gui-element face.
13145
13146 2000-04-04  Andy Piper  <andy@xemacs.org>
13147
13148         * glyphs-x.c (x_button_update): new function. unconditionally
13149         update a button's state when the instance is dirty.
13150         (image_instantiator_format_create_glyphs_x): add x_button_update.
13151         (x_widget_instantiate): remove old resize cruft.
13152
13153 2000-04-02  Andy Piper  <andy@xemacs.org>
13154
13155         * frame.c (change_frame_size_1): The introduction of gutters means
13156         that we need to allow 0 as a potential frame dimension.
13157
13158 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13159
13160         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13161         image glyph if allow_cursor.
13162         (add_hscroll_rune): Don't allow cursor to border glyph.
13163         (create_text_block): Ditto.
13164
13165         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13166         text not in buffer.
13167         (redisplay_output_layout): Call ensure_face_cachel_complete for
13168         text image glyph.
13169
13170
13171 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13172
13173         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13174
13175         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13176         not in buffer
13177
13178         * redisplay-tty.c (tty_output_display_block): Delete the routine
13179         for text image glyph
13180         * redisplay-x.c (x_output_display_block): ditto
13181         * redisplay-msw.c (mswindows_output_display_block): ditto
13182
13183 2000-02-02  Mike Alexander  <mta@arbortext.com>
13184
13185         Note: Some of these were committed by accident as part of other
13186         patches.
13187
13188         * regex.c (regex_compile): Avoid compiler warnings.
13189
13190         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13191
13192         * nt.h: Declare term_ntproc correctly.
13193
13194         * nt.c: Remove incorrect declaration of get_home_directory which
13195         is declared correctly in lisp.h.
13196
13197         * keymap.c (get_keyelt): Avoid compiler warnings.
13198         (raw_lookup_key_mapper): Avoid compiler warnings.
13199
13200         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13201
13202         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13203
13204         * filemode.c (mode_string): Avoid compiler warnings.
13205
13206         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13207         avoid warning.
13208
13209         * events-mod.h: Undef some things that winuser.h defines differently.
13210
13211         * data.c (Faset): Avoid compiler warnings.
13212
13213         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13214
13215 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13216
13217         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13218         Fall through to simple beep on error.
13219         Replace "extern" by real header file.
13220
13221         * linuxplay.c: Use nativesound.h
13222         (play_sound_data): Return error code. Be less verbose on error.
13223
13224         * sunplay.c: Use nativesound.h
13225         (play_sound_data): Return error code. Be less verbose on error.
13226
13227         * ntplay.c: Use nativesound.h
13228         (play_sound_data): Return fake error code
13229
13230         * sgiplay.c: Use nativesound.h
13231         (play_sound_data): Return error code
13232
13233         * hpplay.c: Use nativesound.h, partially implement
13234         new error code. Break compilation until finished.
13235         (play_sound_data): error code.
13236
13237         * nativesound.h (play_sound_file):
13238           (play_sound_data): Prototype in new header.
13239
13240 2000-03-31  Andy Piper  <andy@xemacs.org>
13241
13242         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13243         for toggle and radio buttons.
13244         (image_instantiator_buttons): use it.
13245
13246 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13247
13248         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13249         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13250         found. Scrollbar event probably belonged to some old config.
13251
13252 2000-03-31  Andy Piper  <andy@xemacs.org>
13253
13254         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13255         than 1.
13256         (initialize_widget_image_instance): default layout to
13257         LAYOUT_HORIZONTAL rather than 0.
13258         (widget_instantiate): reverse the item list at the end rather than
13259         every iteration.
13260         (layout_layout): re-code for the border text at the front of the
13261         item list rather than at the end.
13262         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13263         provided by the user.
13264         (widget_query_geometry): comment.
13265
13266 2000-03-30  Andy Piper  <andy@xemacs.org>
13267
13268         * glyphs-widget.c (image_instantiator_layout): allow standard
13269         widget keywords in layouts.
13270
13271         * gutter.c (output_gutter): cope with nil gutter contents.
13272
13273         * frame.c (Fset_frame_properties): add gutter docs.
13274
13275 2000-03-29  Andy Piper  <andy@xemacs.org>
13276
13277         * toolbar-msw.c (TBSTYLE_FLAT): add.
13278         (mswindows_output_toolbar): minor fiddling.
13279
13280 2000-03-29  Andy Piper  <andy@xemacs.org>
13281
13282         * gutter.c (output_gutter): force gutter size recalculation if
13283         what we are trying to display won't fit.
13284         (update_gutter_geometry): new function. A per-gutter version of
13285         update_frame_gutter_geometry.
13286         (update_frame_gutter_geometry): use it.
13287         (redraw_exposed_gutter): add extra debugging output.
13288
13289 2000-03-28  Mike Alexander  <mta@arbortext.com>
13290
13291         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13292         (pdump_file_unmap): Implement it on Windows
13293         (pdump_file_get): Save alocated handles for pdump_file_unmap
13294
13295 2000-03-28  Andy Piper  <andy@xemacs.org>
13296
13297         * gui.c (get_gui_callback): treat Quit specially.
13298
13299 2000-03-27  Andy Piper  <andy@xemacs.org>
13300
13301         * glyphs.c (image_instantiate): be careful to check in the same
13302         way we assigned.
13303
13304 2000-03-27  Didier Verna  <didier@xemacs.org>
13305
13306         * config.h.in: define the proper SMART_INCLUDE macro.
13307         handle renaming of `foo_h_path' to `foo_h_file'.
13308
13309         * database.c: ditto.
13310
13311         * emacs.c: ditto.
13312
13313         * linuxplay.c: ditto.
13314
13315         * terminfo.c: ditto.
13316
13317         * tooltalk.h: ditto.
13318
13319 2000-03-27  Andy Piper  <andy@xemacs.org>
13320
13321         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13322         gets updated whenever the face might have changed.
13323
13324 2000-03-26  Mike Alexander  <mta@arbortext.com>
13325
13326         * dumper.c (pdump_resource_free): Fix the comment.
13327
13328 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13329
13330         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13331
13332 2000-03-22  Mike Alexander  <mta@arbortext.com>
13333
13334         * dumper.c: Include Windows headers on Windows
13335         (pdump_resource_free): Add a body to the function
13336         (pdump_load): exe_name -> exe_path and add some comments.
13337
13338 2000-03-25  Mike Alexander  <mta@arbortext.com>
13339
13340         * gui.c (copy_gui_item_tree): Return a value in all cases
13341
13342 2000-03-21  Didier Verna  <didier@xemacs.org>
13343
13344         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13345         lwlib/config.h.in.
13346         (SMART_INCLUDE): new macro.
13347         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13348         the proper location.
13349
13350         * postgresql.c: use it.
13351
13352         * inline.c: ditto.
13353
13354 2000-03-24  Andy Piper  <andy@xemacs.org>
13355
13356         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13357         do this.
13358
13359 2000-03-24  Andy Piper  <andy@xemacs.org>
13360
13361         * redisplay-output.c (compare_runes): use image_instance_changed
13362         to detect changes. Do not depend on glyphs_changed, only depend on
13363         dirtiness.
13364          (redisplay_output_layout): add debug messages.
13365         (compare_runes): ditto.
13366
13367         * glyphs.h: declare new functions.
13368         (struct Lisp_Image_Instance): remove percent and associated
13369         accessors.
13370
13371         * gui.h: declare new copying functions.
13372
13373         * gui.c (copy_gui_item_tree): new function.
13374         (copy_gui_item): new function.
13375         (gui_item_id_hash): revert to standard hash.
13376         (gui_item_hash): ditto.
13377         (gui_item_hash_internal): deleted.
13378         (mark_gui_item): mark value.
13379         (gui_item_add_keyval_pair): add value.
13380         (gui_item_init): ditto.
13381         (gui_add_item_keywords_to_plist): ditto.
13382         (gui_item_equal): ditto.
13383         (syms_of_gui): add Q_value.
13384
13385         * glyphs-x.c (x_progress_gauge_update): use pending items and
13386         value for setting the state.
13387         (x_update_widget): don't set items from pending here.
13388
13389         * glyphs-widget.c (update_widget): update items here.
13390         (progress_gauge_set_property): use items for storing value. Put
13391         new value in pending items.
13392
13393         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13394         items for new value. Convert percent -> value.
13395         (mswindows_tab_control_update): don't update items here.
13396
13397         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13398         (update_subwindow): ditto.
13399         (image_instance_changed): new function. Compare hash values and
13400         past and present widget items.
13401         (image_instantiate): We more careful about where we instantiate
13402         things.
13403         (image_instantiate): add error checking.
13404
13405         * gutter.c (syms_of_gutter): use -hook.
13406
13407 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13408
13409         * console-tty.c (Fset_console_tty_input_coding_system): Use
13410         Qkeyboard.
13411         (Fset_console_tty_output_coding_system): Use Qterminal.
13412         (tty_init_console): Use Qkeyboard and Qterminal.
13413
13414 2000-03-21  Ben Wing  <ben@xemacs.org>
13415
13416         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13417         From Mike Alexander <mta@arbortext.com>.
13418
13419 2000-03-21  Ben Wing  <ben@xemacs.org>
13420
13421         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13422         process brokenness.  Proper implementation to come.
13423         * callproc.c:
13424         Rename call-process-internal to old-call-process-internal.
13425         New impl. in process.el.
13426
13427 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13428
13429         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13430
13431 2000-03-20  Andy Piper  <andy@xemacs.org>
13432
13433         * glyphs.c (full_list_hash): make hashes of the same elements in
13434         different orders return different values.
13435
13436 2000-03-20  Martin Buchholz <martin@xemacs.org>
13437
13438         * XEmacs 21.2.32 is released.
13439
13440 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13441
13442         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13443         (DFC_MALLOC_USE_CONVERTED_DATA):
13444         Add aliasing-safe casts to allow use with char* or unsigned char*
13445         lvalues.
13446
13447         * eldap.c (Fldap_open):
13448         (Fldap_search_basic):
13449         (Fldap_add):
13450         (Fldap_modify):
13451         Make C++-compilable.
13452         Make sure GCPRO'ed variables are initialized.
13453         Use temp variables to avoid repeated calls to Flength.
13454
13455 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13456
13457         * sysfile.h:
13458         Make sure PATH_MAX is always defined.
13459         Include limits.h for PATH_MAX.
13460         Deprecate use of MAXPATHLEN.
13461
13462 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13463
13464         * emacs.c: Add reinit_vars_of_fileio.
13465         * symsinit.h: Add reinit_vars_of_fileio.
13466         * fileio.c (reinit_vars_of_fileio): New.
13467         * fileio.c (Fmake_temp_name):
13468         Initialize temp_name random number from microseconds to make
13469         collisions even less likely.  Initialize always at process startup
13470         time.  (make-temp-name) used to return the same file name twice in
13471         a row when PDUMP.
13472         Random stylistic fiddling.
13473         Comment fixes.
13474
13475 2000-03-20  Andy Piper  <andy@xemacs.org>
13476
13477         * glyphs.c (image_instantiate): allow text glyphs to be
13478         instantiated in the minibuffer window.
13479
13480 2000-03-19  Andy Piper  <andy@xemacs.org>
13481
13482         * glyphs.c (image_instance_hash): be careful about which items we
13483         hash on.
13484
13485         * glyphs-widget.c (tab_control_set_property): record into pending
13486         items rather than the actual items.
13487
13488         * glyphs-x.c (x_update_widget): use pending items to update with.
13489
13490         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13491         to update with.
13492
13493         * glyphs.c (mark_image_instance): mark pending items.
13494
13495         * window.c (Fset_window_configuration): record the buffer.
13496         (Fselect_window): totally revert previous change which breaks many
13497         things.
13498
13499 2000-03-18  Andy Piper  <andy@xemacs.org>
13500
13501         * glyphs-msw.c (mswindows_tab_control_update): force selected
13502         item.
13503
13504         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13505         window domain cache, otherwise we get inconsistencies at
13506         startup. There is something fishy at startup which can lead to the
13507         minibuffer being the selected window when the gutter content is
13508         instantiated.
13509
13510         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13511         gcpros.
13512         (parse_gui_item_tree_children): ditto.
13513         (parse_gui_item_tree_item): ditto.
13514
13515         * glyphs.c (Fupdate_widget_instances): return something.
13516
13517 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13518
13519         * window.c (Fselect_window): Undo 2000-03-17 change.
13520
13521 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13522
13523         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13524         against v7.0 libraries.  Insta-coredump city until the postgres
13525         folks fix it.
13526
13527 2000-03-17  Andy Piper  <andy@xemacs.org>
13528
13529         * faces.c (complex_vars_of_faces): don't give the widget face an
13530         inherited background pixmap.
13531
13532         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13533         selected item.
13534
13535         * event-stream.c (Fdispatch_non_command_events): return something.
13536
13537         * gutter.c (output_gutter): use widget face.
13538         (clear_gutter): ditto.
13539
13540         * NEWS: adjust again.
13541
13542         * window.c (Fselect_window): make sure this runs to completion to
13543         avoid oddities with Fset_window_configuration.
13544         (Fcurrent_window_configuration): in general do not save the
13545         minibuffer as the selected window.
13546
13547         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13548
13549 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13550
13551         * emacs.c (Frunning_temacs_p): Revert previous patch.
13552         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13553
13554 2000-03-16  Andy Piper  <andy@xemacs.org>
13555
13556         * glyphs-x.c (x_tab_control_update): if no widget values then
13557         return.
13558
13559         * NEWS: update for new features.
13560
13561         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13562         synthetic event to the native system.
13563         (reinit_vars_of_event_Xt): set force_event_pending to
13564         emacs_Xt_force_event_pending.
13565
13566         * events.h (struct event_stream): add force_event_pending.
13567
13568         * specifier.c (recompute_one_cached_specifier_in_window): add
13569         comment.
13570
13571         * redisplay.c (redisplay_frame): don't call
13572         update_frame_subwindows. Reset subwindow cachels when
13573         subwindows_changed, removing this was an optimization too far.
13574
13575         * redisplay-output.c (compare_runes): reorganize so that we catch
13576         glyph changes when we want them. Set optimize_output when this
13577         would help layouts.
13578         (redisplay_output_layout): remove frame_really_changed, use
13579         optimize_output instead.
13580
13581         * redisplay-msw.c (mswindows_output_display_block): reset
13582         optimize_output after outputting a glyph.
13583         * redisplay-x.c (x_output_display_block): ditto.
13584         * redisplay-tty.c (tty_output_display_block): ditto.
13585
13586         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13587         functions.
13588         (gutter_specs_changed): do specific gutter positions.
13589         (top_gutter_specs_changed): new function. Only update the
13590         specified gutter specs.
13591         (bottom_gutter_specs_changed): ditto.
13592         (left_gutter_specs_changed): ditto.
13593         (right_gutter_specs_changed): ditto.
13594
13595         * gui.c (gui_item_hash_internal): new function, does a real hash.
13596         (gui_item_id_hash): use it.
13597         (gui_item_hash): hash the eval'ed gui_item.
13598
13599         * gui-x.c (popup_selection_callback): send an eval event to call
13600         Fupdate_widget_instances.
13601
13602         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13603         to call Fupdate_widget_instances.
13604
13605         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13606         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13607
13608         * glyphs.c: (update_frame_subwindows): deleted.
13609         (Fupdate_widget_instances): new function for updating the dirty
13610         state of widgets that might have changed.
13611         (syms_of_glyphs): add Qupdate_widget_instances.
13612         (full_list_hash): hash a list completely.
13613         (image_instance_hash): use it for items and properties.
13614
13615         * frame-msw.c (mswindows_size_frame_internal): remove unused
13616         variable.
13617
13618         * faces.h (struct face_cachel): fix comment.
13619
13620         * event-stream.c (Fdispatch_non_command_events): new
13621         function. Process non-command events, forcing an event cycle
13622         beforehand.
13623         (syms_of_event_stream): declare.
13624         (event_stream_force_event_pending): new function. Force an event
13625         on the native event queue so that an event cycle will occur next
13626         time we check.
13627
13628         * event-msw.c:
13629         (struct ntpipe_shove_stream):
13630         (mswindows_enqueue_dispatch_event):
13631         (mswindows_dequeue_dispatch_event):
13632         (mswindows_cancel_dispatch_event):
13633         (mswindows_pump_outstanding_events):
13634         (mswindows_drain_windows_queue):
13635         (mswindows_handle_paint):
13636         (mswindows_wnd_proc):
13637         (mswindows_key_to_emacs_keysym):
13638         (get_process_input_waitable):
13639         (emacs_mswindows_delete_stream_pair): re-indent file.
13640         (mswindows_need_event): do not process further fds if the windows
13641         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13642         fixes the 100% cpu problem.
13643         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13644
13645 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13646
13647         * alloc.h: New.
13648         * dumper.h: New.
13649         * dumper.c: New.
13650
13651         * emacs.c: Moved dump file searching to dumper.c.
13652         (Frunning_temacs_p): Fixed.
13653
13654         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13655         last_lrecord_type_index_assigned.
13656
13657 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13658
13659         * symsinit.h: Added reinit parameter to init_console_stream
13660         declaration.
13661
13662         * lisp.h: Added file parameter to pdump_load declaration.
13663
13664         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13665         support.  Added dump file searching.
13666
13667         * config.h.in: Added EMACS_PROGNAME.
13668
13669         * console-stream.c (init_console_stream): Fix reinitialisation
13670         when running from temacs.
13671
13672         * alloc.c (pdump): Add id support.
13673         (pdump_load): Add file parameter and signature/id support.
13674
13675         * Makefile.in.in: Add full pdump support.
13676
13677 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13678
13679         * postgresql.c: Update documentation to reflect latest code
13680         status.
13681         (print_result): Show tuple counts in printed representation when
13682         appropriate.
13683         (Fpq_put_nbytes): MULE-ize.
13684         (Fpq_get_line_async): Ditto.
13685
13686 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13687
13688         * postgresql.c (Fpq_lo_import): Fix return value.
13689         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13690
13691 2000-03-13  Ben Wing  <ben@xemacs.org>
13692
13693         * alloc.c (pdump_load):
13694         Fix compile warning under mswin.
13695
13696 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13697
13698         * postgresql.c: Mule-ization, bug fixes.
13699         Use PG_CODING to encapsulate coding system name changes.
13700         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13701         (pg-coding-system): Create.
13702
13703         (Fpq_conn_defaults): Mule-ize.
13704         (Fpq_connectdb): Mule-ize & bug fix.
13705         (Fpq_connect_start): Mule-ize.
13706         (Fpq_set_client_encoding): Mule-ize.
13707         (Fpq_finish): Document `DEAD' connection status.
13708         (Fpq_clear): Ditto.
13709         (Fpq_pgconn): Mule-ize.
13710         (Fpq_exec): Mule-ize & bug fix.
13711         (Fpq_send_query): Ditto.
13712         (Fpq_get_result): Ditto.
13713         (Fpq_res_status): Mule-ize.
13714         (Fpq_result_error_message): Mule-ize.
13715         (Fpq_ntuples): fix comments.
13716         (Fpq_fname): Mule-ize.
13717         (Fpq_fnumber): Mule-ize.
13718         (Fpq_ftype): fix comments.
13719         (Fpq_get_value): Mule-ize.
13720         (Fpq_cmd_status): Ditto.
13721         (Fpq_cmd_tuples): Ditto.
13722         (Fpq_oid_value): Ditto.
13723         (Fpq_notifies): Ditto.
13724         (Fpq_lo_import): Ditto.
13725         (Fpq_lo_export): Ditto.
13726         (Fpq_get_line): Ditto.
13727         (Fpq_put_line): Mule-ize and bug fix.
13728         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13729
13730 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13731
13732         * postgresql.c (vars_of_postgresql): Mule-ize.
13733         (Fpq_conn_defaults): Ditto.
13734
13735 2000-03-12  Ben Wing  <ben@xemacs.org>
13736
13737         * alloc.c (Fmake_byte_code):
13738         * alloc.c (debug_string_purity_print):
13739         * alloc.c (pdump_backtrace):
13740         * alloc.c (pdump_get_indirect_count):
13741         * alloc.c (pdump_register_sub):
13742         * alloc.c (pdump_register_object):
13743         * alloc.c (pdump_register_struct):
13744         * alloc.c (pdump_dump_data):
13745         * alloc.c (pdump_reloc_one):
13746         Minor cleanups.
13747
13748         * console-msw.c:
13749         * console-msw.c (GetConsoleHwnd):
13750         * console-msw.c (msw_hide_console):
13751         * console-msw.c (msw_show_console):
13752         * console-msw.c (msw_ensure_console_buffered):
13753         * console-msw.c (msw_output_console_string):
13754         * console-msw.c (console_type_create_mswindows):
13755
13756         a) Added functions to manipulate the console window for use with
13757         shell support.
13758
13759         b) Added support for writing text to the console, which is now
13760         used under Windows when xemacs is not being run non-interactively,
13761         to write text that would otherwise be destined for stdout because
13762         under these circumstances, text written to stdout tends to
13763         disappear and not be seen.
13764
13765         * console-msw.h:
13766         * event-Xt.c:
13767         * event-Xt.c (x_event_to_emacs_event):
13768         * event-Xt.c (describe_event_window):
13769         * events-mod.h (XEMACS_MOD_CONTROL):
13770         * events.c:
13771         * events.c (Fmake_event):
13772         * events.c (character_to_event):
13773         * events.c (event_to_character):
13774         * events.c (format_event_object):
13775         * events.c (Fevent_modifiers):
13776         * events.h:
13777         * events.h (struct key_data):
13778         * events.h (struct button_data):
13779         * events.h (struct misc_user_data):
13780         * frame-x.c (Fcde_start_drag_internal):
13781         * frame-x.c (Foffix_start_drag_internal):
13782         * gpmevent.c (Freceive_gpm_event):
13783         * keymap.c:
13784         * keymap.c (bucky_sym_to_bucky_bit):
13785         * keymap.c (control_meta_superify):
13786         * keymap.c (make_key_description):
13787         * keymap.c (keymap_lookup_directly):
13788         * keymap.c (create_bucky_submap):
13789         * keymap.c (keymap_store):
13790         * keymap.c (define_key_check_and_coerce_keysym):
13791         * keymap.c (define_key_parser):
13792         * keymap.c (define_key_alternate_name):
13793         * keymap.c (Fdefine_key):
13794         * keymap.c (raw_lookup_key_mapper):
13795         * keymap.c (struct map_keymap_unsorted_closure):
13796         * keymap.c (map_keymap_unsorted_mapper):
13797         * keymap.c (map_keymap_sort_predicate):
13798         * keymap.c (map_keymap_sorted):
13799         * keymap.c (accessible_keymaps_mapper_1):
13800         * keymap.c (where_is_recursive_mapper):
13801         * keymap.c (describe_map_mapper):
13802         * keymap.c (describe_map_sort_predicate):
13803         * keymap.c (describe_map):
13804         * keymap.c (complex_vars_of_keymap):
13805         And a number of other files, the key modifier preprocessor
13806         constants that xemacs uses have names that conflict with constants
13807         defined under MS Windows for other purposes, so they were renamed
13808         to begin with the prefix XEMACS_. The variables that hold such
13809         modifiers were changed to consistently be of type int to fix
13810         various compile warnings.
13811
13812         * console.c (complex_vars_of_console):
13813         * device.c:
13814         * device-msw.c:
13815         * device-msw.c (mswindows_finish_init_device):
13816         * device-msw.c (msw_get_workspace_coords):
13817         * device-msw.c (mswindows_device_system_metrics):
13818         and various other files, added support for a new
13819         device property called offset-workspace which returns the position
13820         of the upper left corner of the workspace area and goes along with
13821         the existing size-workspace property.
13822
13823         * dialog-msw.c:
13824         * dialog-msw.c (push_bufbyte_string_as_unicode):
13825         * dialog-msw.c (mswindows_popup_dialog_box):
13826         Added support for XEmacs-style accelerator specifications in
13827         button text.  Note: I didn't add support for this under X Windows,
13828         and somebody needs to do this.
13829
13830         * dialog.c:
13831         * dialog.c (Fpopup_dialog_box):
13832         Documented the support for accelerators that was just mentioned.
13833
13834         editfns.c (get_home_directory): Changed behavior under Windows
13835         when HOME not defined; former behavior was irretrievably broken.
13836
13837         * emacs.c:
13838         * emacs.c (main_1):
13839         * emacs.c (main):
13840         * minibuf.c (clear_echo_area_internal):
13841         * minibuf.c (echo_area_append):
13842         * print.c:
13843         * print.c (std_handle_out_external):
13844         * print.c (std_handle_out_va):
13845         * print.c (fatal):
13846         * print.c (write_string_to_stdio_stream):
13847         * print.c (output_string):
13848         * print.c (debug_print):
13849         * print.c (debug_backtrace):
13850         * print.c (debug_short_backtrace):
13851         Cleaned up the code that prints text to stdout so that this can be
13852         changed to output into a console window instead under MS Windows,
13853         as described above.
13854
13855         * eval.c:
13856         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13857         * eval.c (internal_catch):
13858         * eval.c (unwind_to_catch):
13859         * eval.c (throw_or_bomb_out):
13860         * eval.c (condition_case_1):
13861         * eval.c (signal_1):
13862         * eval.c (check_error_state_sanity):
13863         * eval.c (call_with_suspended_errors_1):
13864         * eval.c (call_with_suspended_errors):
13865         * eval.c (reinit_vars_of_eval):
13866         Added code to catch throw loops and check for a pesky bug that may
13867         be gone now.
13868
13869         * event-msw.c:
13870         * event-msw.c (key_needs_default_processing_p):
13871         * event-msw.c (mswindows_wnd_proc):
13872         * event-msw.c (mswindows_modifier_state):
13873         * event-msw.c (emacs_mswindows_quit_p):
13874         * event-msw.c (vars_of_event_mswindows):
13875         a) Added support for using the alt key to select menu items as is
13876         standard under MS Windows.  This is controlled using the variable
13877         menu-accelerator-enabled, just like under X Windows.  There is an
13878         option on the options menu to turn this support on.  I really
13879         think that it should be on by default under Windows, but I'm not
13880         going to make this change yet.
13881
13882         b)  Added support for dynamic display size changes under Windows.
13883
13884         * event-stream.c:
13885         * event-stream.c (maybe_echo_keys):
13886         * event-stream.c (Fnext_event):
13887         * event-stream.c (command_builder_find_leaf):
13888         * event-stream.c (lookup_command_event):
13889         * event-stream.c (execute_command_event):
13890         * event-stream.c (pre_command_hook):
13891         * event-stream.c (post_command_hook):
13892         * event-stream.c (syms_of_event_stream):
13893         * event-stream.c (vars_of_event_stream):
13894         * event-stream.c (complex_vars_of_event_stream):
13895         * events.h (struct command_builder):
13896
13897         a) Tried to clean up a little bit the horribly written x-specific
13898         accelerator code that crept into this file.  I moved this code
13899         into menubar-x.c where it belongs. I also needed to move the
13900         command builder structure into the file events.h because it is
13901         accessed directly by this accelerator code.  What I didn't do, but
13902         which should be done at some point, is to properly abstract this
13903         code using device methods instead of the kludgy way that it
13904         currently hooks into the event code.
13905
13906         b) Added the lisp variables this-command-properties and
13907         last-command- properties, which should be used to synchronize two
13908         adjacent commands in preference to playing games with the variable
13909         this-command, which is typically what happens.
13910
13911         c) Added some slightly nasty code to hook into the lisp support
13912         for shifted- motion-key selection.  This is actually necessary for
13913         somewhat complicated reasons, which are described in
13914         simple.el. (NB: I think the proper thing would be to have the code
13915         that calls the pre and post command hooks also call out to generic
13916         lisp functions in simple.el, where all built-in stuff could be
13917         added.  I will think about this more.)
13918
13919         * event-unixoid.c (poll_fds_for_input):
13920         * lread.c (readchar):
13921         * redisplay-tty.c (tty_clear_frame):
13922         * redisplay-x.c (x_get_gc):
13923         * signal.c (interrupt_signal):
13924         And a whole bunch of other files: fixed up places that printed
13925         directly to stderr to instead call the function stderr_out so that
13926         the changes I made under Windows work correctly.
13927
13928         * filemode.c (mode_string):
13929         Warning fixes.
13930
13931         * frame-msw.c:
13932         * frame-msw.c (mswindows_size_frame_internal):
13933         Fixed the computation of frame size and position to keep the frame
13934         within the workspace area, rather than within the physical
13935         dimensions of the screen, so that the frame doesn't overlap window
13936         manager decorations, such as the start menu and toolbar, typically
13937         at the bottom of the screen.
13938
13939         * frame.c (vars_of_frame):
13940         Changed the default frame title format under MS Windows to consist
13941         of buffername-XEmacs, which is standard under MS Windows.  I think
13942         it might be a good idea to change this everywhere because I think
13943         it is superior to the current frame title format, but this is the
13944         kind of change that is likely to cause some people to get annoyed,
13945         so I'm not making it.
13946
13947         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13948
13949         * gui-msw.c (mswindows_handle_gui_wm_command):
13950         Fixed compile warnings.
13951
13952         * gui-x.c:
13953         * gui-x.c (strdup_and_add_accel):
13954         * gui-x.c (button_item_to_widget_value):
13955         * gui-x.h:
13956         Added code to automatically put an accelerator onto the beginning
13957         of menu items that don't have one as is now the standard, and is
13958         described more later.  Also fixed things so that the menu item
13959         name can be an evaluated expression, again a new standard.
13960
13961         * gui.c:
13962         * gui.c (gui_item_add_keyval_pair):
13963         * gui.c (make_gui_item_from_keywords_internal):
13964         * gui.c (gui_add_item_keywords_to_plist):
13965         * gui.c (gui_item_accelerator):
13966         * gui.c (gui_name_accelerator):
13967         * gui.c (gui_item_included_p):
13968         * gui.c (gui_item_display_flush_left):
13969         * gui.c (gui_item_display_flush_right):
13970         * gui.c (parse_gui_item_tree_item):
13971         * gui.c (parse_gui_item_tree_children):
13972         * gui.c (parse_gui_item_tree_list):
13973         Mule-ized.  Cleanup.  GCPRO addition.
13974
13975         * line-number.c (buffer_line_number):
13976         * lisp.h:
13977         * lisp.h (EMACS_INT_MAX):
13978         Added the manifest constant EMACS_INT_MIN corresponding to the
13979         existing constant EMACS_INT_MAX.  This is partially to fix compile
13980         warnings under Windows, and partly for cleanliness.
13981
13982         * menubar-msw.c:
13983         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13984         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13985         * menubar-msw.c (displayable_menu_item):
13986         * menubar-msw.c (populate_menu_add_item):
13987         * menubar-msw.c (populate_or_checksum_helper):
13988         * menubar-msw.c (populate_menu):
13989         * menubar-msw.c (update_frame_menubar_maybe):
13990         * menubar-msw.c (prune_menubar):
13991         * menubar-msw.c (msw_char_is_accelerator):
13992         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13993         * menubar-msw.c (mswindows_handle_wm_command):
13994         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13995         * menubar-msw.c (mswindows_handle_wm_initmenu):
13996         * menubar-msw.c (mswindows_update_frame_menubars):
13997         * menubar-msw.c (mswindows_free_frame_menubars):
13998         * menubar-msw.c (mswindows_popup_menu):
13999         Fixed a bug in handling accelerators where an extra character
14000         would be displayed in the menu item.  Also generalized the
14001         function displayable_menu_item because it is now used by the
14002         dialog box code as well.  And finally, added code in the functions
14003         that create the menubar to extract a list of accelerators for the
14004         top level menubar, which is used in the event code to determine
14005         whether a particular alt-key combination should be used to invoke
14006         a menu item, or should be passed through to access the standard
14007         XEmacs keymap binding for this key combination.
14008
14009         Much needed GCPROing.
14010
14011         * menubar-x.c:
14012         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14013         * menubar-x.c (menu_item_descriptor_to_widget_value):
14014         * menubar-x.c (restore_in_menu_callback):
14015         * menubar-x.c (x_popup_menu):
14016         * menubar-x.c (menu_move_up):
14017         * menubar-x.c (menu_move_down):
14018         * menubar-x.c (menu_move_left):
14019         * menubar-x.c (menu_move_right):
14020         * menubar-x.c (menu_select_item):
14021         * menubar-x.c (command_builder_operate_menu_accelerator):
14022         * menubar-x.c (menu_accelerator_junk_on_error):
14023         * menubar-x.c (command_builder_find_menu_accelerator):
14024         * menubar-x.c (Faccelerate_menu):
14025         * menubar.h:
14026         Moved a whole bunch of code here that was previously in
14027         event-stream.c as described above.  There is also code connected
14028         to the new standard of adding an accelerator to the beginning of
14029         menu items that don't have one as described above and below.
14030
14031         * menubar.c:
14032         * menubar.c (menu_parse_submenu_keywords):
14033         * menubar.c (Fmenu_find_real_submenu):
14034         * menubar.c (Fnormalize_menu_item_name):
14035         * menubar.c (syms_of_menubar):
14036         * menubar.c (vars_of_menubar):
14037         * menubar.c (complex_vars_of_menubar):
14038
14039         a) Cleaned up a bunch of documentation and improved it.
14040
14041         b) XEmacs now automatically adds an accelerator onto the beginning
14042         of any menu items that don't have one.  I did this because there
14043         will inevitably be some menu items on the main menubar that don't
14044         have accelerators on them because the package that adds that
14045         particular menu item hasn't yet been fixed up to have accelerators
14046         in them and it looked rather strange to have some items with and
14047         some items without accelerators, especially since even in items
14048         without accelerators, you can, at least under windows, still
14049         access the item through an accelerator corresponding to the first
14050         character in the item's name.  If people don't like this behavior,
14051         I can add a variable to turn it off optionally, but I'm not sure
14052         this is a good idea because we really do need to have accelerators
14053         on all of the menu items, and if a package doesn't like the
14054         accelerators being put on the first character, then it should put
14055         the accelerators where they belong.
14056
14057         c) I made a behavior change, which is that the descriptor that
14058         specifies the text of the menu item, which formerly was just a
14059         string, can now also be an evaluated expression.  This makes this
14060         descriptor parallel with all of the others, which could also be
14061         evaluated expressions.  This also obviates the need for the
14062         keyword :label, which was previously listed in the documentation
14063         as unimplemented, and which was for the same purpose.
14064
14065         d) GCPROing.
14066
14067         * ntproc.c:
14068         * ntproc.c (new_child):
14069         * ntproc.c (sys_spawnve):
14070         * ntproc.c (find_child_console):
14071         * ntproc.c (sys_kill):
14072         Fixed compile warnings.  By the way, this file should really go
14073         away entirely, and this will happen as soon as Kirill makes his
14074         final round of process cleanups, which affect the function
14075         call-process.
14076
14077         * process-nt.c:
14078         * process-nt.c (struct nt_process_data):
14079         * process-nt.c (find_process_from_pid):
14080         * process-nt.c (send_signal_the_nt_way):
14081         * process-nt.c (enable_child_signals):
14082         * process-nt.c (find_child_console):
14083         * process-nt.c (send_signal_the_95_way):
14084         * process-nt.c (nt_finalize_process_data):
14085         * process-nt.c (ensure_console_window_exists):
14086         * process-nt.c (nt_create_process):
14087         * process-nt.c (nt_kill_child_process):
14088         * process-nt.c (nt_kill_process_by_pid):
14089         * process-nt.c (nt_open_network_stream):
14090         * process-nt.c (vars_of_process_nt):
14091         Copied over code from Emacs 20.5 to correctly send signals to sub-
14092         processes under Windows 95.  Also added code to automatically
14093         create and hide console window when a sub-process is created under
14094         Windows 95, which obviates the need for the separate runemacs.exe
14095         executable, and finally implemented some variables that were
14096         implemented in Emacs 20.5, but previously not in XEmacs.  These
14097         include mswindows- start-process-share-console and
14098         mswindows-start-process-inherit-error-mode. (Both of these only
14099         apply to Windows 95.)
14100
14101         * regex.c (regex_compile): Fixed a compile warning.
14102
14103         * select-msw.c:
14104         * select-msw.c (mswindows_own_selection):
14105         * select-msw.c (mswindows_get_foreign_selection):
14106         * select-msw.c (mswindows_disown_selection):
14107         * select-msw.c (console_type_create_select_mswindows):
14108         * select-msw.c (syms_of_select_mswindows):
14109         Cleaned up the file and implemented the device method
14110         selection_exists_p, which had accidentally been left out.  Also
14111         removed four lisp functions that were remnants from before the
14112         time when the selection code was properly device abstracted.
14113         These functions are no longer needed because there are generic
14114         equivalents, and because they were added recently and don't exist
14115         in FSF Emacs, I don't think there's any problem with just deleting
14116         them.
14117
14118         * sysdep.c:
14119         * sysdep.c (sys_subshell):
14120         Fixed a compile warning, although in this case there's probably
14121         something wrong with this code, and it ought to be looked into
14122         more thoroughly by somebody who understands it.
14123
14124         * window.c:
14125         * window.c (Fwindow_text_area_height):
14126         * window.c (Fwindow_width):
14127         * window.c (Fwindow_full_width):
14128         * window.c (Fwindow_pixel_width):
14129         * window.c (debug_print_window):
14130         * window.c (syms_of_window):
14131         Added functions window-text-area-height and window-full-width,
14132         which are functions for returning various width and height
14133         characteristics of a window. (One of these functions is necessary
14134         for making the file dialog box work correctly, and the other one
14135         was added for completeness.)  Also added a table to the
14136         documentation for window-height which describes the entire scheme
14137         for accessing width and height characteristics of a window.
14138
14139 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14140
14141         * nt.c (fstat): Added a comment for another problem with
14142         non-encapsulated [f]stat(), reported by Adrian Aichner
14143         <aichner@ecf.teradyne.com>.
14144
14145 2000-03-11  Andy Piper  <andy@xemacs.org>
14146
14147         * window.c (make_dummy_parent): initialize subwindow instance
14148         cache.
14149         (Fset_window_configuration): zero extent_modiff.
14150
14151 2000-03-10  Andy Piper  <andy@xemacs.org>
14152
14153         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14154         more changes can be triggered.
14155         (Fredisplay_frame): ditto.
14156         (Fredraw_device): ditto.
14157         (Fredisplay_device): ditto.
14158         (redisplay_frame): make non-static.
14159         (redisplay_frame): call update_frame_gutter_geometry outside of
14160         display proper.
14161
14162         * gutter.h: declare update_frame_gutter_geometry.
14163
14164         * redisplay.h: declare redisplay_frame.
14165
14166         * gutter.c (update_frame_gutter_geometry): move geometry changes
14167         in update_frame_gutters here. Geometry changes can only occur
14168         outside of redisplay.
14169         (update_frame_gutters): remove geometry change code.
14170         (Fredisplay_gutter_area): make sure that we are in display when we
14171         update and that we have flushed any size changes.
14172
14173 2000-03-11  Andy Piper  <andy@xemacs.org>
14174
14175         * alloc.c (pdump_dump_data): remove i & count shadows.
14176
14177 2000-02-27  Mike Alexander  <mta@arbortext.com>
14178
14179         * sysdep.h: Declare pdump_read_file
14180
14181         * sysdep.c (pdump_read_file): New function
14182
14183         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14184         dump data
14185
14186 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14187
14188         * lrecord.h: add `lrecord_type_pgsetenv'.
14189
14190 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14191
14192         * symsinit.h: declare (vars|syms)_of* functions.
14193         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14194
14195 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14196
14197         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14198
14199         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14200         GCCs.
14201
14202         * emacs.c (main_1): Call postgres initialization code.
14203
14204         * postgresql.h: New file.  PostgreSQL RDBMS support.
14205         * postgresql.c: New file.
14206
14207 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14208
14209         * redisplay-output.c (redisplay_output_display_block): Disable
14210         redundant code.
14211
14212 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14213
14214         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14215         (Fcanna_henkan_next): Ditto.
14216         (Fcanna_bunsetu_henkou): Ditto.
14217         (Fcanna_henkan_kakutei): Ditto.
14218         (Fcanna_henkan_end): Ditto.
14219         (Fcanna_henkan_quit): Ditto.
14220         (Fcanna_henkan_next): Set retun value correctly.
14221         (c2mu): Use unsigned char instead of signed char.
14222
14223 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14224
14225         * emacs.c (main_1): Always call syms_of_gui.
14226         * inline.c: include gui.h
14227
14228 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14229
14230         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14231         converted to Lisp_Object.
14232         (Qtop_bottom): New variable.
14233         (syms_of_redisplay): Initialize it.
14234         * redisplay.h (Vvisible_bell): Ditto.
14235         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14236         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14237         only flash top and bottom.
14238
14239 2000-03-08  Andy Piper  <andy@xemacs.org>
14240
14241         * buffer.c (Frename_buffer): record new buffer name the right way.
14242
14243 2000-03-08  Andy Piper  <andy@xemacs.org>
14244
14245         * glyphs.c (update_subwindow): increase hash depth so that widget
14246         items get picked up properly.
14247
14248         * redisplay-output.c (compare_runes): increase hash depth so that
14249         widget items get picked up properly.
14250
14251 2000-03-08  Andy Piper  <andy@xemacs.org>
14252
14253         * gutter.c (output_gutter): add some debug.
14254
14255         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14256         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14257         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14258
14259         * redisplay-output.c (compare_runes): use display_hash to
14260         determine if glyphs really are not the same.
14261
14262         * glyphs.c (update_subwindow): check display_hash to see if
14263         anything really needs to be updated. If not then do
14264         nothing. Record the display_hash after updating.
14265         (image_instance_equal): compare the image_instance face also.
14266
14267 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14268
14269         * redisplay.h: Fix comment style.
14270
14271 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14272
14273         * consle-msw.h (struct mswindows_frame):
14274         Added new member paint_pending to indicate whether a WM_PAINT
14275         magic event has been queued for this frame.
14276
14277         * event-msw.c (mswindows_drain_windows_queue):
14278         Don't queue a WM_PAINT magic event if one is already queued.
14279         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14280
14281         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14282
14283 2000-03-07  Didier Verna  <didier@xemacs.org>
14284
14285         * dired.c: #include `regex.h' after `sysfile.h'.
14286
14287 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14288
14289         * sound.c (init_nas_sound): Fix compiler warning.
14290
14291         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14292         (FREE_STRUCT_P):
14293         (MARK_STRUCT_AS_FREE):
14294         (MARK_STRUCT_AS_NOT_FREE):
14295         Make `gcc -fstrict-aliasing' work properly.
14296
14297 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14298
14299         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14300         (mswindows_delete_device): Call CoUnnitialize().
14301
14302         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14303
14304 2000-02-25    <CraigL@DyCon.com>
14305
14306         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14307         <errno.h>.
14308
14309         * sysdep.c: This extern declaration for environ prevents MinGW
14310         from finding the variable in CRTDLL.DLL.
14311
14312         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14313         windows headers.
14314         (SHGFI_EXETYPE): ..
14315         (WM_MOUSEWHEEL): ..
14316         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14317         definitions.
14318         (MMRESULT): Removed, now defined in cygwin's windows headers.
14319         (TIMECAPS): ..
14320         (uid_t,gid_t,pid_t,ssize_t): ..
14321         (_timeb): Removed, MinGW defines both _timeb and timeb.
14322         (HAVE_H_ERRNO): Added.
14323         (HAVE_TZNAME): Added, configure is not detecting this.
14324
14325 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14326
14327         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14328         * syntax.c (syntax_match): Use it.
14329
14330         * cmds.c: Import auto-fill-chars from FSF Emacs.
14331         (Vauto_fill_chars): New variables.
14332         (internal_self_insert): Check Vauto_fill_chars.
14333         (vars_of_cmds):
14334         Declare auto-fill-chars as a Lisp variable and initialize it.
14335
14336 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14337
14338         * fileio.c (Fmake_symbolic_link):
14339         (Ffile_symlink_p):
14340         Run handlers even if local machine doesn't have symlinks.
14341
14342 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14343
14344         * event-msw.c (mswindows_drain_windows_queue):
14345         Don't generate paint magic events for non-XEmacs frames.
14346
14347 2000-03-05  Andy Piper  <andy@xemacs.org>
14348
14349         * redisplay.c (redisplay_frame): generate_displayable_area and
14350         friends assumes that we are not in GC, we therefore have to make
14351         sure that this doesn't happen.
14352
14353         * gutter.c (calculate_gutter_size): generate_displayable_area
14354         assumes that we are not in GC, we therefore have to make sure that
14355         this doesn't happen.
14356
14357 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14358
14359         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14360
14361 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14362
14363         * redisplay.c (regenerate_window): Make sure we set a sane value
14364         for end_pos even if we jump out of the loop.
14365         (regenerate_window): Answer Ben's question :-).
14366         (start_end_of_last_line): Add may_error argument.
14367         (start_of_last_line):
14368         (end_of_last_line): Pass may_error = 0.
14369         (end_of_last_line_may_error): New function.
14370         (pixel_to_glyph_translation): Use it, so we don't crash in
14371         event_to_glyph.
14372
14373 2000-03-04  Andy Piper  <andy@xemacs.org>
14374
14375         * window.h (struct window): add gutter_extent_modiff.
14376
14377         * window.c (allocate_window): zero out gutter_extent_modiff.
14378
14379         * redisplay.h: declare sync_display_line_structs.
14380
14381         * redisplay.c (add_glyph_rune): add a better comment.
14382
14383         * redisplay-output.c (sync_display_line_structs): made non-static.
14384         (compare_runes): remove unneccesary glyph cachel access.
14385
14386         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14387
14388         * gutter.c (output_gutter): don't output the gutter if extent
14389         changes only involve extents in buffers. use 4 sets of display
14390         lines.
14391         (gutter_extent_signal_changed_region_maybe): new function. Mark
14392         extents in gutters as changed.
14393         (update_frame_gutters): use 4 sets of display lines.
14394         (reset_gutter_display_lines): ditto.
14395         (free_frame_gutters): ditto.
14396         (redraw_exposed_gutter): force output of gutters.
14397
14398         * frame.h (struct frame): add 4 sets of gutter display lines.
14399
14400         * extents.c: (extent_changed_for_redisplay): signal changes to
14401         extents in strings in the gutter as well as extents in buffers.
14402
14403 2000-03-02  Andy Piper  <andy@xemacs.org>
14404
14405         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14406
14407         * frame.c (Fmake_frame): make sure the gutters get initialized
14408         after the frame is visible.
14409         (set_frame_selected_window): re-arrange compilation macros a
14410         little.
14411         (change_frame_size_1): mark gutters changed.
14412
14413         * device.c (Fset_device_class): mark gutters changed.
14414
14415 2000-03-01  Andy Piper  <andy@xemacs.org>
14416
14417         * window.c (window_top_frame_gutter_height): deleted.
14418         (window_bottom_frame_gutter_height): ditto.
14419         (window_left_frame_gutter_height): ditto.
14420         (window_right_frame_gutter_height): ditto.
14421         (window_top_gutter_height): don't use them.
14422         (window_bottom_gutter_height): ditto.
14423         (window_left_gutter_width): ditto.
14424         (window_right_gutter_width): ditto.
14425         (Fsplit_window): ditto.
14426         (Fwindow_pixel_edges): don't use border dimensions here.
14427
14428         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14429         (update_scrollbar_instance): ditto.
14430
14431         * redisplay.c (generate_modeline): don't take gutters into account.
14432         (generate_modeline): ditto.
14433         (redisplay_frame): small gutter display optimization.
14434
14435         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14436
14437         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14438         gutters into account.
14439
14440         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14441         for window position and type.
14442
14443         * gutter.c (get_gutter_coords): fix for frame gutters.
14444         (update_frame_gutters): update frame geometry if the gutters have
14445         changed.
14446         (init_frame_gutters): record current gutter geometries.
14447
14448         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14449         var.
14450         (mswindows_widget_instantiate): ditto.
14451
14452         * frame.h (struct frame): add current_gutter_bounds.
14453
14454         * frame.c (change_frame_size_1): position window and minibuffer
14455         appropriately taking into account the frame gutters.
14456
14457         * frame-x.c: (x_initialize_frame_size): take into account the
14458         frame gutters.
14459
14460 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14461
14462         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14463
14464 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14465
14466         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14467
14468 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14469
14470         * file-coding.c (reset_decoding_stream): Clear previous
14471         detection state when autodetect.
14472
14473 2000-02-29  Didier Verna  <didier@xemacs.org>
14474
14475         * extents.c (set_extent_glyph_1): don't require extents to be
14476         attached.
14477
14478 2000-02-27  Andy Piper  <andy@xemacs.org>
14479
14480         * gutter.c (Fset_default_gutter_position): don't default left and
14481         right gutter visibility to t.
14482         (Fset_default_gutter_position): run
14483         default-gutter-position-changed-hook.
14484         (syms_of_gutter): add default-gutter-position-changed-hook.
14485
14486 2000-02-26  Andy Piper  <andy@xemacs.org>
14487
14488         * specifier.c (Fmake_specifier): add gutter references.
14489
14490         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14491
14492         * lisp.h: declare Fvalid_plist_p.
14493
14494         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14495         as changed.
14496         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14497         well as its visibility so that it gets reconstructed.
14498         (construct_window_gutter_spec): new function. Construct a string
14499         to be displayed in the gutter from a plist of strings. Take care
14500         to only use elements that are declared as visible.
14501         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14502         WINDOW_GUTTER.
14503         (gutter_validate): allow plists of strings in the specifier.
14504         (gutter_specs_changed): construct the real_gutter from the gutter
14505         specs using construct_window_gutter_spec.
14506         (gutter_visible_validate): gutter-visible is a new specifier type.
14507         (Fgutter_visible_specifier_p): new function for the new specifier.
14508         (syms_of_gutter): declare gutter-visible and
14509         Fgutter_visible_specifier_p.
14510         (specifier_type_create_gutter): intitalize new gutter-visible
14511         specifier.
14512         (reinit_specifier_type_create_gutter): ditto.
14513         (specifier_vars_of_gutter): use new specifier type for gutter
14514         visibility.
14515         (init_frame_gutters): construct real_gutter correctly.
14516         (Fgutter_specifier_p): beef up documentation.
14517         (Fgutter_size_specifier_p): ditto.
14518
14519         * winslots.h: add real_gutter slots.
14520
14521 2000-02-25  Andy Piper  <andy@xemacs.org>
14522
14523         * device-msw.c: Be kind to older cygwin versions. From Raymond
14524         Toy <toy@rtp.ericsson.se>.
14525
14526         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14527         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14528
14529 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14530
14531         * elhash.c (MARK_OBJ): Practice macro hygiene.
14532
14533 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14534
14535         * miscplay.c: s/__inline__/inline/g;
14536         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14537         (get_device_compdc): INLINE ==> static inline
14538         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14539         find -name '*.h' | \
14540         xargs global-replace \
14541         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14542
14543 2000-02-25  Andy Piper  <andy@xemacs.org>
14544
14545         * window.c (window_top_frame_gutter_height): new function.
14546         (window_top_window_gutter_height): ditto.
14547         (window_top_gutter_height): use them.
14548         (window_bottom_frame_gutter_height): new function.
14549         (window_bottom_window_gutter_height): ditto.
14550         (window_bottom_gutter_height): use them.
14551         (window_left_window_gutter_width): new function.
14552         (window_left_frame_gutter_width): ditto.
14553         (window_left_gutter_width): use them.
14554         (window_right_window_gutter_width): new function.
14555         (window_right_frame_gutter_width): ditto.
14556         (window_right_gutter_width): use them.
14557         (window_pixel_height): new function. calulate window pixel height
14558         with frame gutter involvement.
14559         (Fsplit_window): calculate new sizes taking frame gutters into
14560         account.
14561         (window_char_height_to_pixel_height): don't include frame gutters.
14562         (window_char_height): use window_pixel_height.
14563         (window_pixheight): rename from window_pixel_height.
14564         (change_window_height): use it.
14565         (window_pixel_height_to_char_height): don't include frame gutters.
14566         (window_char_width_to_pixel_width): ditto.
14567
14568 2000-02-25  Andy Piper  <andy@xemacs.org>
14569
14570         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14571         if it is.
14572
14573 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14574
14575         * alloc.c (staticpro):
14576         (staticpro_nodump):
14577         (dumpstruct):
14578         (dumpopaque):
14579         (pdump_wire):
14580         (pdump_wire_list):
14581         (compact_string_chars):
14582         (pdump_dump_wired):
14583         Convert:  if (foo) abort();  ==>  assert (! foo);
14584
14585         * eldap.c (Fldap_search_basic):
14586         (Fldap_add):
14587         (Fldap_modify):
14588         (Fldap_delete):
14589         Fix compiler warnings, and possible crashes if (random) return
14590         value were to be used.
14591
14592 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14593
14594         * device-msw.c: Workaround ResetDC failure.
14595
14596         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14597         applying a devmode.
14598
14599         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14600         (mswindows_text_width): Do not start printer page.
14601
14602         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14603
14604         * glyphs-msw.c: Added image methods to msprinter console and
14605         msprinter-specific image instantiation.
14606
14607 2000-02-20  Mike Alexander  <mta@arbortext.com>
14608
14609         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14610         to avoid crashes when selection-sets-clipboard is on
14611         (mswindows_own_selection): ditto
14612
14613 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14614
14615         * glyphs-msw.c:
14616         * redisplay-msw.c (get_frame_dc):
14617         (get_frame_compdc):
14618         * console-msw.h:
14619         * device-msw.c (mswindows_init_device):
14620         (mswindows_delete_device):
14621         (msprinter_init_device):
14622         (msprinter_delete_device):
14623         * frame-msw.c (mswindows_init_frame_1):
14624         (mswindows_delete_frame):
14625         (msprinter_init_frame_3):
14626         (msprinter_delete_frame): Move compatible DC to device object from
14627         frame object, for both mswindows and msprinter. Only one at a time
14628         is needed, it is a real waste to have one per frame!
14629
14630 2000-02-23  Andy Piper  <andy@xemacs.org>
14631
14632         * glyphs.c: add dynamic width and height elements.
14633         (image_instance_equal): ditto.
14634
14635         * glyphs-widget.c (widget_query_geometry): calculate width and
14636         height dynamically if required.
14637         (initialize_widget_image_instance): initialize dynamic dimensions.
14638         (widget_instantiate): pick-up dynamic dimensions.
14639
14640         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14641         dynamic determination. Add appropriate macros.
14642
14643         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14644         dimensions safe.
14645         (WINDOW_GUTTER_SIZE): ditto.
14646         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14647
14648         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14649         inline.
14650         (get_frame_dc): ditto.
14651
14652         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14653         here.
14654
14655 2000-02-23  Martin Buchholz <martin@xemacs.org>
14656
14657         * XEmacs 21.2.31 is released.
14658
14659 2000-02-22  Ben Wing <ben@xemacs.org>
14660
14661         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14662
14663 2000-02-22  Andy Piper  <andy@xemacs.org>
14664
14665         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14666
14667 2000-02-21  Mike Sperber <mike@xemacs.org>
14668
14669         * .dbxrc:
14670         * .gdbinit:
14671         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14672         variables.
14673
14674 2000-02-21  Mike Sperber <mike@xemacs.org>
14675
14676         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14677
14678 2000-02-21  Martin Buchholz <martin@xemacs.org>
14679
14680         * XEmacs 21.2.30 is released.
14681
14682 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14683
14684         Performance hacking.
14685         * *.c (syms_of_*):
14686         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14687         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14688         * emacs.c (main_1):
14689         * lisp.h (DEFUN):
14690         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14691         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14692         * symeval.h (DEFVAR_SYMVAL_FWD):
14693         * symbols.c (guts_of_unbound_marker):
14694         Make all c_readonly objects also lisp_readonly and marked for life.
14695         * lrecord.h (struct lrecord_implementation):
14696         Document flags better.
14697         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14698         * lrecord.h (DECLARE_LRECORD):
14699         * lrecord.h (XSETRECORD):
14700         * lrecord.h (RECORDP):
14701         * lrecord.h (RECORD_TYPEP):
14702         * lrecord.h (RECORD_MARKER): New.
14703         * lrecord.h (error_check_*):
14704         * lrecord.h (CONCHECK_NONRECORD):
14705         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14706         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14707         * lrecord.h (set_lheader_implementation):
14708         * lrecord.h (enum lrecord_type): New.
14709         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14710         * alloc.c (disksave_object_finalization_1):
14711         * alloc.c (mark_object):
14712         * alloc.c (lrecord_type_index):
14713         * alloc.c (tick_lcrecord_stats):
14714         * alloc.c (Fgarbage_collect):
14715         * alloc.c (init_alloc_once_early):
14716         * alloc.c (pdump_load):
14717         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14718         * alloc.c (lrecord_type_index): Delete.
14719         Make lisp object type indexes be constant.
14720           Makes (byte-compile) 5% faster.
14721         Put all marker functions into their own array.
14722           Makes (garbage-collect) 5% faster.
14723         Optimize SYMBOL_VALUE_MAGIC_P.
14724           Makes (byte-compile) 2-3% faster.
14725         * config.h.in (gc_checking_assert): New.
14726         * alloc.c: Use gc_checking_assert().
14727         * .dbxrc: Make compatible with new object type implementation.
14728         * .gdbinit: Make compatible with new object type implementation.
14729         * alloc.c: Delete all symbols defined only for debugging, such as
14730         Lisp_Type_Vector and lrecord_charset.
14731
14732 2000-02-21  Andy Piper  <andy@xemacs.org>
14733
14734         * gui-msw.c (Fmswindows_shell_execute): fix file location
14735         problems.
14736
14737         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14738         unshowing so that set_window_buffer doesn't undo
14739         kill_buffer_hook's hard work.
14740
14741         * glyphs-widget.c (tab_control_query_geometry): don't count the
14742         first item when calculating geometry.
14743
14744         * glyphs.c (map_subwindow): remove redundant code.
14745         (update_frame_subwindows): be more circumspect about when to
14746         update subwindows.
14747
14748         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14749         when items haven't changed. Update faces if faces have changed as
14750         well as just the widget face.
14751         (x_tab_control_update): Update faces if faces have changed as well
14752         as just the widget face.
14753
14754 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14755
14756         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14757         registration.
14758         (build_syscolor_string): Use mswindows_color_to_string to try to
14759         get a named color.
14760         (mswindows_device_system_metrics): Reverse the foreground and
14761         background colors so that they match the documentation.
14762
14763         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14764         they match the default Windows palette.
14765         (mswindows_color_to_string): New function.
14766
14767 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14768
14769         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14770
14771 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14772
14773         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14774         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14775
14776         * symbols.c (init_symbols_once_early): Removed obsolete
14777         DATA_SEG_BITS related kludge.
14778         (defvar_magic): Ditto.
14779
14780         * malloc.c: Removed obsolete DATA_SEG_BITS
14781         * ralloc.c: Ditto.
14782         * mem-limits.h: Ditto.
14783
14784         * Makefile.in.in: Removed obsolete HAVE_SHM
14785         * emacs.c: Ditto.
14786
14787 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14788
14789         *  device-msw.c (mswindows_delete_device): Free DDE string
14790         handles.
14791
14792 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14793
14794         * keymap.c (get_keyelt):
14795         * unexnt.c (unexec):
14796         * vm-limit.c (memory_warnings):
14797         * ntheap.c (recreate_heap):
14798         * ntheap.h (UNINIT_PTR):
14799         * select-msw.c (Fmswindows_get_clipboard):
14800         (Fmswindows_set_clipboard):
14801         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14802         * objects-msw.c:
14803         * menubar-msw.c (displayable_menu_item):
14804         * glyphs-msw.c:
14805         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14806         * sysdep.c (sys_subshell):
14807         * process-nt.c (nt_create_process):
14808         * nt.c (normalize_filename):
14809         (dostounix_filename):
14810         (unixtodos_filename):
14811         * ntproc.c (win32_executable_type):
14812         * ntplay.c (play_sound_data_1):
14813         (play_sound_file):
14814         * editfns.c (get_home_directory):
14815         * event-msw.c (struct winsock_stream):
14816         (mswindows_dde_callback):
14817         * device-msw.c (msprinter_init_device):
14818         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14819
14820         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14821         mswindows_clear_toolbar were swapped!
14822
14823         * objects-msw.c:(colormap_t):
14824         (fontmap_t):
14825         * emacs.c (struct standard_args): Fixed const jumble.
14826
14827         * glyphs-widget.c (update_widget): Fixed comparison notation.
14828
14829         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14830
14831         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14832         __declspec(noreturn) syntax.
14833
14834 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14835
14836         * eldap.c (Fldap_open):
14837         (Fldap_search_basic):
14838         (Fldap_add):
14839         (Fldap_modify):
14840         Use new coding system conversion macros.
14841
14842 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14843
14844         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14845
14846 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14847
14848         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14849         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14850
14851         * eldap.c (Qadd, Qreplace): New constant symbols
14852         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14853         interruptions by XEmacs signals
14854         Remove unnecessary calls to slow_down_interrupts and
14855         speed_up_interrupts
14856         (Fldap_search_basic): Renamed from Fldap_search_internal
14857         Added new optional parameter VERBOSE that triggers the
14858         display of progress messages
14859         Remove unnecessary calls to slow_down_interrupts and
14860         speed_up_interrupts
14861         LDAP result code analysis rewritten
14862         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14863         (syms_of_eldap): Define the new symbols and functions
14864
14865
14866 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14867
14868         * realpath.c: Determine PATH_MAX maximally portably.
14869
14870         * insdel.c (bytecount_to_charcount): Optimize.
14871         The function used to be optimized for entirely ASCII sequences.
14872         Now it is optimized for successive characters from the same
14873         charset.  This also wins big for _mostly_ ASCII sequences.
14874
14875         * fileio.c (Ffile_truename): convert return from realpath() using
14876         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14877         - Rewrite GCPROing slightly.
14878
14879         * sysdep.c (sys_open): Do filename conversion, like all other
14880         sys_* functions.  Fixes bug:
14881         (let ((file-name-coding-system 'iso-8859-2))
14882            (write-region x y latin2-name))
14883         ==> writes filename using internal encoding.
14884
14885 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14886
14887         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14888         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14889         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14890         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14891         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14892         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14893         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14894         (CONST_IF_NOT_DEBUG): Delete.
14895         * alloc.c (this_one_is_unmarkable): Delete.
14896         (mark_object): Don't check for this_one_is_unmarkable. Use the
14897         c_readonly flag instead.
14898         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14899
14900 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14901
14902         * event-msw.c (mswindows_drain_windows_queue):
14903         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14904         away redundant repaint events.
14905
14906 2000-02-17  Andy Piper  <andy@xemacs.org>
14907
14908         * redisplay.h: declare mark_redisplay_structs.
14909
14910         * redisplay.c (redisplay_window):
14911         (redisplay_frame): don't check subwindows_state_changed.
14912         (mark_redisplay): mark gutters here.
14913
14914         * glyphs.c: (instantiate_image_instantiator): always layout if we
14915         haven't done so already.
14916         (allocate_image_instance): don't mark as dirty.
14917         (update_subwindow): bind inhibit_quit.
14918
14919         * gutter.c (mark_gutters): new function.
14920
14921         * glyphs-x.c (x_update_widget): Always resize to get round a
14922         widget bug.
14923
14924         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14925         breaking absolutely everything.
14926
14927         * gutter.h: declare mark_gutters.
14928
14929 2000-02-16  Martin Buchholz <martin@xemacs.org>
14930
14931         * XEmacs 21.2.29 is released.
14932
14933 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14934
14935         * fns.c (size_bit_vector): Fix computation of the size.
14936
14937 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14938
14939         * *.[ch]: Change CONST to const globally.
14940         find -name '*.[ch]' | \
14941         xargs global-replace \
14942         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14943         - Remove vestigial references to CONST_IS_LOSING
14944
14945 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14946
14947         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14948         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14949         events instead of dispatching them directly.
14950         (mswindows_handle_paint): New function to do repainting.
14951         (mswindows_wnd_proc):
14952         (emacs_mswindows_handle_magic_event): Call above function.
14953
14954 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14955
14956         * objects-msw.c (mswindows_create_font_variant): Return the new
14957         font handle.
14958         (initialize_font_instance): Get font metrics from the underlined
14959         variant of the font to cope with the case where the underlined
14960         font has a bigger descent.
14961
14962 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14963
14964         * gui.c (gui_item_accelerator): Return the first underlined
14965         character in item name.
14966
14967 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14968
14969         * lisp.h: Added Qprinter.
14970
14971         * general.c (syms_of_general): Initialized it.
14972
14973         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14974         (get_frame_dc):
14975         (get_frame_compdc): Made inline.
14976
14977         * console.h (struct console_methods): Added eject_page method.
14978
14979         * frame.h: Added FRAME_DISPLAY_P and friends.
14980         Aligned backslahes in many macros in more readable fashion.
14981         Added page_number to struct frame, and an accessor macro
14982         for it.
14983
14984         * defice.h: Added DEVICE_DISPLAY_P and friends.
14985
14986         * device.c (Fdevice_printer_p): Used these.
14987
14988         * frame.c (allocate_frame_core): Initialize page number.
14989         (Fprint_job_page_number):
14990         (Fprint_job_eject_page): Implemented.
14991
14992         * frame-msw.c (msprinter_eject_page): Added method.
14993         (msprinter_start_page): Added.
14994
14995         * window.c (Fwindow_truncated_p): Fixed docstring.
14996         (Fwindow_last_line_visible_height): Implemented.
14997
14998 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14999
15000         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15001
15002 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15003
15004         * syntax.c (scan_words): Always advance at least one character.
15005
15006 2000-02-13  Andy Piper  <andy@xemacs.org>
15007
15008         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15009         to make sure the glyph is in the cachels.
15010
15011         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15012         global image instance flag.
15013         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15014         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15015
15016         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15017         (Fset_image_instance_property): mark layout as changed.
15018         (invalidate_glyph_geometry_maybe): mark layout as changed.
15019         (glyph_width): use new NEEDS_LAYOUT macro.
15020         (glyph_ascent): ditto.
15021         (glyph_descent): ditto.
15022         (glyph_height): ditto.
15023         (image_instance_layout): mark layout as clean after laying out.
15024         (update_subwindow): don't mark layout as clean here.
15025
15026         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15027         should no longer be needed.
15028
15029         * glyphs-x.c (x_update_widget): sanitize asserts.
15030         (x_finalize_image_instance): sanitize assignment to widgets.
15031
15032         * glyphs-widget.c (widget_instantiate): don't need to clear the
15033         layout flag here.
15034
15035 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15036
15037         * sysdep.c (getcwd): Use standard prototype.
15038         * sysdep.h (getcwd): Use standard prototype.
15039
15040         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15041         (sequence, start, end).
15042         Remove redundant type checking.
15043         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15044         view of `caller-protects') to avoid a crash where the real fix was
15045         found elsewhere.
15046
15047 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15048
15049         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15050
15051         * s/sol2.h: Remove feature macro initialization.
15052
15053         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15054         (vector_hash): New.  Code from internal_hash.
15055         * lrecord.h:
15056         Fix up allocation subsystem comments.
15057
15058         * config.h.in: Add __EXTENSIONS__ for Solaris.
15059
15060         * systime.h (EMACS_GETTIMEOFDAY): New.
15061         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15062         Remove Solaris-specific code.
15063         Use void* for the (ignored) second arg for gettimeofday().
15064
15065         * elhash.c (hash_table_hash): Implement it, finally.
15066         * elhash.c:  Use hashcode_t.
15067
15068         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15069         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15070
15071         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15072         * fns.c (size_bit_vector):
15073         * alloc.c (size_vector):
15074         (make_vector_internal):
15075         (make_bit_vector_internal):
15076         (sweep_bit_vectors_1):
15077         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15078
15079 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15080
15081         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15082         Include strings.h to avoid warnings for bzero and strcasecmp.
15083
15084 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15085
15086         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15087         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15088
15089         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15090         sequence.
15091
15092 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15093
15094         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15095         use a value field instead.
15096         (symbol_value_forward_forward): Use value field.
15097         (DEFVAR_SYMVAL_FWD): Use value field.
15098         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15099         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15100         (DEFVAR_CONST_INT): Ditto.
15101         (DEFVAR_BOOL): Ditto.
15102         (DEFVAR_CONST_BOOL): Ditto.
15103         (DEFVAR_INT_MAGIC): Ditto.
15104         (DEFVAR_BOOL_MAGIC): Ditto.
15105
15106         * symbols.c (guts_of_unbound_marker): Use value field.
15107         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15108         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15109
15110         * lisp.h: Declare dumpopaque and noninteractive1.
15111
15112         * alloc.c (dumpopaque): Added.
15113         (pdump_dump_opaquevec): Added.
15114         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15115         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15116         noninteractive.
15117
15118 2000-02-10  Andy Piper  <andy@xemacs.org>
15119
15120         * glyphs.c (image_instance_layout): if the size changes, mark it
15121         as such.
15122
15123         * redisplay-output.c (redisplay_output_layout): Update the
15124         subwindow here.
15125         (redisplay_output_subwindow): ditto.
15126
15127         * glyphs.c (update_subwindow): make sure we reset flags for
15128         layouts as well as everything else.
15129
15130         * glyphs-widget.c (layout_layout): don't need to set the instances
15131         dimensions here.
15132
15133 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15134
15135         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15136         not HAVE_DLOPEN, which is a lower-level thing.
15137
15138         * .cvsignore: Ignore gmon.out
15139
15140 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15141
15142         * .cvsignore: Ignore portable dumper xemacs.dmp file
15143
15144 2000-02-09  Andy Piper  <andy@xemacs.org>
15145
15146         * redisplay-output.c (redisplay_output_layout): be more clever
15147         about when we output based on the changed flags.
15148
15149         * glyphs.h (struct image_instantiator_methods): add update_method.
15150         (struct Lisp_Image_Instance): add changed flags. Declare new
15151         macros for manipulating them.
15152
15153         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15154         (image_instance_parent_glyph): find an image_instance's parent
15155         glyph or image_instance.
15156         (image_instance_layout): mark the size as changed.
15157         (set_image_instance_dirty_p): new function. mark an image
15158         instance, plus all of its parents, as dirty.
15159         (Fset_image_instance_property): use it.
15160         (Fglyph_animated_timeout_handler): use it.
15161         (update_subwindow): call update_widget and device methods for
15162         update_subwindow. Mark all changed flags as clean.
15163         (Fresize_subwindow): mark size as changed.
15164
15165         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15166         failures.
15167         (x_update_subwindow): only resize subwindows here.
15168         (x_update_widget): new function. Update all changed properties of
15169         a widget.
15170         (x_resize_subwindow): deleted.
15171         (x_widget_set_property): deleted.
15172         (x_progress_gauge_set_property): deleted.
15173         (x_progress_gauge_update): new function. Implement recorded
15174         changes.
15175         (x_tab_control_update): ditto.
15176         (x_tab_control_set_property): deleted.
15177         (console_type_create_glyphs_x): declare new functions.
15178         (image_instantiator_format_create_glyphs_x): ditto.
15179
15180         * glyphs-widget.c (widget_set_property): mark text changed.
15181         (update_widget): new function. Update properties of a widget.
15182         (widget_instantiate): for layouts make sure we set their
15183         children's parent correctly.
15184         (tab_control_set_property): new function. Record changes that will
15185         take place under redisplay's control.
15186         (progress_gauge_set_property): ditto.
15187         (image_instantiator_progress_guage): declare new functions.
15188         (image_instantiator_tab_control): ditto.
15189
15190         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15191         now.
15192         (mswindows_update_widget): new function. Update all properties on
15193         a widget that have changed.
15194         (mswindows_button_update): new function. Update a button's set
15195         state.
15196         (mswindows_tab_control_update): new function. Update the items in
15197         a tab.
15198         (mswindows_tab_control_set_property): deleted.
15199         (mswindows_progress_gauge_update): new function. Update the
15200         progress gauge's progress.
15201         (mswindows_widget_set_property): deleted. This is all done
15202         asynchronously now.
15203         (mswindows_progress_gauge_set_property): ditto.
15204         (console_type_create_glyphs_mswindows): declare new methods.
15205         (image_instantiator_format_create_glyphs_mswindows): ditto.
15206
15207         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15208         (msprinter_set_frame_properties): ditto.
15209
15210         * console.h (struct console_methods): Add update_widget_method.
15211
15212 2000-02-09  Andy Piper  <andy@xemacs.org>
15213
15214         * gui-msw.c (Fmswindows_shell_execute): Make
15215         mswindows-shell-execute industrial strength.
15216
15217 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15218
15219         * lrecord.h: Make macro argument `props' match member function `plist'.
15220         * fns.c (Fget):
15221         * fns.c (Fput):
15222         * fns.c (Fremprop):
15223         * fns.c (Fobject_plist):
15224         * alloc.c:
15225         * symbols.c:
15226         Object property list frobbing cleanup.
15227         - Allow any lisp object (compared with `eq'), not just symbols, as
15228           keys in object plists.
15229         - Move symbol plist frobbing into symbols.c, where it belongs.
15230         - Move string plist frobbing into alloc.c, where it belongs.
15231         - Everything's an lrecord now, so no need to test for symbolp, etc.
15232         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15233
15234         * extents.c: Reorder code to remove declarations.
15235
15236         * frame.h (store_in_alist): Remove useless declaration.
15237
15238 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15239
15240         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15241         * config.h.in: Add HAVE_XCONVERTCASE.
15242
15243 2000-02-07  Andy Piper  <andy@xemacs.org>
15244
15245         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15246         it breaks many things.
15247
15248 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15249
15250         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15251         actually can start a common comment type.
15252         * src/syntax.h (SYNTAX_END_P): ditto for end.
15253
15254 2000-02-07  Martin Buchholz <martin@xemacs.org>
15255
15256         * XEmacs 21.2.28 is released.
15257
15258 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15259
15260         * event-Xt.c (x_keysym_to_character): New.
15261         (maybe_define_x_key_as_self_inserting_character): New.
15262         (x_has_keysym): New.
15263         Auto-define all keys on the keyboard as self-insert-key.
15264
15265 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15266
15267         * menubar.c (vars_of_menubar): A small code simplification.
15268
15269         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15270
15271         * ExternalShell.c:
15272         * ExternalClient.c:
15273         * EmacsShell-sub.c:
15274         * EmacsManager.c:
15275         * EmacsFrame.c:
15276         Use consistent style for specifying X resources.
15277
15278         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15279         This makes (dontusethis-set-symbol-value-handler) actually usable.
15280
15281         * lrecord.h (lrecord_decription_type):
15282         * alloc.c (pdump_register_sub):
15283         (pdump_dump_data):
15284         (pdump_reloc_one):
15285         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15286         Comply with XEmacs coding style.
15287         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15288         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15289
15290         * keymap.c (Faccessible_keymaps):
15291         Make (accessible-keymaps map "\C-h") do the Right Thing.
15292         Make (accessible-keymaps map []) do the Right Thing.
15293         Make (accessible-keymaps map "") do the Right Thing.
15294         (check_keymap_definition_loop): New function.
15295         (keymap_store_internal): Keep luser from shooting self in foot,
15296           via (define-key ctl-x-4-map "p" global-map).
15297         Remove fullness slot from struct Lisp_Keymap, since hash tables
15298         are now reliable.
15299         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15300
15301 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15302
15303         * redisplay.c (init_redisplay): Fix small memory leak.
15304         * elhash.h:
15305         * elhash.c (pdump_reorganize_hash_table):
15306         Rename from reorganize_hash_table. Change prototype.
15307         Reuse the original memory for hentries.  Save 100k.
15308         * alloc.c (PDUMP_READ): new macro.
15309         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15310         * alloc.c: No need to #ifndef before #undef.
15311
15312         * print.c: Allow debug_print() to print readably by modifying
15313         debug_print_readably.  Use consistent variable names.
15314
15315         * .dbxrc: Try to get things to work even if stopped in a function
15316         without source available by explicitly specifying source files.
15317 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15318
15319         * unexnt.c (_start): Removed bogus code which caused loading heap
15320         from differrent executable file.
15321         Removed bogus assignment to _fmode, which caused inconsistencies.
15322
15323 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15324
15325         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15326         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15327         Do not preliminary `#define signal sigset'.
15328
15329         * systime.h: Do not prototype environ on windows nt and cygwin,
15330         this conflicts with system header.
15331
15332         * syssignal.h: Use correct define for WINDOWSNT
15333
15334         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15335         with system header.
15336
15337         * sysdep.c (near start of file): Fixed commentary and rearranged
15338         ifdefs in readable order.
15339         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15340         (start_of_text):
15341         (end_of_text):
15342         (end_of_data): Do not compile in if using PDUMP.
15343
15344         * symsinit.h: Prototyped vars_of_nt().
15345
15346         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15347         (find_child_console): Use it.
15348         (sys_kill): Use it.
15349
15350         * ntheap.h: Do not extern os_subtype.
15351
15352         * ntheap.c (cache_system_info): Do not cache unneeded:
15353         nt_major_version, nt_minor_version and os_subtype.
15354         (recreate_heap): Do not compile in when PDUMPing.
15355
15356         * nt.c (geteuid and friends): Use the new varibale
15357         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15358         (init_user_info): Removed the above mentioned hackery.
15359         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15360         stat has been fixed in the C runtime.
15361         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15362
15363         * file-coding.c (struct file_coding_dump): Do not define
15364         ucs_to_mule_table in the struct if not MULE.
15365         (struct struct lrecord_description fcd_description_1): Do not dump
15366         the above.
15367
15368         * emacs.c (main_1): Call vars_of_nt().
15369         (right before Fdump_emacs_data): Don't need lastfile if using both
15370         portabe dumper and system malloc.
15371
15372         * alloc.c (Fmemory_limit): Conditionalized out.
15373         (pdump): Use OPEN_BINARY for the portable dump file.
15374         (pdump_load): Ditto.
15375
15376 2000-02-02  Mike Alexander  <mta@arbortext.com>
15377
15378         * nt.c (convert_time): Set tm_isdst before calling mktime and
15379         avoid calling it at all if the compiler supports 64 bit integers.
15380         Also initialize utc_base_ft before using it.
15381
15382 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15383
15384         * frame.c (change_frame_size_1): Take f->internal_border_width
15385         into consideration when calculating the width of the frame.
15386
15387 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15388
15389         * window.c (frame_min_height):
15390         (frame_size_valid_p):
15391         (frame_pixsize_valid_p): Added.
15392         (check_frame_size): Generalized.
15393
15394         * window.h: Prototyped the above.
15395
15396         * lisp.h:
15397         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15398         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15399         Deleted Vwin32_* and Vbinary_process_* unused variables.
15400
15401         * device-msw.c (msprinter_init_device): Do not get printer font
15402         list; Added DEVMODE functions.
15403
15404         * frame-msw.c: Added lots of printer code.
15405
15406         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15407         general.c.
15408
15409         * console-msw.h: Added more msprinter device private slots.
15410
15411 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15412
15413         * event-msw.c (key_needs_default_processing_p): Added.
15414         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15415
15416 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15417
15418         * glyphs.c (image_instance_layout): Mark image instance as clean
15419         after layout.
15420         (glyph_dirty_p): Removed redundant function.
15421         (invalidate_glyph_geometry_maybe): Added.
15422         (update_glyph_cachel_data): Call it.
15423
15424         * glyphs.h: Prototyped it.
15425
15426         * redisplay.c (add_glyph_rune): Call it.
15427         (redisplay_window): Reset glyphs cachels when frame faces have
15428         changed, thus forcing recomputation of built-in border glyphs.
15429
15430 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15431
15432         * Makefile.in.in: Make portable dumper and purify play well together.
15433         Add imperfect, but better than nothing, support for pdump.
15434         Remove xemacs.dmp when temacs is re-generated.
15435         Don't ignore errors when dumping xemacs.
15436
15437         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15438
15439 2000-01-28  Andy Piper  <andy@xemacs.org>
15440
15441         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15442         (setup_normal_frame): ditto.
15443         (setup_frame_without_minibuffer): ditto.
15444         (setup_minibuffer_frame): ditto.
15445         (delete_frame_internal): ditto.
15446         (Fmake_frame_invisible): ditto.
15447         (Ficonify_frame): ditto.
15448
15449         * window.h: change Fset_window_buffer signature.
15450
15451         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15452         (Fset_window_buffer): allow recording of buffer if the window is
15453         the selected window.
15454         (window_loop): Use new Fset_window signature.
15455
15456 2000-01-23  Daniel Pittman  <daniel@danann.net>
15457
15458         * config.h.in: Added template for `HAVE_ATHENA_3D'
15459
15460 2000-01-29  Andy Piper  <andy@xemacs.org>
15461
15462         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15463
15464         * gutter.c (output_gutter): Don't output if the window isn't live.
15465
15466 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15467
15468         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15469         of 01/12/00: Moved SetFocus back here where it belongs.
15470
15471 2000-01-23  Andy Piper  <andy@xemacs.org>
15472
15473         * s/cygwin32.h: declare printer things.
15474
15475 2000-01-26  Andy Piper  <andy@xemacs.org>
15476
15477         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15478         Alexander.
15479
15480 2000-01-24  Andy Piper  <andy@xemacs.org>
15481
15482         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15483         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15484
15485         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15486
15487         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15488
15489         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15490
15491         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15492         (mswindows_output_display_block): Avoid local shadows.
15493
15494         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15495         (mswindows_enqueue_mouse_button_event): ditto.
15496         (mswindows_handle_gui_wm_command): remove declaration.
15497
15498         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15499         warnings.
15500
15501         * console-msw.h: Avoid shadows.
15502         (mswindows_get_toolbar_button_text):
15503         (emacs_mswindows_create_stream_pair):
15504         (emacs_mswindows_delete_stream_pair):
15505         (mswindows_handle_toolbar_wm_command): declare.
15506
15507         * device-msw.c (build_syscolor_string): Avoid shadows.
15508
15509 2000-01-23  Andy Piper  <andy@xemacs.org>
15510
15511         * glyphs-widget.c (widget_instantiate): reverse the items for
15512         layouts so that children are in the expected order.
15513
15514 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15515
15516         * ralloc.c: safe_bcopy ==> memmove
15517         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15518         * s/msdos.h: Remove BCOPY macros.
15519         * insdel.c (gap_right): Remove BCOPY conditional code.
15520         * insdel.c (gap_left): Remove BCOPY conditional code.
15521         XEmacs demands a working ANSI C compiler - hence memmove.
15522
15523         * regex.c (regex_compile): Remove accidental use of trigraphs.
15524
15525 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15526
15527         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15528         event timestamp.
15529
15530 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15531
15532         * event-msw.c (mswindows_drain_windows_queue): Added the
15533         parameter.
15534         (mswindows_need_event): Commented the call to
15535         mswindows_drain_windows_queue().
15536         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15537         only.
15538
15539         * console-msw.h: Moved a few function prototypes here from
15540         event-msw.c.
15541
15542         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15543         parameter from unsigned short to unsigned long.
15544         (Fmswindows_shell_execute): Added return value.
15545
15546 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15547
15548         * sysdep.c (init_system_name):
15549           process-unix.c (unix_canonicalized_host_name):
15550         Don't call freeaddrinfo() if getaddrinfo() fails.
15551
15552         * process-unix.c (unix_open_unix_network_stream):
15553         Moved the code to get a port # into address loop.
15554
15555 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15556
15557         * buffer.c (reinit_vars_of_buffer):
15558         The right place to initialize conversion_in_dynarr and
15559         conversion_out_dynarr.
15560
15561         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15562
15563         * process-unix.c (unix_canonicalize_host_name): Muleize.
15564         (unix_open_network_stream): Muleize.
15565
15566         * buffer.h: Fix up prototypes for ralloc.c functions.
15567
15568 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15569         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15570         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15571                 instead of gethostbyname()
15572         * process-unix.c: In unix_canonicalize_host_name() and
15573                 unix_open_network_stream(), add code to use getaddrinfo()
15574                 instead of gethostbyname().
15575
15576 2000-01-27  Daniel Pittman <daniel@danann.net>
15577
15578         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15579         libs when built with flat Athena.
15580
15581 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15582
15583         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15584         Use coding standards for function prototypes.
15585
15586 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15587
15588         * dialog-msw.c (push_lisp_string_as_unicode):
15589         * doc.c (unparesseuxify_doc_string):
15590         * dired.c (Fuser_name_completion_1):
15591         * dired.c (Fuser_name_all_completions):
15592         * dired.c (free_user_cache):
15593         * dired.c (user_name_completion):
15594         * console-x.c (get_display_arg_connection):
15595         * minibuf.c (clear_echo_area_internal):
15596         * minibuf.c (echo_area_append):
15597         * eldap.c (Fldap_open):
15598         * eldap.c (Fldap_search_internal):
15599         * frame-x.c (x_set_frame_text_value):
15600         * frame-x.c (x_set_frame_properties):
15601         * frame-x.c (x_create_widgets):
15602         * redisplay-tty.c (term_get_fkeys_1):
15603         * objects-x.c (x_parse_nearest_color):
15604         * objects-x.c (x_valid_color_name_p):
15605         * objects-x.c (x_initialize_font_instance):
15606         * objects-x.c (x_list_fonts):
15607         * objects-x.c (x_find_charset_font):
15608         * tooltalk.c (Fadd_tooltalk_message_arg):
15609         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15610         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15611         * process-unix.c (unix_create_process):
15612         * ntproc.c (sys_spawnve):
15613         * sound.c (Fplay_sound_file):
15614         * sound.c (Fplay_sound):
15615         * buffer.c (init_initial_directory):
15616         * buffer.c (init_buffer):
15617         * editfns.c (init_editfns):
15618         * editfns.c (Ftemp_directory):
15619         * editfns.c (Fuser_full_name):
15620         * editfns.c (uncache_home_directory):
15621         * editfns.c (get_home_directory):
15622         * editfns.c (Fuser_home_directory):
15623         * editfns.c (Fformat_time_string):
15624         * editfns.c (Fcurrent_time_string):
15625         * gui-x.c (button_item_to_widget_value):
15626         * database.c (Fopen_database):
15627         * event-Xt.c (x_to_emacs_keysym):
15628         * event-Xt.c (x_event_to_emacs_event):
15629         * event-Xt.c (describe_event_window):
15630         * event-msw.c (mswindows_wnd_proc):
15631         * glyphs-eimage.c (jpeg_instantiate):
15632         * glyphs-eimage.c (gif_instantiate):
15633         * glyphs-eimage.c (png_instantiate):
15634         * glyphs-eimage.c (tiff_instantiate):
15635         * glyphs-x.c (xbm_instantiate_1):
15636         * glyphs-x.c (x_xbm_instantiate):
15637         * glyphs-x.c (x_xface_instantiate):
15638         * glyphs-x.c (autodetect_instantiate):
15639         * glyphs-x.c (cursor_font_instantiate):
15640         * glyphs-x.c (x_widget_instantiate):
15641         * glyphs-x.c (x_widget_set_property):
15642         * glyphs-x.c (x_widget_property):
15643         * glyphs-x.c (BUILD_GLYPH_INST):
15644         * print.c (write_string_to_stdio_stream):
15645         * print.c (output_string):
15646         * print.c (Falternate_debugging_output):
15647         * print.c (Fexternal_debugging_output):
15648         * glyphs-msw.c (extract_xpm_color_names):
15649         * glyphs-msw.c (mswindows_xpm_instantiate):
15650         * glyphs-msw.c (bmp_instantiate):
15651         * glyphs-msw.c (resource_name_to_resource):
15652         * glyphs-msw.c (mswindows_resource_instantiate):
15653         * glyphs-msw.c (xbm_instantiate_1):
15654         * glyphs-msw.c (mswindows_xbm_instantiate):
15655         * glyphs-msw.c (mswindows_xface_instantiate):
15656         * glyphs-msw.c (mswindows_widget_instantiate):
15657         * glyphs-msw.c (add_tree_item):
15658         * glyphs-msw.c (add_tab_item):
15659         * glyphs-msw.c (mswindows_combo_box_instantiate):
15660         * glyphs-msw.c (mswindows_widget_property):
15661         * glyphs-msw.c (mswindows_combo_box_property):
15662         * glyphs-msw.c (mswindows_widget_set_property):
15663         * console.c (stuff_buffered_input):
15664         * objects-msw.c (mswindows_initialize_color_instance):
15665         * objects-msw.c (mswindows_valid_color_name_p):
15666         * objects-msw.c (mswindows_list_fonts):
15667         * objects-msw.c (mswindows_font_instance_truename):
15668         * bytecode.c (optimize_compiled_function):
15669         * select-x.c (symbol_to_x_atom):
15670         * select-x.c (x_atom_to_symbol):
15671         * select-x.c (hack_motif_clipboard_selection):
15672         * select-x.c (selection_data_to_lisp_data):
15673         * select-x.c (lisp_data_to_selection_data):
15674         * select-x.c (Fx_get_cutbuffer_internal):
15675         * select-x.c (Fx_store_cutbuffer_internal):
15676         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15677         * buffer.h (TO_INTERNAL_FORMAT): New function.
15678         * emacs.c (make_arg_list_1):
15679         * emacs.c (make_argc_argv):
15680         * emacs.c (main_1):
15681         * emacs.c (Fdump_emacs):
15682         * emacs.c (split_string_by_emchar_1):
15683         * file-coding.h:
15684         * lisp.h:
15685         * lstream.h:
15686         * symsinit.h:
15687         * device-x.c (x_init_device):
15688         * device-x.c (Fx_valid_keysym_name_p):
15689         * device-x.c (Fx_get_font_path):
15690         * device-x.c (Fx_set_font_path):
15691         * glyphs.c (bitmap_to_lisp_data):
15692         * glyphs.c (pixmap_to_lisp_data):
15693         * alloc.c (make_ext_string): Use coding system arguments.  Update
15694         all callers.
15695         * alloc.c (build_string):
15696         * callproc.c (child_setup):
15697         * callproc.c (init_callproc):
15698         * fileio.c (lisp_strerror):
15699         * fileio.c (directory_file_name):
15700         * fileio.c (Fexpand_file_name):
15701         * fileio.c (Ffile_truename):
15702         * fileio.c (Fsysnetunam):
15703         * fileio.c (Fdo_auto_save):
15704         * sysdep.c (sys_readdir):
15705         * tests.c: New file.  Allow adding C tests.
15706         Replace GET_* macros with a more comprehensible and flexible
15707         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15708         Modify all calls.
15709         Any coding system can be used to do format conversion.
15710         Eliminate enum external_data_format.
15711         Eliminate convert_to_external_format.
15712         Eliminate convert_to_internal_format.
15713         Make sure file-name, keyboard, terminal, and ctext are always
15714         defined as coding systems or aliases.  Make
15715         file-name-coding-system, terminal-coding-system, and
15716         keyboard-coding-system magical variables that are equivalent to
15717         defining the corresponding coding system aliases.
15718
15719         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15720         * file-coding.c (Fcoding_system_alias_p): New function.
15721         * file-coding.c (Fcoding_system_aliasee): New function.
15722         * file-coding.c (append_suffix_to_symbol): New function.
15723         * file-coding.c (dangling_coding_system_alias_p): New function.
15724         * file-coding.c (Ffind_coding_system):
15725         * file-coding.c (Fcopy_coding_system):
15726         * file-coding.c (encode_coding_no_conversion):
15727         * file-coding.c (syms_of_file_coding):
15728         * file-coding.c (vars_of_file_coding):
15729         Rewrite coding system alias code.
15730         Allow nested aliases, like symbolic links.
15731         Allow redefinition of coding system aliases.
15732         Prevent existence of dangling coding system aliases.
15733
15734         * dired.c (Fuser_name_completion_1):
15735         * dired.c (Fuser_name_all_completions):
15736         A crash would happen if user did QUIT in the middle of building
15737         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15738
15739         * lisp.h:
15740         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15741
15742         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15743         an unsigned char *.  Update all callers.
15744
15745 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15746
15747         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15748
15749 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15750
15751         * elhash.c (hentry_description): Use more portable definition.
15752         (resize_hash_table): Initialize new hentries using
15753         xnew_array_and_zero, thereby simplifying the code.
15754
15755         * mule-charset.c (make_charset): Make sure entire object is
15756         initialized, to avoid Purify warnings.
15757
15758         * alloc.c (resize_string): Fix unlikely crash with big strings.
15759
15760 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15761
15762         * realpath.c (xrealpath):
15763         Don't call getwd().
15764
15765 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15766
15767         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15768
15769 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15770
15771         * unexelfsgi.c (unexec): Change the way we decide which segment
15772         should be extended.
15773
15774         Assumption that .bss section should be outside the PT_LOADable
15775         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15776         it's present) is inside the 'data' segment. This would fail the
15777         test which was used to find a segment to grow and cover new
15778         heap. Instead of this assumption, I created another one - on IRIX
15779         the segment to grow should start below .bss and it's address
15780         should extent above the end of .bss. Once this segment is
15781         identified, it's grown to accommodate the new heap and new
15782         zero-length .bss section is added at the end of .data2.
15783
15784 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15785
15786         * eval.c (Feval): Wrong number of arguments should use original
15787         function, not the indirect_function version of it.
15788
15789 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15790
15791         * glyphs-x.c (x_button_instantiate): Don't add image if
15792         it is not a pixmap.
15793         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15794         is relative.
15795
15796 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15797
15798         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15799         declaration.
15800         (DEFVAR_INT_MAGIC): Ditto.
15801         (DEFVAR_BOOL_MAGIC): Ditto.
15802         * glyphs.h: Reindent backslash.
15803
15804 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15805
15806         * glyphs-widget.c (layout_query_geometry):
15807         (layout_layout): Use correct types for gheight, gwidth.
15808
15809 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15810
15811         * EmacsManager.c (QueryGeometry): Purified.
15812
15813 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15814
15815         * alloc.c (make_float): Make sure entire object is initialized, to
15816         avoid Purify warnings.
15817         (pdump_register_sub): Remove useless assignment.
15818         (pdump): Use xmalloc, not malloc.
15819         (pdump_load): Use xmalloc, not malloc.
15820
15821 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15822
15823         * callproc.c:
15824         * dired-msw.c:
15825         * fileio.c:
15826         * process-nt.c:
15827         * redisplay-msw.c:
15828         * sysdep.c: Removed redundant #include <windows.h>
15829
15830 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15831
15832         * frame.c (delete_frame_internal): Do not delete device when its
15833         implementation so declares.
15834         (delete_frame_internal): Set device selected frame to nil when
15835         last frame goes away.
15836
15837         * device-msw.c (msprinter_device_system_metrics): Implemented.
15838         (mswindows_device_system_metrics): Added 'device-dpi property.
15839
15840         * device.c: (Fdevice_printer_p): Added.
15841         Added 'offset-workspace device metric.
15842
15843         * console.h (device_metrics): Declared DM_offset_workspace.
15844
15845 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15846
15847         * fileio.c (Ffile_truename): Remove pointless and confusing
15848         initialization of elen.
15849
15850         * glyphs-widget.c: Compiler warning fixes.
15851
15852 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15853
15854         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15855         instead of a Lisp_Object as argument to make it consistent with
15856         the other LIVE_P macros.
15857         (CHECK_LIVE_PROCESS): New macro.
15858
15859         * process.c: Declare Qprocess_live_p.
15860         (Fprocess_live_p): New function.
15861         (create_process): Use PROCESS_LIVE_P.
15862         (read_process_output): Ditto.
15863         (set_process_filter): Ditto.
15864         (Fdelete_process): Ditto.
15865         (kill_buffer_processes): Ditto
15866         (process_send_signal): Use CHECK_LIVE_PROCESS.
15867         (Fprocess_input_coding_system): Check whether process is still
15868         alive (fix PR#1061).
15869         (Fprocess_output_coding_system): Ditto.
15870         (Fprocess_coding_system): Ditto.
15871         (Fset_process_input_coding_system): Ditto.
15872         (Fset_process_output_coding_system): Ditto.
15873
15874 2000-01-23  Andy Piper  <andy@xemacs.org>
15875
15876         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15877         layout and widget.
15878
15879         * glyphs.c (mark_image_instance): take into account changed
15880         image_instance format.
15881         (image_instance_equal): ditto.
15882         (image_instance_hash): ditto.
15883
15884         * glyphs-widget.c (widget_instantiate): Incorporate layout
15885         instantiation here. Delay layout of the layout until later.
15886         (layout_instantiate): deleted.
15887         (layout_query_geometry): new function. get the geometry of a
15888         layout.
15889         (layout_layout): layout a layout dynamically.
15890         (image_instantiator_widget): New function - splitting up
15891         image_instantiator_format_create_glyphs_widget for netwinder
15892         compilation.
15893         (image_instantiator_buttons):
15894         (image_instantiator_edit_fields):
15895         (image_instantiator_combo_box):
15896         (image_instantiator_scrollbar):
15897         (image_instantiator_progress_guage):
15898         (image_instantiator_tree_view):
15899         (image_instantiator_tab_control):
15900         (image_instantiator_labels):
15901         (image_instantiator_layout): ditto.
15902         (image_instantiator_format_create_glyphs_widget): Call preceding
15903         functions.
15904
15905 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15906
15907         * process.c (Fset_process_coding_system):
15908         * device-x.c (Fx_keysym_hash_table):
15909         Docstring fixes.
15910
15911         * lstream.c (Lstream_write): Return documented value, not 0.
15912
15913         * fileio.c (directory_file_name):
15914         (Fsubstitute_in_file_name):
15915         (Fsubstitute_insert_file_contents_internal):
15916         (Fwrite_region_internal):
15917         * emacs.c:
15918         * sysdep.c:
15919         * getloadavg.c:
15920         * systty.h:
15921         Remove vestigial APOLLO-conditional code.
15922
15923 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15924
15925         * getpagesize.h: Add guard macros.
15926         * libsst.h: Add guard macros.
15927         * libst.h: Add guard macros.
15928         * line-number.h: Add guard macros.
15929         * ndir.h: Add guard macros.
15930         * sysfloat.h: Add guard macros.
15931         * sysfile.h: Add guard macros.
15932         * sysproc.h: Add guard macros.
15933         * syswait.h: Add guard macros.
15934         * xintrinsic.h: Add guard macros.
15935         * xintrinsicp.h: Add guard macros.
15936         * xmmanager.h: Add guard macros.
15937         * xmmanagerp.h: Add guard macros.
15938         * xmprimitive.h: Add guard macros.
15939         * xmu.h: Add guard macros.
15940         * gpmevent.h: Add copyright statement. Add guard macros.
15941         * miscplay.h: Add guard macros.
15942         * *.h: Use consistent C-standards-approved guard macro names.
15943
15944         * opaque.c (make_opaque): Switch parameter order.
15945         * opaque.h (make_opaque): Switch parameter order.
15946         Update all callers.
15947         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15948
15949         * config.h.in (type_checking_assert): Added.
15950         (bufpos_checking_assert): Added.
15951
15952 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15953
15954         * alloc.c: Harmless pdump changes.
15955         - Use countof().
15956         - spell alignment correctly.
15957         * sysdep.c: Use countof()
15958
15959 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15960
15961         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15962         initially_selected_for_input() console method, default to 0.
15963         (semi_canonicalize_console_connection): Try to delegate to
15964         canonicalize_console_connection if no such console method.
15965         (canonicalize_console_connection): Vice versa.
15966         (print_console): Do not print nil connection.
15967
15968         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15969         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15970         (XDEVIMPF_FRAMELESS_OK): Added.
15971         (CONSOLE_INHERITS_METHOD): Added.
15972
15973         * console-msw.c (mswindows_canonicalize_console_connection):
15974         Added.
15975         (mswindows_canonicalize_device_connection): Added.
15976
15977         * console-msw.h (struct msprinter_device): Added this struct and
15978         accessor macros.
15979         (mswindows_device): Made fontlist a lisp object.
15980
15981         * device.c (semi_canonicalize_device_connection):  Try to delegate
15982         to canonicalize_device_connection if no such console method.
15983         (canonicalize_device_connection): Vice versa.
15984         (print_device): Do not print nil connection.
15985
15986         * device-msw.c (mswindows_init_device): Call InitCommonControls
15987         when have widgets.
15988         (mswindows_delete_device): Removed fontlist deallocation.
15989         (mswindows_mark_device): Added.
15990
15991         * events.c (event_equal): Added abort() at unreached code.
15992         (event_hash): Ditto.
15993
15994         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15995         fallback tags of Windows devices.
15996
15997         * general.c (syms_of_general): Initialized Qmsprinter.
15998
15999         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16000         of fallback tags of Windows devices.
16001
16002         * lisp.h: Declared Qmsprinter.
16003
16004         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16005         of strings.
16006         (mswindows_list_fonts): Ditto.
16007         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16008         that it can be used by both mswindows and msprinter devices.
16009         (initialize_font_instance): Added.
16010         (mswindows_initialize_font_instance): Use it.
16011         (msprinter_initialize_font_instance): Added.
16012
16013         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16014         and implementation flags check.
16015         (redisplay_without_hooks): Changed the call to the above.
16016         (Fredraw_device): Ditto.
16017         (Fredisplay_device): Ditto.
16018
16019         * redisplay-msw.c (get_frame_dc): Implemented.
16020         (get_frame_compdc): Implemented.
16021         (many functions): Use the two functions above to get device
16022         contexts, ether for a window or a printer.
16023
16024 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16025
16026         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16027         initialization here.
16028         (init_symbols_once_early): Call it.
16029         * emacs.c (main_1): Call it.
16030         * symsinit.h: Declare it.
16031
16032 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16033
16034         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16035         Lisp_Object.
16036         (pdump_backtrace): Ditto.
16037         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16038         (pdump_get_entry): Abort if trying to register a null pointer.
16039         (pdump_dump_data): Cleanup types when relocating.
16040         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16041         (pdump_dump_rtables): Remove bad casts.
16042         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16043         Lisp_Object instead of a EMACS_INT for the hashtable
16044         reorganization.
16045
16046 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16047
16048         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16049
16050         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16051
16052         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16053
16054         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16055
16056 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16057
16058         * faces.h (FACE_STRIKETHRU_P): Added.
16059
16060         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16061         of font variants.
16062
16063         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16064         (mswindows_set_dc_font): New function, aware of font variants,
16065         separated from mswindows_update_dc.
16066
16067         * objects-msw.h (struct mswindows_font_instance_data): Added
16068         definition.
16069
16070         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16071         cached fonts and the data structure.
16072         (mswindows_initialize_font_instance): Added creation of font data
16073         structure.
16074         (mswindows_print_font_instance): Print at least something.
16075         (mswindows_create_font_variant): Implemented.
16076         (mswindows_get_hfont): Implemented.
16077
16078 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16079
16080         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16081         prototyping problem with msvc.
16082
16083         * emacs.c (main_1): added syms_of_gui_mswindows() call
16084
16085         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16086         syms_of_gui_mswindows() function
16087
16088         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16089
16090 2000-01-18  Martin Buchholz <martin@xemacs.org>
16091
16092         * XEmacs 21.2.27 is released.
16093
16094 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16095
16096         * glyphs-eimage.c (struct tiff_error_struct):
16097         (tiff_error_func):
16098         (tiff_warning_func):
16099         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16100
16101         * unexmips.c:
16102         * unexhp9k3.c:
16103         * unexfreebsd.c:
16104         * unexec.c: Remove vestigial Lucid C code.
16105         * unexalpha.c:
16106         * unexaix.c:
16107         * termcap.c:
16108         * libsst.c: Ansify.
16109         Remove declarations of errno and strerror().
16110
16111         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16112
16113         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16114
16115 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16116
16117         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16118         Optimize.
16119
16120 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16121
16122         * md5.c:
16123         * file-coding.c:
16124         * file-coding.h:
16125         Change enum eol_type to eol_type_t.
16126
16127 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16128
16129         * gui.c (get_gui_callback): Check cons before accessing car.
16130
16131 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16132
16133         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16134         (XSETSPECIFIER_TYPE): Ditto.
16135
16136 2000-01-17  Didier Verna  <didier@xemacs.org>
16137
16138         * redisplay.c (generate_fstring_runes): compute string size in
16139         characters, not bytes.
16140
16141 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16142
16143         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16144
16145 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16146
16147         * print.c (print_error_message): Call print_prepare().
16148
16149 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16150
16151         * .dbxrc: Renamed from dbxrc.
16152
16153         * events.c (event_to_character):
16154         Use `assert (foo)' instead of `if (!foo) abort()'
16155
16156         * .gdbinit (xtype): Add documentation.
16157         * .gdbinit (check-temacs): New function.
16158         * .gdbinit (check-xemacs): New function.
16159         * dbxrc (check-xemacs): New function.
16160         * dbxrc (check-xemacs): New function.
16161
16162 2000-01-14  Andy Piper  <andy@xemacs.org>
16163
16164         * glyphs-widget.c (widget_query_geometry): Make sure that we
16165         calculate default dimensions correctly.
16166
16167 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16168
16169         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16170
16171         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16172         pdump_wire'd variable.
16173
16174         * emacs.c: (main_1): Conditionalized calls to
16175         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16176
16177 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16178
16179         * window.c (Fset_window_configuration):
16180         * sysdep.c (_start):
16181         * input-method-motif.c (res):
16182         * event-Xt.c (Xt_process_to_emacs_event):
16183         Simple compiler warning fixes.
16184
16185         * bytecode.c (funcall_compiled_function): Use the original
16186         function symbol on the backtrace list in preference to the
16187         compiled_function object in error messages.
16188
16189 2000-01-13  Andy Piper  <andy@xemacs.org>
16190
16191         * glyphs-x.c (update_widget_face): Make sure we update the widget
16192         background as well as foreground.
16193
16194 2000-01-13  Andy Piper  <andy@xemacs.org>
16195
16196         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16197         fields to subwindow.
16198         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16199         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16200         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16201         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16202
16203         * glyphs-widget.c (check_valid_tab_orientation): new function.
16204         (initialize_widget_image_instance): zero orientation and
16205         justification.
16206         (widget_instantiate): pick up orientation.
16207         (tab_control_query_geometry): return appropriate values for
16208         vertical tabs.
16209
16210         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16211         appropriate creation flags for left, right and bottom tabs.
16212
16213         * s/cygwin32.h: add tab definitions.
16214
16215 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16216
16217         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16218         frame upon hiding a subwindow.
16219         (mswindows_button_instantiate): Changed the push button style to
16220         BS_PUSHBUTTON.
16221         (mswindows_button_instantiate): Removed button BS_NOTIFY
16222         style.
16223         (mswindows_button_instantiate): Removed redundant check for
16224         a disabled gui item.
16225         (mswindows_button_instantiate): Made use of WS_TABSTOP
16226         consistent: "operable" controls (edit, button, tree, scroll) have
16227         this style, "display-only" ones (static, progress gauge) do
16228         not. This style is currently ignored by XEmacs though. Also,
16229         removed the WS_EX_CONTROLPARENT style - it is not for children,
16230         it is for their parents!
16231         (mswindows_edit_field_instantiate): Ditto.
16232         (mswindows_progress_gauge_instantiate): Ditto.
16233         (mswindows_tree_view_instantiate): Ditto.
16234         (mswindows_tab_control_instantiate): Ditto.
16235         (mswindows_scrollbar_instantiate): Ditto.
16236         (mswindows_combo_box_instantiate): Ditto.
16237         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16238         style to the "clip" window.
16239         (mswindows_button_instantiate): Removed compilation warning by
16240         equally typing terms of the ?: operator.
16241
16242 2000-01-12  Didier Verna  <didier@xemacs.org>
16243
16244         * redisplay.c (generate_fstring_runes): new parameter holding the
16245         last modeline-format extent.
16246         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16247         extent, fill the glyph block with it.
16248         (generate_fstring_runes): handle these parameters.
16249         (generate_formatted_string_db): ditto.
16250
16251         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16252         glyphs'extents in the modeline.
16253
16254 1999-01-11  Mike Woolley  <mike@bulsara.com>
16255
16256         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16257         256Mb, as a workaround for the non-starting problem many people
16258         have experienced.
16259
16260 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16261
16262         * console-tty.c (Fset_console_tty_output_coding_system):
16263         Force redrawing tty frame.
16264
16265 2000-01-10  Didier Verna  <didier@xemacs.org>
16266
16267         * redisplay.c (generate_fstring_runes): fix size computation bug.
16268
16269 2000-01-09  William M. Perry <wmperry@aventail.com>
16270
16271         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16272
16273 2000-01-09  Andy Piper  <andy@xemacs.org>
16274
16275         * glyphs-msw.c: index -> i to avoid shadows.
16276         (xbm_create_bitmap_from_data): make static.
16277         (check_valid_string_or_int): deleted.
16278         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16279
16280         * glyphs-x.c (x_update_subwindow): remove unused args.
16281
16282         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16283         back pointer - this is done in allocate_image_instance.
16284         (query_string_font): return Qnil to make the compiler happy.
16285         (unmap_subwindow): set to ~0 to make the compiler happy.
16286         (glyph_query_geometry): comment out until used.
16287         (glyph_layout): ditto.
16288
16289 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16290
16291         * insdel.c (signal_after_change): Remove extraneous unbind_to().